編集

一文字

x dl (カーソル下の文字を削除)
X dh (カーソルの左側の文字を削除)
s cl (1文字変更)
r 一文字置換(sとは違い、ESCを押す必要無し)
xp 例えばtehとタイポした時、eの上でxpと押すと、theに出来る(次の文字と入れ替え)
~ 大文字小文字逆転
U 大文字に
u 小文字に

指定文字まで

dfx xまで削除
dw カーソル位置から次の単語の先頭までを削除
db カーソル位置から直前の単語の先頭までを削除
diw カーソル位置の単語を削除 (文の後の空白は除く)
daw カーソル位置の単語を削除 (文の後の空白を含む)
dG ファイルの末尾まで削除
dgg ファイルの先頭まで削除
gUw 一語を全部大文字に
guw 一語を全部小文字に

行末まで

D 削除
C 削除してインサートモード
y$ ヤンク

一行

オペレータを行に適用するには、繰り返すdd,cc,yy等

S cc (1行変更)
gugu 行を全て小文字に

行の結合は

J
gJは空白の変更無し

クリップボード

"*yy 一行コピー
"*p ペースト

ファイルの保存

:saveas newname 新しい名前newnameで今のファイルを保存しnewnameを開く(元のファイルは変更されない

編集出来ないようにする

"読み込み専用'readonly'(:w!で保存可能)
現在のバッファ
:set ro
ターミナルから開くときは
vim -R file
"バッファの内容を変更しない'nomodifiable'(解除は:set ma)
現在のバッファ
:set noma
ターミナルから開くときは
vim -M file
ステータスバーの記号

[-]ファイルは変更不可。'nomodifiable'(例: ヘルプファイル)
[=]ファイルは読み込み専用。'readonly'
[+]ファイルは変更されたが未保存

コマンドライン

CTRL-Uでコマンド全消し

インサートモードでノーマルモードのコマンド実行

insert mode時に、


CTRL-o {cmd}
すると、一旦normalモードに抜けて{cmd}を実行し、またinsertモードに戻ってくる

エスケープ文字の入力

CTRL-vを押してからそのキーを押す