您的位置:首页 > 其它

VIM使用学习笔记 : 按键说明

2015-05-25 01:13 218 查看
VIM有三种模式:

一般模式

上下左右移动光标,删除字符或删除整行,复制粘贴

编辑模式

i I i O a A r R 进入编辑模式

命令模式

在一般模式种输入 : / ?,可以将光标移动到最下面那一行。在这个模式种,可以提供你查找数据的操作,而读取、保存、大量替换字符、离开vi、显示行号等的操作都是在这个模式中。

按键说明:

=========================================

一般模式:光标移动、复制粘贴、查找替换

=========================================

移动光标的方法:

-----------------------------------------

hjkl 和方向键:上下左右移动光标,前面可以加数字:20j,代表向下移动20行。

ctrl + f : pagedown

ctrl + b : pageup

ctrl + d : 屏幕向下移动半页

ctrl + u : 屏幕向上移动半页

n<space> : 20<space> 光标后移20个字符距离

0或home键 : 移到行首

$或end键 : 移到行末

H : 光标移动到这个屏幕的最上方那一行的第一个字符

M : 光标移动到这个屏幕的中央那一行的第一个字符

L : 光标移动到这个屏幕的最下方那一行的第一个字符

G : 移动到这个文件的最后一行

nG : 移动到这个文件的第n行: 20G,移动到20行,可配合:set nu

gg : 移动到这个文件的第一行,相当于1G

-----------------------------------------

查找与替换的方法:

-----------------------------------------

/word : 向下查找一个名称为word的字符串

?word : 向上查找一个名称为word的字符串

n : 重复前一个查找的操作,向下

N : 重复前一个查找的操作,向上

:n1,n2s/word1/word2/g : n1和n2为数字。在n1与n2行之间寻找word1这个字符串,并将该字符串替换成word2。比如:在100与200行之间查找vbird并替换为VBIRD则用“100,200s/vbird/VBIRD/g”

:1,$s/word1/word2/g : 从第一行到最后一行查找word1字符串,并将该字符串替换为word2

:1,$s/word1/word2/gc : 从第一行到最后一行查找word1字符串,并将该字符串替换为word2.且在替换前显示提示字符给用户确认是否需要替换

-----------------------------------------

删除、复制与粘贴

-----------------------------------------

x,X : 在一行字中,x = Delete, X = Backspace

nX,nX : 删除n个字符,比如:10x,10X,含义同上

dd : 删除光标所在那一行

ndd : 删除光标那行开始的向下n行

d1G : 删除光标所在行到第一行的所有数据

dG : 删除光标所在行到最后一行的所有数据

d$ : 删除从光标所在处到该行的最后一个字符

d0 : 删除从光标所在到该行的第一个字符

yy : 复制光标所在行

nyy : 复制光标所在的向下n行,例如20yy则是复制20行。

y1G : 复制光标所在行到第一行的所有数据

yG : 复制光标所在行到最后一行的所有数据

y0 : 复制光标所在字符到该行行首的所有数据

y$ : 复制光标所在字符到该行行尾的所有数据

p,P : p为将已复制的数据在光标下一行粘贴,P则为粘贴在光标上一行。

J : 将光标所在行与下一行的数据接合成同一行

c : 重复删除多个数据,例如向下删除10行,10cj

u : 撤消

ctrl+r : 恢复

. : 重复前一个操作

=========================================

第二部分:一般模式切换到命令行模式的可用的按钮说明

-----------------------------------------

i,I : 进入插入模式,i为从目前光标所在处插入,I为从光标所在行的第一个非空格字符处开始插入

a,A : 进入插入模式,a为从目前光标所在的那一个字符处插入,A为从光标所在行的最后一个字符处开始插入

o,O : o为在目前光标所在的下一行处插入新的一行;O为在目前光标所在处的上一行插入新的一行

r,R : r只会替换光标所在的那一个字符一次;R会一直替换光标所在的文字,直到按下Esc为止。

=========================================

第三部分:一般模式切换到命令行模式的可用的按钮说明

-----------------------------------------

w : 写入

w! : 若文件属性为只读时,强制写入该文件。能否写入成功,还是与该文件的文件权限有关。

q : 退出

q! : 放弃修改并退出

wq : 保存后离开

wq! : 强制保存后离开

ZZ : 若文件没动,则不保存离开,若文件已经被更动过,则保存后离开

w[filename] : 将编辑的数据保存为另一个文件,比如: w newfile.txt

r[filename] : 在编辑的数据中,读入另一个文件的数据,即将"filename"这个文件内容加到光标所在行后面

n1,n2 w [fielname] : 将n1到n2的内容保存成filename这个文件

! commond : 暂时离开vi到命令行模式下执行commond的显示结果。例如:! ls /home 即可在vi中查看/home下面以ls输出的文件信息

set nu : 显示行号

set nonu : 取消行号

版权声明:本文为博主原创文章,未经博主允许不得转载。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: