かれこれ7年くらい付き合っているエディタ「SublimeText3」

最近のエディタシェアでは、VSCodeやAtom、Vimの人気が高いようで、Sublimeユーザーは少なくなってきているようだ。

しかし、機能面で他のエディタに大きく劣る点も無く、長年愛用してきたエディタなので今更変える気もしない。

これまでプラグインなどで様々なカスタマイズを行ってきて大分使いやすいエディタに進化してきたが、より作業効率を上げようと、今回は人気エディタ「Vim」の機能をSublimeText3へ導入してみた。

Vim化のメリット

まずはVim化するメリットを簡単に説明しておく。

Vimの大きな特徴として挙げられるのが、コマンドモードとインサートモードなど、モードを切り替えて操作できる点だ。

インサートモードではコードの入力を行い、コマンドモードでは数多くのコマンド(ショートカット)により、行頭・行末へのカーソル移動、複数行のコピペや削除などの操作を高速に行うことができる。

では早速SublimeText3にVimの機能を持たせる方法を紹介しよう。

Vintageousのインストール

まず、SublimeText3のパッケージコントロールより、プラグインをインストールする。

「Cmd + Shift + P」で入力ボックスを開き「install」と入力し、「Install Package」を選択しよう。

その後、しばらくするとパッケージ名の入力ボックスが現れるので「Vintageous」と入力し、見つかったパッケージをインストールする。

設定ファイルの編集

インストールが完了したら、次にSublimeText3の設定ファイルを編集する。

「Cmd + ,(カンマ)」で設定ファイル(settings–User)を開き、まず「Vintage」をコメントアウトする。

"iignored_packages":
[
	// "Vintage"
],

次に以下の2行を追記する。

"vintage_ctrl_keys": true, // ctrl キーを使用する vim のショートカットが使えるようにする
"vintage_start_in_command_mode": true // ファイルを開いた時にコマンドモードで始まるようにする

ここまで出来たら設定ファイルを保存して閉じる。

これでVim化の完了だ。

コマンドモードと入力モードの切り替え

ここまでの設定が完了した状態で、エディタを立ち上げると初期状態でコマンドモードになっている。

現在のモードの確認はエディタの左下を見れば良い。

モードの切り替えは次のコマンドで行う。

説明コマンド
コマンド→インサートi
インサート→コマンドesc

※ビジュアルモードも使うこともできるが、この記事では触れない。

コマンドモードの使い方

インサートモードについては、普通のエディタの使い方と何ら変わりはないので特に触れない。

ここではコマンドモードのうち、使うことの多い便利なコマンドのみを紹介する。

説明コマンド
文頭に移動gg
文末に移動G
行頭に移動0(ゼロ)
行末に移動$
指定行へ移動{x}G(10行目へ移動する場合 10G)
1行をコピーyy
x行をコピー{x}yy(3行コピーの場合 3yy)
ペースト(1行)p
ペースト(x行){x}p(3行ペーストの場合 3p)
1文字を削除x
1行を削除dd
x行を削除{x}dd(3行削除の場合 3dd)
アンドゥ(元に戻す)u
リドゥ(やり直す)ctrl + r
行を連結するJ

例えば、ある行を100行複製したい場合、対象の行にカーソルを合わせて「yy100p」これでOKだ。

ざっと良く使うコマンドを紹介したが、これだけ覚えておけば作業効率は格段にアップするだろう。