Ich versuche, eine Operator-ausstehende Zuordnung zu definieren (mit onoremap
), um allen Text zwischen dem vorherigen {
und dem nächsten }
zu entsprechen. Dies ist für die Verwendung in einer css Datei, so dass ich einfach Regeln löschen, ändern oder kopieren kann mit ir
.Wie entferne ich die Hervorhebung von einer Suche in einem `operator-pending`-Mapping in vim?
Ich habe die Syntax verwendet in "Learn vimscript den harten Weg", die eine Kombination von execute
und normal
ist. Was ich nicht tun konnte, ist das Highlight Suche nach meiner letzten Suche. Nach der Verwendung des Mappings werden alle }
in der Datei hervorgehoben.
Bisher ist hier, was ich habe:
au Filetype css noremap <buffer> ir :<C-U>execute "normal! ?{\rjV/}\rk"<CR>
Ich weiß, ich brauche :nohlsearch
zu nennen, aber ich weiß nicht, wie das in dem Mapping passen. Das Mapping führt dazu, dass ein Text visuell ausgewählt wird. Wenn :nohlsearch
aufgerufen wird, wird es auf die Auswahl angewendet, was nicht funktioniert.
brauche ich einen Weg, um den '<,'>
Marker zu löschen, aber ich konnte nicht finden, wie <C-U>
im normal
Befehl zu schreiben, um es richtig ausgeführt wird. Eine weitere Möglichkeit könnte seine visuellen Modus zu verlassen, führen Sie die :nohlsearch
und dann erneut den letzten ausgewählten Text mit gv
, aber auch für, dass ich nicht finden kann, wie <Esc>
in meine normal
Erklärung zu schreiben.
funktioniert 'viB' nicht für Ihren Anwendungsfall? –
Ja, viB funktioniert und es ist tatsächlich, was ich schließlich in meinem vimrc, aber als ich mit dem Highlight-Problem konfrontiert wurde, habe ich dies als ein Beispiel für meine Frage verwendet. – pixelastic