そもそも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を探す。
[戻る]