Linux环境基础开发工具---vim

1.快速的介绍一下vim

vim是一款多模式的编辑器,里面有很多子命令,来实现代码编写操作。

2.vim的模式 

vim一共有三种模式:底行模式,命令模式,插入模式。

2.1vim模式之间的切换 

2.2 谈论常见的模式---命令模式,底行模式

                                             2.2.1命令模式

光标移动:

vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母「h」、「j」、「k」、 「l」,分别控制光标左、下、上、右移一格

shift + 4 按「$」:移动到光标所在行的“行尾”

shift + 6 按「^」:移动到光标所在行的“行首” 

按[gg]:进入到文本开始

按[shift+g]:进入文本末端

按[数字+shift+g]:跳转到数字指定行

按「w」:光标跳到下个字的开头(按照单词开始移动)

按「b」:光标回到上个字的开头(按照单词开始移动)

复制粘贴

「yy」:复制光标所在行到缓冲区。

「n + yy」:复制多行行到缓冲区。

「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完 成复制与粘贴功能。

「n + p」:多次粘贴.

撤销

「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回 复。

「ctrl + r」: 撤销的恢复

「dd」:删除光标所在行/剪切当前行

「n + dd」:删除光标所在行/剪切当前行

局部替换与大小写转换

[shift + ·= ~] : 大小写快速转换

「r」:替换光标所在处的字符。

「n + r」:批量替换光标所在处的字符。

[shift + r= R] : 替换模式(ESC退出)

删除文字

「x」:每按一次,删除光标所在位置的一个字符

「n + x」:每按一次,删除光标所在位置的一个字符

「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符

「n + X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符

查找

