vi編輯器:全屏的文本編輯器
vi:Visual Interface,可視化界面;
vim相對於vi有更多的新特性:
1.語法着色顯示;
2.更多的命令;
3.歷史記錄;shell
vi:模式化文本編輯器 模式: 編輯模式(命令模式),默認工做模式; 插入模式(輸入模式),文本信息的自由編輯;在左下角有"Insert"標記; ex模式(末行模式),對於編輯器自己某些屬性和功能的設定;也能夠進行文本的編輯操做; 其餘輔助模式: 替換模式:輸入的信息直接替換光標所在位置的內容; 可視化模式: vi/vim的操做: 一.打開vi/vim操做界面: 1.vi/vim命令; 2.vim file: 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模式中的光標移動: :# :直接將光標移動至指定行號"#"的行首; :1 :直接將光標移動至文檔的第一行行首; :$ :直接將光標移動至文檔的最後一行行首; 四.翻頁: 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, yb, yG, ygg, y0, y$, y^ 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.vim file1 file2 file3 ... :next 查看或編輯後一個文檔 :prev 查看或編輯前一個文檔 :first 查看或編輯第一個文檔 :last 查看或編輯最後一個文檔 2.vim -o | -O file1 file2 file3 ... -o:水平打開多個窗口 ^+w, up arrow | down arrow:在多個窗口間切換; -O:垂直打開多個窗口 ^+w, left arrow | right arrow:在多個窗口間切換; 十三.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命令 :!COMMAND 十四.vimtutor 能夠查看以上十三種命令