vi/vim 编辑器 --基本命令

1 vi/vim编辑器介绍 

vi 是visual interface 的简称,是Linux中最经典的文本编辑器

vim是vi的加强版。兼容了vi的所有指令,不仅能编辑文本,而且具有shell程序编辑的功能,可以通过不同颜色的字体辨别语法的正确性,极大方便了程序的设计和编辑性。

2 vi/vim编辑器的三种工作模式

命令模式(Command mode)

命令模式下,所敲的按键编辑器都理解为命令,以命令驱动不同的功能。

此模式下,不能自由进行文本编辑。

 输入模式(Insert mode)

也就是所谓的编辑模式、插入模式。

此模式下,可以对文件内容进行自由编辑。

底线命令模式(Last line mode)

 以:开始,通常用于文件的保存、退出。

2.1 命令模式

 如果需要通过vi\vim编辑器编辑文件,输入如下命令

vi 文件路径

vim 文件路径        一般直接使用vim,因为vim兼容vi的所有功能

 注意:1)如果文件路径表示的文件不存在,那么此命令会用于编辑新文件。

             2)如果文件路径表示的文件存在,那么命令用于编辑已有文件。

示例

vim test.txt        若文件不存在,会自动创建新文件并进入命令模式

再点击  i  ,进入输入模式

对内容进行编辑,输入this a test

点击Esc,退出输入模式,进入命令模式

在命令模式下,输入:进入底线命令模式

在底线命令模式下(即在 : 基础上),再输入wq ,回车进行保存并退出

命令模式快捷键

以下为在命令模式下,各种进入输入模式的快捷键 

模式命令描述
命令模式i在当前光标位置进入输入模式
命令模式a在当前光标位置之后进入输入模式
命令模式I (大写i )在当前行的开头,进入 输入模式
命令模式A在当前行的结尾,进入输入模式
命令模式o在当前光标下一行进入输入模式
命令模式O在当前光标上一行进入输入模式
输入模式Esc任何情况下点击Esc都能回到命令模式

 以下还有一些命令模式下的快捷键

命令描述命令描述
键盘上、键盘k向上移动光标dd删除光标所在行的内容
键盘下、键盘j向下移动光标nddn是数字,删除当前光标向下n行
键盘左、键盘h向左移动光标yy复制当前行
键盘右、键盘L向右移动光标nyyn是数字,复制当前行和下面的n行
0移动光标到当前行的开头p粘贴复制的内容
$移动光标到当前行的结尾u撤销修改
pageup(PgUp)向上翻页ctrl+r方向撤销修改
pagedown(PdDn)向下翻页gg跳到首行
/进入搜索模式G跳到行尾
n向下继续搜索dG从当前行开始,向下全部删除
CTRL+n向上继续搜索dgg从当前行开始,向上全部删除
d$从当前光标开始,删除到本行的结尾d0从当前光标开始,删除本行的开头
2.2 底线命令模式

 注意:点击Esc可退回命令模式。

以下为底线命令模式下的一些常用命令: 

:wq保存并退出
:q仅退出
:q!强制退出
:w仅保存
:set nu显示行号
:set nonu取消行号显示
:set paste设置粘贴模式
:set nopaste取消粘贴模式

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

七麦数据js逆向(补环境版)

本文目标地址如下,使用base64解码获得 aHR0cHM6Ly93d3cucWltYWkuY24vcmFuay9tYXJrZXRSYW5rL21hcmtldC82L2NhdGVnb3J5LzUvY29sbGVjdGlvbi9hbGwvZGF0ZS8yMDI0LTAxLTEy 本文逆向破解分为扣代码版和补环境版,扣代码版请看专栏另一篇文章 废话不多说了&#…

Docker 安装以及加速器配置

通常我们因为安装docker出现许多错误,使用解压版安装方便快捷,并且增加加速器的配置,以及可视化界面的配置,让我们的成长更近了一步 1. 虚拟机网络配置 虚拟机使用nat模式,配置ens33如下: TYPEEthernet P…

15 个适用于 Windows 的 PDF 解锁工具大全

PDF(便携式文件格式)是一种文件格式,用于呈现和交换任何独立于任何软件、硬件或操作系统的可靠访问的文档。Adobe 发明了它,但现在它是由国际标准化组织 (ISO) 维护的开放标准。因此,您现在必须了解这些 PDF 解锁工具。…

微软等开源评估ChatGPT、Phi、Llma等,统一测试平台

微软亚洲研究院、中国科学院自动化研究所、中国科学技术大学和卡内基梅隆大学联合开源了,用于评估、分析大语言模型的统一测试平台——PromptBench。 Prompt Bench支持目前主流的开源、闭源大语言模型,例如,ChatGPT、GPT-4、Phi、Llma1/2、G…

PagedAttention: from interface to kernal

1 Overview PagedAttention灵感来自于操作系统中虚拟内存和分页的经典思想,它可以允许在非连续空间立存储连续的KV张量。具体来说,PagedAttention把每个序列的KV缓存进行了分块,每个块包含固定长度的token,而在计算attention时可…

Fabric2.2:在有系统通道的情况下搭建应用通道

写在最前 在使用Fabric-SDK-Go1.0.0操作Fabric网络时遇到了bug。Fabric-SDK-GO的当前版本没有办法在没有系统通道的情况下创建应用通道,而Fabric的最新几个版本允许在没有系统通道的情况下搭建应用通道。为了解决这个矛盾并使用Fabric-SDK-GO完成后续的项目开发&…

