Um Leerzeilen hinzufügen zu können, ohne in den Einfügemodus zu wechseln, versuche ich, ALT-o
und ALT-O
zu o<ESC>
und zuzuordneno<ESC>
Ich habe folgendes in meinem versucht .vimrc
map <M-o> o<ESC>
map <M-O> O<ESC>
und
map <ALT-o> o<ESC>
map <ALT-O> O<ESC>
und (wie unten vorgeschlagen)
map <A-o> o<ESC>
map <A-O> O<ESC>
aber keine funktioniert. Es gibt nur das übliche Verhalten, als ob ALT-o
es nicht definiert worden wäre.
.vimrc
Ich ändere die Datei zum ersten Mal und kann nicht finden, wo in der Dokumentation angegeben ist, wie die verschiedenen Schlüssel festgelegt werden. Ich kann jedoch überprüfen, ob meine .vimrc
Datei gelesen wird, indem ich Folgendes einbeziehe :
map <Enter> ihello<ESC>
Was erfolgreich <Enter>
dem Einfügen hello
und Zurückkehren in den Befehlsmodus zugeordnet wird.
Ich benutze vim mit cygwin.
vim
keyboard-shortcuts
cygwin
Eric Wilson
quelle
quelle
<C-o>
und unterscheiden zu lassen<C-O>
.Antworten:
Um zu sehen, was Ihr Terminal sendet, wenn Sie eine Taste drücken, wechseln Sie in den Einfügemodus, drücken Sie
Ctrl+V
und dann die Taste. Die meisten Tasten mit den meisten Terminals senden eine Escape-Sequenz, bei der nur das erste Zeichen ein Steuerzeichen ist.Ctrl+V
Fügt das nächste Zeichen buchstäblich ein, sodass Sie die gesamte Escape-Sequenz auf diese Weise einfügen können.Verschiedene Terminals senden für einige Tastenkombinationen unterschiedliche Escape-Sequenzen. Viele Terminals senden
^O
für beideCtrl+O
und dasselbe Zeichen ( )Ctrl+Shift+O
. In diesem Fall kann Vim nicht zwischen ihnen unterscheiden.Sie erwähnen, dass Sie Cygwin verwenden. In welchem Terminal Sie Vim ausführen, sind die relevantesten Informationen. Wenn Sie die native Windows-Konsole verwenden, besorgen Sie sich ein besseres Terminal. Ich empfehle MinTTY zum Ausführen von Cygwin-Textmodusanwendungen in einem Terminal unter Windows außerhalb von X, aber auch Cygwins Windows-native RXVT und PuTTYcyg sind gut. (Auch Console2 zum Ausführen von Windows-Konsolenanwendungen, aber das ist hier völlig unangebracht ).
quelle
Wenn Shows
Control+V
folgen (Terminal eingeben ), können Sie dies mit diesem kleinen Skript von vim.wikia.com beheben :ALT-x
^[x
Fügen Sie zu .vimrc für alle Alt-Key-Zuordnungen hinzu.
quelle
Dies funktioniert für mich auf Ubuntu 16.04 xfce Terminal (und Alacritty Rost Terminal)
Setzen Sie den Ultisnip-Snippet-Trigger auf
Meta-/
(genau wie beim Emacs-Snippet).let g:UltiSnipsExpandTrigger="^[/"
Hier
^[/
tippe ich jetzt vim einIm Einfügemodus
Ctrl-V Alt-/
(
Meta
ist dieAlt
Taste auf meiner PC-Tastatur)quelle
Die Taste M (eta) ist die Windows-Taste. Es ist einfach
<A-o>
.quelle
map <A-o> o<ESC>
und es hat bei mir funktioniert. Wenn Sie es in Ihre gelegt haben.vimrc
, haben Sie es neu geladen?