TOP

自分用Vimチートシート

2016-04-18 11:37:25

たくさん覚えたけど多分忘れるから今までの記事もまとめてメモ(チートシートと呼ぶほどの物なのか疑問)

カーソルがある行を中央にする

zz

Vim上で計算

// 入力モードで
<C-r>=[計算式]

Vimでソート

範囲選択→:sort

Vimでスクレイピング

:e [URL]

範囲指定のやり直し

// ビジュアルモードで
o

現在のファイル名

%は現在のファイル名になるので、色々使える

%

:w %.bak        // ファイル名末尾に「.bak」をつけて保存
:!php %         // 開いてるphpファイルを実行
:!git add %     // 開いてるファイルをgit add

強制上書き

Apache設定ファイルとかをsudo忘れた時に

:w !sudo tee %

コマンドのヒストリ

q:

ヤンクレジスタ

無名レジスタの内容が消えちゃった時に

"0p

マクロを使う

qa          // 記録開始
q           // 記録終了
@q          // 再生

ある文字列を含む行のみを表示

:v/[文字列]/d

ある文字列を含む行のみを削除

:g/[文字列]/d

文字化けした場合

文字化けしないコードでファイルを読みなおしする

:e ++enc=shift-jis

正しい文字コードを指定

:set fenc=utf-8

正しい文字コードで保存

:w

vim以外:nkfコマンドで文字コード変更

// sjisをutf-8に
cat sjis.txt | nkf -w

2バイト文字を検索

ノーマルモードで、

/[^\x01-\x7E]

2バイト文字を置換

同じくノーマルモードで、

// 2バイト文字を削除
:%s/[^\x01-\x7E]//g

// 2バイト文字を「※」に置換
:%s/[^\x01-\x7E]/※/g

行頭を一括編集

C-vで矩形選択後、S-i→入力したい文字

行末を一括編集

C-vで矩形選択後、$S-a→入力したい文字

スワップファイル(.swp)を作成しない

set noswapfile

バックアップファイル(~)を作成しない

set nobackup

アンドゥファイル(.un~)を作成しない

set noundofile

カーソル位置にコマンドの出力を挿入

:r !コマンド