CTRL +]を使用したタグナビゲーションがWindowsの英語以外のキーボードで機能しない


6

Windows 7でgVimを使用する場合、Vimのドキュメントに記載されているように、^](+ )を使用してタグにジャンプすることはできません。CTRL]

<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}

これは、Vimを学ぶときに私をとても悩ませていました。結局私はこのハッキーなマッピングを使ってそれを解決することができました

nnoremap <leader>t :tag <c-r><c-w><cr>

これ\tを使用してタグにジャンプすることができました(私は\asのデフォルト設定を使用しました<leader>)。

プログラミングにgnu / linuxのみを使用しているので、これは私にとってもう問題ではありません。すでに読んでいるヘルプのほとんどすべてを読んでいます。しかし、これがVimを学ぶ私の経験をさらに悪化させたと考えて、私が同じ状況にいる人々のためにこれを解決してもらうようにここにお願いします。

CTRL+ Windows 7]動作しないのはなぜですか?どのように修正できますか?

編集:この問題は私が使用したキーボードレイアウトが原因であるという情報でタイトルが編集されました。


詳細情報を提供できますか?なぜ動作しないのですか?ctagsがインストールされていますか?Ctrl-]単語で使用しようとすると、どのようなエラーメッセージが表示されますか?
akshay、

1
私はそれを理解することができました!私が必要とするキーボードレイアウトを使用するので問題はでした^]使用して入力するためにCtrl-AltGr-9はVim内で作業しないと。私はこの情報で自分の質問に答えました。
wefwefa3 2015

1
FWIW、<C-]>AZERTY Macキーボードでは、を押すと<C-$>、QWERTYキーボード$と同じ物理的な場所にあり]ます。
romainl

MSキーボードレイアウトクリエーターを使用してキーの組み合わせを「挿入」する(つまり、OS Ctrl-]が押されたときにキーコードをまったく生成しませんでした。それともそれがCtrl-[
原因でした

1
@romainl:これについて言及してくれてありがとう。このトピックについて私がSOに尋ねた自分の質問を思い出しました。回答者:あなた:-)
eckes

回答:


12

知識の断片化に挨拶:https : //stackoverflow.com/q/6932702/520162この質問は、StackOverflowで既に質問され、回答されています。

キーは、USキーボードのCTRLが置かれている場所にあるキーを押すことです]。QUERTZのドイツ語キーボードに問題があり、押す必要がありますCTRL-+

比較:USキーボード: USキーボード

ドイツ語キーボード: ドイツ語キーボード

別の明白な方法は、単に機能を別のキーストロークに再マップすることです。あなたがgにしたいので、O T Oカーソル下のタグは、あなたが使用することができoo、このために:

:map oo <C-]>

2

なぜこの問題が発生したのかがわかりました。

問題の原因

問題は、Windows 7コンピューターで英語以外のキーボードレイアウトを使用したことです。

バックスラッシュ文字は、英語以外のキーボードレイアウトでAlt Gr+ 9を使用して入力します。これにより、^]Ctrl+ Alt Gr+ を使用して入力され9ます。これは単にVim内では機能しません。

それがなぜなのかはわかりません。

  • 問題はハードウェアにある可能性があります。たぶん、問題は限られたキーボードのゴースト化が原因です(ただし、同時に6つのキーを登録できるはずのキーボードでも同じ問題があります)。

  • ソフトウェアに問題がある可能性があります。Vimはこれを念頭に置いてプログラムされていなかったのかもしれません。

英語以外のキーボードを使用する他の誰かが、^]が自分のマシンで正常に機能するかどうかについてコメントしていただければ幸いです。

ソリューション

この問題は、英語のキーボードレイアウトに変更するだけで修正されます。残念ながら、他の解決策は見つかりませんでした。

したがって、代わりに英語のレイアウトを使用する必要があります。Vimのユーザーインターフェイスも英語のキーボードレイアウトを考慮して設計されています。英語キーボードレイアウトを使用すると、文字が好きなので、プログラミングにも有利である[{そして;それは、頻繁に(何も到達しないことが容易になるプログラミングで使用されているAlt Grストレッチを)。したがって、切り替えにより、あなたの人生をより快適にすることができます!

問題は、メイン言語で文字を入力することです。次に、ダイグラフを使用する必要があります(を参照:help digraphs)。

この問題を解決する別の方法は、質問で言及されたこのハッキーなマッピングを使用することです:

nnoremap <leader>t :tag <c-r><c-w><cr>

これにより、ユーザーはでタグにジャンプできます\t(デフォルトで<leader>設定さ\れている場合)。


2
これは解決策ではなく、降伏です。
15
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.