Help us understand the problem. What is going on with this article?

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

More than 3 years have passed since last update.

 ここでは,基本的な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!

---- 以上

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

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

LostEnryu
情報システム,プログラミング,情報セキュリティなど,情報分野のありとあらゆることを勉強している学生です.研究は生物系です(←???).自分の投稿にはそれなりの責任を感じてはいますが,私の記事を参考に実行したことで生じたどんな損害・不利益に対しても責任は取りかねます.ただの迷子ですから.
http://lost-in-forest.hatenablog.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away