文字編輯 Vim Vi

2022-09-06 20:24:13 字數 3543 閱讀 1531

2️⃣:文字:ascii, unicode

3️⃣:vim - vi improved

1️⃣:vi/vim是一種純文字編輯器,它不像word可以排版,可以調整字型大小,可以改變字型等等,vi/vim只是乙個文字編輯工具,它只能對文字的內容進行操作,比如新增內容、修改內容、刪除內容等等

1、基本模式

1️⃣:命令模式

2️⃣:編輯模式

3️⃣:末行模式(內建的命令列介面)

2、開啟檔案

vim [option]... filename...

+#: 開啟檔案後,直接讓游標處於第#行的行首

+/pattern:開啟檔案後,直接讓游標處於第乙個被pattern匹配到的行的行首

3、模式轉換

命令模式 --> 編輯模式

i: insert, 在游標所在處輸入;

o: 在當前游標所在行的下方開啟乙個新行;

i:在當前游標所在行的行首輸入;

a:在當前游標所在行的行尾輸入;

o:在當前游標所在行的上方開啟乙個新行;

編輯模式 --> 命令模式

:按esc鍵(鍵盤最左上角)

命令模式 --> 末行模式

:(shift+:)

末行模式 --> 命令模式

:按esc鍵(鍵盤最左上角的)

關閉檔案:在末行模式下

:q 退出

:q! 強制退出,丟棄做出的修改;

:wq 儲存退出

:x 儲存退出

:w /path/to/somewhere

:r /path/to/somewhere

游標跳**在命令模式下

字元間跳**h, j, k, l

h: 左

j:下k:上

l:右單詞間跳**

w:下乙個單詞的詞首

b:當前或前乙個單詞的詞首

#w:以當前游標為起點跳至第#個單詞的詞首

#e:以當前游標為起點跳至第#個單詞的詞尾

#b:以當前游標為起點跳至第#個單詞的詞首

行內跳轉

^: 跳轉至行首的第乙個非空白字元

0: 跳轉至行首

$: 跳轉至行尾

行間跳轉

gg:直接跳轉到第一行的行首

g:直接跳轉到最後一行的行尾

#gg:直接跳轉到第#行(向行首跳轉)

#g:直接跳轉到第#行(向行尾跳轉)

翻屏 ctrl+f:向下翻一屏

ctrl+b:向上翻一屏

1、命令模式下字元編輯

x: 刪除游標處的字元

#x: 刪除游標處起始的#個字元

xp: 交換游標所在處的字元及其後面字元的位置

2、刪除命令(d)

d: 刪除命令,可結合游標跳轉字元,實現範圍刪除;

dd: 刪除游標所在的行

#dd:刪除包括當前游標所在行在內的#行(多行刪除)

d$: 刪除到某一行的結尾

d^:刪除到某一行的第乙個字元位置(不包括空格或tab字元)

d0:刪除到某一行的開始位置

dw:刪除當前游標所在單詞的詞首到該單詞的結尾位置(刪除某個單詞,游標必須位於單詞的詞首)

db:刪除當前游標所在單詞的詞尾該單詞的詞首位置 (刪除某個單詞,游標必須位於單詞的詞尾)

//在linux中單詞是指一串字元,以空格隔開;另外有特殊字元也算是乙個單詞,例如:=

dl:刪除當前字元(與x命令功能相同)

末行模式下d命令的使用

語法:startadd,endadd(這裡的startadd與endadd是指乙個範圍)

示例 1,5d:表示刪除第1到第5行

3、複製、貼上命令(y、p、p)

複製命令(y, yank)

yy:複製行

yw 複製乙個單詞

y$ 複製至行尾

y^ 複製至行首

#yy: 複製多行

貼上命令(p、p\put, paste)

p:小寫p

若刪除或複製的為整行內容,則貼上至游標所在行的下方

若刪除或複製的為非整行,則貼上至游標所在字元的後面

p:大寫p

若刪除或複製的為整行內容,則貼上至游標所在行的上方

若刪除或複製的為非整行,則貼上至游標所在字元的前面

4、替換命令

替換命令:r

r#:將當前游標的字元替換為#,這裡的#可以是任何字元

r:替換模式,替換多個字元

5、範圍表示方法

.       游標所在當前行

$ 最後一行

+# 游標所在行往後#行

$-# 倒數第#行

% 全文

6、撤銷編輯(u)

u:撤銷前一次的編輯操作,連線u命令可以撤銷此前的n次編輯操作

ctrl+r:還原最近一次的撤銷操作

7、視覺化模式

視覺化模式下可以對選取的內容進行編輯

v:按字元選取內容

v:按矩形塊(行)選取內容

8、拓展

文字之間複製:在末行模式下

:1,5write >> /root/test.txt //將第1行至第5行複製到/root下的test.txt檔案中

或者 先在file1檔案的末行模式下複製:

:1,5yy (回車)

然後退出去到另個檔案file2中,直接在命令模式下按:p && p

9、文字查詢

/pattern:從上往下查詢匹配的內容

?pattern:從下往上查詢匹配的內容

10、查詢並替換

s: 在末行模式下完成查詢替換操作

語法:s/要查詢的內容/替換為的內容/修飾符

修飾符i: 忽略大小寫

g: 全域性替換;預設情況下,每一行只替換第一次出現

示例 1,5 s/abc/def/g:表示把第一行到第五行的所有abc替換為def

11、末行模式下顯示或取消顯示行號

set nu(number):顯示行號

set nonu(number):取消顯示行號

12、取消文字搜尋關鍵字高亮顯示

在末行模式下

:set nohlsearch (set nohlsearch :取消高亮顯示、取消高亮搜尋)

//這樣取消關鍵字高亮顯示之後,退出文字編輯,再次進入的話,之前最後一次搜尋的關鍵字任然會高亮顯示

:nohlsearch && :noh(nohl)推薦使用這個命令

文字編輯器Vim Vi

1.簡介 vim vi是乙個功能強大的全螢幕文字編輯器,是linux unix上最常用的文字編輯器,它的作 用是建立 編輯 顯示文字 檔案。vim vi沒有選單,只有命令。2.工作模式 3.插入命令 a 在游標後附加文字 a 在本行行末附加文字 i 在游標前插入文字 i 在本行開始插入文字 o 在游...

Linux 文字編輯器Vim Vi

linux 文字編輯器vim vi 1.vim vi簡介 vim vi是乙個功能強大的全螢幕文字編輯器,是linux unix上最常用的文字編輯器,它的作用是建立 編輯 顯示文字檔案 vim vi沒有選單,只有命令 2.vim vi工作模式 3.插入命令 命令 作用 a 在游標後附加文字 a 在本行...

linux文字編輯器 Vim Vi 2

這些命令可以組合使用,比如 r data,r表示在游標處寫其他檔案,而 date可以返回時間,所以在當前游標處寫入了當前時間。比如,1,map p i 其中,i表示到行首插入,是要插入內容,p是定義的快捷鍵。執行完後,每次按下ctrl p就可以在當前行首新增乙個 需要注意的是,在定義快捷鍵的時候 p...