gpt4 book ai didi

vim - 如何在 vim 中捕获 shift-tab

转载 作者:行者123 更新时间:2023-12-04 11:04:35 25 4
gpt4 key购买 nike

我想使用 shift-tab用于自动完成和视觉移动代码块。我一直在引用Make_Shift-Tab_work .该链接谈论映射^[[Zshift-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看看 X当我按 shift-tab 时收到.但我没有 xev在我的系统上。

有没有其他方法可以在 vim 中捕获 shift-tab

最佳答案

该链接专门讨论获取 ^[[Z在插入模式下按 Ctrl+vShift+Tab 时。如果你不使用 Ctrl+v,那么 Vim 的行为就像你按下 Tab 一样。

让 Vim 识别的最简单方法 <S-Tab> ,就是直接设置t_kB您的终端发送的转义序列的选项,而不是弄乱 map 。

作为一个快速测试,在运行的 Vim 中试试这个:

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



现在,当您在插入模式下按 Shift+Tab 时, foo应该插入。如果可行,您可以通过将以下内容添加到您的 vimrc 来使更改永久生效。
exe 'set t_kB=' . nr2char(27) . '[Z'

关于vim - 如何在 vim 中捕获 shift-tab,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2745428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com