【Linux】第七站:vim的使用以及配置

2023-11-02 07:01

本文主要是介绍【Linux】第七站:vim的使用以及配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 一、vim
    • 1.vim的介绍
    • 2.vim基本使用
    • 3.vim的命令模式常用命令
    • 4.底行模式
  • 二、vim的配置

一、vim

1.vim的介绍

vim编辑器,用来文本编写,可以写代码

它是一个多模式的编辑器

它有很多的模,不过我们暂时先只考虑这三种模式

  • 命令模式
  • 插入模式
  • 底行模式

image-20231030183350245

2.vim基本使用

我们先创建一个test.c文件

然后我们直接

vim test.c

然后,我们会进入到如下的界面,我们会发现,我们进入以后什么无论按什么都是没有任何反应的,这是因为我们刚进入的时候就是默认模式,也就是命令模式

image-20231030182908553

命令模式(默认模式):用户所有的输入都会被当作命令,一般不会给你作为文本输入

image-20231030183425823

我们先看能不能直接写上代码,所以我们需要进入插入模式,只需要进入vim后直接按i即可进入

然后我们可以简单的写一个代码

image-20231030183829439

然后我们现在需要退出vim

于是,我们可以先无脑ESC按键,然后按shift + ; ,即冒号。这样我们就切换到了底行模式,然后wq即可,

这里的w就是只保存不退出,q就是只退出不保存。wq就是保存并退出,如果加上!那么代表强制。

如果我们从底行模式转回命令模式,我们只需要无脑ESC即可

如下就是我们的三个模式之间的转换,对于插入模式和底行模式之间,我们不考虑它的直接切换

image-20231030184406446

3.vim的命令模式常用命令

gg :定位光标到最开始的行

shift + g(即G) :定位光标到最结尾的行

n+shift + g (即nG) :定位光标到第n行,注意要使用键盘正上方的数字键

(n)yy :复制光标所在行(n行,不输入n则默认为1)

(n)p : 粘贴(n重复行)到光标所在行的下一行,不写n则默认为1

u : 撤销

ctrl + r : 撤销之前的撤销

(n)dd :剪切、删除n行

shift + $ : 定位光标到当前行结尾

shift + - : 定位光标当前行开始

w,b : 光标按照单词进行行内跨行进行移动

w是向后移动,而b是向前移动

也可以是n w(b),即按照单词进行移动n次

h ,j ,k, l : 分别对应左、下、上、右

推荐使用这四个键,因为有一些键盘没有上下左右

shift + ~ : 大小写转换

(n)r : 对光标字符开始的n个字符进行批量化替换,替换为新输入的字符,n默认为1

shift + R : 替换模式,对内容进行整体替换(第四种模式,退回命令模式直接ESC)

(n)x : 对光标字符之后的字符进行删除

4.底行模式

如果我们想要对比两个test.c文件

我们可以在底行模式下使用vs xxxx对应的文件名即可

这里需要注意的是使用vim可以打开一个我们还没有创建的文件,如果我们最后是直接q离开的话,那么这个文件将不会保存,如果保存了,那么最终将生成这个文件

如下所示

image-20231030195640907

当我们想要切换的时候,我需要按ctrl + w +w ,也就是ctrl加两次w就可以切换窗口了

底行中,vs可以打开多个文件编辑窗口

ctrl ww : 窗口光标切换

光标在哪一个窗口里面,就对哪一个窗口进行操作

其次在vim的底行模式中,我们也可以编译代码,运行代码

只需要在我们正常的使用前加上一个!即可

image-20231030204301315

还有一点是在底行也支持搜索,前面加上/,然后需要搜索的字符串即可

image-20231030204434340

在底行中也可调出行号,使用set nu命令即可

image-20231030204555934

去掉行号的命令是set nonu

image-20231030204651492

二、vim的配置

当我们用vim写代码的时候,是非常难受的,因为都没有代码提示这些的

所以我们需要对vim做出一定的配置

我们先回到家目录下面,然后输入

ls -al

先查看是否有.vimrc这个隐藏文件,如果没有我们可以创建一个

image-20231030205146170

然后我们直接用vim进入这个文件

