本章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 取消顯示與之匹配的括號