Linux 系統的哲學思想是一切皆文件,咱們日常須要往文件填充內容時常常用到文本編輯器在以前咱們便學習過 nano 編輯器,但 nano 編輯器功能較單一,不適合進行復雜操做,本篇將主要學習功能更爲強大的 VI 和 VIM 文本編輯器。VI和VIM編輯器又被稱爲模式化編輯器,一般在幾個模式下進行一系列的操做。VI/VIM大體有編輯模式(命令模式),末行模式,插入模式(輸入模式),替換模式和可視化模式幾種。下面將介紹具體操做:
vim
⑴ VI/VIM的打開方式:①打開VI/VIM的界面;編輯器
②VI/VIM FILE: file存在則打開該文件並將光標放置在第一行的第一個字符;文件若不存在以新文件的方式打開若保存文件被建立,不保存文件消失ide
③VI/VIM +#FILE:指定在打開文件的時候講光標定位在第#行行首,若是定位的行數比整個文檔的行還要大,則直接將光標定位在最後一行的行首學習
④VI/VIM + FILE:直接將光標定位在文檔的最後一行行首;spa
⑤VI/VIM +/PATTERN/:打開文件,而且將光標定位至首次被PATTERN匹配的行的行首位置;即只完成首次匹配。文檔
⑵ VI/VIM的關閉方式:it
末行模式的關閉:ast
:q 直接關閉vim編輯器,不保存修改內容;class
:q! 強制退出但不予保存;可視化
:w 保存修改的內容;
:wq 保存修改的內容並關閉vim編輯器;
:wq! 對於root用戶來講,一些只讀文件的修改能夠強制保存並退出;
:w! 強制保存
編輯模式的關閉:
ZZ:保存並退出;
ZQ:不保存退出;
⑶ 在vim的編輯模式中,移動光標:
①逐字符移動
1)ARROW
2)h:光標向左;
j:光標向下;
k:光標向上;
l:光標向右;
②逐字移動
w:移動到下一個字的字首;
e:移動到下一個字的字尾;
b:移動到上一個字的字首;
③行內跳轉:
0:絕對行首;
^:相對行首;
$:絕對行尾;
④行間跳轉:
#G:直接將光標移動至第#行;
G:直接將光標移動至文檔的最後一行;
gg:直接將光標移動至第一行;
⑤末行模式中光標移動:
:# 直接將光標移動至第#行;
:1 直接將光標移動至第一行;
:$ 直接將光標移動至文檔的最後一行;
⑷ 翻屏
Ctrl+f:向下翻一屏
Ctrl+b:向上翻一屏
Ctrl+d:向下翻半屏
Ctrl+u:向上翻半屏
⑸ 逐字符刪除:
x:刪除光標所在位置的單個字符;
X:刪除光標所在位置左側的單個字符;
⑹ 編輯模式中的萬能刪除命令;
d:刪除光標通過的全部內容;
dh、dj、dk、dl、dARROW、dw、de、db、dG、dgg
dd:刪除光標所在行;
在末行模式下:
:d:刪除光標所在行
:#d:刪除第#行
:m,+nd:刪除從第m行開始,再通過n行的全部行;
:m,nd:刪除從第m行開始到第n行結束的全部行;
:.,$d:刪除從光標所在行到文檔的最後一行;
.:表示當前光標所在行;
$:文檔的最後一行
⑺ 編輯模式中的萬能粘貼命令:
p(lower):向右向下進行粘貼;
P(upper):向左向上進行粘貼;
末行模式下:
p
⑻ 編輯模式中的萬能複製命令:
y:複製光標通過的全部內容;
用法與d命令相同。
yy:複製光標所在行;
⑼ 模式的切換:
1.從編輯模式到末行模式:
: 輸入命令
/和? 進行查找,n和N,n表示順序查找,N表示逆序查找;
/:自上而下
?:自下而上
2.從末行模式到編輯模式:
ESC鍵
Enter鍵
Backspace鍵
3.從編輯模式到輸入模式:
I:將光標移動至行首並進入輸入模式;
i:在光標所在位置的前面插入字符;
A:將光標移動至行尾並進入輸入模式;
a:在光標所在位置的後面插入字符;
O:在光標所在行的上面插入新行;
o:在光標所在行的下面插入新行;
cc:刪除整行內容以後,進入輸入模式;
C:從光標所在位置刪除至行尾,進入輸入模式;
s:刪除光標所在位置的一個字符,進入輸入模式;
S:刪除整行內容以後,進入輸入模式;
4.從輸入模式到編輯模式:
ESC鍵
5.從編輯模式到替換模式:
R:進入替換模式
6.從替換模式到編輯模式:
ESC鍵
7.從編輯模式到可視化模式:
v:按照字符爲單位進行矩形選取;
V:按照行爲單位進行矩形選取;
在選擇以後能夠執行復制或刪除的操做;
只要完成操做,就返回到編輯模式;
注意:全部的模式切換必須經由編輯模式,兩種非編輯模式之間沒法直接進行切換;
⑽ 替換命令
r:替換光標所在位置的一個字符;
⑾ 撤銷編輯操做:
u:撤銷一次此前的編輯操做;
Ctrl+r:撤銷最近的一次撤銷操做;
⑿ 重複以前的一次編輯操做:.
⒀ 特殊的末行命令:
1.顯示和取消行編號:
:set number --> :set nu
:set nonumber --> :set nonu
2.開啓或關閉字符大小寫的區分:
:set ignorecase --> :set ic
:set noignorecase --> :set noic
3.開啓或關閉自動縮進功能:
:set autoindent --> :set ai
:set noautoindent --> :set noai
4.開啓或關閉查找高亮顯示:
:set hlsearch
:set nohlsearch --> :nohl
5.開啓和關閉語法着色:
:syntax on
:syntax off
⒁使用vim編輯多個文件
1) vim FILE1 FILE2 FILE3 ...
:next 查看或編輯後一個文檔的內容
:prev 查看或編輯前一個文檔的內容
:first 查看或編輯第一個文檔的內容
:last 查看或編輯最後一個文檔的內容
2) vim -o|-O FILE1 FILE2 FILE3 ...
-o:水平分屏顯示多個文件
-O:垂直分屏顯示多個文件
Ctrl+w, ARROW
#Ctrl+w, ARROW
Ctrl+w, s 將一個文件水平分屏顯示
Ctrl+w, v 將一個文件垂直分屏顯示
⒂將其餘文件中的內容填充至當前文件中
:r /PATH/TO/SOMEFILE