vim編輯器相關(guān)操作、如何在vim/vi中刪除行、vim中復(fù)制粘貼

省流版:

  1. Esc鍵進入普通模式。
  2. 將光標放在要刪除的行上。
  3. 鍵入dd以將其行刪除。
    轉(zhuǎn)自 vim編輯器相關(guān)操作_vim復(fù)制粘貼-CSDN博客

一、復(fù)制、粘貼

1、復(fù)制一行:按esc鍵后,按yy,再按p粘貼
2、全部復(fù)制:按esc鍵后,先按gg,然后按yG,最后按p粘貼
3、復(fù)制多行,一次粘貼:按esc鍵后,按nyy,再按p粘貼(n為從光標開始向下復(fù)制的行數(shù))
4、復(fù)制一行,多次粘貼:按esc鍵后,按yy,再執(zhí)行np粘貼(n為粘貼的次數(shù))
5、復(fù)制多行,多次粘貼:按esc鍵后,按nyy,再執(zhí)行np粘貼

vim編輯器相關(guān)操作

一、復(fù)制、粘貼

1、復(fù)制一行:按esc鍵后,按yy,再按p粘貼
2、全部復(fù)制:按esc鍵后,先按gg,然后按yG,最后按p粘貼
3、復(fù)制多行,一次粘貼:按esc鍵后,按nyy,再按p粘貼(n為從光標開始向下復(fù)制的行數(shù))
4、復(fù)制一行,多次粘貼:按esc鍵后,按yy,再執(zhí)行np粘貼(n為粘貼的次數(shù))
5、復(fù)制多行,多次粘貼:按esc鍵后,按nyy,再執(zhí)行np粘貼

二、剪切、刪除

(一) 單/多行字符的剪切與刪除

1、刪除一行:按esc鍵后,按dd刪除
2、刪除多行:按esc鍵后,按ndd刪除(n為從光標開始向下復(fù)制的行數(shù))
3、全部刪除:按esc鍵后,先按gg。然后按dG刪除
4、其他操作
d 剪切選定塊到緩沖區(qū);
d^ 剪切至行首
d$ 剪切至行尾
dw 剪切一個word
dG 剪切至檔尾

**剪切與移動只差一個粘貼p**
需求:如要實現(xiàn)移動文本中的100-104行至200-204行位置
實現(xiàn):當(dāng)光標在100行時執(zhí)行4dd,然后在200行位置執(zhí)行p粘貼

(二)單/多個字符的剪切與刪除

1、刪除光標處字符
x:執(zhí)行一次,光標處的一個字符就被刪除
nx:光標處往后的n個字符被刪(包括光標處的字符)

2、刪除光標前字符
X:執(zhí)行一次,光標前的一個字符被刪
nX:執(zhí)行一次,光標前的n個字符被刪

三、撤銷

u :撤銷上一步的操作
Ctrl+r :恢復(fù)上一步被撤銷的操作

四、vim查找

1、普通模式中按斜桿/+要查詢的內(nèi)容后回車
2、按n向下查,按N向上查詢

五、vim中全局替換

在vim中進行全局替換,可以使用:g和:s命令的組合
1、對包含pattern的所有行,查找其中的old字符串,并將其替換為new字符串

:g/pattern/s/old/new/g

2、對全局文件進行替換

:%s/old/new/g

3、對當(dāng)前行進行替換

:s/old/new/g

4、想確認每次替換,可以添加c標志

:%s/old/new/gc

六、設(shè)置行號

1、普通模式下執(zhí)行:set number 或者簡寫為:set nu 來顯示行號
2、永久顯示行號:在 ~/.vimrc 文件中添加 set number ,再次用vim打開文件,即可自動生成行號
3、跳轉(zhuǎn)到指定行號:
在命令模式下(按 Esc 進入),輸入 :行號,例如 :10 跳轉(zhuǎn)到第10行。
或者使用快捷鍵 行號G,例如 10G 也會跳轉(zhuǎn)到第10行。

