選択範囲をソートする
:'<,'>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/