[linux]vim编辑器

news2024/12/24 8:25:12

📟作者主页:慢热的陕西人

🌴专栏链接:Linux

📣欢迎各位大佬👍点赞🔥关注🚓收藏,🍉留言

本博客主要讲解vim的使用和一些vim的常用操作,以及如何解决普通用户无法使用sudo的问题

文章目录

  • vim
    • 1. vim最小集:
      • 1.1 vim的概念:
    • 1.2 注意事项:
    • 2. vim指令集:
    • 3. vim配置:
      • 3.1自己配置:
      • 3.2 自动化配置:

vim

1. vim最小集:

1.1 vim的概念:

简单来说vim就是一款多模式的编辑器;

我们一般常用其中的3-5种

1.2 注意事项:

1.如果你不知道自己在什么模式下,无脑esc;

2.退出的时候,一般都是先保存,在退出;

3.在vim中操作,不要使用鼠标和鼠标滚轮;

在这里插入图片描述

2. vim指令集:

(1)底行模式下:

调出或去掉行号: set nu / set nonu;

替换:%s/A/B/g —>将文档中A的字符串替换成B;

查找:/key —>在文档中查找和key匹配的字符串;

执行命令后按任意键返回vim当前页面:! command;

在vim中同时分窗口编辑文件:vs file /ctrl + ww(快速按两次w)—>两个文件的切换;


大部分指令,全部都是在命令模式下进行的(不是底行,也不是插入)的;

(2)yy/nyy: 复制当前行/复制当前行在内的指定n行;

(3)p/np: 粘贴一行或者n行相同的内容到当前光标的所在行之下;

(4)u: 撤销刚刚的操作;

(5)ctrl + r: 对撤销再做撤销;

(6)dd/ndd: 对当前行,或者当前行在内的n行内容进行剪切;

(7)光标定位:

shift + g:将光标定位到文档的最结尾;

gg:将光标定位到文档的最开始;

n shift g: 将光标定位到文档的指定行;

shift + 4: 将光标定位到文档行的结尾;

shift + 6:将光标定位到文档行的开始;

n w , n b:以单词为单位(n表示n个单词),进行前后移动,w向后,b向前;

(8)shift + ~: 快速大小写切换;

(9)n r: 替换光标所在的字符;

(10)n x:行内删除(左侧—>右侧);

(11)n shift + x:行内删除(右侧—>左侧);

(12)移动光标:

h j k l:分别对应←,↓,↑,→;


3. vim配置:

3.1自己配置:

vim在启动的时候,会自动在当前用户的目录下,寻找配置文件(.vimrc)如果没有就是默认

一个用户,一个vim配置,我们所做的配置不会影响其他人;

可以在往上搜索,相关的配置命令,来实现自己想要的效果;

例如:

我们创建vim的配置文件.vimrc,并且修改其中配置为set nu,并查看效果;

[mi@iZ2ze8prly56kg8in4hqa2Z ~]$ vim .vimrc

在这里插入图片描述

3.2 自动化配置:

在Linux目录下输入以下命令即可:

目前只支持 centos7系列的系统;

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

拓展:

普通用户无法sudo的解决:

①首先我们添加写的权限:chmod u+w /etc/sudoers

②然后使用vim打开此文件vim /etc/sudoers

③在root ALL=(ALL) ALL后加上 用户名 ALL=(ALL) ALL然后保存后退出

④最后将写的权限去掉:chmod u-w /etc/sudoers

到这本篇博客的内容就到此结束了。
如果觉得本篇博客内容对你有所帮助的话,可以点赞,收藏,顺便关注一下!
如果文章内容有错误,欢迎在评论区指正

在这里插入图片描述

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

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

相关文章

Flow 转 LiveData 后数据丢了,肿么回事?

翻译自: https://arkadiuszchmura.com/posts/be-careful-when-converting-flow-to-livedata/ 前言 最近我在负责一段代码库,需要在使用 Flow 的 Data 层和仍然依赖 LiveData 暴露 State 数据的 UI 层之间实现桥接。好在 androidx.lifecycle 框架已经提供…

