【linux】详解vim编辑器

news2025/2/22 7:57:58

基本指令

【linux】详解linux基本指令-CSDN博客

【linux】详解linux基本指令-CSDN博客

vim的基本概念

vim有很多模式,小编只介绍三种就能让大家玩转vim了, 分别是:
正常/普通/命令模式  插入模式   末行/底行模式
命令模式
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段
插入模式
文字输入,编制文本
低行模式
文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下, shift+:(输入冒号)  即可进入该模式。

vim的基本操作

进入vim

vim+文件名:vim test.c

进入 vim 之后,是处于 命令模式
[命令模式]切换至[插入模式]
输入 a
输入 i
输入 o
[插入模式]切换至[命令模式]
目前处于 [ 插入模式 ] ,就只能一直输入文字
[命令模式]切换至[底行模式]
shift + ; , 其实就是输入「 :
[命令模式]下,按一下「:」冒号键进入[底行模式]
: w (保存当前文件)
: wq ( 输入「 wq , 存盘并退出 vim)
: q! ( 输入 q!, 不存盘强制退出 vim)
如下图

vim正常模式命令集

移动光标

vim 可以直接用键盘上的光标来上下左右移动,但正规的 vim 是用小写英文字母 h j k l 分别控制光标 左下上右 移一格
按「 G 」:移动到文章的最后
按「 $ 」:移动到光标所在行的 行尾
按「 ^ 」:移动到光标所在行的 行首
按「 w 」:光标跳到下个字的开头
按「 e 」:光标跳到下个字的字尾
按「 b 」:光标回到上个字的开头
按「 #l 」:光标移到该行的第 # 个位置,如: 5l,56l
按[ gg ]:进入到文本开始
按[  shift+g  ]:进入文本末端
按「 ctrl + b 」:屏幕往 移动一页
按「 ctrl + f 」:屏幕往 移动一页
按「 ctrl + u 」:屏幕往 移动半页
按「 ctrl + d 」:屏幕往 移动半页

删除文字

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

复制

yw 」:将光标所在之处到字尾的字符复制到缓冲区中
#yw 」:复制 # 个字到缓冲区
yy 」:复制光标所在行到缓冲区。
#yy 」:例如,「 6yy 」表示拷贝从光标所在的该行 往下数 ”6 行文字
p 」:将缓冲区内的字符贴到光标所在位置。注意:所有与 “y” 有关的复制命令都必须与 “p” 配合才能完成复制与粘贴功能

替换

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

撤销上一次操作

u 」:如果您误执行一个命令,可以马上按下「 u 」,回到上一个操作。按多次 “u” 可以执行多次回复。
ctrl + r : 撤销的恢复


更改

cw 」:更改光标所在处的字到字尾处
c#w 」:例如,「 c3w 」表示更改 3 个字

跳至指定的行

ctrl + g 」列出光标所在行的行号。
#G 」:例如,「 15G 」,表示移动光标至文章的第 15 行行首

vim底行模式命令集

列出行号

set nu : 输入「 set nu 」后,会在文件中的每一行前面列出行号。
跳到文件中的某一行
# : # 」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字 15, 再回车,就会跳到文章的第15 行。

查找字符

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

保存文件

w : 在冒号输入字母「 w 」就可以将文件保存起来

离开vim

q 」:按「 q 」就是退出,如果无法离开 vim ,可以在「 q 」后跟一个「 ! 」强制离开 vim
wq 」:一般建议离开时,搭配「 w 」一起使用,这样在退出的时候还可以保存文件

配置vim

配置文件的位置
在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。
可在根目录下查看
可以进入该目录查看通用配置文件
添加额外配置
通用的配置再插入模式下就像一个记事本一样,如果要写代码,写文本会很不舒服,而用户可以额外的为vim添加其他配置
用户可以在自己的家目录下查看是否有名字为  .vimrc  的文件(该文件为隐藏文件),没有的话可以自行创建
相关指令如下:
cd ~ :回到家目录
ls -a :查看隐藏文件
touch .vimrc : 创建配置文件
过程如下图
所谓的添加额外的配置就是在  .vimrc文件中保存一些配置选项,小编用如下选项让大家感受一下。
显示行号: set nu
先查看文件,如下图
进入 .vimrc 配置选项
再次查看文件

