当前位置: 首页 > news >正文

Linux 基础开发工具 : Vim编辑器

Vim 是 Linux 和其他类 Unix 系统上广泛使用的文本编辑器之一。它基于更早的 vi 编辑器,但添加了许多增强功能和扩展。Vim 是“Vi IMproved”的缩写,意为“改进的 Vi”,我们常使用Vim编辑器编写c/c++代码。

ps:该篇介绍均为最基础介绍

Vim编辑器

安装Vim

首先,我们需要使用yum包管理器安装Vim。yum是基于RPM的软件包管理器

sudo yum install -y vim  //-y 是直接安装不需要确认

所有安装命令都是需要root权限的

如果已经安装vim编辑器

系统会提示我们已经安装!

Vim的使用

我们可以使用vim直接创建并编辑文件,或者是使用touch创建文件,使用vim进入编辑

使用Vim之前我们需要知道Vim编辑器的各个状态

不可以直接从编辑模式进入底行模式,相反一样不可以

命令模式(普通模式):

在这个模式下,我们可以使用Vim编辑器提供的编辑器对我们所写的代码进行编辑 (复制,粘贴,剪切  ....... )

对文本的操作命令:

yy : 将当前光标所在行进行复制
p : 将复制或者是剪切的数据进行粘贴
dd : 剪切当前行也可以用这个命令进行删除 
x : 删除当前位置的字符
// 对于这4种操作,都可以在前面加上一个
//常数 n  yy dd 是复制或者剪切从光标所在行开始往下n行进行复制或者粘贴,
x 是从当前位置删除几个字符
//p 则是复制 n 次

光标操作:

上下操作:

shift + g : 光标定位到文件末尾
gg : 光标定位到文件最开始
n + shift + g : 光标定位到n行  

左右操作:

shift + 6 (^) : 将光标定位到当前行的最开始
shift + 4 ($) : 将光标定位到当前行的结尾
w , b  : 以单词为单位左右移动
h , j , k , l :  左,下,上,右 移动 以字符为单位

其他操作:

shift + r  替换模式  ->  

可以从键盘输入直接替换掉当前光标所在的字符,delete键可以撤销替换的操作

 shift + v 可视行模式

多行注释

Shift + V   // 进入可视行模式
j           // 选择多行
:           // 进入命令行模式,自动变为 :'<,'>
s/^/#/      // 添加注释符号 #
Enter       // 执行命令

 底行模式

文件操作

:w - 保存当前文件。
:wq - 保存并退出。
:q - 退出。
:q! - 强制退出,不保存更改。
:w filename - 另存为 filename 文件。
:e filename - 打开 filename 文件。
:r filename - 读取 filename 文件的内容并插入到当前文件中。

设置选项

:set number - 显示行号。
:set nonumber - 隐藏行号。
:set tabstop=4 - 将制表符宽度设置为4个空格。
:set ignorecase - 搜索时忽略大小写。
:set hlsearch - 高亮显示搜索结果

 编辑器里直接使用command命令

在底行模式下,输入的命令前加上  '  !  ' 即可 我们可以直接编译代码或者是使用

vs + 文件名 打开另外一个文本进行对比编辑

http://www.lryc.cn/news/405232.html

相关文章:

  • Delphi 11.2 配置Android SDK 环境
  • Spring Boot 学习(10)——固基(Idea 配置 git 访问 gitee)
  • 11 个接口性能优化技巧(上)【送源码】
  • AIoTedge 智能边缘物联网平台
  • 深入理解CSS基础【代码审计实战指南】
  • html改写vue日志
  • Transformer-Bert---散装知识点---mlm,nsp
  • 基于术语词典干预的机器翻译挑战赛笔记 Task3 #Datawhale AI 夏令营
  • 定制QCustomPlot 带有ListView的QCustomPlot 全网唯一份
  • Fast Planner规划算法(一)—— Fast Planner前端
  • 问题记录-SpringBoot 2.7.2 整合 Swagger 报错
  • 【视觉SLAM】 十四讲ch5习题
  • Webpack基础学习-Day01
  • 如何防止热插拔烧坏单片机
  • JQuery+HTML+JavaScript:实现地图位置选取和地址模糊查询
  • ArcGIS Pro SDK (九)几何 13 多部件
  • 【Node】npm i --legacy-peer-deps,解决依赖冲突问题
  • h5点击电话号跳转手机拨号
  • 从数据湖到湖仓一体:统一数据架构演进之路
  • Electron 渲染进程直接调用主进程的API库@electron/remote引用讲解
  • 在python中使用正则表达式
  • 华清数据结构day4 24-7-19
  • 【深度学习图像】拼接图的切分
  • Covalent(CXT)运营商网络规模扩大 42%,以满足激增的需求
  • Java 集合框架:HashMap 的介绍、使用、原理与源码解析
  • 单周期CPU(三)译码模块(minisys)(verilog)(vivado)
  • 理想化相机模型的相机内参
  • 【数据脱敏】⭐️SpringBoot 整合 Jackson 实现隐私数据加密
  • 骑砍2霸主MOD开发(18)-多人联机模式开发环境搭建
  • 【HZHY-AI300G智能盒试用连载体验】在华为IoTDA平台上建立设备