常用的vi与vim命令归纳
移动光标

 G,gg
 移动到文件的最后一第一行。

 ctrl+f,ctrl+b
 下一页,上一页
 
 H,H,L
 移动到屏幕的H,M,L

 0与$
 移动到这一行的最前面,最后面字符处。

 hjkl代表左下上右,当然如果机器支持上下左右键就直接用。
 前面加数字,例如5h,左移5位,20j,下移20位

查找与替换:
 /fengweiyuan
 向下查找fengweiyuan的字符串

 n与N
 重复前一个查找的操作,n是同向,N是反向。

 :n1,n2s/word1/word2/g
 从n1行至n2行,把word1替换成word2/g是替换
 :1,$s/word1/word2/g
 从第1行到最后一行替换
 :1,$s/word1/word2/gc
 替换前会逐个询问确认。

删除,复制,和粘贴
 

 x,X
 向后删一个字符,相当于del,向前删一个字符,相当于Backspace

 dd
 删除一整行

 dgg,dG,d0,d$,
 删除光标所在行到第一行;到最后一行;删除光标所在字符到该行最前的字符,最后的字符。

 yy,nyy
 复制所在行,复制n行,包括光标所在行。

 ygg,yG,y0,y$
 如上。

 p
 在光标的下一行开始粘贴。

 J
 将光标的下一行提上来,与当前行结合成同一行。
 
 u,ctrl+r
 undo,redo,撤销一个操作,重做上一个操作。互为相反。

 .
 小数点,重复前一个操作,可以利用来重复删除,粘贴等。

命令行的保存,离开等命令。
 
 w a.txt       :n1,n2 w filename
 另存为a.txt;将第n1行至n2行的数据保存到filename文件中。
 
 r b.txt
 在光标所在行的下一行开始加载另一个文件的数据。

 :! command,例如:! ls /root
 可以在vi中查看ls /root的结果。

vim环境的更改
 
 :set nu  :set nonu
 分别是设置显示行号与不显示行号。
 :set autoindent   :set noautoindent
 设置自动缩排,不自动缩排。

块选择 
 v,V,ctrl+v
 字符选择,行选择,块选择。
 y,d
 将选定的复制,选定的删除。

多窗口功能
 
 sp filename
 打开一个新窗口。如果只有sp,则把当前文件用两个窗口打开。
 ctrl+w按两次 ctrl+w+上 ctrl+w+下
 顺序切换窗口,定向切换窗口,上下可以用k与j代替。
 按法是ctrl+w后,放开ctrl,补上k或j.

 
 
 

 

 

 

 

 

更多推荐

vi vim 常用归纳