回顧:
正則表達式(BRE, ERE)
BRE:字符匹配:., [], [^]
次數匹配:*,\?,\+,\{m\},\{m,n}
位置錨定:^,$,\<,\>
分組及引用:(),\1,\2,……
ERE:
字符匹配:.,[],[^],
次數匹配:*,\?,\+,\{m\},\{m,n}
位置錨定:^,$,\<,\>
分組及引用:(),\1,\2,…..
或者:|
grep, egrep, fgrep
文本過濾器: PATTERN
-v,-o,-l,-q,-A,-B,-C
wc, cut, sort, uniq, diff, patch
vim 編輯器
文本編輯器:
文本:純文本,ASCII text; Unicode,
文本編輯種類:
行編輯器:sed
全屏編輯器:nano,vi
vi: Visual Interface
vim: VI Mproved
vim:
模式的編輯器
基本模式:
編輯模式,命令模式
輸入模式
末行模式:
內置的命令行接口;
打開文件:
#vim[options] [file…]
+#:打開文件后,直接讓光標處于低#行的行首:
+/PATTERN: 打開文件后,直接讓光標出于第一個被PATTERN匹配到的行的行首;
模式轉換:
編輯模式:默認模式
編輯模式–>輸出模式;
i: insert,在光標所在處輸入
a:append,在光標所在處后方輸入;
o:在光標所在處下方打開的一個新行
I: 在光標所在行的行首輸入;
A:在光標所在行的行尾輸入;
O:在光標所在處的上方打開一個新行;
輸入模式 –>編輯模式
ESC
編輯模式–.>末行模式
: 冒號
末行模式–>編輯模式
ESC
關閉文件:
ZZ:保存并退出
:q 退出
:q! 強制退出,不保存此前的編輯操作
:wq 保存并退出
:w.:q
:x 保存并退出
:w /PATH/TO/SOMEFILE
光標跳轉:
字符間跳轉
h,l, 左右
j,k 上下
#COMMAND:跳轉有#指定的個數的字符;
單詞間跳轉
W:下一個單詞的詞首;
e:當前或后一個單詞的詞首;
#COMMAND: 跳轉由#指定的個數的單詞
行首行尾跳轉
^:跳轉至行首的第一個非空白字符;
0:跳轉至行首;
$:跳轉至行尾;
行間跳轉
#G:跳轉至指定#行的位置;
1G,gg: 第一行;
G:最后一行;
句間跳轉
)
(
段間跳轉
}
{
翻屏:Ctrl+f: 向文件尾翻一屏
Ctrl+b: 向文件首部翻一屏
Ctrl+d: 向文件尾部翻半屏
Ctrl+u:向文件首部翻半屏
Enter: 按行向后翻
vim的編輯命令:
字符編輯
x: 刪除光標所在處的字符;
#x:刪除光標所在處的字符;
xp:交換光標所在處的字符與其后面的字符的位置;
替換命令(replace):
r: 替換光標所在處的字符:
rCHAR
刪除命令;
d:刪除命令,可結合光標跳轉字符,實現范圍刪除;
d$:
d^:
dw:
de:
db:
#COMMAND
dd:刪除光標所在處的行;
#dd:刪除光標所在處的行起始的共#行;
粘貼命令(p,put,paste);
P:緩沖去中的內容如果為整行,則粘貼在當前光標所在行的下方;否則,則粘貼至當前光標所在處的后方;
p::緩沖去中的內容如果為整行,則粘貼在當前光標所在行的上方;否則,則粘貼至當前光標所在處的前方;
復制命令(yank, y):
y:復制,工作行為相似于d命令;
y$
y^
yo(零)
ye
yw
yb
COMANND
yy:復制一整行
#yy:復制#行
改變命令(chang,c):
編輯模式—>輸入模式,實現刪除操作;
c$
c^
c0
ce
cw
#COMMAND
cc: 刪除光標所在的行,并轉換為輸出模式;
#cc:
可視化模式:
v:按字符選定;
V:按行選定;
結合編輯命令使用:d,c,y
撤銷(undou)操作:
u: 撤銷此前的操作;
#U : 撤銷此前的#個操作;
撤銷此前的撤銷:
Ctrl+r
vim自帶練習教程:vimtutor
原創文章,作者:shadow,如若轉載,請注明出處:http://www.www58058.com/64539