分页: 1 / 1

VIM在插入模式下快速移动到行首和行尾

发表于 : 2013-03-02 10:57
hjl1764
我想实现的功能是在插入模式下按下Ctrl+[键快速切换到行首并进入插入模式,于是我写了这个快捷键:

代码: 全选

imap <C-[> <Esc><S-^>i
可以正常使用,但是按下这个组合键后就不能按Esc回到原来的正常模式了,这个按键组合要怎么修改才能改成我想要的效果,并且还能继续按下Esc回到正常模式

Re: VIM在插入模式下快速移动到行首和行尾

发表于 : 2013-03-02 16:54
reallynotme
别用ctrl-[做映射就行了,比如用

代码: 全选

imap <c-i> <esc>I
ctrl+[原来就是可以用做<esc>的,然后我试了一下,貌似vim直接把ctrl+[与<esc>等同了

你执行完

代码: 全选

imap <C-[> <Esc><S-^>i
可以执行下

代码: 全选

imap
查看当前的映射.可以看到映射里面只有

代码: 全选

i  <Esc>         <Esc><S-^>i
而没有

代码: 全选

i  <C-[>         <Esc><S-^>i 

Re: VIM在插入模式下快速移动到行首和行尾

发表于 : 2013-03-23 17:23
sunsol
Ctrl-o 0 移到行首
Ctrl-o A 移到行尾

Re: VIM在插入模式下快速移动到行首和行尾

发表于 : 2013-03-23 18:13
reallynotme
sunsol 写了:Ctrl-o 0 移到行首
Ctrl-o A 移到行尾
第一个错了,是ctrl-o I


--------------编辑----------------
我错了,把'0'看成'O'了

Re: VIM在插入模式下快速移动到行首和行尾

发表于 : 2013-03-23 18:50
lilydjwg
reallynotme 写了:
sunsol 写了:Ctrl-o 0 移到行首
Ctrl-o A 移到行尾
第一个错了,是ctrl-o I
没有错。

另外,我喜欢映射以下映射(详见 https://github.com/lilydjwg/dotvim/blob ... n/bash.vim

代码: 全选

  noremap! <C-A> <Home>
  inoremap <C-E> <End>

Re: VIM在插入模式下快速移动到行首和行尾

发表于 : 2013-03-24 8:58
reallynotme
lilydjwg 写了:
reallynotme 写了:
sunsol 写了:Ctrl-o 0 移到行首
Ctrl-o A 移到行尾
第一个错了,是ctrl-o I
没有错。

另外,我喜欢映射以下映射(详见 https://github.com/lilydjwg/dotvim/blob ... n/bash.vim

代码: 全选

  noremap! <C-A> <Home>
  inoremap <C-E> <End>
怎么没有错呢?“O”明明就在上面另外开一行了

Re: VIM在插入模式下快速移动到行首和行尾

发表于 : 2013-03-24 9:03
YeLee
亲,那是“零”吧。

Re: VIM在插入模式下快速移动到行首和行尾

发表于 : 2013-03-24 9:25
reallynotme
YeLee 写了:亲,那是“零”吧。
:em20 :em20 :em06 :em06