Pipo kullanarak vim'de bir dosya nasıl açılır


15

Kullanmak olsun locateson derece sık komutu.

Yani aşağıdaki komutu çalıştırırsam.

locate updatedb | head -1

Sonra bana O/p

/usr/updatedb.conf

Acaba bu dosyayı doğrudan açmama izin verecek herhangi bir komut var mı?

Böyle bir şey umuyorum.

locate updatedb | head -1 | vim

Yanıtlar:


22

Neredeyse bitti:

$ locate updatedb | head -1 | xargs vim

bazen (belirli terminaller altında) düzenlemeden sonra terminali sıfırlamanız gerekir.

$ reset

2
Büyük olasılıkla sürümünüz locatevar -l/ --limit/ -nsen gerek kalmaz seçeneği head -1:locate -n 1 updatedb | xargs vim
Dmitry Alexandrov

1
Bu terminal bozulması neden oluyor? Bundan kaçınmanın bir yolu var mı?
Jacobo de Vera

16

Etkileşimli bir editör olarak Vim'in hem stdin hem de stdout'a ihtiyacı vardır, bu yüzden onu bir boru içinde kullanmak sorunludur ve Vim'i bu konuda uyarır. Tek bir dosya için, işlem ikamesi bunu kolayca çözer:

vim "$(locate updatedb | head -1)"

Ayrıca ters tırnakları da kullanabilirsiniz ve bu bile Vim'in içinde çalışır:

:edit `locate updatedb | head -1`

Bu, "sürüm 2 - final.csv" gibi dosya adları için güzel olan boşluklu dizelerde de çalışır.
Alex Moore-Niemi

0

Bu kötü bir çözüm olduğunu biliyorum ama .bashrc içinde takma ad oluşturmak için kullandım:

locate updatedb  > /tmp/vimForTempDontTouch && vim /tmp/vimForTempDontTouch

Dezavantajları: çirkin

Avantajı: Terminal ile yan etkisi yoktur

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.