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

相关推荐
RisunJan29 分钟前
Linux命令-readonly(Bash 内建设置只读变量)
linux
林熙蕾LXL2 小时前
VSCode调试
ide·vscode·编辑器
FlightYe2 小时前
FFmpeg移动端硬解机制
linux·网络·ffmpeg·音视频·实时音视频·视频编解码
笨笨没好名字2 小时前
Leetcode刷题python3版第一周(下)
linux·算法·leetcode
潘正翔2 小时前
docker基础_镜像使用
linux·运维·服务器·docker·容器·centos·devops
24计网1王仔寿3 小时前
Linux运维与云计算全栈系统化学习指南(Shell+虚拟化+OpenStack+Docker+公私云实战)
linux·课程设计·数据库开发·微信公众平台·neo4j·命令模式·sequoiadb
2501_942389553 小时前
小米寥寥几家车企设计汽车顶棚
华为·编辑器·时序数据库·harmonyos
DB哥讲数据库3 小时前
rocky linux安装教程:VMware虚拟机图文讲解部署Rocky Linux 9(附镜像包)
linux·运维·服务器
未*望3 小时前
【Linux入坑(二)—全志T133开发板适配USB-电容屏触摸屏驱动(多点触控) 】
linux·运维·服务器
懒鸟一枚3 小时前
为什么 useradd -rs /bin/false service 创建的用户无法用 su 切换?
linux·服务器·数据库