LoginSignup
15
11

More than 5 years have passed since last update.

[Vim] 行の抽出/除外、文字列の抽出/除外

Posted at

行, 文字列の抽出/除外方法を毎回調べてるのでまとめ
regx は部分は正規表現になります

◯◯を含む行を抽出

行抽出
:v/regx/d
行抽出(選択範囲)
:'<,'>v/regx/d
検索したあとに対象を抽出
/regx
:v//d

◯◯を含む行を除外

行除外
:g/regx/d
行除外(選択範囲)
:'<,'>g/regx/d
検索したあとに対象を除外
/regx
:v//d

文字列◯◯を抽出

これだけはちょっと分かりにくいので実例で記載
\(\) の間で囲んだ中の正規表現に一致する文字列を、後段の \1 などで利用できる
複数指定している場合は \2, \3 などで使用できる

実行前
<span>hoge</span>
<span>fuga</span>
文字列抽出(spanタグの中身を抽出)
:'<,'>s/^<span>\(.*\)<\/span>$/\1/
実行後
hoge
fuga

文字列◯◯を除外

文字列除外
# 現在の行の最初の対象文字列を除外
:s/regx//

# 現在の行の対象文字列を除外
:s/regx//g

# 全ての行の最初の対象文字列を除外
:%s/regx//

# 全ての行の対象文字列を除外
:%s/regx//g
文字列除外(選択範囲)
# 選択範囲行の各行の最初の対象文字列を除外
:'<,'>s/regx//

# 選択範囲行の対象文字列を除外
:'<,'>s/regx//g
検索したあとに対象を除外
# 現在の行の最初の対象文字列を除外
/regx
:s///

# 現在の行の対象文字列を除外
/regx
:s///g

# 全ての行の最初の対象文字列を除外
/regx
:%s///

# 全ての行の対象文字列を除外
/regx
:%s///g
15
11
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
15
11