[ shift + 3 = # ] : 高亮要查找的函数名 ;按「n」会往前寻找到您要的关键字为止。

                                      2.2.2底行模式 

保存文件

「w」: 在冒号输入字母「w」就可以将文件保存起来

离开vim

「q」:按「q」就是退出,如果无法离开vim,可以在「q」后跟一个「!」强制离开vim。

「wq」:一般建议离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件。

查找字符

「/关键字」: 先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按 「n」会往后寻找到您要的关键字为止。

「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直 按「n」会往前寻找到您要的关键字为止。

[ ! + command] : 底行模式可以执行shell命令。

[ vs + filename ]: 多窗口,光标在那个界面就在编辑那个界面

[ctrl + w + w] : 多窗口之间的切换

[ set + nu] : 标出行号

[ set + no + nu] : 取消标出行号

批量化注释:

1. ctrl + v

2. hjkl 进行区域选择

3. shift + i =I

4. //

5. ESC

批量化去注释:

1. ctrl + v

2. hjkl 进行区域选择

3. d

3. 关于普通用户无法sudo的问题

因为,普通用户在sudo的时候只需要输入自己的密码,如果随意的一个用户都可以sudo,那么Linux的权限设置毫无意义,所以Linux添加了一个白名单,只有加入了白名单的普通用户才能进行sudo。 

1.切换到root用户,打开 /etc/sudoers 文件

 

2.大概在100行的位置,把自己的用户名以100行的格式,加在102行就行了

 

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

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

相关文章

Linux 35.5 + JetPack v5.1.3@CUDA安装和版本切换

Linux 35.5 JetPack v5.1.3CUDA安装和版本切换 1. 源由2. 现象3. 分析3.1 看本质3.2 善动脑3.3 笔记回忆3.4 底层思考3.5 多版本 4. 版本切换5. 总结 1. 源由 最近遇到一些CUDA编程,以及编译链接过程出现一些版本不匹配的问题。 首先,申明下&#xff…

No module named MYSQLdb 问题解决

问题: 导入写好的数据库时报错 解决:pip install mysql-python (又报错) 找了网上的方法: 执行 pip install PyMySQL,将数据库连接改为 mysqlpymysql://username:passwordserver/db,接下来的操…

prompt实用技巧-AI+Mermaid【酷炫钉钉文档】

AI 新技能,最近 chatGPTo1 发布后模型能力出现了新的跨越,之前模型的一本正经的胡说八道幻想模式,让AI 对待理科推理明显弱于文案的 AGI 的生成。 prompt engineer 工程师程序员的福音 prompt 内容如下, 按照以上格式生成创建公…

安卓玩机工具-----ADB与 FASTBOOT模式 图形化 多功能玩机刷机工具

工具说明 这款工具是英文版。易于使用的工具提供了用于运行 ADB 和 Fastboot 命令的图形用户界面。ADB 功能包括旁加载、安装和卸载应用程序、测试设备以及重新启动到不同的模式。可以使用 fastboot 命令进行设备管理;其中包括检查 Antirollback 和 active slots 等变…

鸿蒙 ArkUI组件一

ArkUI组件 布局 布局指用特定的组件或者属性来管理用户页面所放置UI组件的大小和位置。在实际的开发过程中,需要遵守以下流程保证整体的布局效果: 确定页面的布局结构。分析页面中的元素构成。选用适合的布局容器组件或属性控制页面中各个元素的位置和大…

react crash course 2024 (1)理论概念

state的作用 react hooks 而无需写一个class jsx 样式用 spa

Python 数学建模——ARMA 时间序列分析

文章目录 前言使用前提平稳性检验白噪声检验 用法代码实例第一步——平稳性分析方法一方法二方法三 第二步——白噪声分析第三步——确定参数第四步——模型构建与检验检验模型效果预测未来数据 前言 常见的时间序列分析方法有很多,之前介绍了一个稍微新颖的 Prophe…

Springboot项目打war包运行及错误解决

一,打war包 1. 修改pom.xml 为了不影响原pom.xml, 我复制了一个文件叫pom_war.xml , 需要打war包就采用pom_war.xml进行打war包, 你也可以直接修改pom.xml ① 打包方式改为war 没有就增加此配置 <packaging>war</packaging> ② 排除内嵌tomcat依赖 <de…

AI+代码审核平台CodeSec获CCIA中国网络安全创新创业大赛总决赛三等奖

近日&#xff0c;由中央网信办指导&#xff0c;中国网络安全产业联盟&#xff08;CCIA&#xff09;主办的2024年中国网络安全创新创业大赛总决赛及颁奖典礼在国家网络安全宣传周落下帷幕。开源网安“AI代码审核平台CodeSec V4.0” 凭借在AI方向的技术创新、技术突破及功能应用创…

[数据集][目标检测]俯拍航拍森林火灾检测数据集VOC+YOLO格式6116张2类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;6116 标注数量(xml文件个数)&#xff1a;6116 标注数量(txt文件个数)&#xff1a;6116 标注…

ESP8266做httpServer提示Header fields are too long for server to interpret

CONFIG_HTTP_BUF_SIZE512 CONFIG_HTTPD_MAX_REQ_HDR_LEN1024 CONFIG_HTTPD_MAX_URI_LEN512CONFIG_HTTPD_MAX_REQ_HDR_LEN由512改为1024

基础GAN生成式对抗网络(pytorch实验)

&#xff08;Generative Adversarial Network&#xff09; 一、理论 https://zhuanlan.zhihu.com/p/307527293?utm_campaignshareopn&utm_mediumsocial&utm_psn1815884330188283904&utm_sourcewechat_session 大佬的文章中的“GEN的本质”部分 二、实验 1、数…

【F的领地】项目拆解:少儿英语虚拟资料项目 | 虚拟资料类目 | 学会利用 AI 去生成素材

项目介绍 前几天我分享的小学教辅资料整合项目&#xff0c;已经有学员私信我&#xff0c;说在实操的过程碰到问题了。 我给出了对应的解答&#xff0c;问了下收益&#xff0c;虽然才出十几单&#xff0c;但起码是行动了。 碰到问题&#xff0c;并不可怕&#xff0c;我之前博…

数业智能心大陆探索生成式AIGC创新前沿

近日&#xff0c;数业智能心大陆参与了第九届“创客中国”生成式人工智能&#xff08;AIGC&#xff09;中小企业创新创业大赛。在这场汇聚了众多创新力量的研讨过程中&#xff0c;广东数业智能科技有限公司基于多智能体的心理健康技术探索与应用成果&#xff0c;从众多参赛者中…

「Qt Widget中文示例指南」如何实现一个系统托盘图标?(二)

Qt 是目前最先进、最完整的跨平台C开发工具。它不仅完全实现了一次编写&#xff0c;所有平台无差别运行&#xff0c;更提供了几乎所有开发过程中需要用到的工具。如今&#xff0c;Qt已被运用于超过70个行业、数千家企业&#xff0c;支持数百万设备及应用。 System Tray Icon&a…

农产品自动识别系统(Java+Springboot+SSM+Vue+Maven+二维码溯源+识别农作物CNN模型PyTorch框架)

简介&#xff1a; 本系统有前后台的区分&#xff0c;分别由用户及管理员使用&#xff0c;其中用户还可以使用移动端登录。 用户端分为注册登录模块&#xff1b;个人信息模块&#xff1b;二维码模块&#xff1b;文章模块&#xff1b;溯源信息模块&#xff1b;农产品识别模块&a…

目标检测中的解耦和耦合、anchor-free和anchor-base

解耦和耦合 写在前面 在目标检测中&#xff0c;objectness&#xff08;或 objectness score&#xff09;指的是一个评分&#xff0c;用来表示某个预测框&#xff08;bounding box&#xff09;中是否包含一个目标物体。 具体来说&#xff0c;YOLO等目标检测算法需要在每个候选区…

深入理解Python中的生成器:高效迭代与延迟计算的艺术

在处理大量数据时&#xff0c;如何有效地管理内存成为了一个关键问题。Python中的生成器&#xff08;Generator&#xff09;提供了一种优雅的解决方案&#xff0c;它允许你在迭代过程中按需生成数据&#xff0c;而不是一次性加载所有数据到内存中。本文将详细探讨生成器的工作原…

OSSEC搭建与环境配置Ubuntu

尝试使用Ubuntu配置了OSSEC&#xff0c;碰见很多问题并解决了&#xff0c;发表博客让后来者不要踩那么多坑 环境 &#xff1a; server &#xff1a;Ubuntu22.04 64位 内存4GB 处理器4 硬盘60G agent: 1.Windows11 64位 2.Ubuntu22.04 64位 服务端配置 一、配置安装依赖项&…

信息安全数学基础(11)同余的概念及基本性质

一、同余的概念 同余是一个数学概念&#xff0c;用于描述两个数在除以某个数时所得的余数相同的情况。具体地&#xff0c;设m是一个正整数&#xff0c;a和b是两个整数&#xff0c;如果a和b除以m的余数相同&#xff0c;则称a和b模m同余&#xff0c;记作a≡b(mod m)。反之&#x…