vim - dosyayı aç ve satır numarasını <filename> kullanarak git: <line nbr>:


21

Gibi çeşitli araçlar grep, py.testvb ... deseni kullanmak <FileName>:<line number>:hatalara noktaya kadar. Örneğin:

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

Vim ve gvim'i nasıl değiştirebilirim, böylece onları şöyle çağırabilirim:

gvim setup.cfg:11:

onun yerine

gvim setup.cfg +11

Bazı şeyleri ayrıştıracak küçük bir kabuk komut dosyası yazabileceğimi biliyorum ama daha kolay bir yol olup olmadığını merak ediyorum.


2
Bu tam olarak benzer değildir, ancak vim, çıktıyı grep'ten veya (örneğin) derleyici hatalarından make'den yükleme ve aralarında gezinme özelliğine sahiptir. Daha :help quickfixfazla bilgi için bakınız .
Random832

Yanıtlar:



9

Bir yolu yok ve bence tek senaryo. Bunun nedeni, setup.cfg: 11 adında bir dosyanız varsa ve düzenlemek isteseniz ne olurdu?

İşte bir oneliner olarak istediğinizi yapan hızlı bir komut dosyası ...

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

Maalesef bu doğru değil: Ya adlı bir dosyanız varsa +11? Elbette --bunun için kullanabilirsiniz .
Sardathrion - Monica

2
+11 dosyasını vim ./+11
Julian


0

Bu tür takma adı da kullanabilirsiniz:

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"'
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.