Linux學習命令彙總五——vim 命令及相關使用技巧

本章Blog相關Linux知識點正則表達式


vim模式:編輯模式(命令模式)——鍵盤操做一般解析爲編輯命令;輸入模式——鍵盤輸入模式;末行模式——Vim內置的命令接口,執行Vim內置命令shell

vim配置文件: /etc/vimrc  
vim

模式轉換:編輯器

編輯模式——> 輸入模式:
ide

    i:在當前的光標所在的字符的前面,轉入輸入模式spa

    I:在當前的光標所在的行首,轉入輸入模式接口

    a:在當前的光標所在的字符的後面,轉入輸入模式string

    A:在當前光標所在的行尾,轉入輸入模式it

    o:在當前的光標所在的行的下面,新建一行,轉入輸入模式
ast

    O:在當前的光標所在的字符的上面,新建一行,轉入輸入模式

輸入模式——>編輯模式:

   按「ESC」鍵,轉入編輯模式

輸入模式——> 末行模式:

    輸入「:」,轉入末行模式

末行模式——>編輯模式:

    按兩次「ESC」鍵 ,轉入輸入模式

退出模式:

    :q 退出

    :wq  保存退出

    :q!   不保存退出

    編輯模式ZZ  保存退出

末行模式

    在編輯模式下,輸入: 便可  

    :10d    刪除第10行

    :10,20d      刪除第10到20行

    :! ls /etc    與命令相結合

Vim打開文件


# vim /path/to/somefile  若文件存在,則打開 ;若不存在,則建立並打開

# vim +n  FILE   打開FILE文件且光標選擇FILE文件的第n行

# vim + FILE      打開FILE文件且光標選擇FILE文件的最後一行

# vim + /PATTERN FILE   打開FILE文件,定位至第一次被PATTERN匹配到的行的行首

一、多個文件同時打開

# vim /etc/passwd /etc/rc.d/rc.sysinit /etc/issue

    :next   跳轉到下一個文本

    :prev  跳轉到前一個文本

    :first   跳轉到第一個文本

    :last   跳轉到最後一個文本

    :qalll  退出全部文本,不保存

    :wall   保存全部文本並退出

二、分割窗口打開多個文件

# vim -o /etc/passwd /etc/issue

    :o  水平分割窗口

    :O  垂直分割窗口

    Ctrl+w  切換窗口 ;左右箭頭,上下箭頭   進行光標轉移


Vim移動光標


一、逐字符移動光標

    h鍵   向前移動光標;l鍵  向後移動光標 ;j鍵 向下移動光標 ;k鍵 向上移動光標

二、逐單詞移動光標

    w鍵   移動光標至下一個單詞的詞首;e鍵  移動光標至下一個單詞的詞尾 ;b鍵 移動光標至前一個單詞的詞首

    Nw | Ne |Nb 表明了向前,向後移動了n個單詞

三、光標行首,行尾跳轉

    0(數字0)光標移動到行首 ; ^ 光標移動到行中的第一個非空白字符  ; $  光標移動到行的行尾

四、光標逐行跳轉

    G   光標跳轉至最後一行 ; NG 光標跳轉到第N行  ;在末行模式下,直接給出行號便可 如 :10   。

五、光標逐句跳轉

    ) 光標跳轉至下一句 ;

   (  光標跳轉至上一句 ;

    Num 與句跳轉快捷鍵一同使用,向指定方向跳轉句的個數  ,如10( ,表明向前跳轉10句

六、光標逐段跳轉

    } 光標跳轉至下一段 ;

    {  光標跳轉至上一段 ;

    Num 與段跳轉快捷鍵一同使用,向指定方向跳轉段的個數  ,如10{ ,表明向前跳轉10段


Vim編輯操做


一、刪除單個字符命令x

    x 刪除光標所在處的單個字符 ;

    Nx 刪除光標所在處及向後的共N個字符

二、刪除行命令d

    d命令與跳轉命令結合使用;如d0 ,d$  , d{  , d(  ,dw , dh  ;

    dd刪除光標所在行  

三、末行模式下的範圍定界

    :n,md   刪除第n行到m行 ; 

    :.   表示當前行  ;

    :$  表示最後一行    如 :.,$-2d 表明刪除當前行到倒數第二行的內容

    :/prt1/,/prt2/  被第一次prt1匹配的行至被第二次prt2匹配的行就結束

    :+N   向下的N行

    :%   表示全文

四、替換命令r

    r  替換光標所在處的字符

五、改變命令c ,與d命令類似

    c 表示刪除內容並進入輸入模式進行內容替換

    c 與跳轉命令結合使用,如 c0 ,c$  , c{  , c}  , cw , ch

    cc 刪除光標所在行,並進入輸入模式

    Ncc 刪除光標以後的N行,進入輸入模式

六、複製命令y

    y命令與跳轉命令結合使用;如y0 ,y$  , y{  , y(  , yw , yh  ;

    yy 複製當前行

    Nyy 複製光標以後的N行

七、粘貼命令p

    p 若是刪除的或複製的內容爲整行內容,則粘貼紙光標所在行的下方 ,若是刪除或複製的內容爲爲非整行內容,則粘貼至光標所在行的後面

    P  若是刪除的或複製的內容爲整行內容,則粘貼紙光標所在行的上方 ,若是刪除或複製的內容爲爲非整行內容,則粘貼至光標所在行的前面

八、撤銷命令u

    u   撤銷以前的命令操做

    #u  撤銷#次操做

    Ctrl +r  撤銷掉錯誤的撤銷操做


Vim翻屏操做及查找替換


Ctrl + f  向文件尾部翻一屏  ; Ctrl + b  向文件首部翻一屏

Ctrl + d  向下翻半屏  ; Ctrl + u  向上翻半屏

Enter 向後翻一行  ;  k  向上翻一行

/PATTERN   向下查找匹配PATTERN的字符

?PATTERN  向上查找匹配PATTERN的字符

查找替換:

    在末行模式下使用s命令

    格式爲   :ADD1,ADD2 s@PATTERN(正則表達式)@string@gi    ,其中g 表明golal ,i表示不區分大小寫

例:1,+9s@[[:space:]]\{1,\}#@@g     從第一行到第10行中,查找以致少一個空白字符,且緊跟# ,替換爲空

例:1,28s@^[^#].*@#&@g     從第一行至第28行中,替換以非# 開頭的行,前面加#

例:1,28s@\(l\(..e\)\)\(.*\1\)@L\2\3@g   替換先後相同的l爲L

將當前文件中的部份內容另存爲另一個文件,w

    末行模式下  :ADDR1,ADDR2w /PATH/to/somwhere  

將另一個文件的內容填充在當前文件中

    末行模式下 :r /PATH/To/Somewhere 

根shell 交互

    末行模式下 :!COMMAND


Vim窗口屬性定義


一、顯示或取消行號

    :set nu  顯示行號 

    :set nonu 取消行號顯示

二、設定vim編輯器顯示忽略或區分字符大小寫

    :set ic  忽略大小寫

    :set noic 不忽略大小寫

三、設定自動縮進

    :set ai 或 :set autoindent  設置自動縮進

    :set noai  取消自動縮進

四、高亮顯示搜索結果

    :set hlseartch   高亮顯示

    :set nohlsearch 取消高亮顯示

五、語法高亮

    :syntax on 語法高亮顯示

    :syntax off 關閉語法高亮顯示

六、顯示與之匹配的括號

    :set sm   顯示與之匹配的括號

    :set nosm  取消顯示與之匹配的括號

相關文章
相關標籤/搜索