2012-03-08 3 views
26

私は崇高なテキストに移動し、ヴィンテージモードを使用しているvimのユーザーです。にはどうすればいいとき崇高テキストヴィンテージモードでのエスケープ再マップできますか?

のvimで
imap jk <Esc> 

、これは私がエスケープキーのために突進し、ホーム列の上に私の指を維持することなく、挿入モードの外に脱出することができます:私の.vimrcで、私は次の行を持っています。 Sublime Text Vintageモードでも同じことをやりますか?

答えて

42

「ヴィンテージモードは、キーバインディングとプラグインAPIを経由して、完全に実装されている - 。ヴィンテージパッケージをブラウズし、それを一緒に入れていますかを確認して自由に感じる例として、あなたが結合したい場合は、 『挿入を終了しJJ』をこのキーバインディングを追加することができます: "

{ "keys": ["j", "j"], "command": "exit_insert_mode", 
    "context": 
    [ 
     { "key": "setting.command_mode", "operand": false }, 
     { "key": "setting.is_widget", "operand": false } 
    ] 
} 

好きな場合は、最初の行をjkに変更してください。また Source

+1

素晴らしい仕事のおかげで、!私はDefault.sublime-キーマップにそのフラグメントを追加しましたが、今、私はデフォルトを上書きするには良い場所がある場合は疑問に思って。 – gerryster

+1

うん、おそらくより良いあなたは、デフォルトで台無しにしたくない場合は、あなたのユーザー固有のキーマップファイルでこれを行うには。あなたは 'Preferences - > Key Bindings-User'にナビゲートしてそこに行くことができます。 – Jon

2


Ctrl+[作品やescキー以外のために到達する方がはるかに簡単です。これは少なくともOSXにあります。

+0

それは 'Ctrlキー+ ['すでにアンインデント行のために取られていることに注意することが重要です。 'Ctrl +]'インデント。 –

+0

OSX以外のものについて話しているに違いありません。 – Scott

+0

ええ、私は指定したはずです。私はWindowsでSublime Text 2を使用しています。 –

8

あなたがVintageousプラグインを使用している場合は、the following key bindingを使用します。

{ 
    "keys": ["j", "k"], 
    "command": "_enter_normal_mode", 
    "args": {"mode": "mode_insert"}, 
    "context": [{"key": "vi_insert_mode_aware"}] 
} 
+1

クール、私はヴィンテージについて知りませんでした。ヒントをありがとう! – gerryster

関連する問題