Skip to content

Instantly share code, notes, and snippets.

@sachin21
Created January 5, 2016 12:10
Show Gist options
  • Select an option

  • Save sachin21/dbd86fe5688f0c663c27 to your computer and use it in GitHub Desktop.

Select an option

Save sachin21/dbd86fe5688f0c663c27 to your computer and use it in GitHub Desktop.
agvim for fishshell
function agvim
vim (ag $argv | peco --query "$LBUFFER" | awk -F : '{print "-c " $argv[2] " " $argv[1]}')
end
@sachin21
Copy link
Copy Markdown
Author

sachin21 commented Jan 5, 2016

@sachin21
Copy link
Copy Markdown
Author

sachin21 commented Jan 5, 2016

このソースコードではvimが先に起動し、pecoが起動せず空のファイルを作成する画面になってしまいます。

Copy link
Copy Markdown

ghost commented Jan 5, 2016

@sachin21

$argv[1]と$argv[2]はfishのargument arrayなんですが、このscriptの$1と$2は、また別で、Awkの値のことですね。

これで大丈夫でしょうか?試してみてください。

function agvim
  vim (ag $argv | peco --query "$LBUFFER" | awk -F : '{print "-c " $2 " " $1}')
end

@sachin21
Copy link
Copy Markdown
Author

sachin21 commented Jan 5, 2016

@bucaran あ・・なるほど。シェルの$1だと思っていました。fishとは関係なかったかもしれないですね。すみません汗。でもそれでも動かないみたいなので、fishの処理順の違いかもしれないと思ったんですがどうでしょうか?
僕の思ったことは、vimが微かに先に実行されてしまって、pecoが実行される前に立ち上がってみたような挙動をするんですよ。
p.s 聞く際にuploadしようと思ったんですが、忘れてしまいました。参考画像をuploadします。
b02f4fba6fb23f429b32478b7d62a3ea

@sachin21
Copy link
Copy Markdown
Author

sachin21 commented Jan 5, 2016

ちなみにvimコマンドを消してagだけにしたら出力だけはちゃんと表示されました。
これをvimに渡せたら終わりなんですが。。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment