vim常用操作命令-程序员宅基地

技术标签: 编辑器  Linux  linux  vim  

目录

1. vim介绍

软件安装

CentOS:

Ubuntu:

2. vim常用操作命令

普通模式(Normal Mode)

光标移动

删除文本

复制和粘贴

撤销和重做

查找内容

文本移动

插入模式(Insert Mode)

进入编辑模式

退出编辑模式

命令行模式(Command-Line Mode)

保存文件

搜索替换

可视模式(Visual Mode)

进入可视模式

选择文本

复制和剪切

替换和删除

缩进和反向缩进

搜索和替换

取消选择


1. vim介绍

Vim是一种文本编辑器,它是Unix和类Unix操作系统上的一种常用编辑器。它的特点是高度可定制、功能强大,以及可以通过键盘快捷键进行操作。Vim是Vi编辑器的改进版本,Vi是Unix系统中最早的文本编辑器之一。Vim支持语法高亮、多窗口编辑、插件扩展等功能,被广泛用于软件开发、系统管理等领域。

软件安装

CentOS:

终端中输入以下命令并按下 Enter 键:

sudo yum install vim -y

-y 参数的作用是在安装过程中自动应答所有提示,无需手动确认。

Ubuntu:

运行命令:

sudo apt install vim -y

2. vim常用操作命令

Vim 是一个功能强大的文本编辑器,它提供了许多操作命令来编辑文本文件。以下是一些 Vim 的常用操作命令:

普通模式(Normal Mode)

在普通模式下(即用vim命令打开文件后首次进入的模式),键盘输入被解释为命令,而不是输入文本。这个模式下你可以移动光标、删除、复制、粘贴、查找等操作,也可以切换到其他模式。

光标移动

k: 向上移动一行。

j: 向下移动一行。

h: 向左移动一个字符。

l: 向右移动一个字符。

0(零): 移动到行首。

$: 移动到行尾。

shift+6 (^): 移动到行首。 

gg: 移动到文件的第一行

数字+G: 回到指定行。

G: 移动到文件的最后一行。

ctrl+f:  下一屏。

ctrl+b:上一屏。

删除文本

x: 删除光标所在位置的字符。

dd: 删除当前行。

dw: 删除从当前位置到单词末尾的字符。

d$: 删除从当前位置到行尾的字符。

gg+d+G: 删除所有文本,按gg光标回到首行(如已在首行可忽略),d+G删除所有文本。

复制和粘贴

yy: 复制当前行。

yw: 复制从当前位置到单词末尾的字符。

p: 粘贴已复制的内容在光标后。

撤销和重做

u: 撤销上一次操作。

ctrl + r: 重做上一次被撤销的操作。

查找内容

/搜索的内容: 在文件中向前搜索关键字。

?搜索的内容: 在文件中向后搜索关键字。

文本移动

>>: 往右缩进。

<<: 往左缩进。

插入模式(Insert Mode)

也叫编辑模式,在插入模式下,你可以输入文本。当你按下 iao 等键时,Vim 会进入插入模式,允许你编辑文本。

进入编辑模式

i: 在当前光标位置之前插入文本。

shift+i (I): 在行首插入文本。

a: 在当前光标位置之后插入文本。

shift+a (A): 在行末插入文本。

o: 在当前行之后新建一行,并在新行中开始插入文本。

shift+o (O): 在当前行之前新建一行,并在新行中开始插入文本。

退出编辑模式

按下 Esc 键即可退出编辑模式,并回到命令模式。

命令行模式(Command-Line Mode)

在命令行模式下,你可以输入各种命令,比如保存文件、退出 Vim、执行搜索替换等。进入命令行模式通常是通过按下 : 键。

保存文件

:w: 将文件保存(写入)到磁盘,但不退出 Vim。

:wq:x: 保存文件并退出 Vim。

:q!: 强制退出 Vim,不保存修改(相当于放弃修改)。

搜索替换

:s/要替换的内容/替换后的内容/g: 当前行替换。

:开始行数,结束行数s/要替换的内容/替换后的内容:局部替换。

:%s/要替换的内容/替换后的内容/g: 全局替换。

可视模式(Visual Mode)

Vim 的可视模式是一种编辑模式,它允许你选择文本以便进行操作,如复制、剪切、替换等。在可视模式下,你可以通过移动光标来选择文本块,然后对选中的文本进行操作。

进入可视模式

v: 进入普通可视模式。

shift+v (V): 进入可视行模式。

ctrl + v: 进入可视块模式,通常用于操作矩形区域的文本。

选择文本

使用方向键或 hjkl 键移动光标以选择要操作的文本。

如果你想选择整行,只需按下 V 键。

如果你想选择文本块(例如矩形区域),可以使用 Ctrl + v 进入可视块模式。

复制和剪切

选择要复制或剪切的文本。

按下 y 键复制选中的文本,或者按下 d 键剪切选中的文本。

粘贴

将光标移动到你想要粘贴的位置。

按下 p 键将复制或剪切的文本粘贴到当前位置之后。

替换和删除

选择要替换或删除的文本。

按下 c 键进入插入模式,并替换选中的文本。

按下 x 键删除选中的文本。

缩进和反向缩进

选择要缩进或反向缩进的文本。

按下 > 键进行缩进,或者按下 < 键进行反向缩进。

搜索和替换

选择要搜索或替换的文本。

