2014-01-27 83 views
2
  1. .vimrc如何insert mode移动光标在Vim中插入模式在vimrc文件

    末,家庭,方向键,数字键

  2. 当我从normal mode移到使用以下主要功能insert mode使用i命令,光标向后移动1个字符。如何阻止它? (使用.vimrc命令或任何其他方式)

+0

结束,家庭,箭头键和数字键应该在插入模式下开箱即用。你如何使用Vim,他们似乎不工作? – FlyingFoX

+0

我在Ubuntu上遇到过有关箭头键不能在插入模式下工作的行为(可能是'vim-tiny'软件包)。确保你的系统运行的是'vim'的完整版本。 – etuardu

+0

它们在插入模式下正常工作。但是我想要的是一个'command',它相当于箭头键,home和end在插入模式下写入'inoremap'。 – Lahiru

回答

6

你的第二个问题:您可以使用一个切换到插入模式,而不是

这会将光标置于插入模式之后而不是之前突出显示的字符,而不像之前那样i确实。

2
  1. 特殊键通常是一系列转义码。不是映射难以理解的难看的转义码,而是再次查看它,那么如何映射正常模式等价物呢? <C-o>允许您在正常模式下运行单个命令并返回插入模式。

    例如,下图将使插入模式下的X向右移动一个字符并保持插入模式。

    inoremap X <C-o>l 
    
  2. 退出插入模式时,无法禁止光标“向左移动”。你可以把它想象成光标总是放在一个字符上。如果光标没有“移动”,那么它不会放在行尾的字符上。由于FlyingFoX已经指出,您可以使用a而不是i进入插入模式,此“移动”不会影响到您。

+0

与你的答案中的映射,你怎么能输入'SEX'? – Kent

+0

我刚刚用'X'作为例子。我不知道他究竟想要映射什么。 –

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就是这样设计的。有不同的方式进入插入模式。 i a s c I A o O ...阅读这些命令的帮助,自己尝试一下,仔细想想,你会发现,它们会让你的日常编辑更富有成效。

2

对于在插入模式下使用特殊键的映射,只需使用特殊键表示法即可。例如:

inoremap <F5> <Left><Left>hello 
nnoremap <F5> a<Left><Left>hello<Esc> 
相关问题