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?


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


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,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.