Wie vervollständige ich einfache und doppelte Anführungszeichen, Klammern usw. im VIM-Editor automatisch?

Wie vervollständige ich einfache und doppelte Anführungszeichen, Klammern usw. im VIM-Editor automatisch?

Ich brauche, dass Vim jedes Mal, wenn ich ein einfaches oder doppeltes Anführungszeichen, Klammern, geschweifte Klammern, eckige Klammern usw. schreibe, automatisch das schließende Anführungszeichen erstellt und den Cursor hineinsetzt, damit die Bearbeitung problemlos fortgesetzt werden kann. Mir ist aufgefallen, dass die meisten Editoren dies tun.

Ich brauche das für jede Programmiersprache. PHP, JS, JQUERY, HTML, CSS ... aber ohne Verwendung eines Snippets, da Snippets dazu eine Tastenkombination oder eine Tastenbelegung benötigen (nicht produktiv). Ich brauche diese Autovervollständigung, die automatisch funktioniert, nachdem ich die Taste " gedrückt habe.

Antwort1

Es gibt Plugins wie delimitMate, die diese Funktion bieten. Oder Sie können Ihre eigenen Zuordnungen erstellen. Eine größere Liste von Plugins und eine detaillierte Erörterung möglicher Zuordnungen finden Sie hier:http://vim.wikia.com/wiki/Automatically_append_closing_characters; im Allgemeinen ähneln die Zuordnungen:

inoremap        (  ()<Left>
inoremap <expr> )  strpart(getline('.'), col('.')-1, 1) == ")" ? "\<Right>" : ")"

Derzeit (ab Vim 7.4.781) führen solche Zuordnungen und alle von Ihnen installierten Plugins jedoch dazu, dass Rückgängig/Wiederholen/Wiederholen nicht funktioniert, sodass zwei Rückgängig-Schritte erforderlich sind, um den eingegebenen Text zu entfernen: 1 zum Entfernen der Klammern darin, 1 zum Entfernen der Klammern selbst. Wenn Sie mit dem Kompilieren Ihres eigenen Vim vertraut sind, ist ein Patch verfügbar, um dies zu beheben:https://groups.google.com/forum/#!topic/vim_dev/gBumYDSEJoo/discussion

Antwort2

Hierzu müssen Sie das Plug-In installieren.Dasist ein Beispiel-Plugin. Es ist einfacher zu verwendenErhabener Textals jeder andere Editor. Es ist einfach und leicht.

verwandte Informationen