【问题标题】:Map a caps lock key that is mapped to ctrl system wide to Escape just in vim将映射到 ctrl 系统范围的大写锁定键映射到仅在 vim 中的 Escape
【发布时间】:2011-03-22 10:17:56
【问题描述】:

我已在 linux 下使用以下命令将我的大写锁定键映射到 ctrl:
setxkbmap -option ctrl:nocaps 我真的很喜欢这个映射并想保留它,但是当我在 vim 中时,我也想将大写锁定键映射到 Escape。但是当我尝试用:map <C> <Esc> 或类似的方法映射它时,它似乎不起作用,大概是因为 ctrl 键很特殊,需要第二个键来触发键事件。

有什么方法可以实现上述目标吗?

【问题讨论】:

标签: vim


【解决方案1】:

戴夫是对的,你不能。 但是,有很多替代方法可以重新映射转义键。 我个人使用与大写锁定键接近(在我的键盘上)的` :-) (因为 ' 没什么用,你可以重新映射 ' 到 `)

noremap ' `
noremap ` <Esc>

【讨论】:

  • 确实有很多选择。我自己将 Tab 键映射到 Escape,这意味着我可以执行 而不是按 Escape,因为在 Vim 中 Control + i 等效于 Tab 键。这对我个人来说是一个很好的解决方案..
【解决方案2】:

没有。 control、shift 和 alt 键在硬件和操作系统级别的处理方式不同——它们不生成键码,而是为其他键生成的键码添加修饰符。这意味着它们不能在 Vim 中映射。

【讨论】:

猜你喜欢
  • 2014-10-21
  • 2011-06-02
  • 2014-09-06
  • 1970-01-01
  • 2012-08-19
  • 2011-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多