C语言-指针进阶-函数指针数组应用-计算器(9.2)

目录 1. 函数指针 2. 函数指针数组 2.1函数指针数组的定义 2.2函数指针数组应用 3. 指向函数指针数组的指针 思维导图&#xff1a; 1. 函数指针 直接上代码&#xff1a; #include <stdio.h>void test() {printf("hehe\n"); }int main() {printf("%…

【Java】数组的复制、反转、查找、排序

数组的复制、反转、查找、排序 复制 其中最关键的一点是搞清楚为什么数组复制和基本数据类型复制不同&#xff0c;是什么导致了这样的不同&#xff1f; 先来看例子 package com.atguigu.java;public class ArrayTest3 {public static void main(String[] args) {//新建arr数…

【Java数据结构与算法】Day2-高级排序(希尔、归并、快速、计数)

✅作者简介&#xff1a;热爱Java后端开发的一名学习者&#xff0c;大家可以跟我一起讨论各种问题喔。 &#x1f34e;个人主页&#xff1a;Hhzzy99 &#x1f34a;个人信条&#xff1a;坚持就是胜利&#xff01; &#x1f49e;当前专栏&#xff1a;【Java数据结构与算法】 &#…

实验七:555定时器及其应用

答疑解惑用555定时器组成的单稳态电路中&#xff0c;若触发脉冲宽度大于单稳态持续时间&#xff0c;电路能否正常工作&#xff1f;如果不能&#xff0c;则电路应做如何修改&#xff1f;答:若触发脉冲宽度大于单稳态持续时间后&#xff0c;输出脉冲宽度将等于触发脉冲的低电平持…

【精】EditorConfig 小老鼠 跨编辑器 | IDE 保持一致的编码风格

【精】EditorConfig 小老鼠 跨编辑器 | IDE 保持一致的编码风格 &#x1f345;因发布平台差异导致阅读体验不同&#xff0c;将本文原编写地址贴出&#x1f339;&#xff1a;《【精】EditorConfig 小老鼠 跨编辑器 | IDE 保持一致的编码风格》 文章目录【精】EditorConfig 小老鼠…

实时数仓方案

2、实时数仓方案 2.1、为何需要实时数仓架构 随着数据量的增大&#xff0c;传统数据的方案在时效性上和数据维护上变得越来越困难。实时数仓架构应运而生。 具体方案落地上实时数仓有很多方案可以选择&#xff0c;不同的业务和应用场景到底应该选择哪种技术方案&#xff1f;…

React18新特性

React 团队在 2022 年 3 月 29 日正式发布了 React 的第 18 个版本。 在这篇文章里简单介绍 React 18 的新特性&#xff0c;React Concurrent Mode&#xff08;并发模式&#xff09;的实现&#xff0c;以及简要的升级指南。 New Features Automatic Batching 早在 React 18 之…

011-Ensp-实验-配置ACL

实验要求 1.通过ACL 使PC1无法访问PC3 实验结构 实验步骤 基础环境配置: PC间互通 1. PC1 2 3 配置IP网关 2. LSW2 创建三个vlan &#xff0c;g0/0/2 g0/0/3 g/0/04 类型配置为Access 分别加入三个vlan g0/0/1 配置为trunk 并允许所有vlan通过 3. LSW1 g0/0/1 配置trunk …

vector底层实现及深层次拷贝问题

目录 大框架 接口实现 深层次拷贝问题&#xff08;两次深拷贝&#xff09; 大框架 为了与库里实现的更接近一些&#xff0c;先来看一下STL中是如何实现vector的&#xff08;这里不是PJ版&#xff0c;PJ版稍微晦涩一点不容易理解&#xff0c;这里采用Linux下g的版本&#xf…

VectorNet: Encoding HD Maps and Agent Dynamics from Vectorized Representation

