Vim常用操作記錄

2021-09-30 00:19:26 字數 4421 閱讀 9523

多行縮排

多行注釋和取消

移動快速退出

進入插入模式

文件編輯

重複命令

游標跳轉(查)

複製貼上

剪下替換

刪除(c)

撤銷單行快速縮排

查詢以下的文字中old是我們要替換的字元

單字元替換

將把游標所在行old的第一次出現替換為new

/(斜槓)是該條命令不同部分之間的分隔符(當斜槓為該行的最後乙個字元時,可不寫)

: s/old/new/
單字府多次替換
: s/old/new/g
把當前行old的每次出現改為new,而不只是該行的第乙個old。

:s命令允許替換串後面帶有選項,上面語法中的g代表全域性(g選項影響一行中的每個模式,不要把它與影響檔案中所有行的:g命令混淆)

通過在:s命令前加上位址字首,可以把它的範圍擴充套件到多行。例如下面命令把50行到100行的old的每次出現都改為new:

: 50,100 s/old/new/g
下面的命令把整個檔案中的old的每次出現都改為new:

: $ s/old/new/g
確認替換

使用搜尋替換命令有時候會出錯,而得到不想要的結果。在替換命令尾部加上c (confirm用於確認),在替換每個old前都會提示並確認:

: $ s/old/new/gc
將會出現提示replace with hehe (y/n/a/q/l/e/y)?

y替換,n不替換,a替換所有,q放棄,l替換第乙個並進入插入模式,e和y是提示你用ctrl+e或ctrl+y來滾動螢幕的。

上下文相關替換:

除了直接使用乙個單詞(或短語)替換另乙個,還有稍微複雜的全域性替換語法。這些語法可以對乙個模式進行搜尋,一旦找到含有模式的行,就可以使用不同與模式的串進行替換,我們把這種替換叫做上下文相關替換。

:g/pattern/s/old/new/g
將會把包含pattern的行中,把所有old替換為new

第乙個g表示是在檔案的所有行上執行的命令,模式pattern識別要發生替換的行。在那些包含模式pattern的行上,將把old替換(s)為new,最後的g表示在該行上進行全部替換。

按v進入visual狀態,選擇多行,用》或《縮排或縮出

首先按esc進入命令列模式下,按下ctrl + v,進入列(也叫區塊)模式;

在行首使用上下鍵選擇需要注釋的多行;

按下鍵盤(大寫)「i」鍵,進入插入模式;

