【问题标题】:.vimrc mapping for control key not working控制键的 .vimrc 映射不起作用
【发布时间】:2013-03-28 18:57:27
【问题描述】:

我的 .vimrc 中有以下映射,用于映射控制键 + 1、2、3.. 用于切换选项卡。我在 ubuntu 11.10 中使用 gnome 终端,控制键映射似乎不起作用。谁能告诉我做错了什么。

VIM - Vi 改进版 7.3.154

map <C-S-]> gt
map <C-S-[> gT
map <C-1> 1gt
map <C-2> 2gt
map <C-3> 3gt
map <C-4> 4gt
map <C-5> 5gt
map <C-6> 6gt
map <C-7> 7gt
map <C-8> 8gt
map <C-9> 9gt
map <C-0> :tablast<CR>
syntax on
set shiftwidth=2

【问题讨论】:

  • 在 Gnome 终端中签入Edit &gt; Keyboard shortucts,如果该组合键已经映射到某个东西。我认为它们默认用于切换标签...
  • 以下建议不是答案,但请记住,有些建议使用前导字符而不是控制键

标签: vim


【解决方案1】:

首先确保您的终端仿真器 (Gnome Terminal) 不会为了自己的功能而吞下组合键;默认情况下 Ctrl + number 切换选项卡。但恐怕你仍然无法使用所有这些组合......

由于键盘输入在内部处理的方式,遗憾的是,这在今天通常是不可能的。某些组合键,如 Ctrl + 非字母无法映射,Ctrl + 字母 vs. Ctrl + Shift + 字母无法区分。 (除非您的终端为它发送一个独特的 termcap 代码,但大多数情况下不会。)在插入或命令行模式下,尝试键入组合键。如果没有任何反应/插入,则不能使用该组合键。这也适用于&lt;Tab&gt;/&lt;C-I&gt;&lt;CR&gt;/&lt;C-M&gt;/&lt;Esc&gt;/&lt;C-[&gt; 等(唯一的例外是&lt;BS&gt;/&lt;C-H&gt;。)这是一个已知的痛点,并且vim_dev 和#vim IRC 频道上各种讨论的主题。

有些人(最重要的是 Paul LeoNerd Evans)想要解决这个问题(即使是支持此功能的终端中的控制台 Vim 也是如此),并提出了 various proposals

但截至今天,还没有补丁或志愿者出现,尽管许多人表示希望在未来的 Vim 8 主要版本中提供此功能。

【讨论】:

  • 如何确定哪些已使用,哪些未使用?
  • 是的,那是我的问题。谢谢。有没有办法让终端不吞下那些击键?
  • @aderchox 您可以取消配置默认键:Edit > Preferences > /Shortcuts\ > Switch to Tab 1: Disabled
猜你喜欢
  • 2017-05-23
  • 1970-01-01
  • 2017-01-11
  • 2014-06-12
  • 2014-11-13
  • 1970-01-01
  • 2017-04-07
  • 1970-01-01
  • 2011-12-13
相关资源
最近更新 更多