按下 : 进入命令行模式,并输入相应的搜索或替换命令。

取消选择

按下 Esc 键取消当前的文本选择。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_40483419/article/details/137840368

智能推荐

c# 调用c++ lib静态库_c#调用lib-程序员宅基地

文章浏览阅读2w次,点赞7次,收藏51次。四个步骤1.创建C++ Win32项目动态库dll 2.在Win32项目动态库中添加 外部依赖项 lib头文件和lib库3.导出C接口4.c#调用c++动态库开始你的表演...①创建一个空白的解决方案,在解决方案中添加 Visual C++ , Win32 项目空白解决方案的创建:添加Visual C++ , Win32 项目这......_c#调用lib

deepin/ubuntu安装苹方字体-程序员宅基地

文章浏览阅读4.6k次。苹方字体是苹果系统上的黑体,挺好看的。注重颜值的网站都会使用,例如知乎:font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, PingFang SC, Microsoft YaHei, Source Han Sans SC, Noto Sans CJK SC, W..._ubuntu pingfang

html表单常见操作汇总_html表单的处理程序有那些-程序员宅基地

文章浏览阅读159次。表单表单概述表单标签表单域按钮控件demo表单标签表单标签基本语法结构<form action="处理数据程序的url地址“ method=”get|post“ name="表单名称”></form><!--action,当提交表单时,向何处发送表单中的数据,地址可以是相对地址也可以是绝对地址--><!--method将表单中的数据传送给服务器处理,get方式直接显示在url地址中,数据可以被缓存,且长度有限制;而post方式数据隐藏传输,_html表单的处理程序有那些

PHP设置谷歌验证器(Google Authenticator)实现操作二步验证_php otp 验证器-程序员宅基地

文章浏览阅读1.2k次。使用说明:开启Google的登陆二步验证(即Google Authenticator服务)后用户登陆时需要输入额外由手机客户端生成的一次性密码。实现Google Authenticator功能需要服务器端和客户端的支持。服务器端负责密钥的生成、验证一次性密码是否正确。客户端记录密钥后生成一次性密码。下载谷歌验证类库文件放到项目合适位置(我这边放在项目Vender下面)https://github.com/PHPGangsta/GoogleAuthenticatorPHP代码示例://引入谷_php otp 验证器

【Python】matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距-程序员宅基地

文章浏览阅读4.3k次,点赞5次,收藏11次。matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距

docker — 容器存储_docker 保存容器-程序员宅基地

文章浏览阅读2.2k次。①Storage driver 处理各镜像层及容器层的处理细节,实现了多层数据的堆叠,为用户 提供了多层数据合并后的统一视图②所有 Storage driver 都使用可堆叠图像层和写时复制(CoW)策略③docker info 命令可查看当系统上的 storage driver主要用于测试目的,不建议用于生成环境。_docker 保存容器

随便推点

网络拓扑结构_网络拓扑csdn-程序员宅基地

文章浏览阅读834次,点赞27次,收藏13次。网络拓扑结构是指计算机网络中各组件(如计算机、服务器、打印机、路由器、交换机等设备)及其连接线路在物理布局或逻辑构型上的排列形式。这种布局不仅描述了设备间的实际物理连接方式,也决定了数据在网络中流动的路径和方式。不同的网络拓扑结构影响着网络的性能、可靠性、可扩展性及管理维护的难易程度。_网络拓扑csdn

JS重写Date函数,兼容IOS系统_date.prototype 将所有 ios-程序员宅基地

文章浏览阅读1.8k次,点赞5次,收藏8次。IOS系统Date的坑要创建一个指定时间的new Date对象时,通常的做法是:new Date("2020-09-21 11:11:00")这行代码在 PC 端和安卓端都是正常的,而在 iOS 端则会提示 Invalid Date 无效日期。在IOS年月日中间的横岗许换成斜杠,也就是new Date("2020/09/21 11:11:00")通常为了兼容IOS的这个坑,需要做一些额外的特殊处理,笔者在开发的时候经常会忘了兼容IOS系统。所以就想试着重写Date函数,一劳永逸,避免每次ne_date.prototype 将所有 ios

如何将EXCEL表导入plsql数据库中-程序员宅基地

文章浏览阅读5.3k次。方法一:用PLSQL Developer工具。 1 在PLSQL Developer的sql window里输入select * from test for update; 2 按F8执行 3 打开锁, 再按一下加号. 鼠标点到第一列的列头,使全列成选中状态,然后粘贴,最后commit提交即可。(前提..._excel导入pl/sql

Git常用命令速查手册-程序员宅基地

文章浏览阅读83次。Git常用命令速查手册1、初始化仓库git init2、将文件添加到仓库git add 文件名 # 将工作区的某个文件添加到暂存区 git add -u # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,不处理untracked的文件git add -A # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,包括untracked的文件...

分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120-程序员宅基地

文章浏览阅读202次。分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120

【C++缺省函数】 空类默认产生的6个类成员函数_空类默认产生哪些类成员函数-程序员宅基地

文章浏览阅读1.8k次。版权声明:转载请注明出处 http://blog.csdn.net/irean_lau。目录(?)[+]1、缺省构造函数。2、缺省拷贝构造函数。3、 缺省析构函数。4、缺省赋值运算符。5、缺省取址运算符。6、 缺省取址运算符 const。[cpp] view plain copy_空类默认产生哪些类成员函数

推荐文章

热门文章

相关标签