配置选项

如何配置出舒适的vim呢,只要将下面的所有配置拷贝到 .vimrc 即可

如果是CentOS7 可尝试如下方法一键配置

把下面的指令粘贴到命令行,一定要让它显示在一行上

curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh

粘完后回车,输入root密码即可

如下图

效果展示

​​​​​​​

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1682907.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java面试八股之进程和线程的区别

Java进程和线程的区别 定义与作用: 进程:在操作系统中,进程是程序执行的一个实例,是资源分配的最小单位。每个进程都拥有独立的内存空间,包括代码段、数据段、堆空间和栈空间,以及操作系统分配的其他资源…

IT革命浪潮:技术革新如何改变我们的生活与工作

一、技术革新与行业应用 当前的IT行业正处于前所未有的技术革新阶段。其中,量子计算和虚拟现实是两项引人注目的技术。 量子计算:量子计算以其超越传统计算的潜力,正在逐步从理论走向实践。在材料科学、药物研发和气候模型等复杂计算领域&a…

前端学习-day08

文章目录 01-相对定位02-绝对定位03-绝对定位居中04-固定定位05-堆叠顺序06-CSS精灵-基本使用07-案例-京东服务08-字体图标10.垂直对齐方式11-过度12-透明度13-光标类型14-轮播图 01-相对定位 <!DOCTYPE html> <html lang"en"> <head><meta ch…

计算机网络学习小结_数据链路层

数据链路和帧 帧&#xff1a;数据链路层传输基本单元。链路层将网络层传过来的数据构成帧发到链路上&#xff0c;并将发到链路层的帧取出数据交给网络层 数据报/分组/包&#xff1a;网络层传输基本单元 三个基本问题 即封装成帧、透明传输、差错检测 封装成帧 概念&#…

阿木实验室联合openEuler开源社区-Embedded SlG组(海思项目)参加第五届「开源之夏」,参赛学生火热招募中...

开源之夏是中国科学院软件研究所发起的“开源软件供应链点亮计划”系列暑期活动&#xff0c;旨在鼓励高校学生积极参与开源软件的开发维护&#xff0c;促进优秀开源软件社区的蓬勃发展。活动联合各大开源社区&#xff0c;针对重要开源软件的开发与维护提供项目开发任务&#xf…

java+ vue.js+uniapp一款基于云计算技术的企业级生产管理系统,云MES源码 MES系统如何与ERP系统集成?

java vue.jsuniapp一款基于云计算技术的企业级生产管理系统&#xff0c;云MES源码&#xff0c;MES系统如何与ERP系统集成&#xff1f; MES系统&#xff08;制造执行系统&#xff09;与ERP系统&#xff08;企业资源规划系统&#xff09;的集成可以通过多种方式实现&#xff0c;这…

3D工业视觉

前言 本文主要介绍3D视觉技术、工业领域的应用、市场格局等&#xff0c;主要技术包括激光三角测量、结构光、ToF、立体视觉。 一、核心内容 3D视觉技术满足工业领域更高精度、更高速度、更柔性化的需求&#xff0c;扩大工业自动化的场景。 2D视觉技术基于物体平面轮廓&#…

LabVIEW超高温高压流变仪测试系统

LabVIEW超高温高压流变仪测试系统 超高温高压流变仪广泛应用于石油、天然气、化工等行业&#xff0c;用于测量材料在极端条件下的流变特性。随着计算机技术、测试技术和电子仪器技术的快速发展&#xff0c;传统的流变仪测试方式已无法满足现代工业的需求。因此&#xff0c;开发…

JavaFX学习教程一

一、准备工作 Jdk 从 1.8 起支持 JavaFx&#xff0c;到 Jdk 11 不再包含 JavaFx&#xff0c;而是改为 OpenJFX&#xff0c;需要另行安装。 以下是JavaFX的官方教程&#xff1a; java8(java1.8)的客户端技术说明指南(开发工具为NetBeans IDE )&#xff1a;客户端技术&#xf…

C++—结构体