然後輸入注釋符(「//」、「#」等);

最後按下「esc」鍵。

取消多行注釋:

進入命令列模式,按ctrl + v進入 visual block模式,按字母l橫向選中列的個數,例如 // 需要選中2列

按字母j,或者k選中注釋符號

按d鍵就可全部取消注釋

hjkl:左下上右

w,b:移動到下/上個字元

shift+zz即可儲存推出vim

i 在當前游標處進行編輯

i,a 在行首/末插入

a 在游標後插入編輯

o,o 在當前行後/前進行編輯

cw 刪除乙個單詞,同時進入插入模式

文件編輯的所有命令都符合乙個規律,[操作]+[行號]+定位,三個部分完成乙個動作。

比如:刪除操作**是d,重複操作**代表操作當前行,則刪除2行就是d2d 操作和行號也可以互換位置2dd

刪除x 刪除乙個字元

dw 刪除乙個單詞 類似上文說的cw但是刪除完成之後並不會進入插入模式

d$ 刪除直至行尾,d^刪除至行首$代表尾,^代表首

dg 刪除到文件結尾處 d1g 刪至文件首部

字首(操作):d代表刪除

中綴:行號

字尾(定位):d代表行,g代表盡頭,$代表行尾,^代表行首,w代表單詞

普通模式下輸入dd,刪除一行,輸入.(小數點)會再次刪除一行,除此之外也可以重複其他任意操作

往往用於配合/字元的操作

游標跳轉位置,不過是沒有去掉操作後輸入的命令

ng(n shift+g) 游標移動到第n行

gg 游標移動到第一行

g(shift+g)到最後一行

複製為y,後面可以接定位符

yy複製游標所在的整行(3yy表示複製3行)

y^複製到行首,或者y0。不含游標所在處的字元y$複製到行尾。含游標所在處字元

yw 複製乙個單詞

y2w 複製兩個單詞

yg 複製至文字末

y1g 複製至文字開頭

使用p貼上

p(小寫)代表貼上至游標後(下)

p(大寫)代表貼上至游標前(上)

d操作 實際上就是剪下 可以使用ddp來進行上下行交換的操作

r命令 r+《代替還字母》將游標所在的乙個字母替換成其他字母

r連續替換,直到按下esc

cw 刪除乙個單詞,並進入插入模式

c刪除從游標處開始到當前行尾,並進入插入模式

u撤銷一次操作

u(大寫)無論當前行修改了多少次,撤銷當前行的所有操作

ctrl+r 撤銷撤銷的操作(比如寫入123 按u撤銷 按crtl+u 能夠恢復123的輸入)

>>正行將向右縮排

<<整行向左縮排

快速查詢

輸入/然後輸入需要查詢的字串,按回車就會進行查詢,輸入n和n可以繼續查詢 n是查詢下乙個內容,n查詢上乙個內容

?/功能相同,只不過?是向上查,/是向下

高階查詢

輸入\*尋找游標所在處的單詞

輸入\#效果一樣,但是是向上查

跨檔案複製

現在把a.txt的三行複製到b.txt

1、用vim開啟a.txt

vim a.txt

esc進入指令模式(預設剛開啟就是這個模式)

輸入"a3yy

解釋:引號要結合shift輸入,a代表剪貼簿a(26個英文本母都可以),3yy當然代表從當前行複製3行了

退出a.txt

:q2、開啟b.txt

游標移動到你想要複製的位置

進入指令模式,輸入"ap

解釋:引號要結合shift輸入,a代表使用剪貼簿a,p當然代表貼上了

vim開啟多個檔案

1.vim還沒有啟動的時候:

在終端裡輸入

vim file1 file2 … filen便可以開啟所有想要開啟的檔案

2.vim已經啟動

輸入:open file

可以再開啟乙個檔案,並且此時vim裡會顯示出file檔案的內容。

:e …/myfile.pl

vim 文件名 普通方式開啟文件

vim +n 文件名 開啟文件後,定位第n行

vim ,進入vim介面之後使用命令 :e 文件名 開啟文件,此方式可以在編輯乙個文件的同時開啟另外乙個文件

顯示多個檔案

:split 簡寫 :sp

:vsplit 簡寫 :vsp

顯示快取 :ls

多個檔案切換

1.檔案間切換

ctrl+6—下乙個檔案

:bn—下乙個檔案

:bp—上乙個檔案

對於用(v)split在多個窗格中開啟的檔案,這種方法只會在當前窗格中切換不同的檔案。

2.在窗格間切換的方法

ctrl+w+方向鍵——切換到前/下/上/後乙個窗格

ctrl+w+h/j/k/l ——同上

ctrl+ww——依次向後切換到下乙個窗格中

3.多文件編輯的命令如下

:n 編輯下乙個文件。

:2n 編輯下兩個文件。

:n 編輯上乙個文件。注意,該方法只能用於同時開啟多個文件。

:e 文件名 這是在進入vim後,不離開 vim 的情形下開啟其他文件。

:e# 或 ctrl+ˆ 編輯上乙個文件,用於兩個文件相互交換編輯時使用。?# 代表的是編輯前一次編輯的文件

:files 或 :buffers 或 :ls 可以列出目前 緩衝區 中的所有文件。加號 + 表示 緩衝區已經被修改過了。#代表上一次編輯的文件,%是目前正在編輯中的文件

:b 文件名或編號 移至該文件。

:f 或 ctrl+g 顯示當前正在編輯的文件名稱。

:f 檔名 改變編輯中的文件名。(file)

vim操作記錄

如果vim沒安裝.安裝vim yum y install vim 第一種 命令模式 shift 下輸入 d即可 第二種 首先執行 gg 這裡是跳至檔案首行 再執行 dg 這樣就清空了整個檔案 0游標開頭,shift 4游標結尾 dd 刪除游標所在行 i 從當前游標處進入插入模式 i 進入插入模式,並...

VIM操作記錄

2019 12 12 第1次修改 vr7jj 複製1到20行至100行 1,20 co 100 左右分屏開啟 vi o a b 上下分屏開啟 vi o a b 編輯某個檔案是需要分屏開啟另外的檔案 vim a 上下分屏開啟新檔案 sv b 上下分屏開啟新檔案 vs b 刪除空白行 g s d 刪除w...

vim 常用操作

命令描述 vim從控制台進入vi編輯器 vi filename 建立名為filename的檔案並進入vi編輯器 命令列模式 i從游標所在字元前插入 a從游標所在的字元後插入 o從游標所在行的下面插入空白行 i從游標所在行的行首插入 a從游標所在行的行末插入 o從游標所在行的上面插入空白行 s刪除游標...