vi編輯器:全屏的文本編輯器shell
vi:Visual Interface,可視化界面;vim
S.U.N:Bill Joy,vi,Space,SUNOS(Solaris);編輯器
vim:vi IMproveide
vim相對於vi有更多的新特性;spa
1.語法着色顯示;orm
2.更多的命令;文檔
3.歷史記錄;it
vi:模式化文本編輯器ast
模式:form
編輯模式(命令模式),默認工做模式;
插入模式(輸入模式),文本信息的自由編輯;在左下角有「Inset」標記;
ex模式(末行模式),對於編輯器自己某些屬性和功能的設定;也能夠進行文本的編輯操做;
其餘輔助模式:
替換模式:輸入的信息直接替換光標所在位置的內容;
可視化模式:
vi/vim的操做:
1、打開vi/vim操做界面:
1.vi/vim命令;
2.vim file:
1)file存在,就直接使用vim編輯器打開此文件,默認時將光標放置於該文件的起始位置,即:第一行的第一個字符:
2)file不存在,就直接以新建文件的方式打開,若執行保存命令,則文件會被寫入磁盤:若不保存,則文件會小時;
3.vim +# file;
在打開指定文件時,將光標直接定位在文件的第#行的行首;若是給定的數字比文件的行數要大,則光標直接停留在最後一行的行首
4.vim + file:
在打開指定文件時,直接將光標定位在文件的最後一行的行首;
5.vim +/PATTERN/:
在打開指定文件時,將光標定位在首次被PATTREN匹配到的行的行首;
2、關閉vi/vim的操做界面;
ex模式中的操做:
:q
直接關閉vim編輯器,不保存修改內容;
:q!
直接關閉vim編輯器,而且強制退出但不保護修改的內容;
:wq
保存已修改的內容,並關閉vim編輯器;
:wq!
對於無權更改的文件強制保存,而且在強制保存以後強制關閉vim編輯器;
編輯模式中的操做:
ZZ:保存並關閉vim編輯器;
ZQ:不保存已經修改的內容而直接關閉vim編輯器;
3、在vim的編輯模式中,光標的移動方式:
1.逐字符移動:
1)Left Arrow 或者Right Arrow;
2)h:光標向左移動;l:光標向右移動;
2.逐字移動:
w:移動光標至下一個字的字首;
e:移動光標至當前字或下一字的字尾;
b:移動光標至前一字的字首;
3.行內光標跳轉:
0:絕對行首
^:相對行首
$:相對行尾;
4.行間跳轉:
1)Up Arrow或者Down Arrow
2)J:向下移動一行;k:向上移動一行;
3)#G:直接將光標移動至第#行行首;
4)G:直接將光標移動至文檔的最後一行;
5)gg:直接將光標移動至爲文檔的第一行;
ex模式中的光標移動:
:#:直接將光標移動至的指定行號」#」的行者;
:1:直接將光標移動至文檔的第一行行首;
:$:直接將光標移動至文檔的最後一行行首;
4、翻頁:
PageDown 或 PageUp 能夠實現翻頁;
^+f:向下翻一頁,向前翻一頁
^+b:向上翻一頁,向後翻一頁
^+d:向下翻半頁
^+u:向上翻半頁
5、刪除字符:
1.逐字符刪除:
x:刪除光標所在位置的字符;
X:刪除光標所在位置的左側的一個字符
2.刪除光標移動過程當中常常的全部內容:
d:刪除光標移動過程當中通過的全部內容;
dh,dl,dj,dk,dArrow,dw,de,db,dG,dgg,d0,d$,d^
dd:刪除當前光標所在行
ex模式中的操做:
:d :刪除光標所在行;想當於:.d :其中」.」指的是當前行;
:#d :刪除第#行
:m,nd :刪除從第m行開始,到第n行結束中間的所在行;
:m,+nd :刪除從第m行開始,及其後面n行的內容;
:.,+nd :刪除從當前光標所在行開始,及其後面n行的內容;
:.,$d:刪除從當前光標所在行開始,到文檔末尾的全部內容;
注意:在vim的操做中,全部的刪除操做,同時意味着剪切;;
6、複製命令
編輯模式中的操做:
y:複製光標移動過程當中通過的全部內容:
yh,yl,yj,yk,yArrow,yw,ye,yb,yG,ygg,y0,y$,y^
yy:複製當前光標所在行;
ex模式中的複製:
:y :複製光標所在行,都第n行結束中間 的全部行;
:#y :複製到第#行
:m,ny :複製從第m行開始,到第n行結束中間的全部行
:m,+ny :複製從
7、粘貼命令
編輯模式中的操做:
p(lower):若是是行內的複製或剪切操做,在光標右側完成粘貼;若是是多行的複製或剪切操做,在光標的下方完成粘貼;
p(Upper):若是是行內的複製或剪切操做,在光標左側完成粘貼,若是是多行的複製或剪切操做,在光標的 上方完成粘貼;
ex模式的操做:
:P
8、模式切換
編輯模式(命令模式)被稱爲vi編輯器的基礎工做模式;全部其餘模式之間進行切換的中轉站
1.編輯模式 --> ex模式:
「:」:表示進入ex模式並完成命令的執行;
「/」或 「?」:開啓ex模式中的匹配查找功能;
/默認是自上而下的查找順序;
?默認是自下而上的查找順序;
n和N命令在各個匹配的關鍵字以前跳轉:
n:順序查找
N:倒序查找
2.ex模式 --> 編輯模式
雙擊ESC鍵
Enter鍵
Backspace鍵
3.編輯模式 --> 輸入模式(插入模式):
i,I,a,A,o,O,s,S
i:在光標所在在位置的左側開始輸入
I:在首行開始輸入
a:在光標所在位置的右側開始輸入
A:在行尾開始輸入;
o:在當前光標所在行的下方插入一個新行;
O:在當前光標所在行的上方插入一個新行;
s:刪除光標所在位置的字符,在光標的左側開始輸入;
S:刪除光標所在位置的字符,在光標的右側開始輸入;
C:刪除光標所在位置直到行尾
cc:想當於S命令;
4.輸入模式 -->編輯模式
ESC鍵
5.編輯模式 -->替換模式
R:進入替換模式
6.替換模式 -->編輯模式
ESC鍵
7.編輯模式-->可視化模式
v:按照字符爲單位進行矩形選取;
V:按照行爲單位進行矩形選取;
注意:
1)在選取完成以後,可使用d命令進行刪除,也可使用y命令進行復制;
2)只要選取完成,即馬上返回編輯模式;
注意:全部的其餘模式都只能和編輯模式相互切換;若是有兩種非編輯模式之間試圖切換,則必須通過編輯模式
9、替換命令
r:不要進入輸入模式而替換光標所在位置的字符;
10、撤銷命令
U:撤銷當前行內的操做;
u:撤銷此前的一次編輯操做
^+r:撤銷最後一次被撤銷的操做
11、重複以前的一次編輯操做
12、多文檔編輯
1.vim file1 file2 file3...
:next 查看或編輯後一個文檔
:prev 查看或班級前一個文檔
:first 查看或編輯第一個文檔
:last 查看或編輯最後一個文檔
2.vim -o | -O file1 file2 file3..
-o:水平打開多個窗口
^+w,up arrow | down arrow :在多個窗口間切換;(先按ctrl+W,鬆手再按箭頭)
-O:垂直打開多個窗口
^+w,left arrow | right arrow :在多個窗口間切換;
十3、ex模式中的經常使用命令
1.顯示和取消行的編號:
:set number(簡寫爲:set nu)
:set nonumber(簡寫爲:set nonu)
2.開啓或關閉字符大小寫的敏感度:
:set ignorecase(簡寫爲:set ic)
:set noignorecasr(簡寫爲:set noic)
3.開啓或關閉自動縮進功能:
:set autoindent (簡寫爲:set ai)
:set noautoindent(簡寫爲:set noai)
4.開啓或關閉語法着色
:syntax on
:syntax off
5.開啓或關閉查找高亮顯示:
:set hlsearch
:set nohlsearch(簡寫爲:set nohl)
6.另存爲
:w /path/to/somewhere
:m,nw /path/to/somewhere
7.從其餘文件直接讀取內容並添加到當前文件中
:r /path/form/somefile
8.與shell交互,調用該shell命令
:!COMMAND
十4、vimtutor