単語のリストがあります:
bau
ceu
diu
fou
gau
そのリストを次のように変えたいです。
byau
cyeu
dyiu
fyou
gyau
コマンドを試してみましたが失敗しました:
:%s/(\w)(\w\w)/\1y\2/g
これが機能しないことを考えると、正規表現のキャプチャグループをVimで機能させるには何を変更する必要がありますか?
キャプチャグループをバックスラッシュでエスケープしたくない場合(これは見逃したことです)、\v
を追加してVimの正規表現エンジンを非常に魔法モードに変更します。
:%s/\v(\w)(\w\w)/\1y\2/g
短いこのパターンを使用することもできます。
:%s/^./&y
%s
は、ファイル全体にパターンを適用します。^.
は、行の最初の文字に一致します。&y
は、パターンの後にy
を追加します。また、グループ化括弧をエスケープする必要があります。
:%s/\(\w\)\(\w\w\)/\1y\2/g
それはトリックです。