五、Linux之Vi和Vim编辑器
基本介绍
Vi
Linux 系统会内置 vi 文本编辑
Vim
具有程序编辑的能力,可以看做是 Vi 的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。
代码补完、编译及错误跳转等方便编程的功能特别丰富
常用的三种模式
- 正常模式
以 vim 打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可以使用『上下左右』按键来
移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容, 也可以使用『复制、粘贴』来处理你的文件数
据
- 插入模式
按下 i, I, o, O, a, A, r, R 等任何一个字母之后才会进入编辑模式, 一般来说按 i 即可
- 命令行模式
输入 esc 再输入:在这个模式当中, 可以提供你相关指令,完成读取、存盘、替换、离开。 vim 显示行号等的动作则是在此模式中达成的
使用 vim 开发一个 Hello.java 程序, 保存

回车,这时候就进入正常模式,输东西是没有反应的,要切换到编辑(插入)模式(按下 i, I, o, O, a, A, r, R ),才可以输入东西。

输入 esc 再输入:切换到命令行模式,输入wq保存退出

各种模式的相互切换

快捷键案例
- 拷贝当前行,并粘贴(输入 p)
yy

光标在哪里就复制哪行,输入yy后需要输入p粘贴才能显示
- 拷贝当前行向下的 5 行,并粘贴(输入 p)
5yy

- 删除当前行
dd
- 删除当前行向下的5行
5dd
- 在文件中查找某个单词
命令行下 /关键字 , 回车,输入 n 就是查找下一个
/main

- 设置文件的行号,取消文件的行号(命令行格式下)
set nu set nonu


- 编辑 /etc/profile 文件,在一般模式下, 使用快捷键到该文档的最末行和最首行
G 最末行
gg 首行
- 在一个文件中输入 “hello” ,在一般模式下, 然后又撤销这个动作
u 撤销
-
编辑 /etc/profile 文件,在一般模式下, 并将光标移动到20行 ,

输入 20,再输入 shift+g

-
更多的看整理的文档
链接:https://pan.baidu.com/s/1S6B7UhkyqZoypM_zA94sfw?pwd=lo5t
提取码:lo5t
- 快捷键的键盘对应图

