Wie ordne ich die Y-Taste (Umschalt + Y) dem Kopieren von der aktuellen Cursorposition zu, anstatt die gesamte Zeile zu kopieren?

Nov 20 2020

Ich möchte die shift+yTaste zuordnen, um den Cursor eine Position nach rechts zu bewegen, die y-Taste drücken und auf den Verschiebungsbefehl warten. Ähnlich wie bei der Bedienung der Taste p. Bei Verwendung ohne Verschiebung fügt der Bildschirm den Inhalt nach dem Cursor ein und bei Verwendung mit der Verschiebung vor. Beispielsweise. Wenn ich ein Wort in umgekehrter Reihenfolge kopieren muss, muss ich es tun (l+y+b). Ich möchte das nur mit machen (shift+y+b). Das heißt, ich möchte von der aktuellen Cursorposition und nicht von der vorherigen Position kopieren.

Antworten

2 filbranden Nov 20 2020 at 06:48

Wenn ich ein Wort in umgekehrter Reihenfolge kopieren muss, muss ich es tun (l+y+b). Ich möchte das nur mit machen (shift+y+b). Das heißt, ich möchte von der aktuellen Cursorposition und nicht von der vorherigen Position kopieren.

Wenn Sie das aktuelle Wort kopieren möchten, während sich der Cursor am Ende befindet, können Sie es verwenden yvb, das vals Operator (oder als Modifikator für einen Operator) verwendet wird, um die bBewegung von einer "exklusiven" in eine "inklusive" Bewegung umzuschalten .

Siehe :help o_v:

Wenn die Bewegung bereits zeichenweise war, schalten Sie inklusive / exklusiv um. Dies kann verwendet werden, um eine exklusive Bewegung inklusive und eine inklusive Bewegung exklusiv zu machen.

(Auch :help exclusive.)

Wenn Sie möchten, dass sich der YBefehl so verhält, können Sie einfach Folgendes verwenden:

nnoremap Y yv

Beachten Sie jedoch, dass dies zwar nützlich ist yvb, jedoch unerwünschte Nebenwirkungen auf die anderen Situationen haben kann (z. B. Vorwärtsbewegung eist jetzt exklusiv, zeilenweise wird zeichenweise usw.). Es ist möglich, eine spezifischere Zuordnung zu erstellen (z mache immer eine inklusive Bewegung usw.), aber das wird mit all den Eckfällen, die behandelt werden müssen, ziemlich komplex.

(Mein Rat: Verwenden Sie einfach den vOperator direkt, yvbist ungefähr so ​​einfach zu tippen wie Ybund erfordert keine benutzerdefinierten Zuordnungen oder Funktionen.)