日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

VIM中的替换命令使用

發(fā)布時間:2023/12/31 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 VIM中的替换命令使用 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

vim替換語法

:[range]s/{目標}/{替換}/[flag]

分隔符可以使用/,#,+三種,替換命令中默認s后面的第一個字符為分隔符

[range]

不寫range:默認為光標所在的行 .:光標所在的行 n:第n行 $:最后一行 'a:標記a所在的行(之前要使用ma做過標記) .+1:當前光標所在行的下面一行 $-1:倒數(shù)第二行(這里說明我們可以對某一行加減某個數(shù)值來取得相對的行) m,n:第m~n行 %:所有行(與 1,$ 等價) ?chapter?:從當前位置向上搜索,找到的第一個chapter所在的行(其中chapter可以是任何字符串或者正則表達式) /chapter/:從當前位置向下搜索,找到的第一個chapter所在的行(其中chapter可以是任何字符串或者正則表達式)

注意:上面的所有用于range的表示方法都可以通過 +、- 操作來設(shè)置相對偏移量。

[flag]

c: confirm,每次替換前詢問;e: error, 不顯示錯誤;g: globle,不詢問,整行替換。如果不加g選項,則只替換每行的第一個匹配到的字符串;i: ignore,忽略大小寫。

注意:這些選項可以合并使用,如 cgi 表示不區(qū)分大小寫,整行替換,替換前詢問

[正則表達]

數(shù)量

* 匹配0-任意個 \+ 匹配1-任意個 \? 匹配0-1個 \{n,m} 匹配n-m個 \{n} 匹配n個 \{n,} 匹配n-任意個 \{,m} 匹配0-m個

位置

$ 匹配行尾 ^ 匹配行首 \< 匹配單詞詞首 \> 匹配單詞詞尾

元字符

. 匹配任意字符 [abc] 匹配方括號中的任意一個字符,可用-表示字符范圍。如[a-z0-9]匹配小寫字母和數(shù)字 [^abc] 匹配除方括號中字符之外的任意字符 \d 匹配阿拉伯數(shù)字,等同于[0-9] \D 匹配阿拉伯數(shù)字之外的任意字符,等同于[^0-9] \x 匹配十六進制數(shù)字,等同于[0-9A-Fa-f] \X 匹配十六進制數(shù)字之外的任意字符,等同于[^0-9A-Fa-f] \l 匹配[a-z] \L 匹配[^a-z] \u 匹配[A-Z] \U 匹配[^A-Z] \w 匹配單詞字母,等同于[0-9A-Za-z_] \W 匹配單詞字母之外的任意字符,等同于[^0-9A-Za-z_] \t 匹配<TAB>字符 \s 匹配空白字符,等同于[\t] \S 匹配非空白字符,等同于[^\t]

注意:在正則式中以 \( 和 \) 括起來的正則表達式,在后面使用的時候可以用 \1 、\2 等變量來訪問
\( 和 \)中的內(nèi)容。

vim替換命令詳解

vim在命令模式下

1、替換某一行字符

:s/abc/def 替換當前行第一個 abc 為 def(等效于:.s/abc/def/)
:s/abc/def/g 替換當前行所有的 abc 為 def(等效于:.s/abc/def/g)
:ns/abc/def 替換第n行第一個 abc 為 def
:$s/abc/def 替換最后一行第一個 abc 為 def

2、替換某幾行的字符

:.,+5s/abc/def 替換當前行及以下5行的第一個 abc 為 def
:.,+5s/abc/def/g 替換當前行及以下5行的所有的 abc 為 def
:1,.s/abc/def/g 替換第一行到當前行的所有的 abc 為 def
:m,ns/abc/def/g 替換第m行到第n行的所有的 abc 為 def
:1,$s/abc/def/g 替換第一行到最后一行的所有的 abc 為 def

3、替換所有的字符

:%s/abc/def 替換所有行的第一個 abc 為 def
:%s/abc/def/g 替換所有的 abc 為 def

正則表達

  • 刪除以空格或TAB開頭到結(jié)尾的空行:
    %s/^[ |\t]*$// 或者 g/^[ |\t]*$/d

  • 把文中的所有字符串“abc……xyz”替換為“xyz……abc”可以有下列寫法

    :%s/abc\(.*\)xyz/xyz\1abc/g
    :%s/\(abc\)\(.*\)\(xyz\)/\3\2\1/g

總結(jié)

以上是生活随笔為你收集整理的VIM中的替换命令使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。