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

news/2024/9/18 14:01:57/ 标签: 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.ppmy.cn/news/1525714.html

相关文章

为什么H.266未能普及?EasyCVR视频编码技术如何填补市场空白

H.266,也被称为Versatile Video Coding(VVC),是近年来由MPEG(Moving Picture Experts Group)和ITU(International Telecommunication Union)联合开发并发布的新一代国际视频编码标准…

【云原生安全篇】一文掌握Harbor集成Trivy应用实践

【云原生安全篇】一文掌握Harbor集成Trivy应用实践 目录 1 概念 1.1 什么是 Harbor 和 Trivy? 1.1.1 Harbor 1.1.2 Trivy 1.2 Harbor 与 Trivy 的关系 Trivy 在 Harbor 中的作用: 1.3 镜像扫描工作流程 2 实战案例:在Harbor 配置 Trivy …

Android 签名、空包签名 、jarsigner、apksigner

jarsigner是JDK提供的针对jar包签名的通用工具, 位于JDK/bin/jarsigner.exe apksigner是Google官方提供的针对Android apk签名及验证的专用工具, 位于Android SDK/build-tools/SDK版本/apksigner.bat jarsigner: jarsigner签名空包执行的命令: jar…

【系统架构师】-论文-2024-2009年系统架构师历年论文题目

2024年5月 大数据Lambda架构的应用与分析 云原生云上DevOps运维应用与分析 模型驱动软件开发方法与应用 论单元测试在软件回归测试中的应用和分析 2023年 论面向对象设计的应用与实现 论多数据源集成的应用与实现 论软件可靠性模型的设计与实现 论边缘计算技术的设计与实现 …

openssh移植:精致的脚本版

前置文章: busybox移植:全能脚本版-CSDN博客 zlib交叉编译-CSDN博客 openssl移植:精致的脚本版-CSDN博客 源码下载 官网:http://www.openssh.com/ 下载了一个很新的版本 ftp://mirrors.sonic.net/pub/OpenBSD/OpenSSH/portable/openss…

android API、SDK与android版本

随着 Android 系统的不断更新,API Level 也会随之增加。每个新的 API Level 都引入了新的功能、改进旧的功能,或者弃用了旧的 API。开发者在开发应用时,需要指定目标 API Level,也就是应用最低支持的 Android 版本。 API Level 与…

C++速通LeetCode简单第9题-二叉树的最大深度

深度优先算法递归: /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right…

Java面试题·解释题·单例模式、工厂模式、代理模式部分

系列文章目录 Java面试题解释题JavaSE部分 Java面试题解释题框架部分 Java面试题解释题单例模式、工厂模式、代理模式部分 文章目录 系列文章目录前言一、设计模式1. 单例模式1.1 单例模式的定义1.2 单例模式的实现方法 2. 工厂模式2.1 工厂模式的定义2.2 工厂模式的实现方法2…

JAVA毕业设计175—基于Java+Springboot+vue3的医院预约挂号管理系统(源代码+数据库)

毕设所有选题: https://blog.csdn.net/2303_76227485/article/details/131104075 基于JavaSpringbootvue3的医院预约挂号管理系统(源代码数据库)175 一、系统介绍 本项目前后端分离(可以改为ssm版本),分为用户、医生、管理员三种角色 1、用户&#x…

使用Python自动抓取亚马逊网站商品信息

全量数据抓取不现实,但可以自动化、小批量采集亚马逊数据,现在可用的工具也非常多,包括Python以及一些专门的爬虫软件,我用过几个比较好入手的,像web scraper、八爪鱼、亮数据。 比如亮数据爬虫,它提供数据…

Qt C++ Udp相关知识学习(一)

文章目录 udp 单播消息,是什么意思特点:使用场景:例子:udp 广播消息,是什么意思特点:使用场景:示例:参考udp 单播消息,是什么意思 UDP 单播消息(UDP unicast)是指使用用户数据报协议(UDP)通过网络发送消息的过程,消息的接收者是单个特定的目标设备或IP地址。 特…

uniapp与webview进行数据通信

uniapp与webview进行数据通信&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8" /><meta name"viewport" content"widthdevice-width,initial-scale1,minimum-scale1,maximum-scale1,user-scalableno"…

Redis简介、常用命令及优化

文章目录 一、关系数据库​​与非关系型数据库概述1. 关系型数据库2. 非关系型数据库3.关系数据库与非关系型数据库区别 二、Redis简介1.Redis的单线程模式2.Redis 优点3.Redis 缺点 三、安装redis四、Redis 命令工具五、Redis 数据库常用命令六、Redis 多数据库常用命令七、Re…

【Linux取经之路】软件包管理器yum编辑器vim及其配置

目录 软件包管理器yum 1、什么是软件包 2、关于lrzsz 3、安装软件 4、查看软件 5、卸载软件 编辑器——vim 1、vim的基本概念 2、vim的基本操作 3、vim普通模式命令集 4、底行模式命令集 5、vim的配置 配置sodu权限 软件包管理器yum 1、什么是软件包 在Linux下…

大顶堆+动态规划+二分

前言&#xff1a;我们这一题需要分类讨论 对于我们左边和右边的我们需要预处理 有点类似反悔堆的做法&#xff0c;得出i之前取出 m 个元素代价最小&#xff0c;并且这个代价一定是递减的&#xff08;可以推导一下&#xff09; 题目地址 #include<bits/stdc.h> using name…

使用脚手架来创建 express 项目

使用脚手架&#xff08;scaffold&#xff09;可以快速搭建Express应用程序的基本结构。Express自身提供了一个官方脚手架工具叫做express-generator&#xff0c;它可以帮助你快速地生成一个包含基本文件结构的Express项目。 安装Express Generator 首先&#xff0c;你需要全局…

AI在医疗领域:MEDIC 全面评估大模型在医疗领域的应用

随着医疗领域中大型语言模型&#xff08;LLMs&#xff09;的迅猛发展&#xff0c;公众对于其评估的需求日益增长&#xff0c;要求超越传统的USMLE等基准测试&#xff0c;以更全面地反映模型在现实世界中的应用性能。尽管现实世界的评估对于衡量模型的实用性具有重要价值&#x…

【uni-app】小兔鲜项目--拉取小兔鲜儿项目模板代码

1. 拉取小兔鲜儿项目模板代码 模板地址 git clone -b template https://gitee.com/heima-fe/uniapp-shop-vue3-ts.git heima-shop步骤 在写代码的文件夹&#xff0c;输入CMD&#xff0c;打开终端&#xff0c;直接执行克隆命令 2.通过VS Code打开heima-shop文件夹&#xff0…

c语言 stdio.h 介绍

stdio.h 是 C 标准库中的一个头文件&#xff0c;提供了输入和输出功能的函数和宏。以下是它的主要内容和功能&#xff1a; 主要功能 输入输出函数&#xff1a; printf&#xff1a;格式化输出到标准输出&#xff08;通常是终端&#xff09;。scanf&#xff1a;从标准输入&#…

计算机毕业设计Python知识图谱美团美食推荐系统 美团餐厅推荐系统 美团推荐系统 美食价格预测 美团爬虫 美食数据分析 美食可视化大屏

《Python知识图谱美团美食推荐系统》开题报告 一、研究背景与意义 随着信息技术的飞速发展和互联网应用的普及&#xff0c;人们的消费习惯逐渐从线下转移到线上&#xff0c;外卖行业迎来了前所未有的发展机遇。美团作为国内领先的生活服务电子商务平台&#xff0c;拥有庞大的…