逆引き

選択範囲をソートする

 :'<,'>sort

重複行を削除

*各行は事前にソートされている物とする

 :%s/^\(.*\)\n\(\1\n\)*/\1^M/

複数の代入行を「=」で揃える

 "align.vimの導入が必要
 "範囲を選択した状態で
 \t=
 "example.(before
 "$hoge = $value
 "$fugahoge = $value2
 "$fuga = $value
 "(after)
 "$hoge     = $value
 "$fugahoge = $value2
 "$fuga     = $value

文字の入れ替え

 "ファイル中の「foo bar hoge」を「bar foo hoge」にする
 :%s /foo \(bar\) hoge/\1 foo hoge/g 
 "カンマ区切りの一カラム目と二カラム目を入れ替え
 :%s /^\(.*\),\(.*\)$/\2,\1/g

複数ファイルの一括置換

 :args /contents/**/*.html    "contents以下の全ての.htmlファイルを開く
 :set noic                    "大文字小文字を区別する
 :argdo %s/Foo/Bar/g | update "開いているファイルに置換を実行して保存

BOMが付いたUTF8のファイルをBOM無しで保存

 :set nobomb
 :w

タグを削除

 :%s /<.\{-}>//g

空行を削除

 :g/^$/d

PATTERNにマッチしない各行をREPLACEMENTに置換する via.

:%v/PATTERN/s/.*/REPLACEMENT/