【Linux系统 01】Vim工具

目录

一、Vim概述

1. 文件打开方式

2. 模式切换

二、命令模式

1. 移动与跳转

2. 复制与粘贴

3. 剪切与撤销

三、编辑模式

1. 插入

2. 替换

四、末行模式

1. 保存与退出

2. 查找与替换

3. 分屏显示

4. 命令执行


一、Vim概述

1. 文件打开方式

  1. vim 文件路径:尽量用Tab补全文件名,若文件不存在则新建

  2. vim +行数 文件路径:打开文件时,光标移动到指定行

  3. vim +/关键字 文件路径:打开文件时,关键字高亮显示

2. 模式切换

  1. 命令模式 -> 编辑模式:a/A、i/I、o/O、r/R

  2. 命令模式 -> 末行模式:英文的冒号(Shift ;)

  3. 编辑模式 -> 命令模式:Esc

  4. 末行模式 -> 命令模式:Esc

  5. 编辑模式和末行模式相互转换:通过命令模式中转

二、命令模式

1. 移动与跳转

指令作用
h、←左移
l、→右移
k、↑上移
j、↓下移
^行首
$行尾
gg文件首行
G文件末行
nG文件第n行
w、W下一单词

2. 复制与粘贴

指令作用
yy复制一行
nyy复制n行
y^复制光标处到行首
y$复制光标处到行尾
yw复制一个单词
ynw复制n个单词
yG复制到文件尾
y1G复制到文件首
p粘贴到下一行
P粘贴到上一行

3. 剪切与撤销

指令作用
x剪切一个字符
nx剪切n个字符
X剪切光标前一个字符
dd剪切一行
ndd剪切n行
d^剪切到行首
d$剪切到行尾
dG剪切到文件尾
d1G剪切到文件首
dw剪切一个单词
u撤销上一次操作
U撤销一行内的操作

三、编辑模式

1. 插入

指令作用
a光标后插入
A行末插入
i光标前插入
I行首插入
o下一行插入
O上一行插入

2. 替换

指令作用
r替换一个字符
R进入替换模式
Ctrl r撤销的恢复

在编辑模式下,底行会提示当期是“Insert模式”还是“Replace模式”。

四、末行模式

1. 保存与退出

指令作用
:w保存
:q退出
:!强制执行
:wq保存并退出
:q!强行退出,不保存新修改
:e 文件名在原始窗口中打开新文件,旧文件保存
:e!放弃所有更改,重新编辑
:r 文件名在光标下一行插入文件内容

2. 查找与替换

指令作用
:set nu显示行号
:数字n将光标移动到第n行
:/关键字从文件头开始查找关键字,按n找下一个
:?关键字从文件末开始查找关键字,按n找下一个
:s/str1/str2/p当前行str1替换成str2
:%s/str1/str2/p所有行str1替换成str2

3. 分屏显示

指令作用
:vs 文件名分屏显示
:qall退出所有文件,不保存
:wqall保存并退出所有文件
:ctrl ww切换分屏

4. 命令执行

指令作用
:!命令执行一条命令
:↑查看上条命令
:↓查看下条命令

在不同的Linux系统中,末行模式执行命令的格式不一致,比如 :!cmd 命令1:!command 命令2

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android学习之路(29) Gradle初探

前言: 大家回想一下自己第一次接触Gradle是什么时候? 相信大家也都是和我一样,在我们打开第一个AS项目的时候, 发现有很多带gradle字样的文件:setting.gradle, build.gradle,gradle.warpper,以及在gradle文件中各种配置&#xff…

设计模式1-访问者模式

访问者模式是一种行为设计模式,它允许你定义在对象结构中的元素上进行操作的新操作,而无需修改这些元素的类。这种模式的主要思想是将算法与元素的结构分离开,使得可以在不修改元素结构的情况下定义新的操作。 所谓算法与元素结构分离&#x…

###C语言程序设计-----C语言学习(9)#函数基础

前言:感谢您的关注哦,我会持续更新编程相关知识,愿您在这里有所收获。如果有任何问题,欢迎沟通交流!期待与您在学习编程的道路上共同进步。 一. 基础知识的学习 1.函数的定义 函数是一个完成特定工作的独立程序模块&…

JavaWeb之HTML-CSS --黑马笔记

什么是HTML ? 标记语言:由标签构成的语言。 注意:HTML标签都是预定义好的,HTML代码直接在浏览器中运行,HTML标签由浏览器解析。 什么是CSS ? 开发工具 VS Code --安装文档和安装包都在网盘中 链接:https://p…

2024年混合云:趋势和预测

混合云环境对于 DevOps 团队变得越来越重要,主要是因为它们能够弥合公共云资源的快速部署与私有云基础设施的安全和控制之间的差距。这种环境的混合为 DevOps 团队提供了灵活性和可扩展性,这对于大型企业中的持续集成和持续部署 (CI/CD) 至关重要。 在混…

