Sincronizza Vim su remoto al salvataggio


1

Sto cercando un plug-in o uno script che funzioni in modo simile a Sublime SFTP
Fondamentalmente, dovrebbe contenere un file di configurazione e mappare la gerarchia locale e remota.
Al momento del salvataggio in un file, dovrebbe essere in grado di caricare le modifiche sul telecomando di conseguenza.

Non ho familiarità con la scrittura di script Vim, quindi se è realizzabile con gli script, si spera che non sia troppo difficile da capire e modificare. Dovrebbe essere abbastanza flessibile da mappare progetti diversi e non dover cambiare lo script ogni volta che passiamo cda un progetto diverso.

Ho trovato il plugin ftpsync ma sembra abbastanza manuale senza menzionare il file di configurazione.


Quale sistema operativo usi?
rom

Sto usando OS X.
riposo

Risposte:


0

Vim viene fornito con il plug-in netrw per impostazione predefinita. È un esploratore di file locale / remoto e puoi leggerlo in :h netrw.

L'utilizzo di base è simile al seguente:

:e scp://user@domain.ext/path/to/project/ " list content of remote directory
/filename<CR>                             " jump to filename
<cr>                                      " open file for editing
(editing)                                 " magic…
:w                                        " save file remotely
:Rex                                      " re-open latest file listing
rince, repeat…

In pratica, netrw funziona come qualsiasi altro plug-in / funzionalità SFTP in qualsiasi altro editor / IDE: il file viene scaricato, modificato e salvato localmente e infine ricaricato.

Netrw è una vera bestia, però, ti consiglio di leggere attentamente il documento.

Però…

... la modifica dei file direttamente su un server remoto, in remoto tramite ssh o localmente tramite (S) FTP, non è una buona idea. Può essere lento e non è particolarmente sicuro dal punto di vista della qualità del codice.

Supponendo che tu stia facendo lo sviluppo web, una strategia di gran lunga migliore è quella di eseguire un server di sviluppo sul tuo computer e sincronizzare i tuoi file con un server di test remoto solo dopo aver testato tutto a livello locale.

Quella parte di "sincronizzazione" viene generalmente gestita in modo più efficiente utilizzando una GUI o CLI client FTP (S) dedicata o, ancora meglio, un VCS come Subversion, Mercurial, Git o altri.

Come sviluppatore web, ti incoraggio vivamente a seguire il percorso VCS.


Hmm ... sto usando Mercurial. Quindi il mio flusso di lavoro è la modifica dei file locali, la sincronizzazione con il telecomando per i test (perché c'è dell'hardware non disponibile localmente), se tutto va bene, esegui il commit e spingi localmente al repository. Non sono sicuro che usare Mercurial come mezzo per "sincronizzare" sia una buona idea, perché devo impegnarmi e spingere ogni singolo test.
riposo

No, non è una buona idea, ma non hai dato l'intera immagine. Di che tipo di hardware hai bisogno che rende impossibile testare il tuo codice localmente? Ad ogni modo, dovresti usare un programma FTP GUI come Transmit o YummyFTP o Interarchy ... hanno tutti il ​​tipo di funzionalità simile a "watch folder" che desideri. Non è necessario inquinare il tuo editor di testo.
rom

0

Ho scritto un plugin per questo scopo. Può essere trovato qui: https://github.com/hesselbom/vim-hsftp

Ti permette di scaricare o caricare il file corrente tramite sftp.

È nelle prime fasi ma ha funzionato per i miei scopi e sei libero di borsare o contribuire se lo desideri!



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.