4

shift-tabオートコンプリートとコードブロックの視覚的なシフトに使用したいと思います。私はMake_Shift-Tab_workを参照しています。そのリンクは、へのマッピングについて説明^[[Zしていshift-tabます。^[[Zしかし、を押しても取得できませんshift-tab。その場合、私は普通tabになります。

xmodmap -pke | grep 'Tab' 次に、タブキーのマッピングに使用する方法について説明します。それによると、出力は

keycode 23 = Tab
or
keycode 23 = Tab ISO_Left_Tab

しかし、私は得る

keycode  22 = Tab KP_Tab

私が使用xmodmap -e 'keycode 22 = Tab ISO_Left_Tab'し、その後xmodmap -pke | grep 'Tab'、私はまだ取得します

keycode  22 = Tab KP_Tab

これは、実行しxmodmap -e 'keycode 22 = Tab ISO_Left_Tab'ても効果がないことを意味します。

最後に、リンクには、を押したときにxev何が受信されるかを確認するために使用することが記載されています。しかし、私は私のシステムに持っていません。Xshift-tabxev

vimでshift-tabをキャプチャできる他の方法はありますか?

4

1 に答える 1

2

このリンクは、挿入モードで+ +^[[Zを押したときの取得について具体的に説明しています。+を省略した場合、Vim は を押した場合と同じように動作します。CtrlvShiftTabCtrlvTab

Vim に を認識させる最も簡単な方法は、マップをいじる代わりに、端末が送信するエスケープ シーケンスにオプションを<S-Tab>直接設定することです。t_kB

簡単なテストとして、実行中の Vim でこれを試してください:

:set t_kB= Ctrl+ vEsc[Z
:imap <S-Tab> foo

挿入モードでShift+を押すと、挿入されるはずです。それが機能した場合は、vimrc に以下を追加することで、変更を永続的にすることができます。Tabfoo

exe 'set t_kB=' . nr2char(27) . '[Z'
于 2010-04-30T15:18:13.133 に答える