重新映射vim行结束键

重新映射vim行结束键,vim,text-editor,Vim,Text Editor,在mac键盘上使用vim时,最大的烦恼之一是缺少主键和结束键。尽管在vim中有一个解决方案,即 $ for End of line 0 for Beginning of line (both in <Esc> mode) $用于行尾 行的开头为0(两种模式下) 我发现它不直观,因为$位于键盘的左侧,并将您带到最右边的文本行,而0位于右侧则将您带到行的开头。 有没有办法将关键点重新映射为9表示行的开始,0表示行的结束 我在~/.vimrc中尝试了以下内容 inoremap &l

在mac键盘上使用vim时,最大的烦恼之一是缺少主键和结束键。尽管在vim中有一个解决方案,即

$ for  End of line 
0 for Beginning of line (both in <Esc> mode)
$用于行尾
行的开头为0(两种模式下)
我发现它不直观,因为$位于键盘的左侧,并将您带到最右边的文本行,而0位于右侧则将您带到行的开头。 有没有办法将关键点重新映射为9表示行的开始,0表示行的结束

我在~/.vimrc中尝试了以下内容

inoremap <Esc>9 <Esc>0
inoremap <Esc>0 <Esc>$
inoremap 9 0
重新映射0$

但它似乎没有生效,旧的组合键仍然存在。帮帮我!同时让我知道这样做的缺点(如果有)?谢谢

inoremap
用于插入模式映射。您要找的是
nnoremap
。例如,您可以尝试以下方法:

nnoremap 0 $
nnoremap 9 0
inoremap <C-A> <Home>
inoremap <C-E> <End>
nnoremap 0$
NNO地图9 0
inoremap
inoremap
但是,我个人不会重新映射9,因为有一天您可能会随机需要它(例如
9gg
9j
)。相反,我会选择
Q
K
U
S
,因为它们很少使用


事实上,我可能会建议保持现状<当您学习正则表达式时,code>$实际上非常直观。它有点难打,但一般来说,您不会太需要它,因为您有许多映射到
D$
的命令,例如
D
。当您必须使用香草vim时,它也会变得更容易。

您知道
inoremap
用于插入模式映射吗?
nnoremap 0$
对您有效吗?有效!谢谢顺便问一下,如何在不丢失插入模式的情况下到达行首和行尾?您可以通过
在Mac键盘上键入
。就像一个琐事一样,原因
$
^
(可以说比
0
更有用)分别是行的结尾和开头,因为这些是行尾和行首的regexp标记--
^hello
与行首的hello匹配,
hello$
与行尾的hello匹配。谢谢回答!干杯