Paper name VectorNet: Encoding HD Maps and Agent Dynamics from Vectorized Representation Paper Reading Note URL: https://arxiv.org/pdf/2005.04259.pdf TL;DR waymo 出品的 CVPR2020 论文 &#xff0c;关注在自动驾驶场景&#xff08;复杂多智能体系统&#xff0…

【算法自由之路】快慢指针在链表中的妙用(下篇)

【算法自由之路】快慢指针在链表中的妙用&#xff08;下篇&#xff09; 继上篇之后&#xff0c;链表这块还有两个相对较难的问题我们继续举例。 问题 1 给定具有 random 指针的 next 方向无环单链表&#xff0c;复制该链表 单听这个问题可能有点懵&#xff0c;这个链表结构我…

PCB封装创建(CHIP类)

PCB封装要有以下内容 PCB焊盘管脚序号丝印阻焊1脚标识目录 CHIP类&#xff08;电阻 电容 电感 三极管&#xff09; 0805C 0805R 0805L SOT-23 1.CHIP类&#xff08;电阻 电容 电感 三极管&#xff09; 1.新建一个PCB元件库 打开PCB Library 以下以0805为例。 创建080…

“CAcModuleResourceOverride”: 未声明的标识符

本文迁移自本人网易博客&#xff0c;写于2011年10月8日首先是运行时提示&#xff1a;试图执行系统不支持的操作。添加CAcModuleResourceOverride resourceOverride; 后&#xff0c;编译出现如下错误&#xff1a;error C2065: “CAcModuleResourceOverride”: 未声明的标识符 添…

scikit-learn 普通最小二乘法

scikit-learn 普通最小二乘法什么是普通最小二乘法&#xff1f;参考文献什么是普通最小二乘法&#xff1f; 线性回归模型的数学表达式如下&#xff1a; y^(w,x)w0w1x1…wpx1\hat{y}(w, x)w_{0}w_{1} x_{1}\ldotsw_{p} x_{1}y^​(w,x)w0​w1​x1​…wp​x1​ 其中 w0,w1,...,w…

Java--集合

1、集合框架 集合框架被设计成要满足以下几个目标。 该框架必须是高性能的。基本集合&#xff08;动态数组&#xff0c;链表&#xff0c;树&#xff0c;哈希表&#xff09;的实现也必须是高效的。 该框架允许不同类型的集合&#xff0c;以类似的方式工作&#xff0c;具有高度的…

【自用】高频电子线路复习(更新中)

疫情原因 没有考试就放假回家了 返校后将先进行死亡考试周 七天考完九门 回校再进行极限复习只能说可以通过 而不利于绩点的提升 所以要从现在开始抽取一些时间进行学习 第七章 频率变换方法与电路分析 7.1 非线性电路包括 发送端的高频振荡器、倍频器、谐振功率放大器和调…

【ROS自定义文件】自定义头文件及源文件的调用

本文记录ROS中的自定义文件的调用&#xff0c;主要包括自定义头文件和源文件的使用。 1 自定义C头文件的调用 注意这个文件目录的结构&#xff0c;尤其是 hello.h 这个自定义的头文件在 include/plumbing_head 文件夹之下&#xff0c;这个会直接影响后续头文件的引用。 hello.…

尚医通-整合网关-Nuxt搭建前端环境(二十六)

目录&#xff1a; &#xff08;1&#xff09;整合服务网关 &#xff08;2&#xff09;前台用户系统-nuxt搭建前端环境 &#xff08;3&#xff09;前台用户系统-目录结构和封装axios &#xff08;1&#xff09;整合服务网关 前面的过程使用nginx请求转发 下面使用SpringClo…

ScheduledThreadPoolExecutor定时任务执行线程池分析

概述 ScheduledThreadPoolExecutor自然是继承了ThreadPoolExecutor&#xff0c;那么它也就是一个被定义了特定功能的线程池而已&#xff0c;本质上就是一个ThreadPoolExecutor。 代码分析 可以看到其继承了ThreadPoolExecutor&#xff0c;在new ScheduledThreadPoolExecutor…