vim文本編輯器:
vim是Linux系統上的最著名的文本/代碼編輯器,也是早年的vi編輯器的加強版,而gVim則是其windows版。它的最大特色是完全使用鍵盤命令進行編輯,脫離了鼠標操作雖然使得入門變得困難,但上手之后鍵盤流的各種巧妙組合操作卻能帶來極大幅度的效率的提升。
(1)打開文件與關閉文件:
打開文件:
vim [options][file..]
+#:打開文件之后,讓光標直接處于第#行的行首;
+/PATTERN:打開文件之后,直接讓光標處于第一個被PATTERN匹配到的行首
+:直接打開文件之后,光標直接處在最后一行
-b:以二進制方式打開文件
-d file1 file2 …:比較多個文件
-m:以只讀方式打開文件
關閉文件:
a.在編輯模式下面連敲兩個大寫的Z鍵即可保存并退出
b.在末行模式下面:
:wq 保存并退出(:w保存文件)
:x 保存并推出(相當于:wq平時不太建議使用)
:q 直接退出(文件沒有執行過編輯操作,只是打開查看后退出)
:q! 不保存退出
(2)模式轉換:默認的模式為編輯模式
編輯模式–>輸出模式:
i:在光標所在處輸入
a:在光標所在處后方輸入
o:在光標所在處下方打開一個新行
I:在光標所在行的行首輸入
A:在光標所在行的行尾輸入
O:在光標所在處的上方打開一個新行
輸入模式–>編輯模式:
ESC
編輯模式–>末行模式:
: / ?
末行模式–>編輯模式:
ESC
鎖定和解鎖文件:
Ctrl+s,Ctrl+q(鎖定之后文件可以編輯只是屏幕被鎖定看不到任何編輯的過程)
(3)光標跳轉:
字符間跳轉:
h鍵或左箭頭 :光標向左移動一個字符
j鍵或下箭頭 :光標向下移動一個字符
k鍵或右箭頭 :光標向右移動一個字符
i鍵或上箭頭 :光標向上移動一個字符
#COMMAND:根據COMMAND命令跳轉相應的#個字符
單詞間跳轉:
w:下一個單詞的詞首
e:當前或后一個單詞的詞尾
b:當前或前一個單詞的詞首
#COMMAND:根據COMMAND命令跳轉相應的#個單詞
行首行尾跳轉:
^:跳轉至行首的一個非空白字符
0:跳轉至行首(跳轉至絕對的行首,但是托字符除外)
$:跳轉至行尾
行間跳轉:
#G或#gg:跳轉至由#指定的行
1G或gg:跳轉至首行
G:跳轉至尾行
句間跳轉:
):跳轉至下一句、
#):跳轉至下#句
(:跳轉至上一句
#(:跳轉至上#句
段間跳轉:
}:跳轉至下一句、
#}:跳轉至下#句
{:跳轉至上一句
#{:跳轉至上#句
頁間跳轉:
H:跳轉至當前頁的頁首
M:跳轉至當前頁的頁中間行
L:跳轉至當前頁的頁底
(4)翻屏操作:
Ctrl+f:向文件尾部翻一屏
Ctrl+b:向文件首部翻一屏
Ctrl+d:向文件尾部翻半屏
Ctrl+u:向文件首部翻半屏
Enter:按行向后翻
(5)編輯命令:
字符編輯:
x:刪除光標所在處的字符
#x:刪除光標所在處起始的#個字符
xp:交換光標所在處的字符與其后面的字符的位置
~:替換字符的大小寫
替換命令:
r(char):替換光標所在處的字符(將字符替換成char)
R:切換成REPLAVCE模式
刪除命令:刪除的內容不會被清理掉,儲存在緩沖區中
d:刪除命令,可結合光標跳轉字符,實現范圍刪除;
d$:從光標開始處刪除至最后一個字符
D: 從當前光標位置一直刪除到行尾
d^:從光標開始處刪除至最前一個字符
dd:刪除光標所在的那一整行
#dd:刪除多行
dw:從光標所在處刪除至下一個單詞的開頭
de:從光標所在處刪除至當前或后一個單詞的詞尾
db:從光標所在處刪除至當前或后一個單詞的詞首
#COMMAND:執行#次COMMAND命令
粘貼命令:緩沖區中的命令可以粘貼多次
p:緩沖區中的內容如果為整行,則粘貼在當前光標所在行的下方;否則,則粘貼至當前光標所在處的后方。
P:緩沖區中的內容如果為整行,則粘貼在當前光標所在行的上方;否則,則粘貼至當前光標所在處的前方。
復制命令:
y:復制命令,可結合光標跳轉命令,實現范圍復制
y$:從光標開始處復制到最后一個字符
y^:從光標開始處復制到最前一個字符
y0:從光標開始處復制到本行的最前一個字符
yy:復制光標所在的那一整行
Y:復制光標所在的整行
yw:從光標所在處復制至下一個單詞的開頭
ye:從光標所在處復制至當前或后一個單詞的詞尾
yb:從光標所在處復制至當前或后一個單詞的詞首
#yy:復制了#行
#COMMAND:執行#次COMMAND命令
改變命令:
c:編輯模式–>輸入模式,實現先刪除后輸入的效果,可結合光標跳轉命令實現組合改變命令
用法同刪除命令d和復制命令y
cc:刪除當前行并輸入新內容
#cc:刪除多行并輸入新內容
C:刪除當前光標到行尾,并切換成插入模式
重復上面的編輯操作:.(點號)
(6)可視化模式
v:根據光標所走的位置,實現單字符和整行選定
V:實現光標所在行的選定
編輯命令使用;d刪除,c修改,y復制
(7)撤銷操作: undo
u:撤銷此前的操作,按步撤銷執行的命令,在手動保存之前,默認最多可撤銷50次
#u:撤銷最近執行過的#次命令(按執行命令順序的倒序撤銷)
U:撤銷光標落在這行后所有此行的更改
Ctrl+r:撤銷之前的撤銷操作
.:重復前一個撤銷操作
n.:重復前一個撤銷操作n次
(8)vim自帶的練習操作:#vimtutor
(9)vim末行模式:
末行模式下的命令:
輸出命令:
w /PATH/TO/SOMEFILE:將范圍內的文本保存至指定的文件中
:ADDR1,ADDR2w /path/to/somewhere
將某些地址(ADDR1,ADDR2)之間的內容轉存到/path/to/somewhere這個文件下
插入命令:
r /PATH/FROM/SOMEFILE:將指定的文件中的文本讀取并插入至指定位置;
內建的命令行接口
①地址定界:(可同編輯命令一同使用,實現編輯操作,d,y,c)
:start_pos[,end_pos]
.:當前行
$:最后一行、
%:全文
/pattern/:從光標所在處開始向文件尾部第一次被模式所匹配到的行
/pat1/,/pat2/:從光標所在處起始,第一次由pat1匹配到的行開始,至第一次由pst2匹配到的行結束的所有行,
#:特定的第#行,例如5,即第5行
#,#:指定行范圍,左側為起始行,右側為結束行
#,+#:指定行范圍,左側為起始行絕對編號,右側為相對左側行號的偏移量,
②查找:
/PATTERN:從當前光標所在處向文件尾部查找能夠被當前模式匹配到的所有字符串;
?PATTERN:從當前光標所在處向文件首部查找能夠被當前模式匹配到的所有字符串;
n:下一個,與命令方向相同
N:上一個,與命令方向相反
③查找并替換:
s:末行模式的命令:使用格式:
s/要查找的內容/替換為的內容/修飾符
要查找的內容:可使用正則表達式
替換為的內容:不能使用正則表達式,但可以引用
如果"要查找的內容"部分在模式中使用分組符號,在"替換為的內容"中使用后向引用
直接引用查找模式匹配到的全部文本。
修飾符:
i:忽略大小寫
g:全局替換,默認情況下,每一行只替換第一次出現。
gc:全局替換,每次替換前詢問是否替換
(10)vim環境變量的設置:
整體vim的設置值一般放在/etc/vimrc(通常不建議去用root用戶去直接修該文件)
單用戶的配置文件為家目錄下的 ~/.vimrc (默認不存在,自行手動創建)
vim會主動將記錄你曾經做過的行為,為家目錄下面的:~/.viminfo
vim環境參數設置:
①:set nu/:set nonu 設置與取消行號
②:set hlsearch/:set nohlsearch 設置與取消查找字符高亮的設置值,默認值為hlsearch
③:set autoindent/:set nosutoindent 設置與取消自動縮進(set ai/set noai)
④:syntax on/off 設置與取消設置語法高亮
⑤:set ignorecase/noignorecase 區分與忽略字符大小寫(set ic/noic)
⑥:set showmatch/noshowmatch 設置與取消括號成對匹配(set sm/nosm)
⑦:fileformat=unix/dos 設置與使用unix/dos環境編程
⑧:set textwidth=65 set wrapmargin=15 設置vim編輯的文本的寬度(vim only)
⑨:help option-list 查看需要設置的文件的所有的簡寫清單
(11)vim自帶的寄存器:
有26個命名寄存器和1個無命名寄存器,常存放不同的剪貼版內容,可以不同會話間共享。用a,b,…,z表示, 用“寄存器表示,放在數字和命令之間” 如:3"tyy:表示復制3行到t寄存器中,"tp 表示將t寄存器內容粘貼
未指定,將使用無命名寄存器,有10個數字寄存器,用0,1 ,… ,9 表示,0存放最近復制內容,1 存放最近刪除內容。當新的文本變更和刪除時,1轉存到2,2轉存到3,以此類推。數字寄存器不能在不同會話間共享。
(12)多文件編輯模式:
vim FILE1 FILE2 FILE3…
:next 編輯下一個文件
:prev 編輯前一個文件
:first 編輯第一個文件
:last 編輯最后一個文件
:wall 保存所有文件
:qall 退出所有文件
:wqall 保存并退出所有文件
(13)屏幕顯示:
多文件分割:
vim -o | -O FILE1 FILE2..
-o:水平分割
-O:垂直分割
在窗口間切換:Ctrl+w,Arrow
單文件窗口分割:
Ctrl+w,s:split,水平分割
Ctrl+w,v:vertical,垂直分割
Ctrl+w,q:取消相鄰窗口
Ctrl+w,o:取消全部窗口
:wqall 退出全部的窗口編輯
(14)編輯二進制文件:
以二進制方式打開文件:
vim -b binaryfile
擴展命令模式下,利用xxd命令轉換為可讀的十六進制
:%!xxd
編輯二進制文件
擴展命令模式下,利用xxd命令轉換回二進制
:%!xxd -r
保存并退出
(15)可視化編程:(相當于用鍵盤代替鼠標進行操作)
允許選擇的文本塊
V面向行編輯
v面向字符進行編輯
ctrl+v 面向塊編輯
可視化可用于與移動鍵結合使用:
w,),},箭頭等使用;
突出顯示的文字可以被刪除,復制,變更,過濾,搜索/替換等
原創文章,作者:sjsir,如若轉載,請注明出處:http://www.www58058.com/32781