vimライクにVSCode

30分前に使い始めたばかりなので、ファーストタッチ的な感じ。
まぁプラグインのページそのままなので、特に書くこともないのですけどね。

vimプラグインのインストール

サイドバーの拡張機能の追加からvimをインストールする。

設定ファイルの書き方

設定から開くように、settings.jsonというファイルに記述されている。これはあくまで基底ファイルで、vimプラグインの追加設定ファイルはここに記述しない。

例えばフォームにvim.handlekeyと入力すればその設定項目が出てくるので、左側の鉛筆アイコンを押すと右パネルにその内容がコピーされる。これが上書き用の設定ファイル(settings.json)。項目がコピーされたら、あとは値をを記述するだけでいい。

ちなみにユーザの設定ファイル自体は以下にある。

Windows %APPDATA%\Code\User\settings.json
Mac $HOME/Library/Application Support/Code/User/settings.json
Linux $HOME/.config/Code/User/settings.json

設定はユーザ設定とワークスペースの設定があり、前者はグローバル設定、後者はローカル(そのプロジェクトの中だけ)設定になる。実際に設定するときは、settings.jsonの右上に「ユーザ設定」・「ワークスペースの設定」があるので、このトグルを切り替えればいい。

実際に設定した内容

一般的に設定しそうなものは予め設定されている。自分が設定したのは以下。


{
    // 新規ファイル作成時のNeovimのメッセージを取り除く
    "vim.disableAnnoyingNeovimMessage": true,

    // モード切替を「jj」で行う
    "vim.insertModeKeyBindings": [
        {
            "before": ["j", "j"],
            "after": ["<Esc>"]
        }
    ],

    // 検索ですべての一致を表示
    "vim.hlsearch": true,

    // VSCode自体のショートカットキーを利用
    "vim.handleKeys": {
        "<C-a>": false,  // 全選択
        "<C-f>": false,  // 検索
        "<C-n>": false,  // 新規ファイル作成
        "<C-c>": false,  // コピー
        "<C-x>": false,  // カット
        "<C-v>": false,  // ペースト
        "<C-b>": false,  // サイドバーの表示切替
        "<C-j>": false,  // 下部パネルの表示切替
    }
}

他にも色々設定できるが、全部の機能をエミュレートできるわけではなく、例えばvirtualedit=onemoreなんかは現状不可。モード切り替えゆえの不備があり、マルチカーソルのCtrl+f2から文字の追記がうまく動作しない。f2やctrl+shiftでのマルチカーソルからの追加は動く。

利点としてvim上でもコマンドが動くので、例えば:r!lsなんかが可能。
+αとして、surround.vim(範囲編集)なども組み込まれている。

ショートカット

ショートカットも複雑に設定できるのですが、Vimプラグインとの兼ね合いもあって現状ほぼデフォルトにしている。設定したのは、アクティビティバーの表示切り替え:Ctrl+@だけ。

shift+@でターミナルにフォーカスできるのですが、ここらへんのショートカットは変更してもいいかなと思っている。

コメントする




8 − 8 =