vim編輯器是眾多文件編輯軟件中比較好的一個,也是使用最多 ,功能最強大的,提供了圖形化界面。
Vi:類unix系統中默認的文本編輯器
Vim:vi編輯器的增強版本,習慣上也稱vi。
作用:創建或修改文本文件,維護linux系統的各種配置文件
vim的使用格式:
vim [選項]…file..
可用選項:
+#:打文件后,直接讓光標處于低#行的行首
+/PATTERN:打開文件后直接讓光標處于第一個被PATTERN匹配到的行的行首
vim編輯器有三種模式:
命令模式:默認進入的是命令模式,在命令模式中可以對文件進行刪除、復制、粘貼等功能,
編輯模式:對文件修改編輯
擴展模式:對文件保存、退出等
三種模式之間的切換:
命令模式切換到編輯模式按a A i I o O鍵
a:在光標所在處后面插入
A:在光標所在行的行尾插入
i:在光標前插入
I:在光標所在行的行首插入
o:在光標所在行的下一行插入
O:在光標所在行的上一行插入
命令模式切換到擴展模式按Shift鍵+:鍵
插入模式到命令模式:按ESC鍵
擴展模式到命令模式:按ESC鍵
ctrl+s 鎖定
ctrl+q 解鎖
命令模式操作:
光標跳轉:
^:跳轉至行首的第一個非空字符
0:跳轉至行首
$:跳轉至行尾
#G、擴展模式:跳轉至#行
G:跳轉至最后一行
1G或gg:跳轉至第一行
翻屏操作:
ctrl+f:向文件尾部翻一屏
ctrl+b:向文件首部翻一屏
ctrl+d:向文件尾部翻半屏
ctrl+u:向文件首部翻半屏
保存退出:
ZZ;保存退出
ZQ:不保存退出
字符編輯:
x:刪除光標處的字符
#x:刪除光標處起始#個字符
xp:交換光標所在處的字符
~:轉換大小寫
替換命令:
r:替換光標所在處的字符
R:切換成替代模式
刪除命令:
d:刪除命令,可結合光標跳轉字符實現范圍刪除
d$:刪除到行尾
d^:刪除到非空行首
d0:刪除到行首
dw:刪除一個單詞,從光標處往后刪
db:刪除一個單詞,從光標處往前刪
dd:刪除光標所在行
#dd:刪除#行
D:從當前光標位置一直刪除到行尾ieee,留空行,等同于d$
復制命令:
y:復制,與d相似
y$:復制到行尾
y0:復制到行首
y^:復制到非空行首
yw:復制單個單詞,從光標處往后復制
yb:復制單個單詞,從光標處往前復制
#yy:復制#行內容
y:復制整行內容
粘貼命令:
p:把復制的內容保存在緩沖區,如果是整行內容,粘貼至下一行,如果不是整行,粘貼至光標所在處的后面
P:把復制的內容保存在緩沖區,如果是整行內容,粘貼至上一行,如果不是整行,粘貼至光標所在處的前面
多次粘貼:#i內容[ESC]:粘貼內容#次
改變命令:
c:修改后切換成插入模式
c$:修改到行尾
c^:修改到非空行首
c0:修改到行首
cw:修改單個單詞,從光標處往后修改
cb:修改單個單詞,從光標處往前修改
cc:刪除當前行斌輸入新內容
#cc:刪除#行并輸入內容
C:刪除當前光標到行尾,并切換成插入模式
撤銷命令:
u:撤銷最近一次的更改
#u:撤銷之前多次更改
U:撤銷光標落在 這行后所有此行的更改
按Ctrl -r重做最后的“撤銷”更改
.重復前一個操作
n.重復前一個操作n
擴展模式: :q 退出 :q! 強制退出,丟棄做出的修改 :wq 保存退出 :x 保存退出 ? 命令模式 ZZ: 保存退出 ZQ:不保存退
按“:”進入擴展模式在“:”后添加命令
命令:
w:寫入
wq:寫入并退出
x:寫入并退出
q:退出
q!:不保存,強制退出
r 文件名 :讀文件內容到當前文件
w 文件名 :另存為
!命令 : 在底部執行其他命令
r! 命令 : 執行命令并把命令結果保存到vim所編輯的文件中
地址定界:
起始,結束
#:具體地#行,例如5表示地5行
#,#:從左側#表示行開始,到右側表示行結束
#,+#:從左側#表示開始,往后加上#行 1,+2 表示1到3行
.:表示當前行
$:最后一行
$-1:當前行到倒數第二行
%:表示全文
/pat1/,/pat2/ :從第一次被模式1匹配到的行開始,直到第一次被模式2匹配到的行結束
#,/pat/ :從第#行開始,一直到第一次被模式匹配到的行結束
/pat/,$:從第一次被模式匹配到的啊很難過開始,一直到最后一行。
使用方式:在地址后面跟上一個編輯命令即可
查找:
/條件:從當前光標所在處向文件尾部查找
?條件:從當前光標所在處向文件首部
多個結果切換:n:與命令同方向
N:與命令反方向
查找并替換 s/// 分隔符/可以替換 如:s### s@@@ s$$$
s:在擴展模式下查找替換,與sed命令有相識之處
格式:s/要查找的內容/替換為的內容/修飾符
要查找的內容可使用已使用正則表達式,替換的內容不能用但可以是用后向引用\1、\2…,還可以使用“&”符號引用前面查找是找到的整個內容
例如:s/ab/&cd/g :結果就是把ab替換成了abcd
修飾符:
i:忽略大小寫
g:全局替換,默認每一行只替換第一個匹配到的
gc:全局替換并且每次替換前詢問
vim的寄存器:
有26個命名寄存器和1個無命名寄存器,常存放不同的剪切版內容,可以不同會話間共享。
用a,b,…z表示,用寄存器表示,放在數字和命令之間
例如:5“tty表示復制5行到t寄存器中
”tp 表示將t寄存器內容粘貼
如果未至定,將使用無命名寄存器
有10個數字寄存器,用0,1,2….9表示,0存放最勁復制 的內容,1存放最勁刪除的內容,當新的文本變更和刪除時,
1轉存到2,2轉存到3,以此類推,數字寄存器不能在不同會話間共享。
可視化模式:
允許選擇的文本塊
v 面向字符
V 面向行
crtl -v 面向塊
示例:
可視化鍵可用于與移動鍵結合使用,突出顯示的內容可以被刪除,復制,變更,過濾,搜索等。
多文件模式:
當一個vim同時打開多個文件時,可以用以下命令進行管理
:next 下一個
:prev 前一個
:first 第一個
:last 最后一個
:wall 保存所有
:qall 退出所有
:wqall 保存退出
使用多窗口
vim -o file 水平分割文件
vim -O file 垂直分割文件
在窗口間切換:Ctrl+w ,Arrow
單文件窗口分割:
ctrl+w,s: split,水平分割
ctrl+w,v: vertical,垂直分割
ctrl+w,q: 取消相鄰窗口
ctrl+w,o: 取消全部窗口
: wqall 退出
示例:垂直分割:
示例;水平分割
定時vim的工作特性
配置文件:永久有效
全局:/etc/vimrc
個人:~/.vimrc
擴展模式:當前vim進程有效
1、 set nu 命令 顯示行號 取消 set nonu
2、 set sm 命令 括號成對匹配 取消 set nosm
3、 set ai 命令 自動縮進 禁用 set noai
4、 set hlsearch 命令 高亮搜索 禁用 set nohlsearch
5、 syntax on 命令 語法高亮 禁用 syntax off
6、 set ic 命令 忽略字符大小寫 禁用 set noic
vim練習題:
1、復制/etc/profile至/tmp/目錄,用查找替換命令刪除 /tmp/profile文件中的行首的空白字符 ?
2、復制/etc/rc.d/init.d/functions文件至/tmp目錄,用查 找替換命令為/tmp/functions的每行開頭為空白字符的行的 行首添加一個#
3、如何設置tab縮進為4個字符? ?
4、復制/etc/rc.d/init.d/functions文件至/tmp目錄;替換 /tmp/functions文件中的/etc/sysconfig/init為/var/log; ?
5、刪除/tmp/functions文件中所有以#開頭,且#后面至少 有一個空白字符的行的行首的#號
解答:
1、操作
效果:
2、操作:
效果:
3、操作
打開 ~.vimrc 或者/etc/vimrc添加如下項:
4、操作
效果:
5、操作:
效果:
原創文章,作者:ZJM,如若轉載,請注明出處:http://www.www58058.com/33299