1. 程式人生 > >vim編輯器的基本使用方法

vim編輯器的基本使用方法

vim編輯器

vi編輯器:全屏的文本編輯器
vi: visual interface,可視化界面;
vim:vi improved
vim相對於vi有更多的新特性:
1.語法著色顯示;
2.更多的命令;
3.歷史記錄;

   vi:模式化文本編輯器
          模式:
                 編輯模式(命令模式),默認工作模式
                 插入模式(輸入模式),文本信息的自由編輯;在左下角有“Insert”標記;
                 ex模式(末行模式),對於編輯器本身某些屬性和功能的設定,也可以進行文本的編輯操作;

                 其他輔助模式:
                        替換模式:輸入的信息直接替換光標所在位置的內容;
                        可視化模式:

   vi/vim的操作:

一.打開vi/vim的操作界面;
1.vi/vim命令;
2.vimfile:
1)file存在,就直接使用vim編輯器打開此文件,默認是將光標放置於該文件的起始文件位置,即:第一行的第一個字符;
2)file不存在,就直接以新建文件的方式打開;若執行保存命令,則文件會被寫入磁盤;若不保存,則文件會消失。
3.vim+# file:
在打開指定文件時,將光標直接定位在文件第#行的行首;如果給定的數字比文件的行數要大,則光標直接停留在最後一行的行首;
4.vim+ file:
在打開指定文件時,直接將光標定位在文件的最後一行的行首。
5.vim+/PATTERN/:
再打開指定文件時,將光標定位在首次被PATTERN匹配到的行的行首;

二.關閉vi/vim的操作界面;
ex模式中的操作:
:q
直接關閉vim編輯器,不保存修改內容;
:q!
直接關閉vim編輯器,強制退出但不保存修改的內容;
:wq
保存已修改的內容,並關閉vim編輯器;
:wq!
對於無權更改的文件強制保存,並且在強制保存之後強制關閉vim編輯器;

                 編輯模式中的操作:
                        ZZ:保存並關閉vim編輯器;
                        ZQ:不保存已經修改的內容,直接關閉vim編輯器;

三.在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模式中的光標移動:
:#:直接將光標移動至第#行的行首;
:l:直接將光標移動至文檔的第一行行首;
:$:直接將光標移動至文檔的最後一行行首;
四.翻頁
pagedown或 pageup可以實現翻頁;
^+f:向下翻一頁,向前翻一頁;相當於pgdn;
^+b:向上翻一頁,向後翻一頁,相當於pgup;
^+d:向下翻半頁;
^+u:向上翻半頁;
五.刪除字符;
編輯模式中的操作
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的操作中,所有的刪除操作,同時意味著剪切;

六.復制命令
編輯模式中的操作:
y:復制光標移動過程中經過的所有內容;

                        yh,yl,yj,yk,yArrow,yw,ye...
                        yy:復制當前光標所在行;
                 ex模式中的復制:
                 :y:復制光標所在行;相當於:.d;其中的“.”指的是當前行;
                 :#y:復制第#行;
                 :m,ny:復制從第m行開始,到第n行結束中間的所有行;
                 :m,+ny:復制從第m行開始,及其後面n行的內容;
                 :.,+ny:復制從當前光標所在行開始,及其後面n行的內容;
                 :.,$y:復制從當前光標所在行開始,到文檔末尾的所有內容;

七.粘貼命令:
編輯模式中的操作
p(lower);如果是行內的復制或剪切操作,在光標右側完成粘貼;如果是多行復制或剪切操作,在光標的下方完成粘貼;
P(upper):如果是行內的復制或剪切操作,在光標右側完成粘貼;如果是多行復制或剪切操作,在光標的上方完成粘貼;
ex模式的操作:
:p
八.模式切換:
編輯模式(命令模式)被稱為vi編輯器的基礎工作模式;所有其他模式之間進行切換的中轉站

                 1.編輯模式-->ex模式:
                        “:”:表示進入ex模式並完成命令的執行;
                        “/”或“?”:開始ex模式中的匹配查找功能;
                               /:默認是自上而下的查找順序;
                               ?:默認是自下而上的查找順序;

                        n和N命令在各個匹配的關鍵字之間跳轉:
                               n:順序查找
                               N:倒序查找
                 2.ex模式-->編輯模式:
                        Esc
                        Enter
                        Backspace
                 3.編輯模式-->輸入模式(插入模式):
                        i,I,a,A,o,O,s,S,C,cc
                        i:在光標所在位置的左側開始輸入;
                        I:在行首開始輸入;
                        a:在光標所在位置的右側開始插入;
                        A:在行尾開始輸入;
                        o:在當前光標所在行的下方插入一個新行;
                        O:在當前光標所在行的上方插入一個新行;
                        s:刪除光標所在位置的字符,在光標左側開始輸入;
                        S:刪除光標所在行,在行首開始輸入;
                        C:刪除光標所在位置直到行尾,並且在行尾開始輸入;
                        cc:相當於S模式;
                 4.輸入模式-->編輯模式
                        Esc鍵
                 5.編輯模式-->替換模式
                        R:進入替換模式
                 6.替換模式-->編輯模式
                        Esc鍵
                 7.編輯模式-->可視化模式
                        v:按照字符為單位進行矩形選取;
                        V:按照行為單位進行矩形選取;

                        註意:
                               1)在選取完成之後,可以使用d命令進行刪除,也可以使用y命令進行復制;
                               2)只要選取完成,即立刻返回編輯模式;

                        註意:所有的其他模式都只能和編輯模式相互切換:如果兩種非編輯模式試圖切換,則必須經過編輯模式。

九.替換模式:
r:不進入輸入模式而替換光標所在位置的字符;

十.撤銷命令:
U:撤銷當前行內的操作;
u:撤銷此前的一次編輯操作;

                 ^+r:撤銷最後一次被撤銷的操作;

十一.重復之前的一次編輯操作;
.
十二.打開多文檔編輯;
1.vimfile1 file2 file3...
:next 查看或編輯後一個文檔
:prev 查看或編輯前一個文檔
:first 查看或編輯第一個文檔
:last 查看或編輯最後一個文檔

                 2.vim-o | -O file1 file2 file3..
                        -o:水平打開多個窗口
                               ^+w,uparrow | down arrow;在多個窗口間切換;
                        -O:垂直打開多個窗口
                               ^+w,leftarrow | right arrow;在多個窗口間切換;
                        :qa:退出所有

十三.ex模式中的常用命令:
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.開啟或關閉語法著色:
:syntax on
:syntax off
5.開啟或關閉查找高亮顯示
:set hlsearch
:set nohlsearch(簡寫為:nohl)
6.另存為:
:w /PATH/TO/SOMEWHERE 全部另存為
:m,nw /PATH/TO/SOMEWHERE 部分另存為
7.從其他文件直接讀取內容並添加到當前文件夾
:r /PATH/FROM/SOMEFILE
8與shell交互,調用shell命令
:!shell命令

vim編輯器的基本使用方法