Bei Verwendung von gVim unter Windows 7 kann ich nicht mit ^] ( CTRL+ ]) zu Tags springen, wie in der Vim- Dokumentation beschrieben:
<C-LeftMouse> *<C-LeftMouse>* *CTRL-]*
CTRL-] Jump to the definition of the keyword under the
cursor. Same as ":tag {ident}", where {ident} is the
keyword under or after cursor.
When there are several matching tags for {ident}, jump
to the [count] one. When no [count] is given the
first one is jumped to. See |tag-matchlist| for
jumping to other matching tags.
{Vi: identifier after the cursor}
Das hat mich beim Lernen von Vim sehr gestört . Am Ende habe ich es geschafft, es mit diesem hackigen Mapping zu lösen
nnoremap <leader>t :tag <c-r><c-w><cr>
Dadurch konnte ich mit zu Tags springen \t
(ich habe die Standardeinstellung von \
as verwendet <leader>
).
Dies ist für mich kein Problem mehr, da ich jetzt nur noch gnu / linux zum Programmieren benutze und bereits so ziemlich alle Hilfe gelesen habe, die es zu lesen gibt. Aber wenn man bedenkt, dass dies dazu beigetragen hat, meine Erfahrung mit dem Erlernen von Vim so viel schlechter zu machen, bitte ich hier, dies für Menschen zu lösen, die sich in der gleichen Situation befinden, in der ich mich befand.
Warum funktioniert CTRL+ ]unter Windows 7 nicht für mich und wie kann es behoben werden?
Bearbeiten : Der Titel wurde mit der Information bearbeitet, dass dieses Problem durch das von mir verwendete Tastaturlayout verursacht wird.
quelle
Ctrl-]
ein Wort zu verwenden?^]
, das eingegeben werdenCtrl-AltGr-9
muss und das in Vim nicht funktioniert. Ich habe meine eigene Frage mit diesen Informationen beantwortet.<C-]>
auf einer AZERTY Mac-Tastatur durch Drücken erhalten<C-$>
und befindet$
sich an derselben physischen Position wie]
auf QWERTY-Tastaturen.Ctrl-]
Drücken überhaupt keinenCtrl-[
Antworten:
Begrüßen Sie die Wissensfragmentierung: https://stackoverflow.com/q/6932702/520162 Diese Frage wurde bereits auf StackOverflow gestellt und beantwortet.
Die Taste ist zu drücken CTRLund die Taste, die sich dort befindet, wo sich das ]auf der US-Tastatur befindet . Ich hatte das Problem mit einer deutschen QUERTZ-Tastatur und muss drücken CTRL-+
Vergleichen Sie: US-Tastatur:
Deutsche Tastatur:
Eine andere naheliegende Möglichkeit wäre, die Funktionalität einfach einem anderen Tastendruck zuzuordnen. Da Sie wollen g o t o der Tag unter dem Cursor, könnten Sie oofür diese:
quelle
Ich habe gerade herausgefunden, warum ich dieses Problem hatte.
Die Ursache des Problems
Das Problem ist, dass ich auf meinem Windows 7-Computer ein nicht englisches Tastaturlayout verwendet habe.
Das Backslash-Zeichen wird mit Alt Gr+ 9in meinem nicht-englischen Tastaturlayout eingegeben. Dies führt dazu, dass ^] mit Ctrl+ Alt Gr+ eingegeben wird 9. Dies funktioniert in Vim einfach nicht .
Ich weiß nicht warum das so ist:
Das Problem könnte in der Hardware liegen. Möglicherweise wird das Problem durch begrenzte Tastatur-Ghosting verursacht (aber ich habe das gleiche Problem mit einer Tastatur, die 6 Tasten gleichzeitig registrieren soll).
Das Problem könnte in der Software liegen. Vim war vielleicht nicht dafür programmiert.
Ich würde mich freuen, wenn jemand anderes, der eine nicht-englische Tastatur verwendet, kommentieren könnte, ob ^] auf seinem Computer ordnungsgemäß funktioniert.
Die Lösung
Das Problem wird durch einfaches Wechseln zu einem englischen Tastaturlayout behoben. Leider habe ich keine andere Lösung gefunden.
Sie müssen stattdessen ein englisches Layout verwenden. Die Benutzeroberfläche von Vim wurde auch mit Blick auf das englische Tastaturlayout entwickelt. Eine englische Tastaturlayout verwendet , ist auch von Vorteil bei der Programmierung , da Zeichen wie
[
,{
und;
das sind in der Programmierung werden leichter zu erreichen (keine häufig verwendete Alt GrStretch). So kann das Umschalten sogar Ihr Leben angenehmer machen!Das Problem besteht darin, Zeichen in Ihrer Hauptsprache einzugeben. Dann müssen Sie auf Digraphen zurückgreifen (siehe
:help digraphs
).Eine andere Möglichkeit, dieses Problem zu lösen, besteht darin, dieses in der Frage erwähnte Hacky-Mapping zu verwenden:
Welche ermöglicht es dem Benutzer zu einem Tag springen mit
\t
(falls<leader>
eingestellt ist ,\
wie es standardmäßig ist).quelle