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

Linux编辑器——vim的使用

目录

vim的基本概念

命令模式

底行模式

插入模式

注释和取消注释

普通用户进行sudo提权

vim配置问题


vim的基本概念

一般使用的vim有三种模式:

命令模式 底行模式和插入模式,可以进行转换;

vim filename

打开vim,进入的是命令模式;输入a/i/o 可以切换到插入模式

输入Esc可以退回到命令模式

输入 shift+;=: 切换到底行模式,输入Esc回退到命令模式

注意,底行模式不能直接切换到插入模式

命令模式

:控制光标的移动,字符的输入,删除,复制粘贴等等,有一些相关的指令;

n+yy :复制当前行 n:连续复制n行

n+p:粘贴,n:把当前内容粘贴n行

n+dd:剪切,n:剪切n行

u:撤销 ctrl+r:反撤销

shift+4=$:将光标定位到当前行的结尾

shift+6=^:将光标定位到当前行的开头

gg:将光标定位到整个文本的开头

shift+g=G:将光标定位到整个文本的最后一行

n+shift+g=nG:将光标定位到整个文本的任意一行,

h(左) j(下) k(上) l(右) 控制光标的移动

w:按照单词为单位进行光标后移

b:按照单词为单位进行光标前移

shift+`=~:大小写快速切换,可以将已经编辑过的大写字母变成小写字母,小写字母变大写字母

按住shift+` 就可以把小写字母变成大写字母

n+x :可以删除光标后面的一个字符,n:一次可以删除n个,在一行以内

n+shift+x:可以删除光标之前的一个字符,n:一次可以删除n个,在一行以内

n+r:可以替换光标位置的字符,

r+要替换的字符, 例如 ra

n:表示一次可以替换n个在光标之后的字符(包括光标所在的字符),例如 4ra

shift+r=R:进入替换模式,进行文本替换

例如 shift+r xxxxxx(要替换的文本)

shift+zz=ZZ:保存并退出

底行模式

:用来进行vim和shll进行交互

w:保存

q:退出

wq:保存并退出

!:强制

set nu:打开行号

set nonu:关闭行号

/ 关键字:可以搜索文本中出现的字符,并把光标定位到该位置

!指令:不退出vim,就可以进行shell命令的执行,常用于函数查看

vs filename:分屏,用于多文件操作

插入模式

:就是编辑,写文本;

注释和取消注释

ctrl+v 进入视图模式,用 hjkl控制框选区域 shift+i 进入编辑模式 输入// 就可以注释了

然后Esc退出,要退出两次,

ctrl +v 进入视图模式,用hjkl控制框选区域,包含且仅包含//,输入d就可以取消注释

普通用户进行sudo提权

1.普通用户先切换成root用户

2.vim /ect/sudoers

3.输入set nu设置行号

4.在一百行左右,进行普通用户的sudo提权,只改变用户名,其他的和root一样

然后就提权成功了

vim配置问题

原理:vim并不是直接执行,执行前会读取一些文件,比如.vimrc 我们把需要配置的指令写在.vimrc文件中,然后vim执行时就会读取.vimrc文件,配置一些功能,比如行号,自动缩进,自动补齐,代码提示等等;

为了方便,还可以一键式配置

在当前用户目录下输入

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

然后需要输入root账号密码,就配置成功了

具体内容可以参考这些文件:

VimForCpp: 快速将vim打造成c++ IDE

相关文章:

Linux编辑器——vim的使用

目录 vim的基本概念 命令模式 底行模式 插入模式 注释和取消注释 普通用户进行sudo提权 vim配置问题 vim的基本概念 一般使用的vim有三种模式: 命令模式 底行模式和插入模式,可以进行转换; vim filename 打开vim,进入的…...

Java案例斗地主游戏

