Gibt es eine Möglichkeit, in vim im Einfügemodus vorwärts zu löschen?

7164
TK.

Gibt es eine Möglichkeit, in vim im Einfügemodus vorwärts zu löschen? Ich verwende ein MacVim. Ich habe "Control-D" ausprobiert, aber es funktioniert offensichtlich nicht. Ich suche in der offiziellen Dokumentation, kann aber nichts finden. Jede Hilfe wäre dankbar.

7

4 Antworten auf die Frage

11
Fontaine Cook

Das Schöne an Vim ist seine Portabilität! Behalte es agnostisch.

inoremap <C-d> <Esc>lxi 

edit: KISS noch besser!

inoremap <C-d> <Del> 
7
BloodPhilia

Its the fn key and backspace (<X)) or alt and backspace (<X)).

Ich denke, was TK anstrebt, ist eine Möglichkeit, vorwärts zu löschen, ohne die Handposition in der Startreihe zu brechen, genauso wie Sie mit Strg-H die Rücktaste verwenden können. Dies ist eine wichtige Funktion, um eine hohe Bearbeitungsgeschwindigkeit aufrechtzuerhalten und sich wiederholende Belastungen zu minimieren. Ich mag die Antwort von Fontaine unten, um Ctrl-D neu zuzuordnen, da dies bereits in Terminal und an anderen Orten funktioniert, also bereits im Muskelgedächtnis. scanny vor 11 Jahren 1
@ Scanny Willkommen bei Super User und vielen Dank für deine Antwort. Ich glaube jedoch nicht, dass das OP nach fast 3 Jahren immer noch nach der Antwort sucht. ;-) Fühlen Sie sich jedoch frei, die anderen Antworten abzustimmen, wenn Sie können! BloodPhilia vor 11 Jahren 0
2
sml

There's no built-in way, however you can create a key map like this:

:imap <C-d> <Esc>wdiwi 
Lol, es ist schon gelöst ... Mac hat einen Schlüssel dafür, überprüfen Sie meine Antwort. BloodPhilia vor 14 Jahren 0
Ich bevorzuge Folgendes (was portabel ist!): `Inoremap ce`. (`dfooi` kann in` cfoo` vereinfacht werden) Luc Hermitte vor 14 Jahren 1
@ BloodPhilia: Ja, das habe ich gesehen, dachte nur jemand, der eine andere Vim (nicht MacVim) verwendet, möchte vielleicht eine Lösung :) sml vor 14 Jahren 0
Leider verdeckt / überschreibt diese spezielle Zuordnung die Standardzuordnung "dedent" / unindent, was (zumindest für mich) ziemlich nützlich ist. Könnte seinC-BS stattdessen? Jeet vor 14 Jahren 1
2
lseki

Sie können in den Schnellbefehlsmodus wechseln ( <C-o>) und dann vorwärts löschen ( <S-c>oder <S-d>).