function! ForwardLookup()
" get next key pressed
let c = nr2char(getchar())
let old_search_pattern = @/
" Use of \V enables very-nonmagic pattern
exec 'normal /\c\V' . escape(c, '\/') . nr2char(0x0d)
let @/ = old_search_pattern
endfunction
nnoremap f :call ForwardLookup()<CR>
Nicht stark genug: unterstützt kein numerisches Präfix, geht über Zeilenumbruch hinaus, unterstützt keinen visuellen Modus.
Bogdan Gusiev
Dies unterstützt auch nicht die Wiederholung des Befehls von;
Thomson
0
Eine grundlegende Version davon finden Sie im Referenzhandbuch als Beispiel für die Verwendung der getchar()Funktion:
In diesem Beispiel wird "f" neu definiert, um Groß- und Kleinschreibung zu ignorieren:
:nmap f :call FindChar()<CR>
:function FindChar()
: let c = nr2char(getchar())
: while col('.') < col('$') - 1
: normal l
: if getline('.')[col('.') - 1] ==? c
: break
: endif
: endwhile
:endfunction
Sehen :help getchar().
Sie müssen das zurückgegebene Zeichen speichern und eine ähnliche Karte schreiben, ;wenn Sie möchten, dass dies auch funktioniert, und Code schreiben, der verarbeitet werden soll, v:count1wenn Sie möchten, dass es mit Zählungen funktioniert.
Antworten:
Ich würde folgendes vorschlagen:
quelle
;
Eine grundlegende Version davon finden Sie im Referenzhandbuch als Beispiel für die Verwendung der
getchar()
Funktion:Sehen
:help getchar()
.Sie müssen das zurückgegebene Zeichen speichern und eine ähnliche Karte schreiben, ;wenn Sie möchten, dass dies auch funktioniert, und Code schreiben, der verarbeitet werden soll,
v:count1
wenn Sie möchten, dass es mit Zählungen funktioniert.quelle