Skip to content

Latest commit

 

History

History
120 lines (94 loc) · 2.13 KB

File metadata and controls

120 lines (94 loc) · 2.13 KB

Vim

正規表現

Very Magicを使う

マッチするパターンの前に \v を付けるだけで、グルーピングを \(\) と書かずに () と書けば通じるようなったりして便利。

:%s/\v<pattern>//g

検索した後は置換する時にパターンを書かなくていい

/abcd
:%s//ABCD/g " Replace abcd with ABCD

置換する際にある文字列を検索に含めたいけど置換対象には含めたくない場合

\zs は置換対象文字列の始まりの指定、 \ze は置換対象文字列の終わりの指定

:%s/\zsあいうえお\ze.*検索に含める文字列/アイウエオ/g

除去

パターンにマッチした行を除去

:g/hoge/d

空行を除去

:%s/^\n$//g

ひらがなを除去

:%s/\v[ぁ-ゖ]//g

カタカナを除去

:%s/\v[ァ-ヺ]\n//g

URLを除去

:%s/https\?:\/\/[a-z\.A-Z0-9\/\-_:&\?#=]\{2,\}//g

HTMLタグ除去

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

HTMLファイル内の広告部分を除去

:%s/\_.*<!-- google_ad_section_start -->//g
:%s/<!-- google_ad_section_end -->\_.*//g

パターンにマッチした数を表示する

:%s/<pattern>//gn

複数ファイルを一括置換

from http://zx.jpn.org/b/20081025/155/vim/vim-mluti-file-replace

例えば、cのソースコードファイルだけを対象にする場合は

:args *.c

もしフォルダー内も対象とする場合は

:args **/*.c

対象となるファイルを確認するには

:args

そして変換は

:argdo %s/hoge/fuga/g | update

その他

インデントの整形

gg=G

一括コメントアウト

行頭を範囲選択して I#<ESC>

重複除去&ソート

:sort u

文字数カウント

g Ctrl-g

nkfで全角英数字を半角に

:%!nkf -m0Z1 -W -w

大文字/小文字変換

ヴィジュアルモードで u で小文字、 U で大文字になる。

:set expandtab設定時にタブ文字を挿入

Control-v Tab