Skip to content

Instantly share code, notes, and snippets.

@sachin21
Created January 5, 2016 12:10
Show Gist options
  • Save sachin21/dbd86fe5688f0c663c27 to your computer and use it in GitHub Desktop.
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
Author

sachin21 commented Jan 5, 2016

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

Copy link

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
Author

sachin21 commented Jan 5, 2016

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

@sachin21
Copy link
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