Wenn ich in VIM eine linke Klammer eingebe, wird automatisch eine passende rechte Klammer hinzugefügt, was in Ordnung ist. Aber wenn ich eine Zeile wie die folgende habe:
thisVar = count(blue*(red+green) - orange + (1*3);
und ich möchte nach (rot+grün) eine rechte Klammer hinzufügen, habe ich Probleme. Wenn ich eine rechte Klammer eingebe, springt VIM zur nächsten rechten Klammer in der Zeile. Die einzige Möglichkeit, die rechte Klammer hinzuzufügen, scheint darin zu bestehen, einen Wagenrücklauf einzufügen, um die Anweisung auf zwei Zeilen aufzuteilen, die Klammer hinzuzufügen und sie dann wieder zurückzusetzen:
thisVar = count(blue*(red+green))
- orange + (1*3);
Dann
thisVar = count(blue*(red+green)) - orange + (1*3);
Welche Konfigurationseinstellung muss geändert werden, um zu verhindern, dass VIM zur nächsten rechten Klammer springt?
Antwort1
Vim verhält sich nicht von selbst so. Sie müssen ein Plugin verwenden, das dies tut. Die Ausführung des folgenden Befehls sollte Ihnen zeigen, welches Plugin das zugeordnet hat (
.
:verbose imap (
In der Dokumentation zu diesem Plugin erfahren Sie möglicherweise, wie Sie dieses Verhalten steuern können, oder Sie können die Verwendung dieses Plugins ganz deaktivieren. Wo Sie die Dokumentation finden und wie Sie sie steuern, hängt vom Plugin ab. Sie finden die Dokumentation möglicherweise, indem Sie Folgendes ausführen:
:help <plugin name>
oder indem Sie einfach die Plugin-Datei öffnen, wobei der Dateiname durch den :verbose
obigen Befehl angegeben wurde.
Antwort2
Um die rechte Klammer an einer beliebigen Position einzufügen, wechseln Sie zunächst durch Drücken von in den Einfügemodus i.
Wenn sich vim nicht im Einfügemodus befindet, )bewegen Sie den Cursor durch Drücken von zur nächsten rechten Klammer.
Wird verwendet Esc, um den Einfügemodus zu verlassen.
PS: Wenn das oben genannte nicht der Fall ist, posten Sie bitte ~/.vimrc
Ihre /etc/vim/vimrc
Frage.