viコマンドでファイルを編集するときによく使う操作をまとめます。
ファイルを開く
vi ファイル名
モード変更
困ったらとりあえず[esc]キーを押しましょう。
キー操作 | 動作 | 補足 |
---|---|---|
a | 入力モードに切り替えます。 | カーソルの1つ右から入力開始します。 |
esc | コマンドモードに切り替えます。 |
ファイルを保存する・閉じる
コマンドモードの状態([esc]キーを押した後)で、以下の操作を行えます。
キー操作 | 動作 | 補足 |
---|---|---|
ZZ | 上書き保存して終了する。 | [Shift]を押しながら[z]を2回押す |
:w | 上書き保存する。終了しないので、そのまま編集を続けられます。 | [:]→[w]→[enter]を押す |
:q! | 保存せずに終了する。 | [:]→[q]→[!]→[enter]を押す |
行ごとの操作
コマンドモードの状態([esc]キーを押した後)で、以下の操作を行えます。
キー操作 | 動作 | 補足 |
---|---|---|
yy | 1行コピー | |
行数yy | 指定行数コピー | |
dd | 1行削除 | |
行数dd | 指定行数削除 | |
p | カーソルの一行下にペースト | yyだけでなくddしたものもペーストできます。 |
異なるファイル間でコピー&ペーストしたいときは、
ファイル1を開いてyyでコピーしてファイルを閉じる→そのあとにファイル2を開いてpでペーストする
文字ごとの動作
コマンドモードの状態([esc]キーを押した後)で、以下の操作を行えます。
キー操作 | 動作 |
---|---|
x | 一文字削除 |
元に戻す
コマンドモードの状態([esc]キーを押した後)で、
[u]を押せば1つ元の状態に戻せます。
文字列検索
コマンドモードの状態([esc]キーを押した後)で、
/検索したい文字列
で[enter]を押せば、文字列を検索できます。
そのあとに[n]をポンポン押せば、どんどん次の該当位置に移動できます。
行番号
コマンドモードの状態([esc]キーを押した後)で、
:set number
で[enter]を押せば、左側に行番号を表示できます。
カーソル移動(その1)
コマンドモードの状態([esc]キーを押した後)で、以下の操作を行えます。
キー操作 | 動作 | 補足 |
---|---|---|
G | ファイルのいちばん下に移動する。 | [Shift]を押しながら[g]を押す |
:行番号 | 該当の行番号の行に移動する。 | [:]→行番号→[enter]を押す |
カーソル移動(その2)
ちゃんと覚えていなくても、基本的にはキーボードの矢印キーでカーソル移動できます。
矢印キーでは移動できないときもあるので、そのときにはh, j, k, lキーを使って移動しましょう。
コマンドモードの状態([esc]キーを押した後)で、以下の操作を行えます。
キー操作 | 動作 |
---|---|
h | カーソルを1文字左へ |
j | カーソルを1行下へ |
k | カーソルを1行上へ |
l | カーソルを1文字右へ |
その他補足
クリップボードとのコピー・ペーストがうまくできないときは、VISUALモードになってしまうのが原因かもしれません。
vi ~/.vimrc
で~/.vimrcファイルに
set mouse-=a
の一行を追加すると、VISUALモードにならずに操作がシンプルになると思います。