vim技术总结

2017-12-15  本文已影响57人  淘码小工

vim 是一种程序开发工具,是vi的高级版本,可以用来编辑文本和程序,本文摘抄至<鸟哥的linux私房菜>

1.vim 简介

vim共有三种模式 一般模式编辑模式命令行模式

注意:在vim里面【Tap】键所得到的结果与空格符得到的结果是不一样的

2. 使用vim创建或编辑工具打开文本

//如果wang.txt存在则是打开,如果不存在则是创建和打开
vim wang.txt

3. 按键说明

1. 一般模式下的按钮说明,光标移动,复制粘贴,查找替换
*h*或向左箭头键   光标向左移动一个字符
*j*或向下箭头键   光标向下移动一个字符
*k*或向上箭头键   光标向上移动一个字符
*l*或向右箭头键   光标向有移动一个字符
如果想要多次移动的话,例如向下移动30行,可以使用30j或“30+向下箭头键”的组合按键,即加上想要进行的次数后,进行操作
【Ctrl】+ 【f】   屏幕向下移动一页,相当于【pageDown】【常用】
【Ctrl】+ 【b】   屏幕向上移动一页,相当于【PageUp】 【常用】
【Ctrl】+ 【d】   屏幕向下移动半页
【Ctrl】+ 【u】   屏幕向上移动半页
+   光标移动到非空格的下一行
-   光标移动到费空格的上一行
n<space>          n表示数字。例如20,按下数字后再按空格键,光标会向右移动这一行n个字符。
0 或功能键[Home]   这是数字0,移动到这一行的最前面字符处【常用】
$或者功能键[End]   移动到这一行的最后面字符串【常用】
H    光标移动到这个屏幕的最上方那一行的第一个字符
M    光标移动到这个屏幕的中央那一行的第一个字符
L    光标移动到这个屏幕的最下方的那一行的第一个字符
G    移动到这个文件的最后一行【常用】
nG   n为数字。移动到这个文件的第n行。例如20G则会移动到这个文件的第20行
gg   移动到这个文件的第一行,相当于1G 【常用】
N[Enter]  n为数字。光标向下移动n行【常用】

    //查找
    /word   向下寻找一个名称为Word的字符串。例如要在文件中查找王这个字符串,则输入/王
    ?word   向上寻找一个字符串名称为Word的字符串
    n       这个n是英文按键,代表重复前一个查找的操作。
    N       这个N是英文按键,为“反向”进行前一个查找操作。
    //查找并且替换
    :n1,n2s/world1/word2/g   n1与n2为数字。在第n1与n2行之间查找world1这个字符串,并将该字符串替换为word2。【常用】
    :1,$s/word1/word2/g    从第一行到最后一行查找word1,并将该字符串替换为word2 【常用】
    :1,$s/word1/word2/gc    从第一行到最后一行查找word1字符串,并将该字符串替换为word2。且在替换前显示提示字符给用户确认(confirm)是否需要替换(常用)

    //删除
    xX    在一行字中,x为向后删除一个字符(相当于【Del】按键),X为向前删除一个字符(相当于【Backspace】)【常用】
    nx     n为数字,连续向后删除n个字符。举例来说,我要连续删除10个字符,就用10x
    dd     删除光标所在的那一整行【常用】
    ndd    n为数字,删除光标所在的向下n行,例如20dd则是删除20行【常用】
    d1G     删除光标所在到第一行的所有数据
    dG      删除从光标所在到最后一行的所有数据
    d$      删除从光标所在处到该行的最后一个字符
    d0      哪个是数字0,删除从光标所在处到该行的最前面的一个字符
    
    //复制
    yy       复制光标所在的那一行【常用】
    nyy      n为数字。复制光标所在的向下n行,例如20yy则是复制20行【常用】
    y1G      复制光标所在行到第一行的所有数据
    yG       复制光标所在行到最后一行的所有数据
    y0       复制光标所在的哪个字符到该行行首的所有数据
    y$       复制光标所在的哪个字符到该行行尾的所有数据
    
    //粘贴
    p,P      p为将已复制的数据在光标下一行粘贴。P则为粘贴在光标的上一行。【常用】
    
    J        将光标所在行与下一行结合成同一行
    c        重复删除多个数据,例如向下删除10行【10cj】
    u        复原前一个操作【常用】
   【Ctrl】+ r  从做上一个操作【常用】
   .         小数点,意思是重复前一个操作。如果你想要重复删除,重复粘贴等操作,按下.就好【常用】
   
2. 一般模式切换到编辑模式的可用的按钮说明
//进入插入和替换的编辑模式
i, I 进入编辑模式。
   i为从目前光标所在处插入。
   I为在目前所在行的第一个非空格符处开始插入【常用】
a ,A 进入编辑模式。
   a为从目前光标所在的下一个字符处开始插入。
   A为从光标所在行的最后一个字符处开始插入【常用】
o ,O 进入编辑模式。
   o 为在目前光标所在的下一行处插入新的一行。 
   O 为在目前光标所在处的上一行插入新的一行。 【常用】
r ,R 进入编辑模式。
   r只会替换光标所在的那一个字符一次。
   R会一直替换光标所在的文字,知道按下[Esc]键为止 【常用】
3. 一般模式切换大命令模式的按钮说明
:w     将编辑的数据写入硬盘文件中 【常用】
:w!    若文件属性为“只读”时,强制写入该文件。不过到底能不能写入,还是跟该文件的权限有关。
:q     离开vim 【常用】
:wq    保存后离开,若为:wq!则为强制保存后离开
ZZ     若文件没有更动,则不保存离开,若文件已经被更动过,则保存后离开
:w[filename]  将编辑的数据保存成另一个文件(类似于另存文件)
:r[filename]  在编辑的数据中,读入另外一个文件的数据,即将‘filename’这个文件内容加到光标所在行的后面
:n1,n2 w [filename] 将n1到n2 的内容保存成filename这个文件
:set nu    显示行号,设置之后,会在每一行的前缀显示该行的行号
:set nonu   与set nu相反,为取消行号

4. Vim块选择(Visual Block)

v    字符选择,会将光标经过的地方反白选择
V    行选择,会将光标经过的行反白选择
[Ctrl] +v   块选择,可以用长方形的方式选择数据
y     将反白的地方复制起来
d     将反白的地方删除

5.vim多文件编辑

如果想在两个或多个文件之间进行复制粘贴功能,就要使用vim的多文件编辑

//使用vim打开多个文件
vim filename1, filename2
//多文件编辑的按键
:n     编辑下一个文件
:N     编辑上一个文件
:files   列出目前这个vim的打开的所有文件

6. 退出vim

当在命令行模式下,输入“:wq”保存后离开vim

如果你打开的文件权限不对,没有写入权限的情况下,可以使用“强制写入”,使用“:wq!”,可以在你权限可以改变的情况下可以使用。

上一篇下一篇

猜你喜欢

热点阅读