Navigazione tramite SSH


10

So che si può usare vim scp://host/path/to/fileper modificare file remoti localmente e quindi aggiornare la macchina remota quando si salva ( :w). Tuttavia, vorrei sapere se è possibile navigare tra le directory usando ssh (o se c'è un plugin per farlo)

NERDTree non lo supporta e quando viming in una cartella, sebbene netrw mi consenta di navigare nelle directory, l'apertura di un file non funziona.

Risposte:


13

Invece di puntare Vim / Netrw su un file:

scp://host/path/file

puntalo su una directory:

scp://host/path/

Questo ti dà lo stesso elenco e le stesse scorciatoie come se stessi sfogliando la tua macchina.


hai provato questo quando remoti dalla tua Unixmacchina per accedere alle cartelle su una macchina Windows .. Ho appena provato vim scp://user@10.1.4.4//C:/Users/user/Desktop/tmp/, e mi ha dato solo una schermata vuota, con l'errore 'ls' is not recognized as an internal or external commandquando provo: vim scp://user@10.1.4.4//C:/Users/user/Desktop/tmp/filename.. funziona benissimo.
alpha_989,

Da questo sembra che vimstia emettendo un comando ls, quando accede al computer remoto .. e perché è un computer Windows .. non c'è ls... e il comando fallisce. È possibile per vim attraversare windowsdirectory su ssh usando netrwplugin o qualcos'altro? Sto usandoVIM 8.1
alpha_989 il

2
Si noti che la barra finale dopo scp://host//path/è necessaria affinché questo funzioni; in caso contrario, vim tenterà di aprire il percorso come un normale file, che verrà caricato in bianco.
Koyae,

1

Ho dimenticato di aver aperto questa domanda!

Quindi il problema era che, con la versione netrw che avevo (impacchettato con vim-gnome su Debian Jessie), la modifica di un file dall'esploratore (tramite ssh) non avrebbe usato l'URI corretto (dalla memoria, il '@' nella ' utente @host "mancante). Ha aperto un file vuoto (perché non ha trovato nulla) ma ha comunque salvato il nuovo file utilizzando l'URI valido (sovrascrivendo effettivamente il file originale).

La risposta di @ user21497 mi ha aiutato anche perché non ho mai trovato quel collegamento 'nuovo file', che è abbastanza utile perché usando ': e' crea il file localmente.

Infine, questa domanda mi ha aiutato a navigare meglio usando netrw (tornare all'esploratore dopo aver aperto un file usando: Ex)

Grazie per il vostro aiuto ragazzi !


0

Non sono sicuro di cosa intendi per "notifica nuovo file"; se vuoi creare un nuovo file, sfogliando scp: // nomehost / directory, premi semplicemente "%" come faresti in una directory locale per creare un nuovo file. Vedi: help netrw-%. È possibile creare una directory usando d (: help netrw-d). Se vuoi modificare un file già esistente, selezionalo con il cursore sopra il nome del file nel display netrw e premi <cr>(ci sono anche altri metodi di selezione, tra cui v, o, t, ecc.). Vedi: help netrw-quickmap per una panoramica su questo. Ho appena provato questo e non ho ottenuto un file vuoto (se preesistente). Un nuovo file, ovviamente, sarà vuoto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.