uniapp踩坑之项目:简易版不同角色显示不一样的tabbar和页面

1. pages下创建三个不同用户身份的“我的”页面。 显示第几个tabbar,0是管理员 1是财务 2是司机 2. 在uni_modules文件夹创建底部导航cc-myTabbar文件夹,在cc-myTabbar文件夹创建components文件夹,在components文件夹创建cc-myTabbar.vue组件…

Java 正则匹配sql

文章目录 正则匹配sql表名称insert intoupdate 正则表达式什么时候要加^$ 在线正则校验 正则匹配sql表名称 insert into insert into PING_TABLE (CODE, NAME) VALUES(0, 待提交),(1, 审核中),(2, 审核通过),(3, 已驳回); regex -> insert\sinto\s(\w)\s*\(?update upda…

Qt 范例阅读: QStateMachine状态机框架 和 SCXML 引擎简单记录(方便后续有需求能想到这两个东西)

一、QStateMachine 简单应用: 实现按钮的文本切换 QStateMachine machine; //定义状态机(头文件定义)QState *off new QState(); //添加off 状态off->assignProperty(ui->pushButton_2, "text", "Off"); //绑定该…

idea修改项目git地址

大家好,今天给大家分享的知识是如何在idea中修改项目的git地址。 一、修改地址 首先我们先找到菜单栏中Git选项,然后点击管理远程(Manage Remote) 之后双击origin之后就可以定义名称或者URL了。

wangEditor v4的简单使用

当前文档是 wangEditor v4 版本的。 wangEditor v5 已经正式发布,可参考文档。 v5 发布之后,v4 将不再开发新功能。 介绍 English documentation wangEditor4 —— 轻量级 web 富文本编辑器,配置方便,使用简单。 官网&#…

基于SpringBoot的后端导出Excel文件

后端导出Excel,前端下载。 系列文章指路👉 系列文章-基于SpringBoot3创建项目并配置常用的工具和一些常用的类 文章目录 后端导出Excel引入依赖写入响应 前端下载后端导出失败和成功返回的内容类型不同,因此需要分别判断。 工具类ServletUti…

基于springboot智慧养老平台源码和论文

首先,论文一开始便是清楚的论述了系统的研究内容。其次,剖析系统需求分析,弄明白“做什么”,分析包括业务分析和业务流程的分析以及用例分析,更进一步明确系统的需求。然后在明白了系统的需求基础上需要进一步地设计系统,主要包罗软件架构模式、整体功能模块、数据库设计。本项…

第97讲:MHA高可用集群模拟主库故障以及修复过程

文章目录 1.分析主库故障后哪一个从库会切换为主库2.模拟主库故障观察剩余从库的状态2.1.模拟主库故障2.3.当前主从架构 3.修复故障的主库3.1.修复主库3.2.当前主从架构3.3.恢复MHA 1.分析主库故障后哪一个从库会切换为主库 在模拟MHA高可用集群主库故障之前,我们先…

全面解析:船运物流管理系统背后的技术

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…

ensp实验合集(二)

实验6 VLAN划分....................................................................... - 30 - 实验7 路由器调试及常用命令使用........................................ - 42 - 实验8 配置静态路由器............................................................…

Modbus协议学习第七篇之libmodbus库API介绍(modbus_write_bits等)

写在前面 在第六篇中我们介绍了基于libmodbus库的演示代码,那本篇博客就详细介绍一下第六篇的代码中使用的基于该库的API函数。另各位读者,Modbus相关知识受众较少,如果觉得我的专栏文章有帮助,请一定点个赞,在此跪谢&…

2024美赛数学建模A题思路分析 - 资源可用性和性别比例(2)

# 1 赛题 问题A:资源可用性和性别比例 虽然一些动物物种存在于通常的雄性或雌性性别之外,但大多数物种实质上是雄性或雌性。虽然许多物种在出生时的性别比例为1:1,但其他物种的性别比例并不均匀。这被称为适应性性别比例的变化。…

HSM加密机原理:密钥管理和加密操作从软件层面转移到物理设备中 DUKPT 安全行业基础8

HSM加密机原理 硬件安全模块(HSM)是一种物理设备,设计用于安全地管理、处理和存储加密密钥和数字证书。HSM广泛应用于需要高安全性的场景,如金融服务、数据保护、企业安全以及政府和军事领域。HSM提供了一种比软件存储密钥更安全…

python算法与数据结构---动态规划

动态规划 记不住过去的人,注定要重蹈覆辙。 定义 对于一个模型为n的问题,将其分解为k个规模较小的子问题(阶段),按顺序求解子问题,前一子问题的解,为后一子问题提供有用的信息。在求解任一子…

无向图-树的重心-DFS求解

思路: 本题的本质是树的dfs, 每次dfs可以确定以u为重心的最大连通块的节点数,并且更新一下ans。 也就是说,dfs并不直接返回答案,而是在每次更新中迭代一次答案。 这样的套路会经常用到,在 树的dfs 题目中…