Linux:vim的相关知识
目录
vim 是一个较为常见的编译文件的命令操作。
三种模式的区分的作用如下:
命令模式:
插入模式:
进入插入模式的标志:左下角有INSERT
底行模式:
命令模式的常见命令:
底行模式常见命令:
注意事项:vim的临时文件
sudoers的配置
如何在sudoers配置文件中添加个人用户?
1、变身超级用户root
2、 使用vim打开sudoers,并使用底行命令 set nu 打开行号
3、摁下j 进行向下翻找,查询大概第100行的命令,使用 yy 进行复制 随后使用p 进行粘贴,在之后进入插入模式。,将root修改为自己的用户名
4、最后esc : wq !
vim的配置
例如:
配置 set nu前:
配置set nu 后:
vim 是一个较为常见的编译文件的命令操作。
- 在vim中,最为常见的有三种模式,分别是:命令模式(command mode)、插 入模式(Insert mode)和底行模式(last line mode)
三种模式的区分的作用如下:
命令模式:
vim的核心模式,使用vim进入文件编辑时的最初模式,在该模式中只能移动光标和使用命令对文件内容进行编辑
插入模式:
在进入vim后,使用 i 进入插入模式,插入模式就是vim的编辑模式,可以在vim中进行内容的编辑和修改
进入插入模式的标志:左下角有INSERT

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