七、光標移動

常用的光標移動快捷鍵
h:向左移動一個字符
j:向下移動一行
k:向上移動一行
l:向右移動一個字符

高級的光標移動快捷鍵
w:向后移動到下一個單詞的開頭
b:向前移動到前一個單詞的開頭
0:移動到行首
^:移動到行的第一個非空白字符
$:移動到行尾
gg:移動到文件的開頭
G:移動到文件的結(jié)尾
[[:跳到當(dāng)前或前一個代碼塊的開始
]]:跳到當(dāng)前或下一個代碼塊的開始
{:向上移動到同一列的上一個代碼塊開始
}:向下移動到同一列的下一個代碼塊開始

參考:如何在Vim/Vi中刪除行

如果您是系統(tǒng)管理員或只是普通的Linux用戶,了解Vim的基礎(chǔ)很重要。通常,在處理文本文件時,您需要刪除一行或多行內(nèi)容。本文介紹了如何在Vim/Vi中刪除行

Vim或其初期產(chǎn)品Vi已預(yù)先安裝在大多數(shù)Linux發(fā)行版和macOS中。 如果您是系統(tǒng)管理員或只是普通的Linux用戶,了解Vim的基礎(chǔ)很重要。

通常,在處理文本文件時,您需要刪除一行或多行內(nèi)容。

本文介紹了如何在Vim/Vi中刪除行。

刪除單行

在Vim中刪除行的命令是dd。

以下是刪除行的分步說明:

  1. Esc鍵進入普通模式。
  2. 將光標放在要刪除的行上。
  3. 鍵入dd以將其行刪除。

多次按dd將刪除多行。

刪除多行

要一次刪除多行,請在dd命令前添加要刪除的行數(shù)。 例如,要刪除五行,您可以執(zhí)行以下操作:

  1. Esc鍵進入普通模式。
  2. 將光標放在要刪除的第一行。
  3. 鍵入5dd刪除接下來的五行。

刪除一系列的行

刪除一系列行的語法如下:

:[start],[end]d

例如,要刪除從3到5的行,您可以執(zhí)行以下操作:

  1. Esc鍵進入正常模式。
  2. 鍵入:3,5d 并按enter鍵刪除3到5行。

您也可以使用以下字符指定范圍:

  • .(點)-當(dāng)前行。
  • $ -最后一行。
  • % -所有行。

以下是一些示例:

  • :.,$d-從當(dāng)前行到文件末尾。
  • :.,1d -從當(dāng)前行到文件開頭。
  • 10,$d -從第10行到文件末尾。

刪除所有行

要刪除所有行,可以使用代表所有行的%符號或1,$范圍:

  1. Esc鍵進入普通模式。
  2. 鍵入%d,然后按Enter鍵以刪除所有行。

刪除匹配指定正則表達式的行

用于基于特定模式刪除多行的語法如下:

:g/<pattern>/d

全局命令(g)告訴刪除命令(d)刪除包含<pattern>的所有行。

要匹配與模式不匹配的行,請在模式之前添加感嘆號(!):

:g!/<pattern>/d

模式可以是文字匹配或正則表達式。 以下是一些示例:

  • :g/foo/d-刪除所有包含字符串“ foo”的行。 它還會刪除在“ foo”等較大字詞中嵌入“ foo”的行。
  • :g!/foo/d -刪除所有不包含字符串“ foo”的行。
  • :g/^#/d -從Bash腳本中刪除所有評論。 模式^#表示每行以#開頭。
  • :g/^$/d -刪除所有空白行。 模式^$匹配所有空行。
  • :g/^\s*$/d -刪除所有空白行。 與前一個命令不同,這還會刪除具有零個或多個空格字符(\s*)的空白行。

結(jié)論

我們向您展示了如何在Vim中刪除行。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容