Linux基础开发工具—vim

embedded/2025/3/15 9:16:56/

目录

vim%E7%9A%84%E6%A6%82%E5%BF%B5-toc" name="tableOfContents" style="margin-left:0px">1、vim的概念

vim%E7%9A%84%E5%B8%B8%E8%A7%81%E6%A8%A1%E5%BC%8F-toc" name="tableOfContents" style="margin-left:0px">2、vim的常见模式

vim%E6%A8%A1%E5%BC%8F-toc" name="tableOfContents" style="margin-left:40px">2.1 演示切换vim模式

vim%E5%91%BD%E4%BB%A4%E6%A8%A1%E5%BC%8F%E5%B8%B8%E7%94%A8%E6%93%8D%E4%BD%9C-toc" name="tableOfContents" style="margin-left:0px">3、vim命令模式常用操作

3.1 移动光标

3.2 删除文字

3.3 复制

3.4 替换

vim%E5%BA%95%E8%A1%8C%E6%A8%A1%E5%BC%8F%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4-toc" name="tableOfContents" style="margin-left:0px">4、vim底行模式常用命令

4.1 查找字符

vim%E7%9A%84%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6-toc" name="tableOfContents" style="margin-left:0px">5、vim的配置文件


vim%E7%9A%84%E6%A6%82%E5%BF%B5" name="1%E3%80%81vim%E7%9A%84%E6%A6%82%E5%BF%B5">1、vim的概念

Vim全称是Vi IMproved,即说明它是Vi编辑器的增强版。

Vim是一种多模式编辑器,不同模式下按键功能不同。

vim%E7%9A%84%E5%B8%B8%E8%A7%81%E6%A8%A1%E5%BC%8F" name="2%E3%80%81vim%E7%9A%84%E5%B8%B8%E8%A7%81%E6%A8%A1%E5%BC%8F">2、vim的常见模式

vim的常见模式有三种:命令模式、插入模式、底行模式。

命令模式(Normal mode)

vim打开文件时默认的模式,控制屏幕光标的移动,字符、字或行的删除,移动复制某区段进入插入模式下,或者到底行模式。

插入模式(Insert mode)

只有在插入模式下,才可以做文字输入,按「ESC」键可回到命令模式。该模式是我们后面使用得最频繁的编辑模式。在命令模式下按i\o\a等即可进入插入模式。

底行模式(last line mode)

可以执行文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,按下shift+: 即可进入该模式,按「ESC」键可回到命令模式

三种模式的切换


vim%E6%A8%A1%E5%BC%8F" name="2.1%20%E6%BC%94%E7%A4%BA%E5%88%87%E6%8D%A2vim%E6%A8%A1%E5%BC%8F">2.1 演示切换vim模式

在bash中输入vim+文件名就可以用vim打开文件,此时vim为默认的命令模式

这就是进入了vim且模式为命令模式

从命令模式进入插入模式,需要输入i/o/a。

i\o\a的区别:

i进入后光标在位置不变,但推出后若在一行的首个字符,光标不变,不在就会到上一个字符的位置。

o进入后会光标在上一次的行换行到下一行,退出插入模式回到命令模式后,光标位置不变。

a进入后光标会转移到上一个字符的下一个位置,退出插入模式回到命令模式后,光标会回到在插入模式所处字符的上一个字符位置。

在命令模式下按 : (冒号)即 【shift+;】,就可以进入底行模式


vim%E5%91%BD%E4%BB%A4%E6%A8%A1%E5%BC%8F%E5%B8%B8%E7%94%A8%E6%93%8D%E4%BD%9C" name="3%E3%80%81vim%E5%91%BD%E4%BB%A4%E6%A8%A1%E5%BC%8F%E5%B8%B8%E7%94%A8%E6%93%8D%E4%BD%9C" style="background-color:transparent">3、vim命令模式常用操作

3.1 移动光标

gg:光标定位到文件开头。
shift + g(G):光标定位到文件结尾。
n + shift + g(nG):光标定位到文件第n行。
shift + 6(^):光标定位到行开始。
shift + 4($):光标定位到行结尾。
h、j、k、l:左、下、上、右移动。

3.2 删除文字

x :每按一次,删除光标所在位置的一个字符
n + x :例如,「6x」表示删除光标所在位置的“后面(包含自己在内)"6个字符
X :大写的X,每按一次,删除光标所在位置的“前面”一个字符
n + X :例如,「20X」表示删除光标所在位置的“前面”20个字符

以上都是在一行内的操作。是一行内的前后。
dd :删除光标所在行
n + dd :从光标所在行开始删除n行

3.3 复制