命令模式的常见命令:
在命令模式下,需要的是命令和光标之间的配合!
yy 复制当前行
p 粘贴,当前光标的下一行
u 撤销 ,是撤销操作,例如撤销上一次的操作或者撤销下一次的操作//n表示数字
n + yy 复制下面n行的内容
n + p 粘贴n行的内容
n + u 撤销n次操作dd 剪切操作或者删除操作
n + dd 剪切或者删除n行内容 //如果是剪切操作需要p命令的配合shift + 4 将光标移动到当前行的结尾位置shift +6 将光标移动到当前行的开头位置gg 将光标移动到整个文本的开头位置shift + g 将光标移动到整个文本的最后一行n + shift + g 将光标移动到文本的第n行位置h 光标左移动
j 光标下移动
k 光标上移动
l 光标右移动
// hjkl也可以使用n 表示向某个方向移动n次w 以单词为单位进行光标的后移
b 以单词为单位进行光标的前移shift + ` 大小写迅速的切换n + x 删除光标后面的一个字符 可以一次性删除n个
n + shift + x 删除光标前面一个字符 可以一次性删除n个n + r 光标指定的位置,进行字符的替换,可以一次替换多个
shift + r 进入替换模式,可以进行文本的替换//连续按两次z
shifit + z z 保存并退出
需要注意的的是 shift + z z 是暂停vim 的使用命令
底行模式常见命令:
w 表示保存
q 表示退出
!表示强制
wq 保存并退出
wq! 强制保存并退出
set nu 文本内容的显示行号! 命令 表示不用退出vim 可以在vim内直接进入shell的命令执行
常见的: !gcc 表示在底行模式中进行gcc的命令 又或者 !ls -l 表示在底行模式中查看文件的内容属性vs 文件名字 表示进行文件的分配操作
如下图所示,就是在vim编辑test.c的模式下,使用了底行模式命令 vs test.h 使得分配出了一个test.h文件
注意事项:vim的临时文件
- vim 会保存临时文件,在出现意外的时候vim会保存临时文件,同时再次编辑时会跳出临时文件的镗床,所以我们要删除临时文件,就行了,举例子:test.c 的临时文件是. test.c.swp
- 文件内容的代码的快速注释方法和批量去除注释的快捷方法:
- 标示注释:ctrl +v ,hjkl进行区域的选择,j 快速的选择需要标注的行,shift +i 进入插入模式,//进行注释,esc esc 退出
- 去除注释:ctrl +v ,hjkl进行区域的选择,选择仅仅包含//的行,然后d
- ctrl +v 进入的模式
sudoers的配置
如何在sudoers配置文件中添加个人用户?
- sudoers的文件信息:
- 操作如下:
1、变身超级用户root
2、 使用vim打开sudoers,并使用底行命令 set nu 打开行号
3、摁下j 进行向下翻找,查询大概第100行的命令,使用 yy 进行复制 随后使用p 进行粘贴,在之后进入插入模式。,将root修改为自己的用户名
4、最后esc : wq !
vim的配置
- 配置文件的位置 在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。
- 而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“.vimrc”。
- 例如,/root目录下, 通常已经存在一个.vimrc文件,如果不存在,则创建之。 切
- 换用户成为自己执行 su ,进入自己的主工作目录,执行 cd ~ 打开自己目录下的.vimrc文件,执行 vim .vimrc
当然,对于vim的配置,建议是每一个用户都在自己的用户目录下建立一个.vimarc的文件,进行属于自己的vim的配置
而进行配置也十分的简单,在用户目录下建立好.vimrc文件后,直接使用vim 进入该文件,随后在文件中输入vim配置的常用命令。
例如:
- 设置语法高亮: syntax on
- 显示行号: set nu
- 设置缩进的空格数为4: set shiftwidth=4
在.vimrc 中输入set nu (.vimrc中一开始就是空的!)

配置 set nu前:

配置set nu 后:

相关文章:
Linux:vim的相关知识
目录 vim 是一个较为常见的编译文件的命令操作。 三种模式的区分的作用如下: 命令模式: 插入模式: 进入插入模式的标志:左下角有INSERT 底行模式: 命令模式的常见命令: 底行模式常见命令࿱…...
Qt 国产嵌入式操作系统实现文字转语音功能(ekho库)
1.简介 Qt 国产嵌入式操作系统实现文字转语音功能(TTS)_tts驱动 转文字-CSDN博客 在继上篇文章之后,甲方粑粑不满意使用eSpeak发出的声音太难听了,这就不得不找个替代品,声音稍微好听了一些。 使用ekho开源库。 Ekho(余音)是一个免费、开源的中文语音合成软件。它目…...
Redis常见类型及常用命令
目录 常见的数据类型 一、String类型 1、简介 2、常用命令 (1)新建key (2)设值取值 编辑 (3)批量操作 (4)递增递减 3、原子性操作 4、数据结构 二、list类型 1、list常…...
实战纪实 | 某配送平台zabbix 未授权访问 + 弱口令
本文由掌控安全学院 - 17828147368 投稿 找到一个某src的子站,通过信息收集插件wappalyzer,发现ZABBIX-监控系统: 使用谷歌搜索历史漏洞:zabbix漏洞 通过目录扫描扫描到后台,谷歌搜索一下有没有默认弱口令 成功进去了…...
【第十五课】数据结构:堆 (“堆”的介绍+主要操作 / acwing-838堆排序 / c++代码 )
目录 关于堆的一些知识的回顾 数据结构:堆的特点 "down" 和 "up":维护堆的性质 down up 数据结构:堆的主要操作 acwing-838堆排序 代码如下 时间复杂度分析 确实是在写的过程中频繁回顾了很多关于树的知识&…...
前端JavaScript篇之JavaScript有哪些数据类型,它们的区别?
目录 JavaScript有哪些数据类型,它们的区别?数据类型区别 JavaScript有哪些数据类型,它们的区别? 数据类型 JavaScript数据类型有: Undefined、Null、Boolean、Number、String、Array、Object、Symbol、BigInt… St…...
LeetCode---380周赛
题目列表 3005. 最大频率元素计数 3006. 找出数组中的美丽下标 I 3007. 价值和小于等于 K 的最大数字 3008. 找出数组中的美丽下标 II 一、最大频率元素计数 这题就是个简单的计数题,正常遍历统计数据即可,关键是你要会写代码逻辑。 代码如下&…...
archlinux 如何解决安装以后没有声音的问题
今天安装完archlinux以后发现看视频没声音 检查一下是否有 /lib/firmware/intel/sof 发现没有 如果你也是这样的话,可以尝试安装: sudo pacman -S sof-firmware 重启后再看看有没有声音: reboot 反正我有声音了...
什么是ORM思想?
1. ORM概念 ORM(Object Relational Mapping)对象关系映射模式,是一种技术,解决了面向对象与关系型数据库存互不匹配的现象。 ORM在业务逻辑层和数据库层之间充当了桥梁的作用。 2. ORM由来 在软件开发的过程中,通常…...
设计接口时,为其添加签名鉴权---详细教程
一、何为签名 我们知道无论是restful api还是传统接口、亦或是其他形式接口的调用,接口签名都是非常重要的安全机制,它可以确保请求的发起者是经过认证和授权的客户端,同时也可以防止接口被攻击,请求参数被篡改等等。 用大白话来解…...
5G+物联网:连接万物,重塑智慧社区,开启未来生活新纪元,助力智慧社区的革新与发展
一、5G与物联网:技术概述与基础 随着科技的飞速发展,第五代移动通信技术(5G)和物联网(IoT)已经成为当今社会的热门话题。这两项技术作为现代信息社会的核心基础设施,正深刻地改变着人们的生活和…...
[反转链表] [合并两个有序链表][分割链表]
这里写目录标题 反转链表合并两个有序链表分割链表 反转链表 1、题目: 2.思路 思路1:建立一个newHead,取一个节点进行头插。具体做法如下! 建立一个newHead(新头),由于一个节点里面存的是下一个节点的地址,如果取…...
中文数据让LLM变笨?
我这里先贴一下论文的原链接: https://arxiv.org/abs/2401.10286 然后贴一下我翻译标注的下载链接:https://gitee.com/chatpaper/arXiv_top_chinese/blob/master/0801_top/%E4%B8%AD%E6%96%87%E4%BC%9A%E8%AE%A9LLM%E5%8F%98%E7%AC%A8%EF%BC%9F.pdf 先…...
【代码随想录】刷题笔记Day54
前言 差单调栈就结束代码随想录一刷啦,回家二刷打算改用python补充进博客,小涛加油!!! 647. 回文子串 - 力扣(LeetCode) 双指针法 中心点外扩,注意中心点可能有一个元素可能有两个…...
二.Winform使用Webview2在Demo1中实现地址简单校验
Winform使用Webview2在Demo1中实现地址简单校验 往期目录回顾添加对于的简单url验证提示通过上节和本节涉及到的函数有 往期目录 往期相关文章目录 专栏目录 回顾 通过一.Winform使用Webview2(Edge浏览器核心) 创建demo(Demo1)实现回车导航到指定地址 我们已经知道了解决资源…...
从0开始学习C++ 第二十课:模板与泛型编程
第二十课:模板与泛型编程 学习目标: 掌握模板的基本语法和概念。学会使用函数模板来创建可重用的函数。学习如何定义类模板以实现数据结构的泛型。理解模板在C中提供的灵活性和强大功能。 学习内容: 模板的概念: 模板是C中支持…...
pcl之滤波器(一)
pcl滤波器 pcl一共是有十二个主要模块,详细了解可以查看官网。https://pcl.readthedocs.io/projects/tutorials/en/latest/#basic-usage 今天学习一下pcl的滤波器模块。 滤波器模块,官网一共是提供了6个例程,今天先来看第一第二个。 直通…...
java项目性能优化(MyBatis中开启查询缓存及flushCache与useCache的使用)
在java项目中,如果需要大量的DB查询,导致缓存过多,项目运行缓慢,可以设置在select查询时,添加二级缓存的清空。 如果没有去配置flushCache、useCache,那么默认是启用缓存的。 1,flushCache默认…...
Unity3D控制人物移动的多种方法
系列文章目录 unity知识点 文章目录 系列文章目录前言一、人物移动之键盘移动1-1、代码如下1-2、效果 二、人物移动之跟随鼠标点击移动2-1、代码如下2-2、效果 三、人物移动之刚体移动3-1、代码如下3-2、效果 四、人物移动之第一人称控制器移动4-1、代码如下4-2、效果 五、And…...
无人机打击激光器
激光器的应用非常广泛,涵盖了多个领域。以下是一些主要的激光器应用: 医疗领域:激光器在医疗行业中有着重要应用,比如用于激光手术(如眼科手术)、皮肤治疗、牙科治疗、肿瘤治疗等。 工业制造:在…...
iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...
逻辑回归:给不确定性划界的分类大师
想象你是一名医生。面对患者的检查报告(肿瘤大小、血液指标),你需要做出一个**决定性判断**:恶性还是良性?这种“非黑即白”的抉择,正是**逻辑回归(Logistic Regression)** 的战场&a…...
vue3 字体颜色设置的多种方式
在Vue 3中设置字体颜色可以通过多种方式实现,这取决于你是想在组件内部直接设置,还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法: 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...
Linux云原生安全:零信任架构与机密计算
Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...
WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)
一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...
【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...
学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2
每日一言 今天的每一份坚持,都是在为未来积攒底气。 案例:OLED显示一个A 这边观察到一个点,怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 : 如果代码里信号切换太快(比如 SDA 刚变,SCL 立刻变&#…...
VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP
编辑-虚拟网络编辑器-更改设置 选择桥接模式,然后找到相应的网卡(可以查看自己本机的网络连接) windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置,选择刚才配置的桥接模式 静态ip设置: 我用的ubuntu24桌…...
Netty从入门到进阶(二)
二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架,用于…...





