【linux】详解vim编辑器

基本指令

【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.mzph.cn/bicheng/13645.shtml

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

相关文章

【C++初阶】--- C++入门(上)

目录 一、C的背景及简要介绍1.1 什么是C1.2 C发展史1.3 C的重要性 二、C关键字三、命名空间2.1 命名空间定义2.2 命名空间使用 四、C输入 & 输出 一、C的背景及简要介绍 1.1 什么是C C语言是结构化和模块化的语言,适合处理较小规模的程序。对于复杂的问题&…

探索Linux中的神奇工具:探秘tail命令的妙用

探索Linux中的神奇工具:探秘tail命令的妙用 在Linux系统中,tail命令是一个强大的工具,用于查看文件的末尾内容。本文将详细介绍tail命令的基本用法和一些实用技巧,帮助读者更好地理解和运用这个命令。 了解tail命令 tail命令用…

Excel 下划线转驼峰

Excel 下划线转驼峰 LOWER(LEFT(SUBSTITUTE(PROER(A1),"_",""),1))&RIGHT(SUBSTITUTE(PROPER(A1),"_",""),LEN(SUBSTITUTE(PROPER(A1),"_",""))-1)

微博:一季度运营利润9.11亿元,经营效率持续提升

5月23日,微博发布2024年第一季度财报。一季度微博总营收3.955亿美元,约合28.44亿元人民币,超华尔街预期。其中,广告营收达到3.39亿美元,约合24.39亿元人民币。一季度调整后运营利润达到1.258亿美元,约合9.1…

【论文极速读】 LLava: 指令跟随的多模态大语言模型

【论文极速读】 LLava: 指令跟随的多模态大语言模型 FesianXu 20240331 at Tencent WeChat Search Team 前言 如何将已预训练好的大规模语言模型(LLM)和多模态模型(如CLIP)进行融合,形成一个多模态大语言模型&#xf…

【MATLAB】基于EMD-PCA-LSTM的回归预测模型

有意向获取代码,请转文末观看代码获取方式~ 1 基本定义 基于EMD-PCA-LSTM的回归预测模型是一种结合了经验模态分解(Empirical Mode Decomposition, EMD)、主成分分析(Principal Component Analysis, PCA)和长短期记忆…

Arrays.asList()的问题记录

1、Arrays.asList() Arrays.asList()返回的是 public static <T> List<T> asList(T... a) {return new ArrayList<>(a);} private static class ArrayList<E> extends AbstractList<E>implements RandomAccess, java.io.Serializable 没有实现…

redis集群不允许操作多个key解决方案、redis key负载均衡方案

前提 在cluster redis 中进行同一个命令处理不同的key会报错:CROSSSLOT Keys in request dont hash to the same slot,例如: 此示例使用sdiff 命令对pool_1与pool_2进行diff操作。 那么我们在业务场景中就需要将集群redis中的不同key进行操作,我们该如何处理呢? 本次的…

CSS单行、同行文本左右对齐

再项目需求中&#xff0c;UI小姐姐常常要考虑项目的排版样式更简洁高级&#xff0c;常常会在项目设置内容或者字体两端对齐的效果&#xff0c;比如&#xff0c;在做表单时我们经常遇到让上下两个字段对齐的情况&#xff0c;比如姓名&#xff0c; 手机号码&#xff0c; 出生地等…

0406 组合放大电路

组合放大电路 共射-共基放大电路共集-共集放大电路 4.6.1 共射—共基放大电路 4.6.2 共集—共集放大电路 共射-共基放大电路 共集-共集放大电路 (a) 原理图 (b)交流通路 T1、T2构成复合管&#xff0c;可等效为一个NPN管

Docker搭建mysql性能测试环境

OpenEuler使用Docker搭建mysql性能测试环境 一、安装Docker二、docker安装mysql三、测试mysql连接 一、安装Docker 建立源文件vim /etc/yum.repos.d/docker-ce.repo增加内容[docker-ce-stable] nameDocker CE Stable - $basearch baseurlhttps://repo.huaweicloud.com/docker…

android GridLayout 布局详解,并举例

GridLayout 是 Android 中的一个布局容器&#xff0c;它允许你在一个二维网格中排列子视图。你可以指定网格的行数和列数&#xff0c;或者让 GridLayout 自动计算它们。每个子视图都可以占据一个或多个网格单元格。GridLayout 非常适合在需要创建规则网格的应用中使用&#xff…

【Power Compiler手册】1.工具介绍

第一部分: Power Compiler概念 以下是对Power Compiler工具的介绍主题: • Power Compiler工具介绍 • Power Compiler设计流程 • 电源建模和计算 1.Power Compiler工具介绍 Power Compiler工具是Synopsys Design Compiler综合工具家族的一部分。该工具执行寄存器传输级…

探索并发编程

引言 在现代软件开发中&#xff0c;尤其是面对高性能、高并发需求的应用场景&#xff0c;Java的并发编程能力显得尤为重要。Java提供了丰富的API和框架来支持开发者构建高效、可靠的多线程应用程序。本文将深入探讨Java并发编程的核心概念&#xff0c;重点讲解线程池的使用、F…

OpenAI、微软、智谱AI 等全球 16 家公司共同签署前沿人工智能安全承诺

人工智能&#xff08;AI&#xff09;的安全问题&#xff0c;正以前所未有的关注度在全球范围内被讨论。 日前&#xff0c;OpenAI 联合创始人、首席科学家 Ilya Sutskever 与 OpenAI 超级对齐团队共同领导人 Jan Leike 相继离开 OpenAI&#xff0c;Leike 甚至在 X 发布了一系列…

webpack5零基础入门-15样式兼容性问题处理

1.下载相关依赖 npm i postcss-loader postcss postcss-preset-env -D 2.在webpack.config.js中配置 注意&#xff1a;postcss-loader要在css-loader后面配置 3.写一个flex布局&#xff0c;flex是存在一定的兼容性问题的 4.打包 可以看到打包后未被处理 1.下载相关依赖 np…

MySQL 查询某个字段含有字母数字的值

在数据库管理中&#xff0c;常常需要查询某个字段包含特定类型数据的记录。本文将详细介绍如何在 MySQL 中查询某个字段含有字母和数字的值&#xff0c;并提供至少五个具体示例&#xff0c;帮助您更好地理解和应用这些查询方法。 1. 概述 在 MySQL 中&#xff0c;使用正则表达…

YOLOv8绘制map曲线图

yolov8源码绘制的map曲线图不够清晰&#xff0c;python代码绘制的曲线图导入word之后清晰度也不够高&#xff0c;所以选择使用matlab来绘制曲线图&#xff0c;matlab可以直接复制图窗到word中&#xff0c;在转换成pdf也不会失真。点击编辑&#xff0c;复制图窗即可复制到word中…

MySQL + JPA 动态条件查询

maven 依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId><version>2.3.12.RELEASE</version> </dependency>实体类 package cn.xxx.xxx.project.dal.my…

Aspect打印接口请求信息和返回内容

文章目录 引言I 打印请求信息II 方法参数反序列化异常解决方案1解决方案2引言 2024-05-18 13:43:19.358 [http-nio-5050-exec-1] [58497D6655] INFO - 请求url : http://192.168.20.xx:xxx/userAdmin/login 2024-05-18 13:43:19.358 [http-nio-5050-exec-1]