比如说如果我们要配置要带上行号

我们就可以使用

set nu

然后保存退出即可,这时候,我们在进入vim去看其他文件的时候就默认有行号了

image-20231030205535570

image-20231030205547665

那么配置都在哪里有呢?都有哪些配置呢?

其实直接百度就可以了

image-20231030210107916

然后我们可以根据自己的需要进行配置了

注意

一个用户一个vim配置,不会互相影响

一般不建议给root配置,只需要给普通用户配置即可

不过让我们自己去配置还是比较麻烦的,所以我们可以一键配置,直接在普通用户下复制粘贴下面的即可

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

下载完成之后,我们的vim就变得很舒服了

但是我们这里会多出来一个文件,我们可以直接将他给隐藏掉

image-20231030211231635

image-20231030211305210

当然我们这个配置的缩进是2,如果我们想要改为4的话直接修改即可

image-20231030211634050

这篇关于【Linux】第七站:vim的使用以及配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/328936

相关文章

使用Python实现可恢复式多线程下载器

《使用Python实现可恢复式多线程下载器》在数字时代,大文件下载已成为日常操作,本文将手把手教你用Python打造专业级下载器,实现断点续传,多线程加速,速度限制等功能,感兴趣的小伙伴可以了解下... 目录一、智能续传:从崩溃边缘抢救进度二、多线程加速:榨干网络带宽三、速度控制:做网络的好邻居四、终端交互

Python中注释使用方法举例详解

《Python中注释使用方法举例详解》在Python编程语言中注释是必不可少的一部分,它有助于提高代码的可读性和维护性,:本文主要介绍Python中注释使用方法的相关资料,需要的朋友可以参考下... 目录一、前言二、什么是注释?示例:三、单行注释语法:以 China编程# 开头,后面的内容为注释内容示例:示例:四

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁

ModelMapper基本使用和常见场景示例详解

《ModelMapper基本使用和常见场景示例详解》ModelMapper是Java对象映射库,支持自动映射、自定义规则、集合转换及高级配置(如匹配策略、转换器),可集成SpringBoot,减少样板... 目录1. 添加依赖2. 基本用法示例:简单对象映射3. 自定义映射规则4. 集合映射5. 高级配置匹

Spring 框架之Springfox使用详解

《Spring框架之Springfox使用详解》Springfox是Spring框架的API文档工具,集成Swagger规范,自动生成文档并支持多语言/版本,模块化设计便于扩展,但存在版本兼容性、性... 目录核心功能工作原理模块化设计使用示例注意事项优缺点优点缺点总结适用场景建议总结Springfox 是

嵌入式数据库SQLite 3配置使用讲解

《嵌入式数据库SQLite3配置使用讲解》本文强调嵌入式项目中SQLite3数据库的重要性,因其零配置、轻量级、跨平台及事务处理特性,可保障数据溯源与责任明确,详细讲解安装配置、基础语法及SQLit... 目录0、惨痛教训1、SQLite3环境配置(1)、下载安装SQLite库(2)、解压下载的文件(3)、

使用Python绘制3D堆叠条形图全解析

《使用Python绘制3D堆叠条形图全解析》在数据可视化的工具箱里,3D图表总能带来眼前一亮的效果,本文就来和大家聊聊如何使用Python实现绘制3D堆叠条形图,感兴趣的小伙伴可以了解下... 目录为什么选择 3D 堆叠条形图代码实现:从数据到 3D 世界的搭建核心代码逐行解析细节优化应用场景:3D 堆叠图

Springboot如何正确使用AOP问题

《Springboot如何正确使用AOP问题》:本文主要介绍Springboot如何正确使用AOP问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录​一、AOP概念二、切点表达式​execution表达式案例三、AOP通知四、springboot中使用AOP导出

在Linux终端中统计非二进制文件行数的实现方法

《在Linux终端中统计非二进制文件行数的实现方法》在Linux系统中,有时需要统计非二进制文件(如CSV、TXT文件)的行数,而不希望手动打开文件进行查看,例如,在处理大型日志文件、数据文件时,了解... 目录在linux终端中统计非二进制文件的行数技术背景实现步骤1. 使用wc命令2. 使用grep命令