すぐに忘れたり忘れようが無かったりするviの使い方メモ
[
戻る
]
[
移動
] [
挿入,追加
] [
変更
] [
削除
] [
その他編集
] [
検索
] [
スクロール
] [
その他
]
[
EXコマンドの行指定
] [
範囲指定
] [
読み込み
] [
書き込み
] [
終了
] [
いろいろ
] [
なんとなく
]
移動
h, j, k, l
左, 下, 上, 右
0, ^, $
行の先頭, 空白でない先頭, 最後
f
X
行内の文字Xの位置へ(右方向
F
X
行内の文字Xの位置へ(左方向
t
X
行内の文字Xの前へ(右方向
T
X
行内の文字Xの後へ(左方向
;
f, F, t, T繰り返し
,
f, F, t, T繰り返し(逆方向
n
G
n行目(行を省略すると最終行
%
対応する括弧
H, L, M
画面内の先頭,末尾,中央行へ
m
X
現在位置にXをマーク(a-z, A-Z
`
X
Xでマークした位置へ
'
X
Xでマークした空白でない先頭へ
n
w
, n
W
n個先の単語, 空白区切りのn個先の単語(nを省略すると1
n
b
, n
B
n個前の単語, 空白区切りのn個前の単語
挿入, 追加
i, I
カーソル位置へ挿入, カーソル行の空白でない先頭へ挿入
a, A
カーソル位置へ追加, カーソル行の最後に追加
o, O
次の行, 前の行へ挿入
挿入モード->
CTRL+D, CTRL+T
インデント戻る, 進む
ESC
挿入, 追加終わり
変更
r
X
カーソル位置の文字をXに変更
c
範囲
範囲を指定して変更
例)
c$
カーソル位置から行末まで変更
cw
カーソル位置の単語を変更
c%
対応する括弧まで変更
C
カーソル位置から行末まで変更
cc
カーソル位置の行を変更
n
~
n文字を小文字<->大文字変換
削除
n
x
カーソル位置からn文字削除(省略時1
n
X
カーソル位置の前n文字削除
d
範囲
範囲を指定して削除
dd
カーソル行を削除
D
行末まで削除
その他の編集
.
最後の編集を繰り返し
n
J
n行を連結
y
範囲
範囲を指定してコピー
n
yy, Y
n行コピー(省略時1
p, P
カーソルの後, 前へ貼り付け
"
X
コピー, 貼り付けするバッファをXに設定
検索
/
パターン
下に向かって検索
?
パターン
上に向かって検索
n, N
次, 逆検索
スクロール
CTRL+E, CTRL+Y
スクロールアップ, ダウン
CTRL+D, CTRL+U
画面半分スクロールアップ, ダウン
CTRL+F, CTRL+B
次, 前ページ
z改行
カーソル位置が画面の先頭になるように書き直し
z.
カーソル位置が画面の中央になるように書き直し
z-
カーソル位置が画面の最下行になるように書き直し
その他
CTRL+L
画面の書き直し
CTRL+G
編集中のファイルの情報
EXコマンドの行指定
.
現在行
$
最終行
/
パターン
パターンを含む行
'
X
Xでマークされている行
+
n,
-
n
n行後, n行前
行範囲指定
%
文書全体
開始行
,
終了行
例)
.,'a -1
現在行からaでマークされた行の前まで
/^begin/+1,/^end/-1
beginで始まる行の次の行からendで始まる行の前の行まで
ファイルの読み込み
:e
ファイル
ファイルを編集
:e!
ファイル
変更を破棄してファイルを編集
:args
ファイルリストを表示
:n
次のファイルを編集
:n!
変更を破棄して次のファイルを編集
:rew
最初のファイルを編集
:rew!
変更を破棄して最初のファイルを編集
:r
ファイル
現在行の後へ指定ファイル読み込み
:-r
ファイル
現在行の前へ指定ファイル読み込み
:
行
r
ファイル
指定行の後にファイル読み込み
ファイルの書き込み
:w
書き込み
:w!
強制書き込み
:w
ファイル
指定したファイルに書き込み
:w
>> ファイル
指定したファイルへ追加
:
行範囲
w
ファイル
指定範囲をファイルへ書き込み
:
行範囲
w
>> ファイル
指定範囲をファイルへ追加
:f
ファイル
ファイル名を設定
:cd
ディレクトリ
カレントディレクトリ変更
終了
:q
終了
:q!
強制終了
:wq
or
:x
or
:ZZ
ファイルに書いて終了
いろいろ
:
行範囲
g/
パターン
/
コマンド
パターンに一致する行で指定コマンドを実行
:
行範囲
g!/
パターン
/
コマンド
パターンに一致しない行で指定コマンドを実行
:
行範囲
s/
パターン
/
置換文字列
/gc
パターンに一致する文字列を置換する 行範囲を指定しないと現在行のみ対象 最後のgは一括置換, cは確認
:
行範囲
d
行数
行削除
:
行範囲
m
行位置
行移動
:
行範囲
t
行位置
行貼り付け
:
行範囲
j
行数
行頭の空白を削除して行を連結
:
行範囲
j!
行数
行頭の空白を削除しないで行を連結
なんとなく
:%s/[ <CTRL-V><TAB>]\{1,\}$//
行末の空白を全部削除
:g/^[ <CTRL-V><TAB>]*$/,/[^ <CTRL-V><TAB>]/-1j
連続する空行を全て1行に
:/{$/+1,/}$/-1s/^/<CTRL-V><TAB>/
次の{から次の}までの行の先頭にタブを入れる
SEO
掲示板
[PR]
爆速!無料ブログ
無料ホームページ開設
無料ライブ放送