覚えておきたいviコマンド

  • 1
    いいね
  • 0
    コメント

 ここでは,基本的なviコマンドについてまとめています.本当に基本的なものだけです(もちろん基本的なコマンドだけではありません).扱うのは次のコマンドです.シェルの実行とかコマンド出力の書き出しとかは扱っていません.

  • モード変更
  • 移動コマンド
  • 検索・置換コマンド
  • 編集コマンド
  • 挿入コマンド
  • ファイル操作コマンド

モード変更

コマンド 意味 使い方
Esc コマンドモード - -

移動コマンド

移動(十字)

コマンド 意味 使い方
h ←(1文字戻る) 数字を添えてn文字戻る 5h
j ↓(1行進む) 数字を添えてn行進む 5j
k ↑(1行戻る) 数字を添えてn行戻る 5k
l →(1文字進む) 数字を添えてn文字進む 5l

移動(単語)

コマンド 意味 使い方
w 1単語分進む 数字を添えてn語進む 5w
e 単語の終わりまで進む 単語の終わりからは次の語の語頭まで移動 -
b 1単語分戻る 数字を添えてn語戻る 5b

移動(ジャンプ)

コマンド 意味 使い方
0, ^ 行頭へジャンプ 0は行頭空白の前,^は後 -
$ 行末へジャンプ 数字を添えるとn-1行下の行末へ 6$
gg ファイル先頭へ移動 - -
G ファイル最終行の行頭へ移動 数字を添えてn行目の行頭へ移動 5G

移動(画面内)

コマンド 意味 使い方
H 画面上部 数字を添えて上からn行目 5H
M 画面中央 - -
L 画面下部 数字を添えて下からn行目 5L

移動(ページ)

コマンド 意味 使い方
Ctrl+f 次のページ Ctrl+dで半ページ進む -
Ctrl+b 前のページ Ctrl+uで半ページ戻る -

検索・置換コマンド

検索

コマンド 意味 使い方
/ 前方検索 パターンに正規表現を用いる /H.llo*
? 後方検索 パターンに正規表現を用いる *[1-9]day*
n 次の検索結果 数字添え可能 -
N 前の検索結果 数字添え可能 -

置換

コマンド 意味 使い方
s/word1/word2/ word1をword2で置換 区切り文字に;を使うことも可能 s;hello/world/;good/night;
:%s/word1/word2/gc 置換 確認しながらファイル内すべてで置換 -

編集コマンド

削除

コマンド 意味 使い方
x 1文字削除 数字を添えてn文字削除 5x
d[コマンド] 削除コマンド w(単語),$(行末まで),^(行頭まで),d(1行丸ごと) dd
D カーソルから行末までを削除 d$と同じ -

コピー&ペースト

コマンド 意味 使い方
yy 行のコピー 数字を添えてn行コピー 5yy
p カーソルの下に行を貼り付け 数字を添えてn回ペースト 5p
P カーソルの上に行を貼り付け 数字を添えてn回ペースト 5P

元に戻す

コマンド 意味 使い方
u 元に戻す 数字を添えてn回元に戻す -

挿入コマンド

 挿入コマンドはすべて挿入モードに切り替わります.

挿入

コマンド 意味 使い方
i 直前に挿入 Iで行頭に挿入 -
a 直後に挿入 Aで行末に挿入 -
o 下の行に挿入 Oで上の行に挿入 -

文字列置換

コマンド 意味 使い方
s 1文字消して文字列に置換 数字を添えてn文字置換 -
c[コマンド] 置換コマンド カーソル位置からw(単語の終わり),c(行末),f 文字(指定した文字)まで置換 cc
C 行末まで置換 ccと同じ -

上書き

コマンド 意味 使い方
r カーソル上の1文字を上書き - -
R 以降の入力をすべて上書き Escを押すまで -

ファイル操作

ファイルを開く

コマンド 意味 使い方
:e FILENAME ファイルを開く 存在しなければ新規作成 -
:args 編集ファイル一覧 引数を指定すると編集ファイル変更となる :args a.txt b.txt
:next,:n 次のファイルを開く :wnで保存して移動,:n!で保存しないで移動 -
:prev 前のファイルを開く :wpで保存して移動,:prev!で保存しないで移動 -

ファイルの情報を見る

コマンド 意味 使い方
Ctrl+Shift+g 情報表示 ファイル名,行数,編集中のファイルのインデックスなどが表示される -

ファイルを保存

コマンド 意味 使い方
:w 上書き保存 qをつけて終了,!をつけると強制保存 :wq, :w!
:w FILENAME 名前を付けて保存 qをつけて終了,!を付けると強制上書き保存 :wq/:w! FILENAME
:w >> FILENAME ファイルの末尾に追加して保存 - -
:line1,line2 FILENAME 名前を付けて保存 line1行目からline2行目を保存 -

viを終了

コマンド 意味 使い方
:q 終了 !を付けると強制終了 :q!

---- 以上

こちらもよろしくお願いいたします.

エンリュの迷い森|トップページ