Команда TextMate + Войти в Vim? - PullRequest
1 голос
/ 15 декабря 2011

В TextMate, когда вы редактируете строку текста и нажимаете command + enter, она вставляет новую строку и переносит курсор на эту новую строку, не удаляя текст из предыдущей строки.Есть ли способ создать эту функцию в Vim?Любое понимание будет высоко ценится.Спасибо!

Ответы [ 2 ]

5 голосов
/ 15 декабря 2011

Работает следующее отображение:

inoremap <D-Enter> <ESC>o

D отображает командную клавишу на Mac.Ответ CatPlusPlus показывает, как это будет работать при использовании вместо этого клавиши управления.

Обратите внимание, что сопоставление клавиши управления работает только в 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
    
3 голосов
/ 15 декабря 2011

Нажмите <Esc>, чтобы вернуться в нормальный режим, а затем o.Если вы действительно хотите получить доступ к этому из режима вставки, вы можете использовать эту привязку (добавьте к вашему .vimrc):

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