vim


vim +10  /etc/passwd 
vim +/pattern
vim -d f1 f2  比較多個文件
命令模式 --> 插入模式
i: insert, 在光標所在處輸入
I:在當前光標所在行的行首輸入
a: append, 在光標所在處後面輸入
A:在當前光標所在行的行尾輸入
o: 在當前光標所在行的下方打開一個新行
O:在當前光標所在行的上方打開一個新行


r filename 讀文件內容到當前文件中
w filename 將當前文件內容寫入另一個文件
!command 執行命令
r!command 讀入命令的輸出


單詞間跳轉: 
w:下一個單詞的詞首 
e:當前或下一單詞的詞尾 
b:當前或前一個單詞的詞首 
#COMMAND
:由#指定一次跳轉的單詞數 

當前頁跳轉: 
H:頁首 M:頁中間行 L:頁底

行首行尾跳轉: 
^: 跳轉至行首的第一個非空白字符 
0: 跳轉至行首 
$: 跳轉至行尾 

行間移動: 
#G、擴展模式:# :跳轉至由#指定行 
G:最後一行 
1G, gg: 第一行



Ctrl+f: 向文件尾部翻一屏 Ctrl+b: 向文件首部翻一屏 Ctrl+d: 向文件尾部翻半屏 Ctrl+u:向文件首部翻半屏

[root@node4~]#echo -e "\e[1;31mred\e[0m"
red

[root@node4~]#vim f1
  1 ^[[1;31m123^[[0m
  2 ^[[1;32m234^[[0m
  ctrl +v +[或者ctrl +c

blob.png


blob.png


blob.png


字符編輯: 
x: 刪除光標處的字符 
#x: 刪除光標處起始的#個字符 
xp: 交換光標所在處的字符及其後面字符的位置 
~:轉換大小寫 
J:刪除當前行後的換行符 

替換命令(r, replace) 
r: 替換光標所在處的字符 
R:切換成REPLACE模式

刪除命令: 
d: 刪除命令,可結合光標跳轉字符,實現範圍刪除 
d$: 刪除到行尾 
d^:刪除到非空行首 
d0:刪除到行首 
dw: 
de: 
db: 
#COMMAND 

dd: 刪除光標所在的行 
#dd:多行刪除 

D:從當前光標位置一直刪除到行尾,留空行,等同於d$
命令模式操作 

複製命令(y, yank): 
y: 複製,行爲相似於d命令 
y$ 
y0 
y^ 
ye 
yw 
yb 
#COMMAND 

yy:複製行 
#yy: 複製多行 

Y: 複製整行

粘貼命令(p, paste): 
p:緩衝區存的如果爲整行,則粘貼當前光標所在行的下方;否則,則粘貼 
至當前光標所在處的後面 
P:緩衝區存的如果爲整行,則粘貼當前光標所在行的上方;否則,則粘貼 
至當前光標所在處的前面
 
cc:刪除當前行並輸入新內容,相當於S 
#cc:  
 
C:刪除當前光標到行尾,並切換成插入模式
100iwang [ESC] 粘貼“wang”100次 

<start position><command><end position> 

Command: 
y 複製、d 刪除、gU 變大寫、gu 變小寫 
例如 
0y$ 
命令意味着: 
0 → 
先到行頭 
y → 
從這裏開始拷貝 
$ → 
拷貝到本行最後一個字符 
ye 從當前位置拷貝到本單詞的最後一個字符

地址定界
:start_pos,end_pos
# 具體第#行,例如2表示第2行
#,# 從左側#表示起始行,到右側#表示結尾行
#,+# 從左側#表示的起始行,加上右側#表示的行數
:2,+3 表示2到5行
. 當前行
$ 最後一行
.,$-1 當前行到倒數第二行
% 全文, 相當於1,$
/pat1/,/pat2/ 
從第一次被pat1模式匹配到的行開始,一直到第一次被pat2匹配到的行結 
束 
#,/pat/ 
/pat/,$ 

使用方式:後跟一個編輯命令 
d
y 
w file: 將範圍內的行另存至指定文件中 
r file:在指定位置插入指定文件中的所有內容

查找 
/PATTERN:從當前光標所在處向文件尾部查找 
?PATTERN:從當前光標所在處向文件首部查找 
n:與命令同方向 
N:與命令反方向

:1,10s/bash/csh/

:1,10s/bin/sbin/g

:1,10s/root/sun/gi  

:3s@/sbin@/usr/bin@   

:%s@\(haha\)@\1er@

:/^[^#]/s@\(.*\)@#\1@

:%s@\(^uuid\)@#\1@i

                                                                        

:%s@^uuid@#&@i

命令模式:撤消更改 

u撤銷最近的更改 

#u撤銷之前多次更改 

U 撤消光標落在這行後所有此行的更改 

按Ctrl - r重做最後的“撤消”更改 

. 重複前一個操作 

n.重複前一個操作n次

%y 複製整個文件;



有26個命名寄存器和1個無命名寄存器,常存放不同的剪貼版內容,可以不同會話間 
共享 

寄存器名稱a,b,…,z,格式:“寄存器 放在數字和命令之間 
如:
3"tyy 
表示複製
3
行到
t
寄存器中 
"tp 
表示將
t
寄存器內容粘貼 

未指定,將使用無命名寄存器 

有10個數字寄存器,用0,1,…,9表示,0存放最近複製內容,1存放最近刪除內容。 
當新的文本變更和刪除時,1轉存到2,2轉存到3,以此類推。數字寄存器不能在不 
同會話間共享

以二進制方式打開文件 
vim –b binaryfile 

擴展命令模式下,利用xxd命令轉換爲可讀的十六進制 
:%!xxd 

編輯二進制文件 

擴展命令模式下,利用xxd命令轉換回二進制 
:%!xxd –r 

保存退出
8) 文件格式 
啓用windows格式:set fileformat=dos 
啓用unix格式:set fileformat=unix 
簡寫: set ff=dos|unix 

(9) 設置文本寬度 
啓用: set textwidth=65 (vim only) 
禁用: set wrapmargin=15 

(10) 設置光標所在行的標識線 
啓用:set cursorline,簡寫cul 
禁用:set no cursorline 

(11) 複製保留格式 
啓用: set paste 
禁用: set nopaste

說明書:聯繫文檔:

vimtutor

[root@node4~]#cat   ~/.vimrc

set nu

set cul

set ai 

set paste

set ic

set ai


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章