Edited at

覚えておきたい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!

---- 以上


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


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