VIM常用命令总结

来源:互联网 发布:js将图片转换成base64 编辑:程序博客网 时间:2024/04/28 07:20
闲来无事,看看上次写博客的日期,发现已经好久没总结过了,实在罪过啊!
由于,在最近项目中用到VIM命令,所以花点时间总结下也是好的。VIM命令太多了,完全没必要记那么多,记些常用的就好,下面的一些命令是我使用Linux系统时使用频率比较高的。

vim是vi的增强版,而vi是各大Linux发行版都会自带的编辑器。既然vim是vi的增强版,那vim肯定比vi的功能更加强大了(语法自动着色等等)。当你在命令窗口下输入vim时,有可能会提示vim命令找不到。这是因为各大Linux发行版并不都会自带vim,那我们就要自己安装了,安装方法视具体Linux发行版而定(在各大发行版中VI命令都是一样的)。 vim是一个好的程序员的神器,如果一个开发人员不会vim(VI)或Emacs,我想多半是会被鄙视的。

vim有三种模式:一般,命令,编辑

默认的是一般模式。三种模式之间可以转换:
    一般模式进入编辑模式: O,o,A,a,R,r,I,i
    编辑模式进入一般模式:ESC
    一般模式进入命令模式: : , /, ?
   编辑模式和命令模式之间不能转换。

常用命令:
一般模式下:
 i:  在当前光标插入(配合HOME End)
 a: 在目前光标的下一个字符插入

gg:跳到文件的第一行
G:跳到文件的最后一行 
nG(n代表数字):跳到第n行
n+Enter(n为数字):向下移动n行

0(HOME):跳到行的开头
$(END):跳到行的尾

dd:删除光标所在行
dG:删除光标所在行到最后一行
dgg(d1G):删除光标所在行到第一行
ndd(n为数字):向下删除n行
d$:删除光标所在位置到行最尾的字符
d0:删除光标所在位置到行最前的字符

yy:复制当前行
nyy(n代表数字):向下复制n行
y1G(ygg):复制当前行到第一行
yG:复制当前行到最后一行
y0:复制光标所在位置到行第一个字符
y$:复制光标所在位置到行最后一个字符

p:在当前行的下一行粘贴
P:在当前行的上一行粘贴

u:撤销(相当于Windows的Ctrl+Z)

命令模式:
/word:向下查找word
?word:向上查找word
n:重复前一个查找

:n1,n2s/old/new/g:n1,n2代表数字,old,new分别代表旧,新字符串,g代表全局替换,s替换的意思。
:1,$s/old/new/gc:代表从第一行到最后一行查找old字符串,并替换为new字符串,并提示用户。

:w 保存
:wq 保存,然后离开
:q! 强制离开,不保存
:w+filename 把文件另存为

:set nu 显示行号


VIM的块选择(选取多行或多列)功能(一般模式下):

v: 字符选择
V: 行选择(同时选择多行)
Ctrl+v:块选择(可以用矩形选择)
y: 复制
p:粘贴
d:删除


VIM的多文件编辑(命令模式下):

:n :上一个文件
:N :下一文件
:files : 查看所有打开的文件
:sp+filepath :在VIM中分割一个窗口,打开filepath文件

下面是在多文件编辑的一般模式下:
Ctrl+w+[方向键] : 窗口之间切换
Ctrl+w+q : 离开当前窗口
 
0 0