vim的使用

本文介绍了 Vim 编辑器的基本使用方法,包括三种模式间的切换、常用命令、批量操作技巧、多窗口编辑以及替换命令等内容。适用于初学者快速上手 Vim 并提高编辑效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

vi/vim    vim是vi的升级版本

.

.

一、VIM三种模型及相互转换

三个模式:命令模式、插入模式、退出模式

vim abc.txt             //若abc.txt存在,则打开进入命令模式。若abc.txt不存在,则编辑新的abc.txt,不过只有保

                                 存时才会建立;不保存关闭之后仍不存在。

进入命令模式:

vim abc.txt              //vim命令进入后默认是命令模式

vim  abc.txt +7        //进入abc.txt后,直接定位到第7行

vim  main.c +/printf //打开abc.txt后,直接定位到第一个printf 处

Esc                         //插入模式下,按Esc键返回到命令模式

命令模式 --> 插入模式:

           //进入插入模式,光标不动。与"INSERT"效果相同。

A          //进入插入模式,光标到行尾

I            //进入插入模式,光标到行首

o           //进入插入模式,在下方建一行,光标在新建的一行。

O          //进入插入模式,在上方建一行,光标在新建的一行。

退出命令:

:w       //保存

:q        //退出

:wq     //保存并退出。等同于":x"命令

:q!       //强制退出。如果把窗口X掉,会产生垃圾文件。解决方法:把垃圾文件删掉。不要用X掉窗口的方法关闭文件。

:wq!    //强制保存

如果在编辑过程中不小心按了Ctrl+s,vim<span times="" new="" roman";="" mso-hansi-font-family:"times="" roman";mso-bidi-font-family:"times="" color:black;mso-ansi-language:en-us;mso-fareast-language:zh-cn;mso-bidi-language:="" ar-sa"="" style="font-size: 14pt; font-family: 宋体; ">会处于僵死状态,按Ctrl+q可以恢复。

二、VIM常用命令

2.1 常用命令

3+↑                       //光标向上移动三行    应该等价于3+

h、j、k、l            //←、↓、↑、→。有的机器不能用箭头移动,需要用键盘操作。一般用不到,知道即可。

w、b                    //右移一个单词、左移一个单词

(、)                      //一句话一句话的移

{、}                     //一段一段的移

^                          //光标移动到行首。直接1000然后加箭头多快

$                          //光标移动到行尾。直接1000然后加箭头多快

gg                        //光标定位到文档头

G                         //光标定位到文档尾

Ctrl +d                 //向下翻半页

Ctrl +f                  //向下翻一页        forward

Ctrl +u                 //向上翻半页

Ctrl +b                 //向上翻一页         back

H                         //光标定位到当前页首

L                          //光标定位到当前页的最后一行的行首

.

:200  或  200G      //跳到第200行

:set nu                  //加行号ih

:set nonu              //去掉行号

                         //查找  按n就可以往下找,N就可以往上找。n就是next

.

.

cc           //替换。将本行清空

r             //输入一个字符替换光标处的一个字符

R            //从光标处的字符开始替换,后面的字符一个一个被输入的字符覆盖

s             //输入一串字符来替换光标处的字符

.

x            //删除光标所在处的字符

X           //删除光标所在前字符

.

dw         //删除到下一个单词开头

de          //删除到本单词末尾

dE         //删除到本单词末尾包括标点在内

db          //删除到前一个单词

dB         //删除到前一个单词包括标点在内

.

D           //删除光标到行尾

d0          //删除光标位置到本行开头

dd          //删除一行

3dd        //删除这一行及下两行。

.

yy          //复制      单词:yank

5yy        //复制光标以下5行

p           //粘贴到光标所在行的下面

P           //粘贴到光标所在行的上面

u           //一次一次地恢复

U          //一次性恢复

v           //可视化选中。然后y:复制。d:删除。x:剪切。

Ctrl + r  //撤销恢复

.

复制一个单词:

光标移到想要被复制词的词首,输入yw

光标移到想到粘贴的位置,输入p

.

批量操作多行:如批量注释,批量解开注释。

ctrl +v  竖着向下选

shift+i

修改

ESC

.

批量删除:

ctrl +v 竖着选中要删除的东西

按d

.

:%!xxd                 //十六进制模式

:%!xxd -r             //返回文本模式

.

:new 2.c     //再打开一个vim,是横向的SS

:vnew 2.c   //再打开一个vim,是纵向的

:vnew 

.

.

2.2 替换命令

替换:1,5表示:1-5行;$表示最后一行,%代表所有行;g表示某行其余的要替换;i表示不区分大小写。

:s/God/Girl           //只将该行进行替换,如果某一行有多个God,只替换第一个

:s/God/Girl/g        //将该行所有God替换,如果某一行有多个God,也会被替换。

:s/God/Girl/gi       //将该行所有God替换,如果某一行有多个God,也会被替换。并且不区分大小写

.

:1,5s/God/Girl/     //替换1到5行的God,如果某一行有多个God,只替换第一个

:1,5s/God/Girl/g   //替换1到5行所有God.如果某一行有多个God,也会被替换。

:1,5s/God/Girl/gi  //替换1到5行所有God.如果某一行有多个God,也会被替换。并且不区分大小写。i表示不区分大小写。

:2,$ s/God/Girl/gi //替换从第2行到最后一行的所有God。如果某一行有多个God,也会被替换。并且不区分大小写。i表示不区分大小写。

.

:%s/God/Girl/gi   //替换所有行所有God.如果某一行有多个God,也会被替换。并且不区分大小写。i表示不区分大小写。

2.3 vim多窗口 

:sp   :split          //新建一个窗口,将当前窗口(不是全屏幕)分割成两半,他们显示的是相同缓冲区的内容

                              (同一个文件)。这样就可以在两个窗口中浏览相同的文件了。方便在一个地方输入东西,

                              要看另一个地方怎么写的。

:vsp 或:vsplit        //在当前的窗口基础上(不是全屏幕),创建全新的垂直分割的窗口,同样是显示和当前

                               窗口同一个文件内容。

                            //当多个窗口编辑同一个文件时,在任意一个窗口进行编辑(例如删除一行),那么所有相同

                              文件的窗口上都会同时反应效果,因为他们共享同一个文件缓冲区。

:sp  file1               //如果想编辑或浏览另一个文件,而又不想失去在当前文件中的编辑位置,就用新文件的

                              参数传给:split命令

:vsp file1

Ctrl+ww              //窗口之间切换

自动对齐:gg=G

联想:ctrl +p

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

高亮、tab4个空格、编码、

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值