Linux:vim的相关知识

news2025/1/6 20:01:55

 

目录

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后,使用进入插入模式,插入模式就是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 后: 


 

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

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

相关文章

解析找不到msvcr110.dll,无法继续支持此代码的多种修复方法

当你在运行某些应用程序或游戏时,可能会遇到"找不到msvcr110.dll无法继续执行"的错误信息,这通常表明系统中缺少某个重要文件。为了解决这个问题,让我们先探讨为什么会发生这种情况。只要了解了,我们才能用更多的方法去…

JAVA 学习 面试(六)数据类型与方法

数据类型 基本数据类型 为什么float3.4报错 3.4 默认是浮点double类型的,如果赋值给float是向下转型,会出现精度缺失,,需要强制转换 Switch支持的数据类型? byte、short、int、char 、 enum 、 String 基本类型与包…

Git的merge和rebase你真的了解吗?

1. 前言 在我们的日常开发中,Git扮演着重要的角色,负责管理代码的版本。分支管理在开发过程中具有显著的影响。通常情况下,我们有生产、预发、测试和开发这几种分支。根据项目的不同阶段,我们会将代码提交到相应的版本上。标准的…

OpenGL ES 实现图像腐蚀、膨胀、边缘检测

前文我们详细讲了图像锐化的基本原理,本文再介绍一下图像基本处理之腐蚀、膨胀和边缘检测,它们在图像处理和计算机视觉领域有着广泛的应用。 图像腐蚀(Image Erosion):用于缩小或消除图像中物体的边界。主要用于去除图像中的小细节、噪声或不规则物体。 实现图像腐蚀的片…

【Android 10】 BatteryController

学习了一下电池的相关模式,也就是它的观察者模式,先附上图 图应该挺清晰的,BatteryControllerImpl就是被观察者,BatteryControllerImpl重写了CallbackController的两个方法用于添加或移除观察者。 void addCallback(T listener);…

编码下的雪景:如何用HTML和JS让雪花在屏幕上舞动

这段时间,全国各地都加入了下雪的队伍当中,看着窗外漫天飞雪,想着我的网站上面也来一场雪吧。正琢磨着如何实现,网上突然蹦出来一段下雪的代码,这不正是我要的么?先来看看效果吧。 效果一 效果二 效果三 要…

7.Feign远程调用

2.Feign远程调用 先来看我们以前利用RestTemplate发起远程调用的代码: 存在下面的问题: •代码可读性差,编程体验不统一 •参数复杂URL难以维护 Feign是一个声明式的http客户端,官方地址:https://github.com/OpenF…

Modbus通信无法正确接收应答的问题处理

问题现象: 现场反馈,modbus网关无法正确读取就地设备的温度信息。使用PC连接就地设备可以正常读取。 问题调查: 拿到末端设备后,故障现象可重复,不过使用PC的USB转485适配器也无法正常读取数据。 如下图&#xff1…

不要为了学习而学习

经常有朋友问我: 老师,从您这里学了很多方法,也一直想要改变自己,但总是没办法坚持下去,怎么办? 这个问题,我也很无奈啊。毕竟我也没办法飞到你身边,手把手把每一步都教给你。&…

万字长文详解Java线程池面试题

王有志,一个分享硬核 Java 技术的互金摸鱼侠 加入 Java 人的提桶跑路群:共同富裕的Java人 今天是《面霸的自我修养》第 6 篇文章,我们一起来看看面试中会问到哪些关于线程池的问题吧。数据来源: 大部分来自于各机构(J…

编程入门:五个你必须知道的编程常识

常识1:编程不仅仅是写代码 当我们谈论编程时,大多数人首先想到的是写代码。这是正确的,但并不完整。编程不仅仅是写代码,而是解决问题的一种方式。编程是一种工具,我们使用它来创建能够解决特定问题的产品和服务。 比…

【日常聊聊】自然语言处理的发展

🍎个人博客:个人主页 🏆个人专栏: 日常聊聊 ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 技术进步 应用场景 挑战与前景 伦理和社会影响 实践经验 结语 我的其他博客 前言 自然语言处理(NLP&#xf…

iLO 安装中文固件包

前言 安装中文版本的安装包,需要把对应的ilo安装到固定的版本上,ilo的版本是2.70。必须是这个版本; 如果不是这个版本就需要刷到对应的ilo版本 下载对应的固件包。 到这个界面选择文件,然后点击上载。 以上就是刷系统包的步骤。 …

物流实时数仓——概述与准备工作

目录 一、架构设计与技术栈 (一)数仓架构设计 (二)所用技术栈 (三)最终效果 二、关于离线与实时的相关概念 三、实时数仓设计思路 一、架构设计与技术栈 (一)数仓架构设计 (二)所用技术栈 Hadoop 3.3.4 Zookeeper 3.7.1 Kafka 3.3.1 Hbase 2.4.11 Redis 6.0.8 Flink 1.17…

Linux操作系统概念

绪论​: “心灵纯洁的人,生活充满甜蜜和喜悦。——列夫托尔斯泰”,本章的主要内容是介绍了硬件的组成结构冯诺依曼体系结构以及操作系统的概念和操作系统的作用,本章的内容主要是理论他起到承上启下的作用只有理解了操作系统的运行…

基于SpringBoot Vue宠物领养系统

大家好✌!我是Dwzun。很高兴你能来阅读我,我会陆续更新Java后端、前端、数据库、项目案例等相关知识点总结,还为大家分享优质的实战项目,本人在Java项目开发领域有多年的经验,陆续会更新更多优质的Java实战项目&#x…

了解面试必会算法Sliding Window 模式的前世今生

大家好,今天我们来聊一聊sliding window pattern。又是给有个机会给班花讲题的好机会,不能错过! Sliding Window Pattern,中文名字叫滑动窗口模式,是一种常见的算法思想。它可以用来解决很多问题,比如&am…

STATA DEA代码说明及样本数据

STATA_DEA代码说明及样本数据 含DEA模型代码和malmquist指数stata代码 包含具体说明 数据包络分析(Data envelopment analysis,DEA)是运筹学和研究经济生产边界的一种方法。该方法一般被用来测量一些决策部门的生产效率。 DEA是一个线性规…

苹果眼镜(Vision Pro)的开发者指南(5)-主要工具

主要工具有:Xcode、Reality Composer Pro、Unity 第一部分:【用Xcode进行开发】 开始使用Xcode为visionOS进行开发。将向你展示如何在你现有的项目中添加一个visionOS目标,或者构建一个全新的应用,在Xcode预览中创建原型,以及从Reality Composer Pro中导入内容。还将分享…

七八分钟快速用k8s部署springboot前后端分离项目

前置依赖 k8s集群,如果没有安装,请先安装 kubectl ,客户端部署需要依赖 应用镜像构建 应用镜像构建不用自己去执行,相关镜像已经推送到docker hub 仓库,如果要了解过程和细节,可以看一下,否…