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中打开一个文件来编辑

相关推荐
FoldWinCard3 小时前
D5 Linux 网络及端口命令
linux·运维·服务器
零涂毕业设计5 小时前
毕业设计模块开发-OLED显示屏(IIC协议0.96寸)STM32 ESP32 FPGA Linux驱动免费分享
linux·stm32·单片机·嵌入式·esp32·fpga·oled
tedcloud1235 小时前
OmniRoute怎么部署?开源AI模型路由平台Linux部署教程
linux·服务器·人工智能·开源·音视频
霸道流氓气质5 小时前
KMS 密钥管理服务(Key Management Service)原理与实践
linux·服务器·数据库
SakitamaX5 小时前
LVS(Linux Virtual Server)概念详解
linux·运维·lvs
小张同学a.5 小时前
Linux系统管理
linux·运维
阿龙的工作记录6 小时前
深入理解Linux设备驱动模型
linux·嵌入式硬件·工作记录
代码村新手6 小时前
Linux的基本指令
linux·运维·服务器
hkj88086 小时前
Ubuntu 切换java版本
java·linux·ubuntu
撩得Android一次心动8 小时前
Linux编程笔记3【个人用】
linux·笔记