vi command

viは、すべてのunixマシンで使えるテキストエディタである。
emacs もあるが vi の良さもある。データの新規作成は、emacs
修正は、vi
部分修正は ed
emacs と 別ウィンド で ed
と言う使い分けができればいいのかもしれないが、
私の場合は、emacs から ed を覚え vi と順番が歴史的背景を無視し
て覚え始めているところなのでなかなか
うまく使えこなせない。



vi command

escキーをcommandの切替に使う コマンドモードと編集モードがある
esc キーを一度押してから、次のキーを押すとカーソルの移動になる。


カーソルの移動
h j k l
左上下右 ホームポジションで覚える。
h  右手の人差し指を左に動かし カーソルも左に
j  右手の人差し指のホームがjだから下にカーソルが動く
k  中指が上
l  薬指が右に移動
0  行頭へ移動
$  行末へ移動
w  [右方向]単語単位で移動
b  [左方向]単語単位で移動
Ctrl+d  画面スクロール
Ctrl+u  画面スクロール

nG  n行目に移動
1G  文頭に移動
G  文末に移動



文字の挿入
i  カーソルの位置から文字の挿入ができる
a  カーソルの一つ右の位置から文字を挿入
o  [小文字]カーソルの次の行から文字の挿入
O  [大文字]カーソルの前の行を追加して文字の挿入



文字削除
dd  一行削除
x  一文字削除 n x でn文字削除可能



文字の検索と置換
r @ カーソルの文字が@に置換
wc  連続文字の置換 終了は esc
Esc : %s/bfore/after/gc  チェックつきで置換
Esc : 21:43s /bfore/after/gc  21-43行までの間で置換
/文字列  文字列は日本語もok n,Nで検索方向が変わる
[例]
/BR  を検索
n  次を検索
wc  br を置換
esc n  次を検索
[例2]
: %s/ctrl/Control/gc
replace by Control (y/n/q)?
y => 置換する  n=>置換しない  q=>終了



フアイル操作
esc:e filename  指定ファイルを開く
esc:w  上書き保存
esc:w file name   別の名前で保存
esc:q!  強制終了
esc:q  終了 保存していないとメッセージがでるので:wで保存




vi command

コピー & ペースト
yy  カーソル行丸ごとコピー
p  カーソルの下の行にペースト
5yy  カーソル行を含め5行をコピー




vi command

行番号表示
esc:set nu  行番号をつけて編集
(esc:set number  でもOK)
esc:set nonu  行番号を解除
(esc:set nonumber  でもOK)




vi command

シェルコマンド
Esc : ! command
[例] .bashrcを編集中に適用する
Esc : ! source .bashrc
Esc : ! ls -la




vi command

jvim も 同様のコマンド可能 日本語が使える







vi command

vi menu
移動 挿入 削除 検索・置換 ファイル操作 コピー&ペースト 行番号表示 シェルコマンド jvim