结构体&#xff08;struct&#xff09;&#xff0c;是一种用户自定义复合数据类型&#xff0c;可以包含不同类型的不同成员。 结构体的声明定义和使用的基本语法&#xff1a; // 声明结构体struct 结构体类型 { 成员1类型 成员1名称; ...成员N类型 成员N名称; };除声明…

rockylinux 利用nexus 搭建私服yum仓库

简单说下为啥弄这个私服&#xff0c;因为自己要学习一些东西&#xff0c;比如新版的k8s等&#xff0c;其中会涉及到一些yum的安装&#xff0c;为了防止因网络问题导致yum安装失败&#xff0c;和重复下载&#xff0c;所以弄个私服&#xff0c;当然也有为了意外保障的想法&#x…

网络安全技术与应用:远程控制与数据库安全

实验准备 软件&#xff1a;VMware Workstation Pro 虚拟机&#xff1a;Red Hat Enterprise Linux 7 服务器&#xff0c;Red Hat Enterprise Linux 7 客户端 网络模式&#xff1a;NAT模式 1、配置服务器及客户端网络 服务器IP 客户端IP 测试相互通信 在客户机上设置镜像&#…

nssctf——web

[SWPUCTF 2021 新生赛]gift_F12 1.打开环境后&#xff0c;这里说要900多天会有flag&#xff0c;这是不可能的 2.f12查看源码&#xff0c;然后在html中查找flag &#xff08;在最上方的栏目中&#xff0c;或者按ctrlf&#xff09; [SWPUCTF 2021 新生赛]jicao 1.打开环境是一段…

【MySQL】MySQL的安装和基本概念

MySQL的安装和基本概念 一、环境安装1、环境及配置2、下载安装 二、基本概念1、主流数据库2、mysql和mysqld的区别和概念&#xff08;1&#xff09;概念1&#xff1a;了解CS结构&#xff08;2&#xff09;概念2&#xff1a;数据库指的是什么&#xff08;3&#xff09;概念3&…

模板中的右值引用(万能引用)、引用折叠与完美转发

模板中的右值引用&#xff08;万能引用&#xff09;、引用折叠与完美转发 文章目录 模板中的右值引用&#xff08;万能引用&#xff09;、引用折叠与完美转发一、万能引用与引用折叠1. 模板中的右值引用2. 自动类型推导(auto)与万能引用3. 引用折叠与万能引用4. lambda表达式捕…

巨某量引擎后台登录实战笔记 | Playwright自动化框架

前言 本文章中所有内容仅供学习交流&#xff0c;抓包内容、敏感网址、数据接口均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff0c;若有侵权&#xff0c;请联系我立即删除&#xff01; 入正题看看滑块是怎么个事…

数字孪生项目开发流程

数字孪生&#xff08;Digital Twin&#xff09;项目的开发流程涉及多个步骤&#xff0c;从初始概念到最终部署和维护。以下是一个典型的数字孪生项目开发流程&#xff0c;通过这些步骤&#xff0c;开发团队可以有效地规划、设计、开发和维护数字孪生项目&#xff0c;确保其在实…

YOLOv5 Exception: Dataset not found.

在使用yolo v5训练时弹出了这个报错&#xff0c;就是没有找到数据集&#xff0c;dataset.yaml文件里面的train 和val 的路径配置不对&#xff0c;开始我是使用相对路径&#xff0c;后面修改成绝对路径就可以了

Ubuntu23.04开机时whoopsie-upload-all占用CPU 100%,风扇狂转

Ubuntu23.04开机时&#xff0c;风扇狂转散热&#xff0c;打开终端&#xff0c;输入top -c&#xff0c;查看占用cpu最高的进程&#xff0c;发现是python3在执行whoopsie-upload-all脚本文件。 什么是whoopsie&#xff1f; 这是“Ubuntu错误报告”守护程序&#xff0c;默认安装在…

DAB协议解读ETSI TS 103 461

一、说明 数字信号广播&#xff08; Digital Audio Broadcasting 简称DAB&#xff09;是继AM、FM传统模拟广播之后的第三代广播--数字信号广播&#xff0c;它提供了接近CD质量的声音&#xff0c;广播及商机无限的附加数据服务&#xff0c;具有抗噪声、抗干扰、抗电波传播衰落、…