目录 一案例要求: 二具体代码: 一案例要求: (由于暂时没有学到通信知识,所以只会发牌,不会设计打牌游戏) 二具体代码: Ⅰ:主函数 package three;public class test {…...

sqlite|轻量数据库|pgadmin4的sqlite数据库操作--重置密码和账号解锁

前言: pgadmin4的用户密码以及pgadmin4创建的pg数据库的连接信息等等都是存放在sqlite数据库内的;而有的时候,可能会由于自己的问题将pgadmin4的密码忘记,这个时候需要重置pgadmin4的密码,或者是pgadmin4的密码输错多…...

【ARMv8/v9 异常模型入门及渐进 9.1 - FIQ 和 IRQ 打开和关闭】

请阅读【ARMv8/v9 ARM64 System Exception】 文章目录 FIQ/IRQ Enable and Disable汇编指令详解功能解释使用场景和注意事项 FIQ/IRQ Enable and Disable 在ARMv8/v9架构中,可以使用下面汇编指令来打开FIQ和 IRQ,代码如下: asm volatile ("msr da…...

深入探索Flutter中的状态管理:使用Provider库

当涉及Flutter状态管理时,provider是一个强大且灵活的解决方案,它提供了一种简单且高效的方式来管理应用程序状态。本文将详细介绍Flutter中provider插件的使用方法、示例代码、各种使用场景以及注意事项。 1. 引入依赖 首先,需要在项目的pubspec.yaml文件中添加provider依…...

算法工程师第十四天(找树左下角的值 路径总和 从中序与后序遍历序列构造二叉树 )

参考文献 代码随想录 一、找树左下角的值 给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。 假设二叉树中至少有一个节点。 示例 1: 输入: root [2,1,3] 输出: 1示例 2: 输入: [1,2,3,4,null,5,6,null,null,7] 输出: 7 层次遍历&#…...

memcached 高性能内存对象缓存

memcached 高性能内存对象缓存 memcache是一款开源的高性能分布式内存对象缓存系统,常用于做大型动态web服务器的中间件缓存。 mamcached做web服务的中间缓存示意图 当web服务器接收到请求需要处理动态页面元素时,通常要去数据库调用数据,但…...

C语言 分割链表

题目来源: 代码部分,参考官方题解的写法: // 思路: 就是把原始链表,拆分为2部分,最后再拼接一下。struct ListNode* partition(struct ListNode* head, int x) {struct ListNode* small malloc(sizeof(struct ListNode));struct ListNode*…...

spring ioc的原理

1、控制反转(IOC):对象的创建控制权由程序自身转移到外部(容器) 2、依赖注入(DI):所谓依赖注入,就是由IOC容器在运行期间,动态地将某种依赖关系注入到对象之中。 Spring 中的 IoC 的实现原理就是工厂模式加反射机制。 参考资料…...

npm安装依赖包报错,npm ERR! code ENOTFOUND

一、报错现象: npm WARN registry Unexpected warning for https://registry.npmjs.org/: Miscellaneous Warning ETIMEDOUT: request to https://registry.npmjs.org/vue failed, reason: connect ETIMEDOUT 104.16.23.35:443 npm WARN registry Using stale data…...

【iOS】——内存对齐

内存对齐是什么 内存对齐指的是数据在内存中的布局方式,它确保每个数据类型的起始地址能够满足该类型对齐的要求。这是因为现代处理器在访问内存时,如果数据的起始地址能够对齐到一定的边界,那么访问速度会更快。这种对齐通常是基于数据类型…...

网络安全-网络安全及其防护措施10

46.软件定义网络(SDN) 软件定义网络(SDN)的概念和特点 软件定义网络(SDN)是一种新兴的网络架构,通过将网络的控制平面(Control Plane)和数据转发平面(Data …...

Pytorch基础应用

1.数据加载 1.1 读取文本文件 方法一:使用 open() 函数和 read() 方法 # 打开文件并读取全部内容 file_path example.txt # 替换为你的文件路径 with open(file_path, r) as file:content file.read()print(content)方法二:逐行读取文件内容 # 逐…...

Axure 教程 | 设置文本框背景透明

​在AXURE软件中,部件样式可以编辑,但有时却无法满足所有个性化原型的需求。例如文本框部件,可以设置是否隐藏边框,但即使隐藏边框之后,文本框还会有白色的背景。 当界面需要一个无背景色的输入框时,对于完…...

【BUG】已解决:NOAUTH Authentication required

已解决:NOAUTH Authentication required 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页,我是博主英杰,211科班出身,就职于医疗科技公司,热衷分享知识,武汉城市开发者社区主理人…...

全国产服务器主板:搭载飞腾FT2000+/64处理器的高性能加固服务器

近期很多朋友咨询全国产化的服务器主板。搭载的是飞腾FT-2000/64的全国产化服务器主板。他的主要特点是:①丰富的PCIe、千兆以太网、SATA接口,可用作数据处理、存储、通信服务器;②​​​​​​​板载独立显示芯片,对外HDMI/VGA/L…...

OPC UA边缘计算耦合器BL205工业通信的最佳解决方案

OPC UA耦合器BL205是钡铼技术基于下一代工业互联网技术推出的分布式、可插拔、结构紧凑、可编程的IO系统,可直接接入SCADA、MES、MOM、ERP等IT系统,无缝链接OT与IT层,是工业互联网、工业4.0、智能制造、数字化转型解决方案中IO系统最佳方案。…...

【已解决】Django连接MySQL启动报错Did you install mysqlclient?

在终端执行python manage.py makemigrations报错问题汇总 错误1:已安装mysqlclient,提示Did you install mysqlclient? 当你看到这样的错误信息,表明Django尝试加载MySQLdb模块但未找到,因为MySQLdb已被mysqlclient替代。 【解…...

ubuntu gcc g++版本切换

要将 GCC 和 G 的版本从 12.4 降低到 9,你可以按照以下步骤操作: 安装 GCC 和 G 9: sudo apt update sudo apt install gcc-9 g-9 使用 update-alternatives 设置优先级: sudo update-alternatives --install /usr/bin/gcc gcc…...

如何发一篇顶会论文? 涉及3D高斯,slam,自动驾驶,三维点云等等

SLAM&3DGS 1)SLAM/3DGS/三维点云/医疗图像/扩散模型/结构光/Transformer/CNN/Mamba/位姿估计 顶会论文指导 2)基于环境信息的定位,重建与场景理解 3)轻量级高保真Gaussian Splatting 4)基于大模型与GS的 6D pose e…...

