使用Vim进行键映射

3

我想转用vim,但有一个主要要求:

我需要将`键映射为=键(因为我已经将等于号键作为退格键使用,真正的退格键不起作用(长话短说哈哈))

我似乎找不到任何在vim中实现这一点的方法(考虑到我是一个初学者)。虽然有很多关于:map的参考资料,但我无法按照自己的意愿运用。有没有针对新手的帮助?


如果没有 \,你将无法在 Stack Overflow 上输入行内代码示例! - Michael Berkowski
1
我更建议在您的窗口管理器中全局重新映射大写锁定键为空格。那个键真的没什么用。 - Benoit
@michael - 这就是为什么我只在vim中重新映射它 :) 我几乎不在其他地方使用等号,除非我在编码时需要它,如果我确实需要它,我可以按cmd+cntrl = 来覆盖它。 - andy
@Benoit - 这实际上是个好主意。谢谢。 - andy
1
你应该考虑接受你评论的答案作为修复它的解决方案... :) - alesplin
2个回答

7

你只需将以下内容添加到你的vimrc文件中:

nnoremap ` =
xnoremap ` =
inoremap ` = 
cnoremap ` =
onoremap ` =

在正常、可视、插入、命令行和操作挂起模式下,它将重新映射 ` 为 =。
有关更多信息,请参见 :help map。
请注意,最好重新映射 ' 而不是 `,后者更有用(保留列号前往标记)。

谢谢!唯一的问题是它在等号后面插入了一个空格。我本来想将其映射为',但我已经养成了习惯(其中一个原因是我将退格键映射回等号,因为我只是用一个手指退格,这是一个难以改变的习惯)。 - andy
问题解决了,已经修复。 - andy
这可能可以通过仅使用maplmapvmapxmap之一来缩短,具体取决于您是否想要选择模式。 - Randy Morris

2
您可以尝试使用以下按键映射:
:inoremap ` =

我发现在插入模式下,使用Ctrl-H作为退格键也很有用。

如果在vim中将=重新映射为空格,那么这将会递归。除非需要递归映射,否则始终使用nore版本的映射命令。但是在这里,可能已经外部地将=重新映射为了空格。 - Benoit

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接