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
游標跳**在命令模式下1、命令模式下字元編輯字元間跳**h, j, k, l
h: 左
j:下k:上
l:右單詞間跳**
w:下乙個單詞的詞首
b:當前或前乙個單詞的詞首
#w:以當前游標為起點跳至第#個單詞的詞首
#e:以當前游標為起點跳至第#個單詞的詞尾
#b:以當前游標為起點跳至第#個單詞的詞首
行內跳轉
^: 跳轉至行首的第乙個非空白字元
0: 跳轉至行首
$: 跳轉至行尾
行間跳轉
gg:直接跳轉到第一行的行首
g:直接跳轉到最後一行的行尾
#gg:直接跳轉到第#行(向行首跳轉)
#g:直接跳轉到第#行(向行尾跳轉)
翻屏 ctrl+f:向下翻一屏
ctrl+b:向上翻一屏
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、替換命令
替換命令:rr#:將當前游標的字元替換為#,這裡的#可以是任何字元
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...