TextMate的命令+在Vim中输入?

时间:2011-12-14 23:23:41

标签: vim textmate

在TextMate中,当您编辑一行文本并按command + enter时,它会插入换行符并将光标移到该新行,而不会删除上一行中的任何文本。有没有办法在Vim中创建此功能?任何见解都会非常感激。谢谢!

2 个答案:

答案 0 :(得分:5)

以下映射有效:

inoremap <D-Enter> <ESC>o

D映射Mac上的命令键。 CatPlusPlus的答案显示了使用Control键时这将如何工作。

请注意,映射命令键仅适用于MacVim。

因此,为了在vimrc中进行此失败校对,请执行以下操作:

  • 检查gui vim是否正在运行:

    let isGui  = has("gui_running") 
    
  • 通过以下方式检查您是否在Mac上运行:

    let isMac  = has("mac")
    
  • 现在相应地调整您的映射:

    if(isGui && isMac)
      inoremap <D-Enter> <ESC>o
    else
      inoremap <C-Enter> <ESC>o
    endif
    

答案 1 :(得分:3)

<Esc>返回正常模式,然后按o。如果你真的想从插入模式访问它,你可以使用这个绑定(添加到你的.vimrc):

inoremap <C-Cr> <C-O>o