LoginSignup
3
2

More than 5 years have passed since last update.

[vim] 置換コマンド `:%s` の `g` オプションが効かない?

Posted at

環境

  • PC : MacBook Air OS X EI Capitan バージョン 10.11.6
  • Vim : MacVim Custom Version 8.0.1272 (KaoriYa 20171105)

データ

aaa bbb aaa ccc 
aaa bbb aaa ccc 

やりたいこと

全ての aaa111 に置換したい。

やったこと

:%s/aaa/111/g 

結果

111 bbb aaa ccc 
111 bbb aaa ccc 

各行の最初の aaa しか置換されてなかった。
今までは g オプションをつければ、全部を置換してくれていたのに。

原因

いろいろと調べたところ、gdefault というコマンドで g オプションの動きを設定できるそうです。

:help gdefault

コマンド 'gdefault' がオン 'gdefault' がオフ
:s/// 全て置換 最初だけ置換
:s///g 最初だけ置換 全て置換
:s///gg 全て置換 最初だけ置換

既定ではオフのはずなので、
:e ~/.vimrc vim設定ファイルを確認したら、
set gdefault という設定が混ざっていました。
削除することでデフォルト設定に戻りました。

参考になったリンク

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2