001回
vi コマンド


そもそもviには、「テキスト入力モード」と「コマンドモード」に2つのモードが存在しており、
テキスト入力モードではテキストを入力し、コマンドモードではカーソルの移動や行のコピーなどを行う。

< ファイル保存 | カーソル移動 | 書き込み >

Esc
コマンドモードへ移行
・基本。取りあえず困ったときにはEsc

↓コマンドモード時↓

-ファイル保存-

:w
ファイルに上書き保存

:w filename
ファイルを名前を付けて保存

:e filename
filenameを開く

:e!
再読み込み

:r filename
filenameを挿入する
・あまり使わない。

:q
viの終了

:q!
viの強制終了
・viでは1つ前の動作しか元に戻せないので、大きく間違ってしまった際にはこれを。

:wq
上書き保存してviを終了

ZZ
上書き保存してviを終了
・:wqより使い易い筈なのだけれど、微妙に押し辛いのか、あまり使わない。


-カーソル移動-

h
カーソルを左へ

j
カーソルを下へ

k
カーソルを上へ

l
カーソルを左へ
・一応、↑↓←→のカーソルキーでも移動可能だけれど、このhjklの動作に慣れたらもう他のエディタは使えんね。

0
カーソルを左端へ
・数字のゼロです。

<Shift> $
カーソルを右端へ
・0と同様、結構便利。

w
カーソルを次の単語の頭へ

<Ctrl> d
半ページ下へ
・半ページというと移動距離がちょっと少ないが、押しやすいので結構重宝。Downのd

<Ctrl> f
1ページ下へ

<Shift> ]
次の下方にある空白行へ
・以外と簡単な本に書いてなかったり。便利

<Shift> g
一番下の行へ

<Ctrl> u
半ページ上へ
・半ページというと移動距離がちょっと少ないが、押しやすいので結構重宝。Upのu

<Ctrl> b
1ページ上へ
・先にuの方を覚えてしまったためにいまいち使いづらい。

<Shift> [
次の上方にある空白行へ
・意図的に空白を挿入する記述方法の場合は結構便利。

1を押した後に
<Shift> g
一番上の行へ

そんな訳で任意の数字を入力して
<Shift> g 
で任意の行へ

:XX enter
でも同じことができる


-書き込み-

i
カーソルの前から文字を書き込む
・テキスト入力モードへ移行

a
カーソルの後ろから文字を書き込む
・テキスト入力モードへ移行iとaは同じ頻度で使うかな?

o
カーソルの下の行から文字を書き込む
・テキスト入力モードへ移行。個人的に、1行空けたい時によく使う

u
一つ前の動作
・間違えた時には

rを押して任意の文字
カーソルの一文字修正。その後はコマンドモードへ。

Xr
Xは任意の数字
でカーソル以降のX個を全てを任意の文字に

cw
カーソル以降の単語の終わりまでを修正。Escで終わらないと、いつまでもテキスト入力

C
カーソル以降を修正

dd
行を削除、一応「切り取り」みたいな感じで切り取った部分は残ってる
・行丸ごとの移動に使ったり。

x
1文字削除

yy
カーソルのある行をコピー

p
コピーした行を貼り付け

.
一つ前の動作を繰り返す

/%s/***/xxx/
文章の***をxxxに変更 見える範囲内

/%s/***/xxx/g
全ての文章の***をxxxに変更 

/%s/***/xxx/gc
cを付けることにより、一つ一つ確認しながら

/n,ms/***/xxx/
n行からm行目の***をxxxに変更

-------------------------------------------------------- 書き込み

/str
strを文章中から検索
nを押すことにより、次のstrを探す。


[戻る]