[Vim]指定文字を全角←→半角変換

超まとめ

  • 全角→半角変換
    :%s/\v[<変換したい全角文字のパターン>]+/\=ToHankaku(submatch(0))/g
    
  • 半角→全角変換
    :%s/\v[<変換したい全角文字のパターン>]+/\=ToZenkaku(submatch(0))/g
    

1つ全角文字をマッチして、マッチしたモノをToHankakuまたはToZenkakuに渡しているという感じです。
なので、例えば日時(yyyy/mm/dd hh:mi:ss)を全角→半角変換したいなら

:%s/\v[0-9 : /]+/\=ToHankaku(submatch(0))/g

英文字を全角→半角変換したいなら

:%s/\v[a-zA-Z]+/\=ToHankaku(submatch(0))/g

補足

選択部分に対しても処理できます。その場合のコマンドは

:'<,'>s/\v~

です。

コメントを残す