Nawigacja za pomocą SSH

11

Wiem, że można vim scp://host/path/to/fileedytować lokalnie zdalne pliki, a następnie aktualizować zdalny komputer podczas zapisywania ( :w). Chciałbym jednak wiedzieć, czy można poruszać się po katalogach za pomocą ssh (lub czy jest do tego wtyczka)

NERDTree go nie obsługuje, a podczas vimowania do folderu, chociaż netrw pozwala mi nawigować do katalogów, otwieranie pliku nie działa.

lesurp
źródło

Odpowiedzi:

14

Zamiast wskazywać Vim / Netrw na plik:

scp://host/path/file

wskaż katalog:

scp://host/path/

Daje to tę samą listę i te same skróty, jak podczas przeglądania komputera.

romainl
źródło
próbowałeś tego podczas zdalnego przesyłania z twojego Unixkomputera, aby uzyskać dostęp do folderów na komputerze z systemem Windows. Właśnie próbowałem vim scp://[email protected]//C:/Users/user/Desktop/tmp/i po prostu dał mi pusty ekran, z błędem, 'ls' is not recognized as an internal or external commandgdy próbuję: vim scp://[email protected]//C:/Users/user/Desktop/tmp/filename.. działa dobrze.
alpha_989
Z tego wynika, że ​​wydaje vimpolecenie ls, gdy loguje się na komputerze zdalnym .. i ponieważ jest to komputer z systemem Windows .. nie ma ls.. i polecenie kończy się niepowodzeniem. Czy vim może przeglądać windowskatalogi przez ssh używając netrwwtyczki lub czegoś innego? UżywamVIM 8.1
alpha_989
2
Pamiętaj, że końcowe ukośnik po scp://host//path/jest konieczne, aby to zadziałało; w przeciwnym razie vim spróbuje otworzyć ścieżkę jako zwykły plik, który załaduje się pusty.
koyae
1

Ups, zapomniałem, że mam otwarte pytanie!

Problem polegał na tym, że w wersji Netrw, którą miałem (w pakiecie z vim-gnome na Debianie Jessie), modyfikacja pliku z eksploratora (poprzez ssh) nie używałaby poprawnego URI (z pamięci „@” w „ brak użytkownika @ hosta). Otworzył pusty plik (ponieważ niczego nie znalazł), ale nadal zapisał nowy plik przy użyciu dobrego identyfikatora URI (skutecznie zastępując oryginalny plik).

Odpowiedź @ user21497 również mi pomogła, ponieważ nigdy nie znalazłem skrótu „nowy plik”, co jest dość przydatne, ponieważ użycie „: e” tworzy plik lokalnie.

Wreszcie, to pytanie pomogło mi lepiej nawigować za pomocą netrw (powrót do eksploratora po otwarciu pliku za pomocą: Ex)

Dzięki za pomoc chłopaki!

lesurp
źródło
0

Nie jestem pewien, co rozumiesz przez „powiadom nowy plik”; jeśli chcesz utworzyć nowy plik, przeglądając za pomocą scp: // nazwa_hosta / katalog, po prostu naciśnij „%”, tak jak w katalogu lokalnym, aby utworzyć nowy plik. Zobacz: help netrw-%. Możesz utworzyć katalog używając d (: help netrw-d). Jeśli chcesz zmodyfikować już istniejący plik, wybierz go kursorem na górze nazwy pliku na ekranie netrw i naciśnij <cr>(istnieją również inne metody zaznaczania, w tym v, o, t itp.). Zobacz: help netrw-quickmap, aby uzyskać ogólne informacje na ten temat. Właśnie tego próbowałem i nie otrzymałem pustego pliku (gdy wcześniej istniał). Nowy plik oczywiście będzie pusty.

użytkownik21497
źródło