Vim常用命令

进入vim的命令:

vim filename               //打开或新建文件,并将光标置于第一行首

vim +n filename            //打开文件,并将光标置于第n行首

vim + filename             //打开文件,并将光标置于最后一行首

vim +/pattern filename     //打开文件,并将光标置于第一个与pattern匹配的串处

vim -r filename            //在上次正用vim编辑时发生系统崩溃,恢复filename

vim filename.filename     //打开多个文件,依次编辑

 

Vim配置:

all                        //列出所有选项设置情况

term                       //设置终端类型

ignorance                  //在搜索中忽略大小写

list                       //显示制表位(Ctrl+I)和行尾标志($)

number                     //显示行号

report                     //显示由面向行的命令修改过的数目

terse                      //显示简短的警告信息

warn                       //在转到别的文件时若没保存当前文件则显示NO write信息

nomagic                    //允许在搜索模式中,使用前面不带“\”的特殊字符

nowrapscan                 //禁止vi在搜索到达文件两端时,又从另一端开始

mesg                       //允许vi显示其他用户用write写到自己终端上的信息

:set number / set nonumber //显示/不显示行号

:set ruler /set noruler    //显示/不显示标尺

:set hlsearch              //高亮显示查找到的单词

:set nohlsearch            //关闭高亮显示

:syntax on                 //语法高亮

:set nu                    //显示行号

:set tabstop=4             //设置tab大小

:set softtabstop=4

:set autoindent            //自动缩进

:set cindent               //C语言格式里面的自动缩进

 

移动光标:

:k nk                     //向上移动n

:j nj                     //向下移动n

:h nh                     //向左移动n

:l nl                     //向右移动n

space                      //光标右移一个字符

Backspace                  //光标左移一个字符

Enter                      //光标下移一行

wW                    //光标右移一个字至字首

bB                    //光标左移一个字至字首

eE                    //光标右移一个字至字尾

)                          //光标移至句尾

(                          //光标移至句首

}                          //光标移至段落开头

{                          //光标移至段落结尾

n$                         //光标移至第n行尾

H                          //光标移至屏幕顶行

M                          //光标移至屏幕中间行

L                          //光标移至屏幕最后行

0                          //(注意是数字零)光标移至当前行首

^                          //移动光标到行首第一个非空字符上去

$                          //光标移至当前行尾

gg                         //可以移到第一行

G                          //移到最后一行

f<a>                     //移动光标到当前行的字符a

F                          //相反

%                          //移动到与制匹配的括号上去(),{},[],<>等。

nG                         //移动到第n行上

G                          //到最后一行

 

屏幕翻滚类命令:

Ctrl+u                     //向文件首翻半屏

Ctrl+d                     //向文件尾翻半屏

Ctrl+f                     //向文件尾翻一屏

Ctrlb                     //向文件首翻一屏

nz                         //将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部

 

插入文本类命令

i                          //在光标前

I                          //在当前行首

a                          //光标后

A                          //在当前行尾

o                          //在当前行之下新开一行

O                          //在当前行之上新开一行

r                          //替换当前字符

R                          //替换当前字符及其后的字符,直至按ESC

s                          //从当前光标位置处开始,以输入的文本替代指定数目的字符

S                          //删除指定数目的行,并以所输入文本代替之

ncwnCW                //修改指定数目的字

nCC                        //修改指定数目的行

 

删除命令

xX                    //删除一个字符,x删除光标后的,X删除光标前的

dw                         //删除一个单词

dnw                        //删除n个单词

dne                        //也可,只是删除到单词尾

do                          //删至行首

d$                         //删至行尾

dd                         //删除一行

ndd                        //删除当前行及其后n-1

dnl                        //向右删除n个字母

dnh                        //向左删除n个字母

dnj                        //向下删除n

dnk                        //向上删除n

cnw[word]                  //nword改变为word

C$                         //改变到行尾

cc                         //改变整行

shift+j                    //删除行尾的换行符,下一行接上来了.

 

复制粘贴:

p                          //粘贴用xd删除的文本

ynw                        //复制n个单词

yy                         //复制一行

ynl                        //复制n个字符

y$                         //复制当前光标至行尾处

nyy                        //拷贝n

 

撤销:

u                          //撤销前一次的操作

shif+u(U)                  //撤销对该行的所有操作。

 

 

搜索及替换命令

/pattern                   //从光标开始处向文件尾搜索pattern

?pattern                   //从光标开始处向文件首搜索pattern

n                          //在同一方向重复上一次搜索命令

N                          //在反方向上重复上一次搜索命令

cw[newword]                //替换为newword

n                          //继续查找

.                          //执行替换

:s/p1/p2/g                 //将当前行中所有p1均用p2替代,g表示执行 用c表示需要确认

:n1,n2 s/p1/p2/g           //将第n1n2行中所有p1均用p2替代

:g/p1/s//p2/g               //将文件中所有p1均用p2替换

:1,$ s/string1/string2/g   //在全文中将string1替换为string2

 

书签:

m[a-z]                     //在文中做标记,标记号可为a-z26个字母

`a                         //移动到标记a

 

 

visual 模式:

v                          //进入visual 模式

V                          //进入行的visual 模式

ctrl+v                     //进如块操作模式用oO改变选择的边的大小

在所有行插入相同的内容如include<,操作方法如下:

将光标移到开始插入的位置,CTRL+V进入VISUAL模式,选择好模块后按Ishift+i),后插入要插入的文本,[ESC]完成

 

行方式命令:

:n1,n2 co n3           //n1行到n2行之间的内容拷贝到第n3行下

:n1,n2 m n3            //n1行到n2行之间的内容移至到第n3行下

:n1,n2 d               //n1行到n2行之间的内容删除

:n1,n2 w!command       //将文件中n1行至n2行的内容作为command的输入并执行之

                        //若不指定n1,n2,则表示将整个文件内容作为command的输入

 

宏:

q[a-z]                 //开始记录但前开始的操作为宏,名称可为【a-z,然后用q终止录制宏

reg                    //显示当前定义的所有的宏,@[a-z]来在当前光标处执行宏[a-z]

 

窗口操作: 

:split                 //分割一个窗口

:split file.c          //为另一个文件file.c分隔窗口

:nsplit file.c         //为另一个文件file.c分隔窗口,并指定其行数

ctrlw                 //在窗口中切换

:close                 //关闭当前窗口

 

文件及其他:

:q                     //退出vi

:q!                    //不保存文件并退出vi

:e filename            //打开文件filename进行编辑

:e!                    //放弃修改文件内容,重新载入该文件编辑

:w                     //保存当前文件

:wq                    //存盘退出

:ZZ                    //保存当前文档并退出VIM

:!command              //执行shell命令command

:r!command             //将命令command的输出结果放到当前行

:n1,n2 write temp.c    //将本文件中的n1,n2行写入temp.c这个文件中去

:read file.c           //将文件file.c的内容插入到当前光标所在的下面

:0read file.c          //将文件file.c的内容插入到当前文件的开始处(0行)

:nread file.c          //将文件file.c的内容插入到当前文件的第n行后面

:read !cmd             //将外部命令cmd的输出插如到当前光标所在的下面

 

帮助:

:help                  //查看帮助文档,在这之中,CTRL+] 进入超连接,CTRL返回。

:help subject          //看某一主题的帮助,ZZ 退出帮助

 

其它常用:

:newtab                //新建标签

:gt                    //转至下一个标签

:gT                    //转到上一个标签

:au GUIEnter * simalt ~x   //启动时最大化

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值