yw :将光标所在之处到字尾的字符复制到缓冲区。
n + yw :复制n个字到缓冲区。
yy :复制光标所在行到缓冲区。
n + yy :例如,「6yy」表示连续复制从光标所在的该行“往下数”6行文字到缓冲区。
p :将缓冲区内的字符粘贴到光标所在位置。

n + p : 例如,「6p」表示连续粘贴从光标所在的该行“往下数”6行。

注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。

u :撤销

ctrl + r :对撤销撤销

dd :剪切

n + dd :剪切n行

3.4 替换

r :替换光标所在的字符

n + r :替换光标所在的后n个字符

shift + r(R) :替换光标所到之处的字符,直到按下「ESC」键为止。

3.5 批量化注释

批量化注释

1、ctrl v(进入可视化模式)

2、h、j、k、l区域选择,j

3、shift + i = I

4、//

5、ESC

批量化去注释

1、ctrl v

2、h、j、k、l区域选择

3、d


vim%E5%BA%95%E8%A1%8C%E6%A8%A1%E5%BC%8F%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4" name="4%E3%80%81vim%E5%BA%95%E8%A1%8C%E6%A8%A1%E5%BC%8F%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4">4、vim底行模式常用命令

列出行号:set nu

跳转到文件中的某一行:n

保存文件:w

离开vim:q,如果无法离开,在 q 后面加 ! 强制离开vim,此时一般并没有退出,按任意键又可以返回vim

保存并退出:wq

分屏:vs 文件名

4.1 查找字符

/ + 关键字 :先按 / 键,再输入想要查找的字符,如果第一次找的关键字不是想要的,可以一直按 n 会往后寻找到需要要的关键字为止。
? + 关键字 :先按 ? 键,再输入想要查找的字符,如果第一次找的关键字不是想要的,可以一直按 n 会往前寻找到需要的关键字为止。


vim%E7%9A%84%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6" name="5%E3%80%81vim%E7%9A%84%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6">5、vim的配置文件

系统中公共的vim配置文件在/etc目录下面,是一个叫vimrc的文件。配置这个文件对所有用户都生效

每个用户的家目录下都有自己的配置文件.vimrc,如果没有可以创建一个。配置这个文件只对该用户有效。

vim的配置就是对这个名为vimrc.vimrc的文件内容的修改。

对于vim的配置,大家可以按照vim的配置代码进行一个一个地配置,也可以在网络上寻找别人公开的vim配置文件进行使用,这里不再赘述。


http://www.ppmy.cn/embedded/172728.html

相关文章

C++ primer plus 类和对象

文章目录 系列文章目录前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据 总结 前言 接着上一篇继续 一 this指针 我们可能看到这个this指针是不知道干什么的,但是我们可以通过一个问题来引入这个,就比如我们上一章的程序,…

【redis】zset 类型:基本命令(上)

set 集合: 唯一无序。(顺序不重要)孙行者、行者孙>同一只猴 list 有序。(顺序很重要)孙行者、行者孙>不同的猴 zset 有序。升序/降序 有序集合 排序的规则是什么? 给 zset 中的 member 引入了…

问问 DeepSeek 什么是网络爬虫

在现代互联网时代,信息的获取和整理变得至关重要,而爬虫(Web Crawler) 是一种自动化工具,帮助我们从网页上提取数据。爬虫在新闻采集、商品比价、天气数据收集等方面应用广泛。 爬虫的工作原理 爬虫的基本工作流程如下…

基于javaweb的SpringBoot宠物平台系统设计与实现(源码+文档+部署讲解)

技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论…

P6772 [NOI2020] 美食家

训练角度:图上的状态转移,倍增 → \rightarrow → 优化状态转移; ▍ 题意 精灵王国共有 n n n 座城市,城市从 1 1 1 到 n n n 编号,其中城市 i i i 的美食能为小 W 提供 c i c_i ci​ 的愉悦值。精灵王国的城市…

【贪心算法4】

力扣452.用最少数量的剪引爆气球 链接: link 思路 这道题的第一想法就是如果气球重叠得越多那么用箭越少,所以先将气球按照开始坐标从小到大排序,遇到有重叠的气球,在重叠区域右边界最小值之前的区域一定需要一支箭,这道题有两…

Linux centos 7 grub引导故障恢复

CentOS 7误删GRUB2可以通过以下步骤恢复: 进入救援模式 1. 插入CentOS 7安装光盘,重启系统。在开机时按BIOS设置对应的按键(通常是F2等),将启动顺序调整为CD - ROM优先。 2. 系统从光盘启动后,选择“…

详解数据库范式

范式 1. 第一范式(1NF)2. 第二范式(2NF)3. 第三范式(3NF)4. BC范式(BCNF,Boyce-Codd Normal Form)5. 第四范式(4NF)6. 第五范式(5NF&a…