私がよく使うもののみ紹介します
きっと一番効率良い方法ではないですでも、これだけ知ってればなんとかなります
その前に
viとvimの違いを知っていますか?
%ls -l /usr/bin/vi
lrwxr-xr-x 1 root wheel 3 11 20 2013 /usr/bin/vi@ -> vim
一部のコマンドはvimでしか使えないものがありますので注意してください。たぶん、最近はvimしかないと思う。。。
移動系のコマンド
慣れるとカーソルキーでの移動より楽です
h
カーソルを左に移動
j
カーソルを下に移動
k
カーソルを上に移動
l
カーソルを右に移動
G
ファイルの末尾に移動
:1
ファイルの先頭に移動
0
行の先頭に移動
$
行の末尾に移動
Tips:
大抵のコマンド(:に続くコマンドなどを除く)はコマンドの前に数字を入力することで繰り返し実行できます
例)10j カーソルを10行下に移動
コマンドモードと入力モード
[ESC]
入力モードからコマンドモードに戻る
i(a)
カーソルの位置(次の文字)の場所で入力モードに移る
o(O)
カーソルの下(上)の行で入力モードに移る
I(A)
カーソル行の先頭(末尾)で入力モードに移る
cw
単語を置き換える形で入力モードに移る
ns
n文字置き換える形で入力モードに移る
終了のさせ方
:q!
保存せずに終了
:wq
保存して終了
:w
保存だけ行う
:w filename
filenameに保存終了させ方じゃないけど、パーミッションが無くて保存終了出来ない時に使う
その他のよく使うコマンド
x
1文字削除
D
カーソル以降の行末までを削除
DG
カーソル行からファイルの末尾を削除
J
カーソルの下の行を結合
u
直前の操作をやり直し
.
直前の操作を繰り返し実行
:n
(複数ファイルオープン時)次のファイルへ移動
:wn
(複数ファイルオープン時)保存してから次のファイルへ移動
:N
(複数ファイルオープン時)前のファイルへ移動
検索
:/word
現在のカーソルの後ろにあるwordを検索してジャンプ
n
カーソルより後ろにあるwordにジャンプ
N
カーソルより前にあるwordにジャンプ
置換
:%s/word/drow/g
ファイル全体に対してwordをdrowに置換する
Tips:
%はファイル全体を表します。ここを<先頭行>,<終了行>とすることもできます
gは行内で繰り返し置換を実行します。gを省くと行中で1回置換すると次の行に移ります
例):10,20s/word/drow/ 10行目から20行目までの行の始めに現れたwordをdrowに置換する
Tips:(vimのみ)
<先頭行>,<終了行>を[SHIFT]+v,[ENTER]で選択することも可能です
コピーペースト
yy
カーソル行をコピー
dd
カーソル行をカット
p
カーソル行の下にペースト
P
カーソル行の上にペースト
Tips:(vimのみ)
コピー、カットの行を[SHIFT]+v,y(d)で選択することも可能です