相关文章:
五、Linux之Vi和Vim编辑器
基本介绍 Vi Linux 系统会内置 vi 文本编辑 Vim 具有程序编辑的能力,可以看做是 Vi 的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。 代码补完、编译及错误跳转等方便编程的功能特别丰富 常用的三种模式 正常模式 以 vim …...
git删除错误的commit
文章目录 1、git删除错误的commit2、.gitignore配置文件不生效的问题 1、git删除错误的commit git的流程如图: 当某次失误造成commit的版本有问题,需要回退到正常的版本修改后重新add。 首先通过git log查看commit提交记录,可以看到HEAD-…...
代码随想录算法训练营Day08 | 344.反转字符串、541. 反转字符串II、卡码网:54.替换数字
文章目录 344.反转字符串思路与重点 541. 反转字符串II思路与重点 卡码网:54.替换数字思路与重点 344.反转字符串 题目链接:344. 反转字符串 - 力扣(LeetCode)讲解链接:代码随想录 (programmercarl.com)状态ÿ…...
mysql锁之乐观锁、悲观锁、表锁、行锁、共享锁、排他锁
mysql锁之乐观锁、悲观锁、表锁、行锁、共享锁、排他锁 MySQL锁概述 锁是计算机协调多个进程或线程并发访问某一个资源的机制,在数据库中,除传统的计算资源(CPU、RAM、I/O)的争用以外,数据也是一种供许多用户共享的资…...
【软件干货】Android应用进程如何保活?
1.Android 应用进程保活方法介绍 在Android应用程序中,为了保证应用的正常运行和稳定性,有时需要对应用进程进行保活。以下是一些实现进程保活的方法: 1、使用前台服务(Foreground Service):将服务调用startForeground()方法&…...
neo4j部署保姆级教程
由于公司是基于大数据架构的,让部署neo4j数据库,之前没有接触过,然后紧急学了一下,并且从网上找了一些教程,决定还是记录下来,后续有时间了会在出一篇使用教程 环境准备(root用户) …...
【STM32CubeMX开发】-2.2-TIM_输出一个PWM信号
目录 1 Tim定时器的时钟源 2 Tim定时器的配置 2.1 PWM配置 2.2 中断配置 3 生成代码 4 测试结果 结尾 1 Tim定时器的时钟源 TIM3的时钟来源自APB1 Timer clocks,时钟树上所有总线频率均设置为了STM32F0能达到的最高频率,此时APB1 Timer clocks …...
Ngx+Lua+Redis 快速存储POST数据
系统几万台设备有windows有安卓还有linux系统,每个设备三分钟就会向服务器post设备的硬件信息,数据格式json,后台管理界面只需要最新的数据,不需要历史数据,业务逻辑非常简单,PHP代码就几行,已经…...
go-delve的使用
go-delve的非交互使用方式: dlv要执行的命令文件:cmd.dlv goroutines exit 执行非交互命令: yes n | dlv --allow-non-terminal-interactivetrue attach $pid --init cmd.dlv --end--...
Python网络爬虫技术详解
Python网络爬虫技术详解 引言 网络爬虫(Web Crawler),又称网络蜘蛛(Web Spider)或网络机器人(Web Robot),是一种按照一定规则自动抓取互联网信息的程序或脚本。它们通过遍历网页链…...
Golang | Leetcode Golang题解之第474题一和零
题目: 题解: func findMaxForm(strs []string, m, n int) int {dp : make([][]int, m1)for i : range dp {dp[i] make([]int, n1)}for _, s : range strs {zeros : strings.Count(s, "0")ones : len(s) - zerosfor j : m; j > zeros; j--…...
算法刷题技巧
算法题:https://leetcode.cn/studyplan/top-100-liked/ 哈希表 使用哈希表,增删改查的时间复杂度均为O(1)。何时使用哈希表? 在某个区域内查找一个已知元素,可以使用哈希表作为这个区域根据一个特征对元素进行分类,特征…...
BMS、EMS PCS 简介
1 储能系统的构成 完整的电化学储能系统主要由电池组、电池管理系统(BMS)、能量管理系统(EMS)、储能变流器(PCS)以及其他电气设备构成。 在储能系统中,电池组将状态信息反馈给电池管理系统BMS&…...
spug3发布项目
一、启动spug项目 1.spug代码仓库地址: spug: 开源运维平台:面向中小型企业设计的无 Agent的自动化运维平台,整合了主机管理、主机批量执行、主机在线终端、文件在线上传下载、应用发布、任务计划、配置中心、监控、报警等一系列功能。 - Gitee.com 注…...
鸿蒙HarmonyOS开发:应用权限的基本概念及如何申请应用权限详细介绍
文章目录 一、访问控制二、应用权限1、应用权限管控2、权限使用的基本原则3、授权方式4、权限等级 三、申请应用权限1、选择申请权限的方式2、声明权限3、声明样例4、二次向用户申请授权5、具体实现示例6、效果展示 四、应用权限列表1、system_grant(系统授权&#…...
mac 桌面版docker no space left on device
报错信息 docker pull镜像时报: failed to register layer: Error processing tar file(exit status 1): write /home/admin/oceanbase_bak/bin/observer: no space left on device 解决 增加 docker 虚拟磁盘大小。 调整完点击重启即可。...
基于CIM的街镇基层治理统一指挥平台建设方案
1 项目概述 1.1 建设背景 社区作为人民生活的重要区域,往往需要对社区内人员、房屋、基本设施、日常业务进行规范管理,以保证其正常运行,但是传统的社区治理方式已不能满足新时代社会发展的要求,如人工采集录入信息、人员现场巡逻等,这些工作方式不仅工作量大,而且效率…...
PostgreSQL学习笔记三:数据类型和运算符
数据类型和运算符 PostgreSQL 支持多种数据类型和运算符,以下是一些常见的数据类型和运算符的概述: 数据类型 基本数据类型 整数类型: SMALLINT:2 字节,范围 -32,768 到 32,767。INTEGER:4 字节࿰…...
ROS理论与实践学习笔记——6 ROS机器人导航(仿真)
在 ROS 中,机器人导航(Navigation)是由多个功能包组合而成的系统,统称为导航功能包集(navigation stack)。它提供了一个全面的框架,使得移动机器人能够自主导航到指定目标点,同时避开…...
uniapp开发微信小程序,button的open-type=“share“ 分享给个人跳转到首页问题
当使用button标签带上open-type"share"属性,点击之后可分享当前页面给微信好友,但是分享之后朋友点开跳转到了首页问题。 需要使用 onShareAppMessage 函数 export default {onShareAppMessage(res) {if (res.from button) {// 来自页面内分…...
从温控器到无人机:PID参数整定的‘手感’秘籍,附C语言代码避坑指南
从温控器到无人机:PID参数整定的‘手感’秘籍与实战避坑指南 在工业自动化和智能硬件开发中,PID控制算法就像一位隐形的调音师,默默调节着系统的每一个细微变化。无论是缓慢升温的工业烘箱,还是高速响应的四旋翼无人机,…...
多智能体AI交易系统技术落地实践:从架构设计到生产部署
多智能体AI交易系统技术落地实践:从架构设计到生产部署 【免费下载链接】TradingAgents-CN 基于多智能体LLM的中文金融交易框架 - TradingAgents中文增强版 项目地址: https://gitcode.com/GitHub_Trending/tr/TradingAgents-CN 在金融科技快速发展的今天&am…...
如何一站式解决漫画格式转换难题:CBconvert完整指南
如何一站式解决漫画格式转换难题:CBconvert完整指南 【免费下载链接】cbconvert CBconvert is a Comic Book converter 项目地址: https://gitcode.com/gh_mirrors/cb/cbconvert 还在为不同设备上的漫画格式兼容性问题而烦恼吗?CBconvert作为一款…...
不止是拆网卡:以联想ThinkCentre M7131z为例,聊聊老旧一体机的升级改造可能性
联想ThinkCentre M7131z改造指南:从拆网卡到全面性能升级 老旧商用一体机往往被贴上"性能瓶颈"的标签,但联想ThinkCentre M7131z系列却隐藏着令人惊喜的改造潜力。这台发布于2015年前后的商用一体机,凭借其模块化设计和充足的内部空…...
Cursor Pro免费激活指南:3步解锁AI编程工具的完整功能
Cursor Pro免费激活指南:3步解锁AI编程工具的完整功能 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached your tri…...
TradingAgents-CN本地化部署实战指南:多智能体金融框架避坑策略
TradingAgents-CN本地化部署实战指南:多智能体金融框架避坑策略 【免费下载链接】TradingAgents-CN 基于多智能体LLM的中文金融交易框架 - TradingAgents中文增强版 项目地址: https://gitcode.com/GitHub_Trending/tr/TradingAgents-CN 一、问题发现&#x…...
别再手动改Hosts了!用K8S Gateway API轻松搞定基于请求头的AB测试(OpenResty实战)
告别手动配置:基于K8S Gateway API的智能AB测试实战指南 每次功能迭代时,你是否还在反复修改本地Hosts文件来切换测试环境?或是为了验证某个接口在不同版本间的表现差异,不得不频繁重启服务或调整代理配置?这种低效的手…...
LAVIS深度解析:语言视觉智能库的架构设计与视觉问答实现原理
LAVIS深度解析:语言视觉智能库的架构设计与视觉问答实现原理 【免费下载链接】LAVIS LAVIS - A One-stop Library for Language-Vision Intelligence 项目地址: https://gitcode.com/gh_mirrors/la/LAVIS 语言视觉智能库LAVIS、视觉问答VQA、多模态AI、BLIP模…...
Hunyuan-MT-7B开源镜像免配置部署:像素语言传送门一键启动教程(含GPU适配)
Hunyuan-MT-7B开源镜像免配置部署:像素语言传送门一键启动教程(含GPU适配) 1. 项目介绍 像素语言跨维传送门是一款基于Tencent Hunyuan-MT-7B大模型构建的创新翻译工具。它将传统翻译体验重构为16-bit像素冒险风格,让语言转换变…...
颠覆传统投资分析:TradingAgents-CN智能交易系统零门槛部署指南
颠覆传统投资分析:TradingAgents-CN智能交易系统零门槛部署指南 【免费下载链接】TradingAgents-CN 基于多智能体LLM的中文金融交易框架 - TradingAgents中文增强版 项目地址: https://gitcode.com/GitHub_Trending/tr/TradingAgents-CN 在金融科技迅猛发展的…...
