2011-12-14 11 views
1

TextMateでは、テキスト行を編集中にcommand + enterを押すと改行が挿入され、前の行からテキストを削除せずにその新しい行にカーソルが移動します。 Vimでこの機能を作成する方法はありますか?どんな洞察も高く評価されるだろう。ありがとう!TextMateのCommand + Vimで入力しますか?

答えて

5

以下のマッピングは動作します:

inoremap <D-Enter> <ESC>o 

Dは、上のコマンドキーをマッピングし、あなたが本当に挿入モードからそれにアクセスしたい場合は、この(あなたの.vimrcに追加)バインディングを使用することができますマック。 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 
    
3

<Esc>を押してノーマルモードに戻り、次にoに戻ります。

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

...とのVimの典型的な、 'O'は反対:) – alex

+0

は、私はこれを試したん、それは動作しませんでした。挿入モードでは、command + enterキーを押しても何も起こりません。 – agentbanks217

+0

それは変です。このソリューションは私のために働く。 CRと入力する代わりに^ VMを押してみてください。 – kshenoy

関連する問題