Vim-Einstellungen über Starts hinweg speichern?

15

Mein Professor hat jedem Schüler in meiner Programmierklasse einen SSH-Account zugewiesen und vorgeschrieben, dass wir VIM für die Textbearbeitung verwenden. Ich entdeckte :set nuund :set auto indentüber Google. Ich habe festgestellt, dass diese beiden Einstellungen nach jedem Start zurückgesetzt werden. Gibt es eine Möglichkeit, sie auf meinem SSH-Konto beizubehalten? Was ist mit VIM auf meinem lokalen Computer?

Moshe
quelle
3
"beauftragt, dass Sie Vim verwenden" ?!
Turm
Jep. Das ist der Klassentexteditor.
Moshe
1
Führen Sie entweder auf Ihrem SSH-Konto oder auf Ihrem lokalen Computer aus vimtutor. Auf diese Weise lernen Sie, wie Sie Vim verwenden. Wenn Sie damit fertig sind, führen Sie :helpin Vim aus, um eine Übersicht über die Verwendung des Hilfesystems und weitere einführende Informationen zu erhalten.
Garyjohn
@ BobbyMarinoff haha ​​yup. Dies war eine meiner frühen CS-Klassen. Der Professor ist (noch) der einzige in der Abteilung, der auf diese Weise lehrt.
Moshe

Antworten:

13

Legen Sie sie in Ihre vimrc(siehe :help vimrc). Sie können diese Datei dann zwischen Computern synchronisieren.

Eine andere Möglichkeit besteht darin, vimrc auf dem lokalen Computer einzurichten und z. B. bcvi zu verwenden, um Dateien transparent von remote zu lokal und wieder zurück zu übertragen.

Cat Plus Plus
quelle
9

Wenn Sie sich in Vim befinden, :echo $VIMgeben Sie ... ein, um den Ort anzugeben, an dem sich Ihr _vimrc (oder .vimrc) befinden soll. Bearbeiten Sie eine Datei unter diesem Namen und fügen Sie diese beiden Zeilen ein

   set nocompatible
   set number
   set autoindent

und speichern Sie es.

Schreien Sie, wenn Sie Probleme damit haben.

Turm
quelle
6
Nein, $ VIM ist nicht der Ort, an den Ihr _vimrc oder .vimrc gehen sollte. Diese Dateien sollten in $ HOME gespeichert werden.
Garyjohn
@garyjohn - Sagt wer? Das Einfügen in $ HOME unter Windows führt zu zwei möglichen Problemen. one - HOME erstellt eine schwer zu erstellende tragbare Installation, und zweitens kann sie bereits von Emacs übernommen werden: /
Rook
2
@Idigas: Weil $ VIM für alle Benutzer zugänglich ist. Auf einem PC, der nur von einer Person verwendet wird, ist dies möglicherweise in Ordnung, auf einem Unix-System mit mehreren Benutzern jedoch nicht, wie dies vermutlich beim SSH-Konto des Posters der Fall ist. Ich verstehe nicht, wie die Verwendung von $ HOME es weniger portabel macht, es sei denn, Sie haben Vim auf einem USB-Stick installiert, aber das wurde nicht besprochen. Emacs 'Verwendung von $ HOME oder irgendetwas anderem sollte nichts damit zu tun haben, wo man seine _vimrc oder .vimrc platziert.
Garyjohn
Laut :help vimrc$ VIM ist möglicherweise eine Mac-Sache. Ich sag bloß'.
Marflar
3

Es gibt auch das Modell, in dem Sie vim dateiweise konfigurieren können und nicht von einer lokalen vim-Konfiguration abhängig sind.

  • Man kann das Verhalten von vim für bestimmte Dateien mithilfe von Modelines anpassen.
  • Modelines sind am Anfang / Ende der Datei enthalten und rufen "setlocal" für vim-Variablen auf.
  • Dies ist nützlich, um Optionen wie das Verhalten von Registerkarten, den Dateimodus usw. festzulegen.
Jofel
quelle
2

Wenn Sie einen Mac verwenden, können Sie eine Vim Options- Anwendung verwenden:

  1. Suchen Sie nach "nu" und setzen Sie "On".
  2. Suchen Sie nach "autoindent" und setzen Sie "On".
  3. Speichern Sie die Datei als ".vimrc" in Ihrem Home-Verzeichnis.

Danach ist es möglich, die vim-Konfigurationsdatei mit dem Befehl "scp" wie folgt auf einen Remote-SSH-Computer zu übertragen:

scp ~/.vimrc [email protected]
Battlmonstr
quelle