Ich habe die Lösung gelesen, die unter /programming/11037825/vim-get-out-of-parenthesis-brackets-etc beantwortet wurde . Das ist nichts anderes als ein Befehl A
, der Sie am Ende der Zeile wegnimmt.
Aber meine Anforderung ist etwas anderes. Angenommen, ich habe eine Datei mit -
x = (3+5)/(2+1);
Wenn der Cursor eingeschaltet ist, +
möchte ich den Cursor auf /
oder zuerst bewegen )
, aber nicht auf ;
(Sie können "nach dem Zeichen" anstelle von "auf dem Zeichen" betrachten).
cursor-movement
alhelal
quelle
quelle
nnoremap ,f /[)/]<cr>
?()
oder{}
oder[]
oder bin<>
(obwohl es sich nicht um Klammern handelt).Antworten:
Ich bin mir nicht 100% klar, ob Sie danach fragen, aber ich denke, Sie suchen vielleicht nach:
Dies springt zum nächsten Gehäuse
)
. Wenn sich Ihr Cursor also auf/
der folgenden Seite befand:Es würde am ersten vorbei
)
springen und hierher springen:Alternativ würde für Ihren einfacheren Fall
%%
auch funktionieren. Der erste%
springt zur Öffnung(
und der zweite springt zu seinem Gegenstück, dem Schließen)
.Sehen:
:help ])
:help %
quelle
]}
])
[{
[(
arbeiten aber[[
und]]
nicht arbeiten.[[
und]]
etwas anderes machen: siehe:h ]]
Mein Plugin- Match-Up liefert die Zuordnungen
]%
und[%
ist wie eine Trennzeichen-agnostische Version von])
/]}
, um zu einem der Elemente eines umgebenden Matching-Paares zu gelangen. Da es die in aufgeführten Symbole verwendetmatchpairs
, funktioniert es standardmäßig für()
/{}
/[]
und funktioniert für<
und>
wenn esmatchpairs
enthält<:>
.Dateitypen können auch erweiterte Übereinstimmungspaare angeben (z. B.
if/endif
in Vimscript), ähnlich dem Plugin-Matchit, das mit vim verteilt wird (außer Matchit scheint nicht gepflegt zu sein und diese Zuordnungen funktionieren nicht ).quelle