1

vim では、コマンド モードで、スペース バーを使用して現在の行を画面の中央に配置するのが好きです。nmap <space> zzこの機能を gvimrc ファイルのスペースバーにマップします。Sublime Text 2 のスペースバーに同じ機能をバインドしようとしています:

{ "keys": ["space"], "command": "show_at_center", "args": {"command_mode": true} }

上記の行は機能しません。誰かが理由を教えてもらえますか? Sublime の Vintage モードを有効にしています。また、“scroll_past_end”: trueファイルの最後の行も中央に配置できるように、Sublime Text 2 ユーザー設定を使用しています。

4

1 に答える 1

1

に以下を追加してみてくださいPackages/User/Vintage/Default (<your OS>).sublime-keymap:

{ "keys": ["space"], "command": "show_at_center",
    "context":
    [
        { "key": "setting.command_mode"}
    ]
}

今はテストできませんが、うまくいくはずです:)

編集- そうではありません。下記参照...


アップデート

だから私は広範囲に検索しましたが、何らかの理由でアクションをspace単独で割り当てることはできないようです。それをに割り当てるとAltspaceうまくいきます:

{ "keys": ["alt+space"], "command" : "center_on_cursor", 
    "context": [{"key": "setting.command_mode"}] }

ファンクション キー (F7たとえばM、ただし、spaceそれ自体では、コマンド モードのときにカーソルが 1 文字進むだけです。良いニュースは、コマンドモードでz, z(小文字) を押すと、最初にやりたかったことを実行CtrlLできることです。残念ながら、このアクションを単独でスペースバーに再マップすることはできません。コマンドモードでのスペースのプログラムされたアクション、

set_motion {"clip_to_line": true, "motion": "vi_move_by_characters", "motion_args": {"extend": true, "forward": true, "visual": false}} 

ハードプログラムされているようです。申し訳ありません。

于 2013-08-05T22:54:08.813 に答える