谷歌aab包在Android 14闪退而apk没问题(targetsdk 34)

问题原因 Unity应用(target SDK 34)上线到GooglePlay,有用户反馈fold5设备上(Android14系统)疯狂闪退,经测试,在小米手机Android14系统的版本复现成功了,奇怪的是apk直接安装没问题,而打包成aa…

MacOS环境下Kali Linux安装及使用指导

Kali Linux是一个开源的、基于Debian的Linux发行版,面向各种信息安全任务,如渗透测试、安全研究、计算机取证和逆向工程,是最先进的渗透测试发行版,它的前身是BackTrack。 1. 我们为什么要用Kali Linux 由于Kali Linux具有以下特…

Typora上传图片失败PicGo

起初我是在Typora中点击一键上传图片,结果如下,报错。可是我找了半天也没错啊。 最后发现原来是一个图片的命名问题,名字太过于复杂,PicGo识别不出,一个图片报错导致其它也上传不了。 我把它复制到其它文件夹之后&…

JavaScript基础03

1 - 循环 1.1 for循环 语法结构 for(初始化变量; 条件表达式; 操作表达式 ){//循环体 } 名称作用初始化变量通常被用于初始化一个计数器,该表达式可以使用 var 关键字声明新的变量,这个变量帮我们来记录次数。条件表达式用于确定每一次循环是否能被执行…

集简云动作管理平台上线:创建强大且可分享的AI助手(GPTs)

OpenAI的GPT Store于昨天上线,用户可以找到好用的GPTs,也可以将自己的GPTs分享到GPT Store中。未来(预计今年1季度)甚至可以从GPTs Store中获取利润分成。 要创建强大的GPTs离不开调用外部的软件工具,比如查询CRM/ERP软…

03.阿里Java开发手册——OOP规约

【强制】避免通过一个类的对象引用访问此类的静态变量或静态方法,无谓增加编译器解析成本,直接用类名来访问即可。 【强制】所有的覆写方法,必须加Override 注解。 说明:getObject()与 get0bject()的问题。一个是字母的 O&#x…

小程序中滚动字幕

需求&#xff1a;在录像时需要在屏幕上提示字幕&#xff0c;整体匀速向上滚动 html部分&#xff1a; <view class"subtitles_main"><view style"font-size:34rpx;color: #fff;line-height: 60rpx;" animation"{{animation}}">人生的…

Unity2022.3打包Android后从AB包加载场景发现丢失大量脚本问题

问题 这两天遇到一个问题&#xff0c;在VR项目打包Android的时候&#xff0c;加载场景后&#xff0c;Timeline工作不正常&#xff0c;找不到原因。 现象 看到有很多警告&#xff0c;丢失脚本的Log。 因为场景本身也有一些丢失的脚本所以没在意&#xff0c;但是又不是所有脚本…

QEMU源码全解析 —— PCI设备模拟(7)

接前一篇文章&#xff1a; 上一回讲解了pci_edu_realize函数中的pci_register_bar函数&#xff0c;本回开始对于edu设备的MMIO读写函数进行解析。 操作系统与PCI设备交互的主要方式是PIO和MMIO。MMIO虽然是一段内存&#xff0c;但是其没有EPT映射&#xff0c;在虚拟机访问设备…

【开源】基于JAVA的数据可视化的智慧河南大屏

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、系统展示四、核心代码4.1 数据模块 A4.2 数据模块 B4.3 数据模块 C4.4 数据模块 D4.5 数据模块 E 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpringBootMySQL的数据可视化的智慧河南大屏&#xff0c;包含了GDP、…

有道云笔记编辑 Markdown 文件 - GitHub README.md

有道云笔记编辑 Markdown 文件 - GitHub README.md 1. 新建 -> Markdown2. GitHub README.mdReferences 1. 新建 -> Markdown ​ 2. GitHub README.md ​​​ References [1] Yongqiang Cheng, https://yongqiang.blog.csdn.net/

关于群晖ARPL界面能出现ip但是使用Synology Assistant搜索不到ip问题 及解决方法

文章引用ing304 频道文章&#xff1a;https://qun.qq.com/qqweb/qunpro/share?_wv3&_wwv128&appChannelshare&inviteCode20jx8dPsU2z&contentID1m4NKs&businessType2&from181174&shareSource5&bizka 前言 当进入该界面后 提示IP无法访问&a…

面试题:SELECT COUNT(*) 会造成全表扫描吗 ?

文章目录 前言SQL 选用索引的执行成本如何计算实例说明总结 前言 SELECT COUNT(*)会不会导致全表扫描引起慢查询呢&#xff1f; SELECT COUNT(*) FROM SomeTable 网上有一种说法&#xff0c;针对无 where_clause 的 COUNT(*)&#xff0c;MySQL 是有优化的&#xff0c;优化器…

.NET core 中的Kestrel 服务器

什么是Kestrel&#xff1f; Kestrel 是一个跨平台的Web服务器&#xff0c;会默认在ASP.NET Core 项目模板中对其进行配置。未使用 IIS 托管时&#xff0c;ASP.NET Core 项目模板默认使用 Kestrel。 Kestrel 的功能包括&#xff1a; 跨平台&#xff1a;Kestrel 是可在 Window…