Dies ist sicherlich in vim machbar. Sie können das Protokoll scp: // in vim verwenden, um entfernte Dateien zu bearbeiten, und einen Befehl einrichten, der eine lokale Kopie schreibt. Sie können auch ändern, für welches Programm vim verwendet wird: make, um stattdessen einen ssh make auf Ihrem Server auszuführen.
Sie müssen Ihre SSH-Schlüssel einrichten, um dies schmerzfrei zu halten (sonst geben Sie Ihr Passwort die ganze Zeit ein), aber das ist ziemlich einfach.
Eine andere Alternative wäre, als Teil Ihres make-Befehls zu einem Remote-Repos zu schieben, anstatt remote zu bearbeiten.
EDIT:
Zuerst mit dem scp://
Protokoll innerhalb vim. Von :help netrw-start
(oder unten auf der Seite von :help scp
)
Netrw unterstützt "transparent" Bearbeitung von Dateien auf anderen Computern mit Urls (siehe | netrw-transparent |). Nehmen wir als Beispiel an, Sie haben ein Konto auf einer anderen Maschine; Wenn Sie scp verwenden können, versuchen Sie:
vim scp://hostname/path/to/file
Möchten Sie ssh/scp einfacher zu bedienen? Check out | netrw-ssh-hack |!
Sie können auch scp://
Pfade in :edit
Befehlen verwenden, oder wirklich überall, dass Sie einen normalen Weg benutzen können.
Und von den erwähnten :help netrw-ssh-hack
, Anweisungen, wie die SSH-Schlüssel einzurichten:
VERBESSERUNG BROWSING * netrw-listhack * * netrw-ssh-Hack * {{{2
Besonders Mit dem Remote-Verzeichnis-Browser ist die ständige Eingabe des Passworts mühsam.
Für Linux/Unix-Systeme, das Buch "Linux Server Hacks - 100 industrielle Stärke Tipps & Tools" von Rob Flickenger (O'Reilly, ISBN 0-596-00461-3) gibt einen Tipp für die Einrichtung keine -password ssh und scp und behandelt die zugehörigen Sicherheitsprobleme . Es war früher verfügbar unter http://hacks.oreilly.com/pub/h/66, , aber anscheinend wird diese Adresse jetzt zu irgendeinem "Hackzine" umgeleitet. Ich werde eine Zusammenfassung auf diesem Artikel und über eine Mitteilung Ben Schmidt basierte versuchen:
(1) (SSH-Client) auf dem lokalen Rechner ein öffentliches/privates Schlüsselpaar generieren:
ssh-keygen -t rsa
(Speichern der Datei in ~/.ssh/id_rsa wie aufgefordert)
(2) Drücken Sie einfach auf die Frage nach der Passphrase (zweimal) für keine Passphrase. Wenn Sie eine Passphrase verwenden, müssen Sie auch ssh-agent verwenden, sodass Sie die Passphrase nur einmal pro Sitzung eingeben müssen. Wenn Sie keine Passphrase verwenden, genügt es, sich einfach an Ihren lokalen Computer anzumelden oder Zugriff auf die Schlüsseldatei zu erhalten , um auf alle SSH-Server zuzugreifen, die diesen Schlüssel für die Anmeldung autorisiert haben.
(3) Das erstellt zwei Dateien:
~/.ssh/id\_rsa
~/.ssh/id\_rsa.pub
(4) Auf der Zielmaschine (SSH-Server):
cd
mkdir -p .ssh
chmod 0700 .ssh
(5) auf dem lokalen Computer (SSH-Client): (eine Zeile)
ssh {serverhostname} cat '>>' '~/.ssh/authorized\_keys2' < ~/.ssh/id_rsa.pub
oder für OpenSSH, (eine Zeile)
Sie können es mit
ssh {serverhostname}
testen, und Sie sollten auf dem Server einloggen zu müssen ohne weitere etwas geben.
Wenn Sie sich entschieden ein Passwort zu verwenden, tun:
ssh-agent $SHELL
ssh-add
ssh {serverhostname}
Sie für Ihre Schlüssel Passwort gefragt, wenn Sie ssh-add verwenden, aber nicht anschließend, wenn Sie ssh verwenden. Für den Einsatz mit vim können Sie
ssh-agent vim
und verwenden Sie beim nächsten innerhalb vim verwenden
:!ssh-add
Alternativ können Sie ssh-agent zum Terminal Sie planen, auf läuft vim gelten :
ssh-agent xterm &
und ssh-add wann immer Sie brauchen.
Für Windows haben Leute auf der Vim-Mailingliste erwähnt, dass Pageant hilft mit der Vermeidung der ständigen Notwendigkeit, das Passwort einzugeben.
Kingston Fung über eine andere Art und Weise geschrieben ständig zu vermeiden, benötigt Passwörter eingeben:
Um die Notwendigkeit zu vermeiden, in dem Passwort für scp jedes Mal eingeben, Sie einen Hack in der Dokumentation zur Verfügung zu stellen Richten Sie ein nicht passwortgeschütztes Konto ein. Ich fand eine bessere Möglichkeit, das zu tun: Ich kann ein reguläres ssh-Konto verwenden, das ein Kennwort verwendet, um auf das Material zuzugreifen, ohne das Kennwort jedes Mal eingeben zu müssen. Es ist gut für Sicherheit und Komfort. Ich versuchte ssh öffentlichen Schlüssel Autorisierung + ssh-Agent, dies zu implementieren, und es funktioniert!Hier sind zwei Links mit Anweisungen:
Für auf Remote-Systemen zu machen, müssen Sie Ihre makeprg
Variable tun einen ssh machen, um setzen. Von :help makeprg
Programm für den Befehl ": make" verwenden. Siehe |: make_makeprg |. Diese Option kann '%' und '#' Zeichen enthalten, die auf den aktuellen und alternativen Dateinamen erweitert werden. |: _% | |: _ # | Umgebungsvariablen werden erweitert |: set_env |. Siehe | Option-Backslash | über Leerzeichen und umgekehrte Schrägstriche.
Beachten Sie, dass ein '|' muss zweimal maskiert werden: einmal für ": set" und einmal für die Interpretation eines Befehls. Wenn Sie einen Filter verwenden genannt „myFilter“ tun es wie folgt aus:
:set makeprg=gmake\ \\\|\ myfilter
Der Platzhalter „$ *“ kann (auch mehrfach) gegeben werden angeben, wo die Argumente werden beispielsweise enthalten sein:
:set makeprg=latex\ \\\\nonstopmode\ \\\\input\\{$*}
Diese Option kann nicht über | |modeline | eingestellt werden oder in der | sandbox |, für Sicherheitsgründe.
Aber ich möchte nicht auf Check-Ins für Build abhängen; Ich möchte zuerst bauen, um sicherzustellen, dass es vor dem Einchecken gut ist. –