在.vimrc
中如何使用insert mode
结束,回家,箭头键,数字键
当我使用normal mode
命令从insert mode
移动到i
时,光标向后移动1个字符。怎么阻止它? (使用.vimrc
命令或任何其他方式)
答案 0 :(得分:6)
关于第二个问题:您可以使用 a 切换到插入模式而不是 i 。
这会将光标置于先前突出显示的字符后面的插入模式中,而不是像 i 之前那样。
答案 1 :(得分:2)
特殊键通常是一系列转义码。而不是映射丑陋的转义代码,当你再次看到它时你永远不会理解,如何映射普通模式等效? <C-o>
允许您在正常模式下运行单个命令并返回插入模式。
例如,以下地图将使X在插入模式下向右移动一个字符并保持插入模式。
inoremap X <C-o>l
退出插入模式时,无法阻止光标“向左移动”。您可以将其视为光标始终位于角色上。如果光标没有“移动”,那么它就不会停留在一行的末尾。正如FlyingFoX已经指出的那样,您可以使用 a 代替 i 进入插入模式,这种“移动”不会影响您。
答案 2 :(得分:2)
对于在插入模式下使用特殊键的映射,只需正常使用特殊键表示法。例如:
inoremap <F5> <Left><Left>hello
nnoremap <F5> a<Left><Left>hello<Esc>
答案 3 :(得分:1)
我刚尝试过,End,Home,Arrows无需特殊设置。如果您在终端启动vim,对于某个终端,您需要将term
设置为正确的值。可能会有所不同。如果您使用的是vim
,请确保您拥有set nocompatible
但我建议您忘记箭头/主页/结束键,以这种方式移动:
<esc>A (Insert End)
<esc>I or gI (Insert Home)
<Esc>hjkl (arrows)
仅当您确实要插入文本时才进入插入模式,否则保持正常模式。您还可以考虑按<C-o>
Q2,i
的设计与vim中的设计类似。有不同的方法进入插入模式。 i a s c I A o O ...
阅读这些命令的帮助,自己尝试,并仔细考虑,你会发现,它们会让你的日常编辑变得富有成效。