【Linux系统 01】Vim工具

news2024/10/7 18:29:29

目录

一、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.coloradmin.cn/o/1433355.html

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

相关文章

jmeter设置关联

一、为什么要设置关联? http协议本身是无状态的,客户端只需要简单向服务器请求下载某些文件,无论是客户端还是服务端都不去记录彼此过去的行为,每一次请求之间都是独立的。如果jmeter需要设置跨线程组脚本,就必须设置…

【代码随想录-哈希表】有效的字母异位词

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老导航 檀越剑指大厂系列:全面总结 jav…

flutter开发实战-ijkplayer视频播放器功能

flutter开发实战-ijkplayer视频播放器功能 使用better_player播放器进行播放视频时候,在Android上会出现解码失败的问题,better_player使用的是video_player,video_player很多视频无法解码。最终采用ijkplayer播放器插件,在flutt…

C# OMRON PLC FINS TCP协议简单测试

FINS(factory interface network service)通信协议是欧姆龙公司开发的用于工业自动化控制网络的指令/响应系统。运用 FINS指令可实现各种网络间的无缝通信,包括用于信息网络的 Etherne(以太网),用于控制网络的Controller Link和SYSMAC LINK。…

前端框架学习 Vue(3)vue生命周期,钩子函数,工程化开发脚手架CLI,组件化开发,组件分类

Vue 生命周期 和生命周期的四个阶段 Vue生命周期:一个Vue实例从创建 到 销毁 的整个过程 生命周期四个阶段 :(1)创建 (2)挂载 (3)更新 (4)销毁 Vue生命周期函数(钩子函数) Vue生命周期过程中,会自动运行一些函数,被称为[生命周期钩子] ->让开发者可以在[特定阶段] 运行自…

[MFC] MFC消息机制的补充

之前写了[MFC] 消息映射机制的使用和原理浅析,还有些需要补充的,都记在这里。 MFC 消息的分类 MFC消息分为系统消息和自定义消息。 图片来源:C语言/C教程 大型源码案例分析:MFC消息系统的代码解析 易道云编程 系统消息分为窗口…

【SpringBoot】SpringBoot的web开发

📝个人主页:五敷有你 🔥系列专栏:SpringBoot ⛺️稳重求进,晒太阳 Wbe开发 使用Springboot 1)、创建SpringBoot应用,选中我们需要的模块; 2)、SpringBoot已经默…

用友GRP-U8 listSelectDialogServlet SQL注入漏洞复现

0x01 产品简介 用友GRP-U8R10行政事业内控管理软件是用友公司专注于国家电子政务事业,基于云计算技术所推出的新一代产品,是我国行政事业财务领域最专业的政府财务管理软件。 0x02 漏洞概述 用友GRP-U8R10行政事业内控管理软件 listSelectDialogServlet 接口处存在SQL注入…

chisel RegInit/UInt/U

val reg RegInit(0.U(8.W)) //ok val reg RegInit(0.UInt(8.W)) //errU 使用在数字 . 后边50.U UInt 使用在IO(new Bundle val a Input(UInt(8.W)) 或者 def counter(max:UInt, a1:UInt) package emptyimport chisel3._ import chisel3.util._class MyCounter extends …

操作系统-【预备学习-1】(Linux 文件目录)

文章目录 相关知识目录结构进入目录补充查看目录创建文件删除文件创建文件夹删除文件夹文件和文件夹拷贝文件和文件夹移动/重命名 任务要求 相关知识 目录结构 Linux 文件系统是树形层次结构,具体如下图所示,最重要的是根目录(/&#xff09…

06 - python操作xml

认识XML 与HTML很像,是一种将数据存储在标记之间的标记语言,用户可以自定义自己的标记。 XML文件可以表示称为:XML树。这个XML树从根元素开始,根元素进一步分支到子元素。XML文件的每个元素都是XML树的一个节点,没有…

服务器和云服务器哪个更安全?

随着云计算技术的不断发展,越来越多的企业开始选择使用云服务器来存储和处理数据。然而,对于一些企业来说,他们可能更倾向于使用传统的服务器。在这种情况下,安全性成为了一个重要的考虑因素。那么,服务器和云服务器哪…

arm 汇编积累

C语言函数与汇编对应关系 一、MOV 系列指令 1、指令格式 MOV{条件}{S} 目的寄存器,源操作数 2、含义解析: (1):mov 指令传送数据 案例: MOV R0,R1 ; R0 R1; MOV PC,R14 ;PC R14; MOV R0,R…

[Angular 基础] - 数据绑定(databinding)

[Angular 基础] - 数据绑定(databinding) 上篇笔记,关于 Angular 的渲染过程及组件的创建&简单学习:[Angular 基础] - Angular 渲染过程 & 组件的创建 Angular 之中的 databinding 是一个相对而言更加复杂,以及我个人觉得相对而言比…

Java on Azure Tooling 2024年1月更新|Azure Key Vault 支持、示例项目创建支持及更多

作者:Jialuo Gan - Program Manager, Developer Division At Microsoft 排版:Alan Wang 大家好,欢迎来到 2024 年 Java on Azure 工具的首次更新。在本次更新中,我们将介绍对于 Azure Key Vault 支持、基于 Azure 示例项目的创建支…

C++ 调用lua 脚本

需求: 使用Qt/C 调用 lua 脚本 扩展原有功能。 步骤: 1,工程中引入 头文件,库文件。lua二进制下载地址(Lua Binaries) 2, 调用脚本内函数。 这里调用lua 脚本中的process函数,并…

如何让虚拟机拥有愉快网络环境,vmware,ubuntu,centos

博客原文 文章目录 前言拥有愉快网络环境步骤:测试网关连接 Ubuntu修改 http 与 sock 代理地址修改 /etc/resolv.conf配置 apt 使用代理测试连接 Centos设置代理地址修改 NetworkManager最后重启网卡:测试代理 前言 相信计算机专业的同学在学习 linux 时, 一定会被无…

Element UI+Spring Boot进行CRUD的实例

ElementUI安装与使用指南 前端代码:点击查看learnelementuispringboot项目源码 后端代码:点击查看 LearnElementUiAndSpringBoot 一、前端配置 安装axios Gitee的axios介绍与使用 GitHub的axios介绍与使用 方式一:使用npm安装 $ npm in…

2024年最新幻兽帕鲁服务器搭建教程

玩转幻兽帕鲁服务器,阿里云推出新手0基础一键部署幻兽帕鲁服务器教程,傻瓜式一键部署,3分钟即可成功创建一台Palworld专属服务器,成本仅需26元,阿里云服务器网aliyunfuwuqi.com分享2024年新版基于阿里云搭建幻兽帕鲁服…

回归预测 | Matlab实现WOA-CNN-LSTM-Attention鲸鱼算法优化卷积长短期记忆网络注意力多变量回归预测(SE注意力机制)

回归预测 | Matlab实现WOA-CNN-LSTM-Attention鲸鱼算法优化卷积长短期记忆网络注意力多变量回归预测(SE注意力机制) 目录 回归预测 | Matlab实现WOA-CNN-LSTM-Attention鲸鱼算法优化卷积长短期记忆网络注意力多变量回归预测(SE注意力机制&…