【问题标题】:Remapping <ESC> breaks <S-TAB> mapping in vim重新映射 <ESC> 会破坏 vim 中的 <S-TAB> 映射
【发布时间】:2019-03-28 20:15:06
【问题描述】:

我的 vimrc 上有以下映射

nnoremap <TAB> gt
nnoremap <S-TAB> gT

然后我将 ESC 映射为清除亮点:

noremap <silent> <ESC> :noh<return>

然后&lt;S-TAB&gt; 将不再起作用。如果我从&lt;ESC&gt; 映射中删除&lt;silent&gt;,我会在按&lt;S-TAB&gt; 时看到:noh。我不知道&lt;S-TAB&gt;&lt;ESC&gt; 是否有共同点。我在 Linux 上,在 gnome-terminal 上使用 vim。

【问题讨论】:

    标签: vim


    【解决方案1】:

    您认为&lt;S-TAB&gt;&lt;ESC&gt; 有共同点是对的。 S-TAB 是一个带转义前缀的键码。

    ESC 键码是^[,而S-TAB^[[Z。您可以看到S-TAB 键码的第一部分与ESC 键码匹配。

    查看full table of combinations here

    所以您只是不能重新映射转义键,同时还重新映射包括它在内的一个键码。要么选择不同的键来清除高亮显示,要么选择不同的方式切换标签。

    【讨论】:

      猜你喜欢
      • 2011-10-30
      • 2010-10-20
      • 1970-01-01
      • 1970-01-01
      • 2021-06-15
      • 1970-01-01
      • 2016-02-21
      • 1970-01-01
      • 2014-09-06
      相关资源
      最近更新 更多