Linux學習筆記之vim中的替換功能

2022-05-09 22:19:28 字數 4401 閱讀 9340

:s/from/to/    

#s即substitude

:s/from/to/     

#將當前行中的第乙個from,替換成to。如果當前行含有多個from,則只會替換其中的第乙個。

:s/from/to/g

#將當前行中的所有from都替換成to。

:s/from/to/gc

#將當前行中的所有from都替換成to,但是每一次替換之前都會詢問請求使用者確認此操作。

#注意:這裡的from和to都可以是任何字串,其中from還可以是正規表示式。

:33s/from/to/g

#替換第33行的文字

:.s/from/to/g     

#在當前行進行替換操作

:33s/from/to/g

#在第33行進行替換操作

:$s/from/to/g #

在最後一行進行替換操作

:10,20s/from/to/g 

#對指定行進行替換

:10,20s/from/to/g   

#對第10行到第20行的內容進行替換

:1,$s/from/to/g

#對第一行到最後一行的內容進行替換(即全部文字)

:1,.s/from/to/g

#對第一行到當前行的內容進行替換

:.,$s/from/to/g

#對當前行到最後一行的內容進行替換:'

a,'bs/from/to/g

#對標記a和b之間的行(含a和b所在的行)進行替換。

其中a和b是之前用m命令所做的標記。

:%s/from/to/g 

#g為global全域性的縮寫

:%s/from/to/g  

#對所有行的內容進行替換。

:[range]s/from/to/[flags]

#[range]和[flags]注釋參考下文

s/from/to/

#把from指定的字串替換成to指定的字串,from可以是正規表示式

#

[range]##

不寫range : 預設為游標所在的行。

#. : 游標所在的行。

#1 : 第一行。

#$ : 最後一行。

#33 : 第33行。

#'a : 標記a所在的行(之前要使用ma做過標記)。

#.+1 : 當前游標所在行的下面一行。

#$-1 : 倒數第二行。(這裡說明我們可以對某一行加減某個數值來

#取得相對的行)。

#22,33 : 第22~33行。

#1,$ : 第1行 到 最後一行。

#1,. : 第1行 到 當前行。

#.,$ : 當前行 到 最後一行。

#'a,'b : 標記a所在的行 到標記b所在的行。##

% : 所有行(與 1,$ 等價)。##

?chapter? : 從當前位置向上搜尋,找到的第乙個chapter所在的行。(

#其中chapter可以是任何字串或者正規表示式。

#/chapter/ : 從當前位置向下搜尋,找到的第乙個chapter所在的行。(

#其中chapter可以是任何字串或者正規表示式。##

注意,上面的所有用於range的表示方法都可以通過 +、- 操作來設定相對偏

#移量。

#

[flags]

#這裡可用的flags有:##

無 : 只對指定範圍內的第乙個匹配項進行替換。

#g : 對指定範圍內的所有匹配項進行替換。

#c : 在替換前請求使用者確認。

#e : 忽略執行過程中的錯誤。

#注意:上面的所有flags都可以組合起來使用,比如 gc 表示對指定範圍內的

#所有匹配項進行替換,並且在每一次替換之前都會請使用者確認。

:s/from/to/    

#s即substitude

:s/from/to/     

#將當前行中的第乙個from,替換成to。如果當前行含有多個from,則只會替換其中的第乙個。

:s/from/to/g

#將當前行中的所有from都替換成to。

:s/from/to/gc

#將當前行中的所有from都替換成to,但是每一次替換之前都會詢問請求使用者確認此操作。

#注意:這裡的from和to都可以是任何字串,其中from還可以是正規表示式。

:33s/from/to/g

#替換第33行的文字

:.s/from/to/g     

#在當前行進行替換操作

:33s/from/to/g

#在第33行進行替換操作

:$s/from/to/g #

在最後一行進行替換操作

:10,20s/from/to/g 

#對指定行進行替換

:10,20s/from/to/g   

#對第10行到第20行的內容進行替換

:1,$s/from/to/g

#對第一行到最後一行的內容進行替換(即全部文字)

:1,.s/from/to/g

#對第一行到當前行的內容進行替換

:.,$s/from/to/g

#對當前行到最後一行的內容進行替換:'

a,'bs/from/to/g

#對標記a和b之間的行(含a和b所在的行)進行替換。

其中a和b是之前用m命令所做的標記。

:%s/from/to/g 

#g為global全域性的縮寫

:%s/from/to/g  

#對所有行的內容進行替換。

:[range]s/from/to/[flags]

#[range]和[flags]注釋參考下文

s/from/to/

#把from指定的字串替換成to指定的字串,from可以是正規表示式

#

[range]##

不寫range : 預設為游標所在的行。

#. : 游標所在的行。

#1 : 第一行。

#$ : 最後一行。

#33 : 第33行。

#'a : 標記a所在的行(之前要使用ma做過標記)。

#.+1 : 當前游標所在行的下面一行。

#$-1 : 倒數第二行。(這裡說明我們可以對某一行加減某個數值來

#取得相對的行)。

#22,33 : 第22~33行。

#1,$ : 第1行 到 最後一行。

#1,. : 第1行 到 當前行。

#.,$ : 當前行 到 最後一行。

#'a,'b : 標記a所在的行 到標記b所在的行。##

% : 所有行(與 1,$ 等價)。##

?chapter? : 從當前位置向上搜尋,找到的第乙個chapter所在的行。(

#其中chapter可以是任何字串或者正規表示式。

#/chapter/ : 從當前位置向下搜尋,找到的第乙個chapter所在的行。(

#其中chapter可以是任何字串或者正規表示式。##

注意,上面的所有用於range的表示方法都可以通過 +、- 操作來設定相對偏

#移量。

#

[flags]

#這裡可用的flags有:##

無 : 只對指定範圍內的第乙個匹配項進行替換。

#g : 對指定範圍內的所有匹配項進行替換。

#c : 在替換前請求使用者確認。

#e : 忽略執行過程中的錯誤。

#注意:上面的所有flags都可以組合起來使用,比如 gc 表示對指定範圍內的

#所有匹配項進行替換,並且在每一次替換之前都會請使用者確認。

linux學習筆記之 vim編輯器

h j k l 前 下 上 後 移動到行首 0 移動到行位 檔案開始位置 gg 檔案末尾 g 或shif g 行跳 數字g 例如300g 跳轉到300行以下刪除操作也為剪下操作 刪除游標後的字元 x 刪除游標前的字元 shift x 刪除單詞 dw 游標移動到單詞開始位置,否則只能刪除一部分 刪除游...

Linux學習筆記(三) vim

vim 一 插入命令 命令作用 在游標所在字元後插入 a在游標所在行尾插入 i在游標所在字元前插入 i在游標所在行行首插入 o在游標下插入新行 o在游標上插入新行 二 定位命令 命令 作用 set nu 設定行號 set nonu 取消行號 gggg 到第一行 到最後一行 ng到第n行 n到第n行 ...

Linux學習之vim命令

2015.10.31 1.命令模式 vi shenchao.message新建shenchao.message文字檔案,並進入命令模式 命令模式執行命令進入插入模式,插入模式按 esc返回命令模式 按 進入編輯模式的命令執行 插入命令 這些命令都是回到命令模式在執行下列命令 a 在游標所在字元後插入...