2011-08-22 14 views
5

Neredeyse yalnızca terminalde çalışıyorum ve sık sık hata yığınlarında görünen dosyaları görüntülemem gerekiyor. Çok yaygın bir format /some/file:99, burada 99 satır numarasıdır. Bu çizgiyi kopyalayabilmeyi ve bu çizgiyi vimde kolayca açabilmeyi isterdim.Vim dosya isimlerinin sonunda satır numaralarını tanımanın bir yolu var mı?

Aradığım şey :e /some/file:99 yapabilmektir, ve vim bu dosyayı otomatik olarak 99 satırında açar. Böyle bir şey var mı? Değilse, bunun için bir eklenti yazmak mümkün mü?

cevap

1

Bu eklenti akılda bu özel amacı ile düzenlenmiştir: bir dosyaya /some/file:99 yönlendirebilirsiniz o zaman sen dosya adının üzerinde imleç zaman sadece gF basarak hattın 99 at /some/file atlayabilirsiniz file:line

6

düzenlemek komut seçenekleri alır, dolayısıyla bu deneyebilirsiniz: Sen hiç Vim talimat + LineNumber ile dosya adı öneki olabilir

http://vim.runpaint.org/basics/opening-files/

:

:e +99 /some/file 

Sadece bu bağlantıyı bulundu Açıldıktan sonra verilen çizgiye atlayın. Örneğin, vim +7 todo.list veya: e +100 treatise.txt. Eğer keten bezi çıkarırsanız, yani dosya adını + ile önekle, Vim dosyanın sonuna atlar.

+0

': e/some/file: 99' için ': e +99/some/file' ifadesini yeniden yazmak mümkün mü? Ya da bunun hakkında daha iyi bir yolu olur mu? Çözümünüz temiz olsa da, benim kullanım durumum için bir iyileştirme değil, sadece dosyayı açtıktan sonra '' 99' – Suan

+0

gf komutunu aradığınız şey nedir? http://vim.wikia.com/wiki/Open_file_under_cursor –

1

Bu nerede /some/file:99 gelir? Bazı harici komutların çıkışı mı? Eğer öyleyse, quickfix modu ile ilgili belgeleri okumalısınız. (:h quickfix).

+0

hata/stacktrace çıktıları oldukça standart bir dosya yolu biçimine sahip gibi görünüyor: linenumber, – Suan

+0

@Suan'dan aldığım yer: derleme hataları içeren bir dosyanız var mı? Vim'de aç ve dosyanın ilgili satırına atlamak ister misin? –

+0

O zaman, 'makeprg' 'yi doğru bir şekilde yapılandırmanız ve' make 'komutunu çağırmanız daha iyi olur. Herhangi bir eklenti kullanmaya gerek yok. Bu yerleşik bir özelliktir. –