模拟IC设计避坑指南:从gm/id曲线看懂增益、带宽与噪声的三角博弈

模拟IC设计中的gm/id方法论:增益、带宽与噪声的三角平衡艺术 在模拟集成电路设计的精密世界里,每个参数选择都如同走钢丝,需要设计师在相互制约的性能指标间找到完美平衡点。gm/id设计方法正是为这种复杂决策而生的一套系统化工具&#xff0c…...

Aider:AI结对编程实战,从原理到项目级代码编辑

1. 项目概述:当AI成为你的结对编程伙伴如果你是一名开发者,大概率经历过这样的场景:面对一个需要修改的复杂函数,你清楚地知道要做什么,但就是不想动手去敲那一行行重复或繁琐的代码;或者,在深夜…...

用Python+GDAL玩转遥感指数:自动化批量计算NDVI、NDWI、NDBI的完整脚本与优化技巧

PythonGDAL遥感指数自动化计算实战:从NDVI到RSEI的高效处理框架 遥感指数计算是地物识别与生态监测的核心技术,但传统商业软件在处理大规模时序数据时效率低下。本文将分享一套基于Python和GDAL的自动化遥感指数计算框架,涵盖NDVI、NDWI、NDB…...

WinRAR分卷压缩 vs 7-Zip分卷压缩:哪个更适合你?一次讲清区别、选型和实操

WinRAR分卷压缩 vs 7-Zip分卷压缩:深度对比与场景化选型指南 在数字文件传输与存储的日常场景中,大文件处理始终是个绕不开的痛点。无论是设计师需要发送PSD源文件给客户,还是开发人员要共享虚拟机镜像,当文件体积突破邮箱附件限…...

声音与视觉环境优化:提升工程师与知识工作者生产力的科学方法

1. 项目概述:声音与视觉如何重塑我们的生产力你有没有过这样的体验:在图书馆的绝对安静里,反而一个字也写不出来;但在咖啡馆那恰到好处的嘈杂声中,思绪却如泉涌?或者,当你戴上耳机,播…...

基于Matrix的AI助手baibot:多模型集成与隐私优先部署指南

1. 项目概述:一个为Matrix而生的全能AI助手如果你和我一样,既是Matrix去中心化通信的忠实用户,又对当前各种AI大模型的能力感到兴奋,那么你很可能一直在寻找一个能将两者无缝结合的工具。市面上确实有一些方案,比如基于…...

微信支付 微信转账 微信退款 订单流程链路指南文档

1.官网文档地址 https://pay.weixin.qq.com/doc/v3/merchant/4012791856 2.支付产品 JSAPI支付:提供商户在微信客户端内部浏览器网页中使用和小程序使用 APP支付:提供商户在自己的APP中使用 H5支付:提供商户在手机浏览器网页&#xff08…...

通过 TaoToken CLI 工具一键配置开发环境接入大模型聚合服务

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 通过 TaoToken CLI 工具一键配置开发环境接入大模型聚合服务 对于开发者而言,接入不同的大模型服务往往意味着需要处理…...

AI应用安全新挑战:基于模糊测试的提示词注入漏洞自动化检测

1. 项目概述:当AI提示词成为攻击目标最近在跟几个做AI应用安全的朋友聊天,大家不约而同地提到了一个词:“提示词攻击”。听起来有点抽象,对吧?简单来说,就是有人不直接黑你的系统,而是通过精心构…...

从零掌握生成式AI:开源学习路径与实战项目全解析

1. 项目概述与核心价值最近在GitHub上看到一个名为“panaverse/learn-generative-ai”的项目,作为一个在AI领域摸爬滚打多年的从业者,我立刻被它吸引住了。这个项目直译过来就是“学习生成式AI”,名字非常直接,但它的内容组织和深…...