ターミナル上でVSCode等のIDEを起動する程ではないけれど、簡易的にコードを書きたいときに役立つのがVim 今回はその操作方法について記事にまとめてみました。
公式ドキュメントはVim help filesになります。
視覚的にゲーム感覚で操作を覚えるならVim Adventuresもおすすめです。
Vimの立ち上げ(ターミナル上で入力)
vim <ファイル名> ファイル名を指定して起動
view <ファイル名> viewモード(読み取り専用)で起動
set shell=/bin/zsh
set shiftwidth=4
set tabstop=4
︙
Vimは主に4つの入力モードに分かれます
入力モード |
説明 |
Nomalモード |
立ち上げ時の初期モード(ここから下記3つ相互に切り替える) |
Insertモード |
文字力時のモード |
Commandモード |
ウインドウ下部でコマンド入力、実行が可能 |
Visualモード |
記述された文字列を範囲選択できる |
Nomalモード上での操作
操作系
入力キー |
説明 |
h:左 j:下 k:上 l:右 |
カーソル移動(キーボード入力) |
u |
Undo |
Ctrl + r |
Redo |
. (ピリオド) |
直前の動作をリピート |
切り替えコマンド
入力キー |
説明 |
Esc |
(各モードから) Nomalモードへ切り替え |
i |
(Insertモードへ) カーソルの位置から入力 |
a |
(Insertモードへ) カーソルの後ろから入力 |
shift + r |
(Insertモードへ) 置換(既にある文字列を上書き)入力 |
o |
選択行の下に空白を入れ、Insertモード |
shift + o |
選択行に空白を入れ、Insertモード |
: or / |
Commandモードへ切り替え |
v |
Visualモードへ切り替え |
削除系(削除後、pコマンドでペースト可能)
入力キー |
説明 |
x |
1文字削除 |
dw |
単語単位での削除 |
dd |
1行削除 |
(n) dd |
(n)行毎の削除 |
コピー&ペースト
入力キー |
説明 |
yy |
1行コピー |
(n) yy |
(n)行毎のコピー |
shift + p |
現在行にペースト |
p |
下の行にペースト |
shift + j |
行の連結 |
移動系
入力キー |
説明 |
0(ゼロ) |
行の先頭に移動 |
$ |
行の末尾に移動 |
gg |
ファイルの先頭に移動 |
shift + g |
ファイルの末尾に移動 |
^ |
インテントの先頭に移動 |
{ } |
段落毎上下に移動 |
[ [ ] ] |
セクション毎上下に移動 |
Ctrl + o |
移動前に戻る |
Insertモード上での操作
- 通常の文字入力のモード、これに切り替えて文字入力できる。
Commandモード上での操作
入力キー |
説明 |
n |
n行目に移動 |
q q! |
vimの終了(!付きでファイル保存せず強制終了) |
w w! |
ファイルの上書き保存(!付きで強制保存) |
wq |
ファイルを保存して終了 |
w <ファイル名> |
名前をつけて保存 |
! <言語名> <ファイル名> |
ファイルを選択のプログラミング言語で実行 |
!! |
前のコマンドを実行(繰り返し) |
set number |
行番号の表示 |
%s/<置換前の文字>/<置換後の文字>/g |
一括置換 |
%s/<置換前の文字>/<置換後の文字>/gc |
確認しながら一つずつ置換 |
/<検索文字> |
文字の検索 |
(上記の文字検索を実行後) |
|
n |
次の検索結果に移動 |
shift + n |
前の検索結果に移動 |
Visualモード上での操作
入力キー |
説明 |
shift + < > |
インテントの左右移動 |
(文字列を選択後) y |
(ヤンク) コピー |