linux——vim编辑器


❀保持低旋律节奏->个人主页

专栏链接:《C++学习》《Linux学习》


文章目录

一、vim认识和使用

vim就是我们说的文本编辑器,vim只能用来写代码

vim随着各种代码编辑环境的出现,vim正在走下坡路。但是vim同c语言在编程中的地位一样,有着无法替代的作用。 vim能够当成快速文本修改工具。直接可以修改里面的东西。

二、vim里的相关概念

vim里面分为三种模式

命令模式------最核心的模式、也是默认模式

插入模式------用来写代码

底行模式

他们三者的转换关系如图所示

------光标移动指令------

hjkl 分别为左下、右上

shift + ^ 移动到本行开头

shift + $ 移动到本行末尾

------切换行数指令------

gg 移动到开头

G 移动到末尾

n + G 移动到第n行

------复制粘贴命令------

n yy 从光标处开始复制n行

n p 从光标处粘贴n次

bash 复制代码
#进入命令模式
4 yy
1 p


------剪切、删除指令------

n dd 从光标处开始剪切n行

n p 从光标处粘贴n次

如果这里不粘贴那就是删除

n x 为从当前行 当前光标删除n个单位

bash 复制代码
#进入命令模式
4 dd
1 p


------撤销、反撤销指令------

进入命令模式 直接输入 u 撤销指令

进入命令试图 直接输入 ctrl r 撤销刚才的指令

👍------批量化注释、批量化删除命令------

  • 批量化删除

1.ctrl v 进入视图模式

  1. HJKL进行上下移动选中

  2. d 进行删除

  • 批量化注释

1 ctrl v 进入试图模式

2.HJKL 进行上下移动选中

3.shift i 进入插入模式

// 进行注释

4.Esc 完成批量化注释

三、底行模式

底行模式其实本质上也是一种命令模式。底行模式中有一个非常实用的

底行模式中如果你打开了一个不存在的文件,没有编辑就退出的花,那么这个文件不会被保存下来。但是如果你编辑了 或者通过w保存了 那么这个文件就可以保存下来

👍------不退出vim进行命令执行------

进入底行模式 前面 ! +命令
下面举一个 将test.c 文件进行汇编、链接、然后输出的样例




------二分、多分视图指令------

vs + 文件名 可以生成二分、多分试图

ctrl +ww 可以移动光标到另一个文件夹里面

------批量搜索关键字、批量化修改指令------

vim 底行模式下 输入/关键字 n直接跳转到下一行

👍------批量化修改------

底行模式下 %s/想要修改的内容/修改后的内容/g


👍------进入vim文本文档直接跳转到对应行号------

非常简单 vim code.c +n 直接跳转到n行

最近指令匹配

!加首字母

------将用户添加到白名单的指令,解决用户sudo不了的问题------

在root账号下面 进入/etc/sudoers文件

找到103 104行相似的内容

加上用户名 ALL = (ALL) ALL即可

wq!强制保存退出

------修改vim 配置文件让vim变得更便捷------

在家目录下 输入 vim .vimrc指令

访问Ai 输入

指令汇总

系统类指令

原指令 指令作用
cat /etc/os-release 查看系统的 "发行版信息"
uname -a 查看系统内核详细信息
ls yum /etc/yum.repos.d 查看系统仓库
vim /etc/sudores 修改白名单命令
vim .vimrc 修改vim配置文件指令

vim 指令 大部分基于底行模式

原命令 指令作用
nyy 从光标处复制n行
n p 从光标处粘贴n次
n dd 从光标处剪切n行
n dd 从光标处删除n行
n x 从当前行 删除n个单位字符
n r 从当前行替换n个字符
R 进入替换模式
shift ~ 切换大小写
原命令 指令作用
gg 移至首行
G 移至末行
n G 移至n行
shift ^ 移至本行开头
shift $ 移至本行末尾
原命令 需要注意的事项
ctrl+v、HJKL、shift i、//、Esc 批量化注释
ctrl+v、HJKL、d 批量化删除
%s/ 原文本内容/修改后的文本内容 /g 批量化修改、替换
相关推荐
bush47 分钟前
嵌入式linux学习记录四
linux·运维·学习
lihao lihao1 小时前
软硬链接
linux·运维·服务器
YY&DS1 小时前
Qt 嵌入 CEF 在 Linux 下必须设置 `QT_XCB_GL_INTEGRATION=xcb_egl才能加载网页
linux·开发语言·qt
辰风沐阳1 小时前
ThinkPHP8.1 + think-swoole 4.1 使用指南(保姆级教程)
linux·后端·swoole
mounter6252 小时前
迈向硬件级无缝热升级:Linux 内核 VFIO 与 IOMMU 持久化技术的演进之路
linux·服务器·内存管理·kernel
晚风吹红霞2 小时前
Linux软件包管理器详解 —— yum与apt的使用及软件生态
linux·运维·服务器
曦夜日长3 小时前
Linux系统篇,进程概念(一):计算机体系、操作系统的认识、程序的加载过程
linux·运维·网络
似水এ᭄往昔3 小时前
【Linux网络编程】--Socket编程预备
linux·服务器·网络
皮卡狮3 小时前
环境变量详解
linux
致Great3 小时前
Claude Code 上线 Dynamic Workflows:一句话调度 1000 个子智能体并行干活
java·linux·服务器