Uzak Dosyalar için Dosya Adı Tamamlama


16

Arkadaşım birkaç gün önce bana uzak bir sunucuda bir dosya açabileceği Emacs'ta havalı bir numara gösterdi ve anında "bunu vim'de yapmanın bir yolu olmalı" diye düşündüm ve bu doğruydu.

Ben sadece :e scp://user@server//filepathbunu yapmak için kullanabilirsiniz , sorun değil;). Ancak, sadece sunucu adını yazabilir ve daha sonra yapamayacağım bir şey olan dosya yolları ve adları (sekmeli) için tamamlanabilir. Birisi bunun vim içinde yapılıp yapılamayacağını biliyor mu?


1
Gerçi ctrlp destekleyebilirdi ... ama görünüşe göre bir özellik isteği .
muru

Yanıtlar:


6

Evet , ancak şu anda (2015) kullanıma hazır değil, çünkü vim'in yerleşik dosya yöneticisi uzaktan taramayı yerel olarak desteklemiyor. .

2016 3. Çeyrek Güncellemesi:

Değişken konfor / uyumluluk / çaba derecelerine sahip çeşitli çözümler vardır. Hep birlikte güzel bir çözüme katkıda bulunurlar, ancak hepsi de ayrı ayrı kullanılabilir:

Ortamınızı değiştiremezseniz veya .vimrc-sadece: vim dosya yöneticisinde ileri / geri arama yapmak için // ?Tuşlarını kullanabilirsiniz ve TABbunlardan biriyle eşleştirebilirsiniz . Bu, dosya sisteminde hızlı bir şekilde gezinmek için göründüğünden daha güçlüdür. Aşağıdaki açıklama.

Temel Geçici Çözüm (NetRW ile standart vim için):

  • Vim'i uzak bir dosyaya yönlendirme
  • "Üstte" bir dizinin üzerine gelin , örneğin $HOME:, vim scp://files/veya /:vim scp://files///
  • NetRW eklentisi istenen üst düzey klasörde ( /veya $HOME) açılır .
  • NetRW'de şaşırtıcı derecede az sayıda tuşa basarak gezinebilirsiniz:
  • Uzaktan kumandayı /etc/network/interfacesNetRW ile düzenlemek için /:

    /etENTERENTER/netwENTERENTER/intENTERt

Her zaman ?yukarıdan arama yapmak için yukarıdan arama yapmak için kullanabilirsiniz .

Daha da iyisi , neredeyse taklit etmek için TAB -Tamamlama ekleyin .vimrc:

  • Harita TABiçin / NetRW içinde:autocmd filetype netrw noremap <buffer> <TAB> /
  • TreeView için NetRW'yi yapılandırma: let g:netrw_liststyle=3
  • İsterseniz uzak bir VExplore için bir geçiş ekleyin<C-E> (kullanıyorum).
  • Ben de tavsiye incsearch, ignorecaseve smartcaseNetRW için veya tüm tamponlar.

"Geleneksel" sekme tamamlama ile karşılaştırıldığında, yukarıdaki farklı, ama çok rahat.

Not: Yukarıdakilerin tümü, ~/.ssh/configKullanıcı, Bağlantı Noktası, Sıkıştırma, JumpHost (ProxyCommand ) ile ssh sertifikası tabanlı şifresiz bağlantıların yalnızca ana bilgisayar adı / takma adlar gerekli olacak şekilde ayarlandığını varsayar.

Bu daha önce burada ve burada da tartışıldı


1
Bağlantıyı özetleyerek hileyi genişletebilir misiniz? Düz bir bağlantı, site kapanırsa veya ölürse çok yararlı değildir.
muru

Sanırım, NetRW bunu doğal olarak yapabilene kadar bu benim son "çözümüm". Hala bilinen sorunların üstesinden geleceğim, ancak daha ince hatalar, düzeltmeler ve geliştirmeler bulmayı (veya işaret etmeyi) bekliyorum. Bunlar ele alınacak / dahil edilecektir. Yorum yaptığınız için teşekkürler.
Alex Stragies
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.