Vim的常用指令

起因

在很早以前,大家想在windows里面使用linux大多都是通过装双系统或者virtual box还是vmware的虚拟机搞起来的,但是随着docker和k8s这些容器技术的发展和windows自己提供的wsl2,接下去,已经很少有人使用虚拟机了。但是容器机器存在的一个很大的问题就是不带UI界面。以前的话,我在双系统的ubuntu中,还能够通过gedit或者visual code进行可视化编写,现如今由于没有UI界面,更多的人就关注vim的指令。

因为用得少,每次使用vim指令就还得查一次,挺麻烦的,写个文章记录一下。

介绍一下Vim

vi

VI 是一种文本编辑器,全称为 Visual Editor,最初由 Bill Joy 在 BSD Unix 中开发。它具有高度可定制性,可以在不同的操作系统和平台上运行,并支持多种文本格式。

vim

Vim 是一种文本编辑器,它支持多种操作系统和平台。Vim 的全称是 "Vi IMproved",它是 Vi 的增强版。Vi 是一种早期的文本编辑器,它最初由 Bill Joy 在 BSD Unix 中开发。Vim 继承了 Vi 的基本功能和操作方式,并添加了许多新的功能和特性。

  1. 兼容性:Vi 和 Vim 都是基于 Vi 的开发,但 Vim 对 Vi 的兼容性更好。Vim 可以打开和编辑 Vi 文件,但 Vi 不能打开和编辑 Vim 文件。

  2. 功能性:Vim 功能更加强大,支持更多的功能,例如代码补全、编译、错误跳转等,而 Vi 的功能相对较少。

  3. 操作模式:Vi 和 Vim 都有命令模式和编辑模式,但 Vim 增加了一种叫做"可视化模式"的模式,可以更好地显示和编辑文本。

  4. 快捷键:Vi 和 Vim 都支持快捷键操作,但 Vim 的快捷键更加灵活和强大,可以自定义和组合使用。

  5. 插件和扩展:Vim 支持更多的插件和扩展,可以增强功能和适应不同的编辑需求。

正文

  1. 打开文件

    vim demo.txt

  2. 编辑文件

bash 复制代码
//在vim编辑器里面的指令

:open [文件路径]  #打开文件
:save     #保存文件
:q!       #不修改强制退出
:wq       #修改保存文件并退出
:/文本    #搜索匹配的文本
n         #next,跳到下一个匹配上的文本
%s/旧内容/新内容/gc   确认
//编辑模式 快捷键 


方向键                  用于上下作用
K上 J下 H左 L右

0                      跳到行首
$                      跳到行位
Esc                    退出编辑模式,进入指令模式
a                      append
x或者delete            删除光标位置后面单个字符
shift+x或者backspace   删除光标位置前面的单个字符 

dd                    删除所在的行
ndd                   删除当前往下n行


yy                    复制当前行
nyy                   复制当前往下n行
p                     粘贴

u                     undo 撤销上一次行动

ctrl + f              forward 翻整页
ctrl + b              backward 向后翻整页
ctrl + d              down  翻半页
ctrl + u              up    向上翻半页

后续持续更新,欢迎评论区继续补充

相关推荐
明灯L17 分钟前
《深度剖析 Linux 权限管理:从基础到进阶,解锁系统安全密钥》
linux·运维·全网最全权限管理·小白0基础
xiecoding.cn43 分钟前
Sublime Text使用教程(用Sublime Text编写C语言程序)
c语言·c++·青少年编程·编辑器·sublime text
是覆盖对于变化44 分钟前
ubuntu22.04 进入不了系统设置
linux·ubuntu
应以大橘为重1 小时前
interrupt子系统中的数据结构
linux·数据结构·驱动开发
kfepiza1 小时前
硬盘分区格式方案之 MBR(Master Boot Record)主引导记录详解 笔记250407
linux·windows·笔记
mzak1 小时前
已经安装了pip,出现pip command not found【解决方法】
linux·pip·python3
南风与鱼1 小时前
Linux 线程池
linux·线程池
Mazy.v2 小时前
Linux图形化界面
linux·运维·数据库
Linux技术芯2 小时前
#Linux内存管理# 在ARM32系统中,页表是如何映射的?在ARM64系统中,页表又是如何映射的?
linux
小王努力学编程2 小时前
【Linux网络编程】UDP Echo Server的实现
linux·运维·服务器·网络·c++·学习·udp