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?
autocompletion
filesystem
m.ajallooeian
źródło
źródło
Odpowiedzi:
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:
Skonfiguruj demona na poziomie użytkownika
afuse
/sshfs
w plikach inicjujących powłokęZa pomocą kilku wierszy skryptu pochodzących np.
.profile
Możesz skonfigurować auto-mountera na żądanie w katalogu np~/scp/
. Szczegóły tej integracji w poście na Unix i Linux SE . Jest to najwygodniejsza opcja, zdalne pliki „pojawiają się” lokalnie, ale wymagająafuse
isshfs
muszą być dostępne.Skonfiguruj uzupełnianie wiersza poleceń powłoki dla zdalnych ścieżek plików
Pakiet funkcji uzupełniania dla bash ma kilka funkcji zaprojektowanych
ssh
iscp
uzupełniających. Dzięki funkcji otokivim()
, przekształcającej zdalne ścieżki wvim
oczekiwaną formę, można ich używać do dostarczania zdalnych plików skompletowanych przez TABvim
. Drobne niedociągnięcia tego podejścia są tam również wyszczególnione. Do sytuacji bez nadużycia. Musibash-completion
być zainstalowany lub równoważny i dostosowania dla innych powłok.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):
$HOME
:vim scp://files/
lub/
:vim scp://files///
/
lub$HOME
).Aby edytować zdalnie
/etc/network/interfaces
przy 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
:autocmd filetype netrw noremap <buffer> <TAB> /
let g:netrw_liststyle=3
<C-E>
, jeśli chcesz (używam go).incsearch
,ignorecase
asmartcase
dla 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/config
z 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
źródło