Uzupełnianie nazw plików dla zdalnych plików

16

Mój przyjaciel pokazał mi fajną sztuczkę na Emacsie kilka dni temu, gdy mógł po prostu otworzyć plik na zdalnym serwerze i od razu pomyślałem, że „powinien być sposób na to również w vimie” i to była prawda.

Mogę to po prostu wykorzystać :e scp://user@server//filepath, bez problemu;). Mógłby jednak wpisać nazwę serwera, a następnie uzupełnić ścieżki i nazwy plików (z kartą), czego nie byłem w stanie zrobić. Czy ktoś wie, czy można to zrobić w vimie?

m.ajallooeian
źródło
1
Chciałbym, żeby ctrlp mógł to obsługiwać ... ale najwyraźniej jest to żądanie funkcji .
muru

Odpowiedzi:

6

Tak , ale obecnie (2015) nie jest gotowy do użycia, ponieważ wbudowany menedżer plików vim nie obsługuje natywnie zdalnego przeglądania. .

Aktualizacja Q3 @ 2016:

Istnieje kilka obejść o różnym stopniu komfortu / kompatybilności / wysiłku. Wszystkie razem składają się na fajne rozwiązanie, ale można je również stosować indywidualnie:

Jeśli nie możesz zmodyfikować swojego środowiska lub .vimrc-only: W menedżerze plików vima możesz użyć // ?Keys do wyszukiwania do przodu / do tyłu i możesz zmapować TABdo jednego z nich. Jest to mocniejsze, niż się wydaje, do szybkiego poruszania się po systemie plików. Opis poniżej.

Podstawowe obejście (dla standardowego vima z NetRW):

  • Nie kieruj vima do zdalnego pliku
  • Wskaż katalog „u góry”, np . $HOME: vim scp://files/lub /:vim scp://files///
  • Wtyczka NetRW otwiera się w pożądanym folderze najwyższego poziomu ( /lub $HOME).
  • W NetRW możesz nawigować za pomocą zaskakująco niewielu naciśnięć klawiszy:
  • Aby edytować zdalnie /etc/network/interfacesprzy włączonym NetRW /:

    /etENTERENTER/netwENTERENTER/intENTERt

Zawsze możesz użyć ?do wyszukiwania wstecz, bez owijania od góry.

Jeszcze lepiej , dla niemal naśladowania - TAB Zakończenie dodaj .vimrc:

  • Mapa TABdo / w NetRW:autocmd filetype netrw noremap <buffer> <TAB> /
  • Skonfiguruj NetRW dla TreeView: let g:netrw_liststyle=3
  • Dodaj przełącznik dla zdalnego VExplore dla<C-E> , jeśli chcesz (używam go).
  • Polecam również incsearch, ignorecasea smartcasedla NetRW lub wszystkich buforów.

W porównaniu do „konwencjonalnego” uzupełniania tabulatorów powyższe jest inne, ale bardzo wygodne.

Uwaga: Wszystkie powyższe zakładają oparte na certyfikacie ssh połączenia bez hasła ~/.ssh/configz użytkownikiem, portem, kompresją, JumpHost (ProxyCommand są skonfigurowane tak, że potrzebne są tylko nazwa hosta / aliasy).

To zostało również wcześniej omówione poza firmą tutaj i tutaj

Alex Stragies
źródło
1
Czy możesz rozwinąć tę sztuczkę, podsumowując link? Zwykły link nie jest zbyt przydatny, jeśli strona ulegnie awarii lub umrze.
muru,
Myślę, że jest to mniej więcej moje ostatnie „rozwiązanie”, dopóki NetRW nie zrobi tego natywnie. Nadal zajmę się pozostałymi znanymi problemami, ale spodziewam się znaleźć (lub wskazać) subtelniejsze błędy, poprawki i ulepszenia. Zostaną zaadresowane / włączone. Dziękujemy za komentowanie.
Alex Stragies,