3 Stimmen

Wie kann man ein Text-Objekt unter dem Cursor über ein Vim-Skript erhalten?

Ich habe Antworten gefunden, wie man das Wort/WORT unter dem Cursor oder das Zeichen unter dem Cursor oder die gesamte Zeile (getline(".")) in Vim erhält. Wie kann ich ein bestimmtes Text-Objekt unter dem Cursor erhalten?

Genauer gesagt möchte ich das auswählen, was mit vi' ausgewählt würde, und diese Zeichen in einer Funktion verwenden (ohne die Register durcheinander zu bringen).

4voto

Ingo Karkat Punkte 159961

Der einfachste und unkomplizierteste Weg ist tatsächlich, indem man in ein Register zieht; stellen Sie einfach sicher, dass Sie den Originalinhalt speichern und wiederherstellen.

let l:save_clipboard = &clipboard
set clipboard= " Vermeiden Sie das Überschreiben der Auswahl und der Zwischenablage-Register.
let l:save_reg = getreg('"')
let l:save_regmode = getregtype('"')
normal! yi'
let l:text = @@ " Ihre Textobjektinhalte sind hier.
call setreg('"', l:save_reg, l:save_regmode)
let &clipboard = l:save_clipboard

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X