Vim的基础命令

移动光标

H (左) J (上) K (下) L (右)
$ 表示移动到光标所在行的行尾,
^ 表示移动到光标所在行的行首的第一个非空白字符。
0 表示移动到光标所在行的行首。
W 光标向前跳转一个单词
w 光标向前跳转一个单词
B 光标向后跳转一个单词
b 光标向后跳转一个单词
G 移动光标到文件最后一行开头
gg 移动光标到文件第一行开头
:set nu 显示行标

数字G 移动光标到指定行
数字gg 移动光标到指定行

保存退出

:w 保存文件
:wq 保存并退出
:q 退出
:q! 强制退出

帮助

:help 获取帮助信息,如我知道:s是替换文本,但是怎样使用这个命令呢?

输入:help :s命令来查询它的帮助信息:

于是我就知道可以用:s/"gg"/gg/ 来替换文本。

执行外部命令

:! 执行外部命令,如ls ,pwd
:.! 执行外部命令,并将结果插入到光标所在行

删除

数字+X 删除光标左边的【数字】个字符,不加数字,就是删除一个字符
数字+x 删除光标右边的【数字】个字符,不加数字,就是删除一个字符
数字+C 删除光标所在行开始的【数字】行,不带数字就是一行,并可以马上开始输入新内容。
数字+c+$ 删除光标所在行开始的【数字】行,不带数字就是一行,并可以马上开始输入新内容。
数字+cc 删除光标所在行开始的【数字】行,不带数字就是一行,并可以马上开始输入新内容。
c+数字w 删除从光标开始到第【数字】个空格之间的字符,并可以马上开始输入内容。简单点记,就是改写【数字】个单词。如果没有带上数字,那就是一个单词。
数字+f+字符 直接将光标定位到光标右边 出现这个字符的第【数字】个上
数字+t+字符 直接光标定位到光标右边 出现这个字符的第【数字】个前面
数字+F+字符 直接光标定位到光标左边 出现这个字符的第【数字】个上
数字+T+字符 直接光标定位到光标左边出现这个字符的第【数字】个前面

( 移动光标到上一句
) 移动光标到下一句
{ 移动光标到上一段
} 移动光标到下一段

复制粘贴

数字+D 剪切 光标所在行开始【数字】行字符,不加数字,就是当前行
数字+d+$ 剪切 光标所在行开始【数字】行字符,不加数字,就是当前行
数字+dd 剪切 光标所在行开始【数字】行字符,不加数字,就是当前行
d+w 剪切光标所在位置开始到第一个空格结束的字符串,对英文来说可以简单点来理解:剪切一个单词。

数字+Y 复制 光标所在行开始【数字】行字符,不加数字,就是当前行
数字+y+$ 复制 光标所在行开始【数字】行字符,不加数字,就是当前行
数字+yy 复制光标所在行开始【数字】行字符,不加数字,就是当前行

P:Paste 的意思
P :粘贴
p:粘贴

查找

:/pattern 查找pattern
:?pattern 查找pattern
N : 上一个查找
n :下一下查找

选择

V 选择光标所在行
v 选择光标所在的字符
U 将字母变大写

撤销操作

u 撤销操作

换行

O 在光标所在行的顶部开一新行
o 在光标所在行的底部开一新行

插入

A 在光标前面插入字符
a 在光标后面插入字符

替换文本

:s/patten/replace/ 搜索符合的pattern用replace字符串替换
数字R 将光标定在要替换的文本开头,按大写R,开始输入替换的内容,内容会覆盖掉原来的字符,输入完成按Esc,如果有数字,则会重复【数字】次刚刚替换的文本。

数字r 将光标定在要替换的字符上,按r,开始输入替换的内容,内容会覆盖掉原来的字符,数字是多少就是覆盖多少个字符,输入完成按Esc,如果有数字,则会重复【数字】次刚刚替换的字符。

数字S 将光标所在行开始的【数字】行,直接删除掉,直接输入新的内容进行内容替换,其余没有删除掉的不受影响,如果没有带【数字】,就是一行。

数字s 将光标所在处开始的【数字】个字符,直接删除,直接输入内容进行替换,其余没有删除掉的不受影响,如果没有带【数字】,就是一个字符。

打开文件

打开vim

c 复制代码
~$ vim

e: edit的意思
:e 文件名 在vim中打开一个文件来编辑

相关推荐
嵌入小生00731 分钟前
标准IO---核心函数接口延续(嵌入式Linux)
c语言·vscode·vim·嵌入式·小白·标准io·函数接口
.小墨迹38 分钟前
apollo学习之借道超车的速度规划
linux·c++·学习·算法·ubuntu
LYOBOYI1231 小时前
vscode界面美化
ide·vscode·编辑器
Lsir10110_1 小时前
【Linux】中断 —— 操作系统的运行基石
linux·运维·嵌入式硬件
Sheffield1 小时前
command和shell模块到底区别在哪?
linux·云计算·ansible
历程里程碑1 小时前
Linux20 : IO
linux·c语言·开发语言·数据结构·c++·算法
郝学胜-神的一滴1 小时前
深入浅出:使用Linux系统函数构建高性能TCP服务器
linux·服务器·开发语言·网络·c++·tcp/ip·程序人生
承渊政道1 小时前
Linux系统学习【Linux系统的进度条实现、版本控制器git和调试器gdb介绍】
linux·开发语言·笔记·git·学习·gitee
技术路上的探险家1 小时前
Ubuntu下Docker与NVIDIA Container Toolkit完整安装教程(含国内源适配)
linux·ubuntu·docker
代码AC不AC1 小时前
【Linux】深入理解缓冲区
linux·缓冲区·标准错误