カテゴリー
vi

viエディタの使い方

Linux、Unixで使用できるvi、vimエディタの使い方をメモしておきます。

vi、vimエディタの違い

vi(ヴィーアイ)を使いやすく拡張したものがvim(ヴィム)

どちらもUnix環境で使用できるテキストエディタです。

Xserverでもviが使えます。

ファイルを開く

vi [ファイル名]

vimの場合は

vim [ファイル名]

ファイルを開いた直後はコマンドモードになります。

コマンドモードとインサートモード

コマンドモードで編集はできません。

i

と入力して、インサートモードにして編集します。

編集が終わったら ESCキー でインサートモードからコマンドモードに戻ります。

ファイルを閉じる

ファイルの保存はコマンドモードで行います。

:q

でファイルを閉じます。

ファイルを保存して閉じる

コマンドモードで行います。

:wq

でファイルを保存して閉じます。

ファイルを保存せず閉じる

コマンドモードで行います。

:q!

でファイルを保存せず閉じます。

カーソルの移動

左右移動

カーソルの左右矢印

環境によって

hキーでカーソル右移動、lキーでカーソル左移動

上下移動

カーソルの上下矢印

環境によって

kキーでカーソル上移動、jキーでカーソル下移動

行頭、行末への移動

0キーで現在行の行頭へ移動

$キーで現在行の行末へ移動

ページの移動

Ctrl + fキーで前ページへ移動

Ctrl + bキーで前ページへ移動

行指定して移動

:[数字]

で指定行へ移動します。

カットペースト

x 1文字削除
dd 1行削除
p カーソルの文字の次または次の行にペースト
P カーソルの文字の前または前の行にペースト

コピーペースト

yy 1行コピー
[数字]yy [数字]行コピー
p カーソルの文字の次または次の行にペースト
P カーソルの文字の前または前の行にペースト

編集の取り消し(アンドゥ)

u カット、ペーストを一回取り消し(アンドゥ)

文字列の検索

/検索文字列 文字列の検索
n 下方向へ再検索
N 上方向へ再検索

文字列の置換

:[対象の行] s/検索文字列/置換文字列/オプション 文字列を置換する

:[対象の行]s/old/new [対象の行]行目の最初の old を new に置換して終了
:[対象の行]s/old/new/g [対象の行]行目の全ての old を new に置換して終了
:%s/old/new/g ファイル全体の検索語句を置換する
:%s/old/new/gc 置換の度に確認を求める

参考資料:

Linux標準教科書