vim-ファイルを開き、<filename>:<line nbr>を使用して行番号に移動します。


21

以下のようないくつかのツールgreppy.testなど、...のパターンを使用して<FileName>:<line number>:エラーをポイントに。例えば:

; grep -Hn Common setup.cfg
setup.cfg:11:    Common

vimとgvimを変更して、次のように呼び出すにはどうすればよいですか?

gvim setup.cfg:11:

の代わりに

gvim setup.cfg +11

私は物事を解析する小さなシェルスクリプトを書くことができることを知っていますが、もっと簡単な方法があるのだろうかと思います。


2
これは厳密には類似していませんが、vimにはgrepからの出力または(たとえば)makeからのコンパイラエラーをロードし、それらの間をナビゲートする機能があります。詳細については:help quickfix、を参照してください。
Random832

回答:


16

ここで利用できるfile:lineプラグインを使用できます


1
それに加えて、vundleを使用してインストールできるというボーナスもあります。
サルダスリオン-モニカを復元15年

1
参照ファイル行プラグインには、タブページが使用されている場合の破損を含むいくつかの問題があります。vim-fetchはfile-lineが行うことを行いますが、より良いです。
-Lekensteyn

9

方法はありません。スクリプトが唯一の方法だと思います。その理由は、setup.cfg:11というファイルがあり、それを編集したい場合はどうでしょうか?

ワンライナーとして必要なことを行う簡単なスクリプトを次に示します...

editline() { vim ${1%%:*} +${1##*:}; }

申し訳ありませんが、これは正確ではありません+11。ファイルが呼ばれたらどうしますか?もちろん、--そのために使用できます。
サルダスリオン-モニカの復活

2
vim ./+11
Julian


0

このようなエイリアスを使用することもできます:

alias gd 'set number=`echo \!:1 | perl -pe "s/([0-9]*:)?(.+)[,:]([0-9]+).*/\3/"`; set file=`echo \!:1 | perl -pe "s/([0-9]*:)?(.+)[,:]([0-9]+).*/\2/"`; eval "if ($number == $file) then \\
   gvim $file \\
else \\
   gvim $file +$number \\
endif"'
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.