1. 程式人生 > >Linux學習命令匯總五——vim 使用技巧及快捷鍵

Linux學習命令匯總五——vim 使用技巧及快捷鍵

結束 刪除行 鍵盤輸入 all art indent off lin 撤銷操作

本章Blog相關Linux知識點


vim模式:編輯模式(命令模式)——鍵盤操作通常解析為編輯命令;輸入模式——鍵盤輸入模式;末行模式——Vim內置的命令接口,執行Vim內置命令

vim配置文件: /etc/vimrc

模式轉換:

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

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

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

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

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

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

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匹配到的行的行首

1、多個文件同時打開

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

:next 跳轉到下一個文本

:prev 跳轉到前一個文本

:first 跳轉到第一個文本

:last 跳轉到最後一個文本

:qalll 退出所有文本,不保存

:wall 保存所有文本並退出

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

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

:o 水平分割窗口

:O 垂直分割窗口

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


Vim移動光標


1、逐字符移動光標

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

2、逐單詞移動光標

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

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

3、光標行首,行尾跳轉

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

4、光標逐行跳轉

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

5、光標逐句跳轉

) 光標跳轉至下一句 ;

( 光標跳轉至上一句 ;

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

6、光標逐段跳轉

} 光標跳轉至下一段 ;

{ 光標跳轉至上一段 ;

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


Vim編輯操作


1、刪除單個字符命令x

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

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

2、刪除行命令d

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

dd刪除光標所在行

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

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

:. 表示當前行 ;

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

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

:+N 向下的N行

:% 表示全文

4、替換命令r

r 替換光標所在處的字符

5、改變命令c ,與d命令相似

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

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

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

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

6、復制命令y

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

yy 復制當前行

Nyy 復制光標之後的N行

7、粘貼命令p

p 如果刪除的或復制的內容為整行內容,則粘貼紙光標所在行的下方 ,如果刪除或復制的內容為為非整行內容,則粘貼至光標所在行的後面

P 如果刪除的或復制的內容為整行內容,則粘貼紙光標所在行的上方 ,如果刪除或復制的內容為為非整行內容,則粘貼至光標所在行的前面

8、撤銷命令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窗口屬性定義


1、顯示或取消行號

:set nu 顯示行號

:set nonu 取消行號顯示

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

:set ic 忽略大小寫

:set noic 不忽略大小寫

3、設定自動縮進

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

:set noai 取消自動縮進

4、高亮顯示搜索結果

:set hlseartch 高亮顯示

:set nohlsearch 取消高亮顯示

5、語法高亮

:syntax on 語法高亮顯示

:syntax off 關閉語法高亮顯示

6、顯示與之匹配的括號

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

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


Linux學習命令匯總五——vim 使用技巧及快捷鍵