精心整理,VIM编辑器的常用命令

01.新建&打开文件

  • $ vim main.c
    其中$是用户命令提示符

  • $ vim main.c +3 //打开文件并定位到第3行

  • $ vim main.c + //打开文件直接定位到文件末尾

02.三种工作模式

在这里插入图片描述
注意:在正常开发时,进入编辑模式前,不要按数字,否则重复

命令行模式
命令字母含义功能
wwrite只保存,不退出
qquit退出,如果没有保存,不允许退出
q!!表示强制强行退出,不保存退出
x与wq是等价模式,精简成一个字母保存并且退出

03.常用命令

  • 重复次数
    在命令模式下,先输入一个数字,再跟上一个命令,可以让该命令重复执行指定次数。比如输入6x可以直接删除printf
  • 移动和选择
  • 编辑操作
  • 撤销和重复
  • 查找替换
  • 编辑
3.1 移动(基本)
  • 1)上下左右
    在这里插入图片描述
  • 2)行内移动
命令英文功能
wword向后移动一个单词
bback向前移动一个单词
0移动到行首
^移动到行首第一个不是空白字符的位置
$移动到行尾
  • 3)行数移动
命令英文功能
gggo移动到文件顶部
Ggo移动到文件末尾
数字Ggo移动到数字对应的行数
  • 4)屏幕移动
命令英文功能
Ctrl+bback向上翻页
Ctrl+fforward向下翻页
HHead屏幕顶部
MMiddle屏幕中间
LLow屏幕底部
3.2 移动(程序)
  • 1)段落移动
命令功能
{上一段
}下一段
  • 2)括号切换
命令功能
%括号匹配及切换
  • 3)标记
命令英文功能
m字母mark添加标记大小写任意的字母
'字母直接定位到标记上面字母所在位置
3.3 选中文本(可视模式)
命令模式英文功能
v可视模式visual从光标位置开始按照正常模式选择文本
V可视行模式visual选中光标经过的完整行
Ctrl+v可视块模式visual垂直方向选中文本

注:可视模式下,可以和移动命令连用,例如:ggvG能够选中所有内容

3.4 撤销和恢复撤销
命令英文功能
uundo撤销上次的命令
Ctrl+rredo恢复撤销的命令
3.5 删除文本
命令英文功能
xcut删除光标所在字符,或者选中文字
d(移动命令)delete删除移动命令对应的内容
dddelete删除光标所在行,可以ndd删除n行
Ddelete删除至行尾
  • 删除命令可以和移动命令连用,以下是常见的组合命令:
 dw          	   		//从光标位置删除到单词末尾
 d0				  		//从光标位置删除到一行的起始位置
 d}   		           	//从光标位置删除到段落结尾
 ndd				    //从光标位置向下连续删除n行
 d行号G            	    //从光标所在行删除到指定行号之间的所有代码
 d'a				    //从光标所在行删除到标记a之间的所有代码
3.6 复制、粘贴
命令英文功能
y(移动命令)copy复制
yycopy复制一行,可以nyy复制多行
ppaste粘贴

注意

  • vi中的文本缓冲区只有一个,和系统中的剪切板不是同一个,如果后续做过复制、剪切操作,之前缓冲区中的内容会被替换
  • 所以在其他软件中使用Ctrl+C复制的内容,不能再vi中通过p命令粘贴,可以在编辑模式下使用鼠标右键粘贴
  • 命令dx相当于图形界面中的Ctrl+x
3.7 替换
命令英文功能工作模式
rreplace替换当前字符命令模式
Rreplace替换当前光标后的字符替换模式
3.8 缩排和重复执行【常用】
命令功能
>>向右增加缩进
<<向左减少缩进
.重复上次命令

注:在可视模式下,缩排命令只需要是使用一个>或者<

3.9 查找
  • 1)常规查找
命令功能
/str查找str

查找到指定内容之后,使用Next查找下一个出现的位置:
n:查找下一个
N:查找上一个

  • 2)单词快速匹配
命令功能
*向后查找当前光标所在单词
#向前查找当前光标所在单词
3.10 查找并替换
  • 1)全局替换
:%s/旧文本/新文本/g
  • 2)可视区域替换
 :s/旧文本/新文本/g
  • 3)确认替换(推荐用)
:%s/旧文本/新文本/gc

注:c表示confirm

1.y-yes替换
2.n-no不替换
3.a-all替换所有
4.q-quit退出替换

3.11 插入命令
命令英文功能频率
iinsert在当前字符前插入文本常用
Iinsert在行首插入文本较常用
o在当前行后面插入一空行,光标定位在行首常用
O在当前行后面插入一空行,光标定位在行尾常用
aappend(追加)在当前字符后添加文本少用
Aappend在行末添加文本较常用

04.分屏命令

4.1 末行命令扩展
命令英文功能
:e 文件名(可以输入前几个字母然后按Tab键会自动补全)edit打开对应文件
:e ..在linux中表示当前目录会打开内置的文件浏览器,浏览当前目录下的文件
:n 文件名new新建文件
:w 文件名write另存为,但是仍然编辑当前文件,并不会切换文件,用来阶段性备份代码

提示:

  • 在linux空格多用于将命令与文件名隔开
  • 切换文件之前,必须保证当前这个文件已经被保存
4.2 分屏命令(有用)
  • 使用分屏命令,可以同时编辑和查看多个文件
命令英文功能
:spsplit(分开)横向增加分屏,同一个文件
:sp 文件名split横向增加分屏,本文件和想要打开的文件
:sp ..在linux中表示当前目录横向增加分屏,本文件和在目录中选择的文件
:vspvertical split纵向增加分屏
  • 切换分屏窗口,要先Ctrl+w(w对应的单词是window),再输入以下命令
命令英文功能
wwindow切换到下一个窗口
rreverse互换窗口
cclose关闭当前窗口,但是不能关闭最后一个窗口
qquit退出当前窗口,如果是最后一个窗口,则关闭vi
oother关闭其他窗口

补充:

1、添加多行注释:

   1、esc进入命令行模式;

   2、Ctrl+v切换到块选择模式,然后移动光标选择要注释的多行;

   3、按 大写I  插入,输入注释符号(eg. C/C++中输入//),然后按 两下 esc即可实现多行注释。

需要注意,按大写I 插入。

取消注释:

1、esc进入命令行模式;

2、Ctril+v切换到块选择模式,然后移动光标选择要取消注释的多行;

3、按x键取消注释。

2、批量行缩进和缩回
方法一:通过可视模式实现

1、命令模式下按V(可视模式)或Shift+V(可视行模式)打开可视模式
2、按J或K选中需要缩进的行
3、按Shift>缩进一个tab
4、按Shift<缩回一个tab

方法二:末行模式实现

1、末行模式输入        行号1,行号2>    后回车
2、如 :5,10>510行缩进一个tab
3、末行模式输入        行号1,行号2<    后回车
4、如 :5,10<510行缩回一个tab
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值