精通Linux中的编辑器(非常详细!!!)

今天我们来说一下编辑器……

Linux中的编辑器

vi:是一个文本编辑器,用于撰写文档,或者开发程序。

vim:是vi的增强版功能一致,可视化效果更好一些。去鼠标化编辑更加方便可定制化

 注意:vim编辑器是一个模式化文本编辑器工具

编辑器中有三种常用的模式:

编辑模式、插入模式、末行模式

编辑模式 

复制内容:#(数字)       

单行复制:yy
多行复制:#yy

剪切内容(也可以是删除):

   

        单行剪切:dd多行剪切:#dd剪切(删除)光标之前的一个字符到行首的内容:d0光标到行尾的内容:d$光标到行尾的内容:D删除光标所在行到最后一行:dG删除光标所在位置的词组:dw        (注意:光标得在词组的第一个符号位置才可以删除词组否则只删除该单词)

粘贴内容:p

移动光标:

        h:左移光标l:右移光标j:下移光标k:上移光标H:移动到当前屏幕的第一行,注意不是文档的第一行L:移动到当前屏幕的最后一行,注意不是文档的最后一行M:移动当前屏幕中间行

 翻页快捷键:

ctrl+f        上翻一页

ctrl+b        上翻一页

ctrl+d        上翻半页

ctrl+u        下翻半页

#G:数字+G,定位到文档指定行
G:定位到文档的最后一行
gg:定位到文档的第一行
w:跳转到最后一个词组的首字母
x:删除一个字符

撤销操作:

u:撤销上一步操作(最多可以撤销50条)
ctrl -r:撤销撤销操作(回复撤销内容)
点(.)重复上一步的操作

插查询功能:

输入/ str 搜索功能(str代表搜索的内容)

n:向下跳转一个搜索到的关键词

N:向上跳转一个搜索到的关键词

插入模式:

切换到插入模式的时候左下角会出现INSERRT单词

进入插入模式的方式:

i  -->  表示在光标前进行插入内容
a  -->  表示在光标后进行插入内容、
o  -->  表示在光标前行的下一行进行编辑
I  -->  表示在行首进行插入内容
A  -->  表示在行尾进行插入
O  -->  表示在光标所在的行的上一行插入新行进行插入内容

末行模式:

作用:用于执行一些命令或者与bash进行交互,或者执行一系列自动化指令

进入末行模式:切换到编辑模式才可以换成末行模式esc切换到编辑模式shift+:进入末行模式

保存:w
退出:q
保存退出:wq
强制保存退出:wq!
强制退出:q!
保存退出快捷方式:x 、zz 或者 shift+zz
命令执行:!command [option] 参数
读取命令执行结果:r !conmmand [option] 参数
读取其他文件的内容:r /路径/文件名
显示行号:set nu
取消高亮:nohl
查找替换功能:指定范围查找::start,stop s/查找内容/替换内容/gstart:起始行  stop:结束行  g:表示全部替换(不写默认是每行只替换第一个)  %:表示全文搜索
特殊替换:就是替换/
这时格式中的就得用别的特殊符号
设置tab缩进4个字符:set tabstop=4
复制指定范围到n行下:start,stop co n
删除指定行:start,stop d
移动指定行下面:start,stop m n

 注意:如果想打开文件就显示行号或者查询不显示高亮可以在vim中的配置文件中加上这两个

显示行号:        :set nu

显示高亮:        :syntax on

保存退出即可

替换模式(不常用):

        R:进入替换模式,esc退出

        r:当替换一个字符后自动退出

注意:插入模式不可直接切换到末行模式下

vi的崩溃缓存机制

如果vi打开的文件没有关闭,则会在文件的位置下生成缓存文件,文件名的格式是:.文件名.sw什么的隐藏文件

基于崩溃缓存文件恢复成原始文件的过程:

1、用vi -r 崩溃缓存文件        打开后保存退出

2、用vi打开原始文件

确定恢复后,就可以把崩溃缓存文件删了;如果在崩溃缓存文件中无法保存就可需要加上!号

注意:vi的配置文件

~/.vimrc:每一个用户都有自己的配置文件,设置只对当前用户生效

/etc/vimrc:这是全局配置文件,对所有用户都生效(不建议更改)

vi补充:

Vi打开文件的时候:

         如果文件存在,就是修改现有文件

        如果文件不存在,就是创建一个新的空文件

        如果vi打开出现无法保存的情况,就要看看打开的是不是一个目录

下次咱们说配置网络……

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

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

相关文章

信息系统项目管理师——十大管理过程输入、工具和技术、输出(论文篇)一

一、项目整合管理 制定项目章程 在项目管理中,制定项目章程是一个关键的初始过程,它正式授权项目的开始并为项目设定高层次的方向。项目章程的编制涉及特定的输入、采用的工具和技术,以及产生的输出。以下是这些方面的详细说明:…

如何避免父组件重新渲染,子组件也跟着渲染

当父组件重新渲染时,通常情况下,子组件也会跟着重新渲染。但是,有一些方法可以避免这种情况发生,让子组件在父组件重新渲染时不进行渲染。以下是五种常见的方法: 使用 React.memo 或 PureComponent: 使用 …

前端 JS 经典:为什么需要模块化

首先,自我评定一下,一个 js 文件,各位兄弟,最多能掌控多少行,什么意思呢,就是说,一个 js 文件在多少行之内,你是可以清楚的知道这个 JS 实现了哪些业务逻辑,并对这些业务…

专项资金!2024年自贡市高新技术企业奖励政策及申报各类补贴政策汇总

第一章 总 则 第一条 为积极应对经济发展新常态,加快培育工业发展新动力,持续推动产业结构优化升级,实现工业经济平稳较快增长,结合我县实际,制定本扶持激励办法。 第二条 人民政府将继续建立工业企业发展引导专项…

全知人工智能的黎明:OpenAI 革命性的 GPT-4o 揭晓

全知人工智能的黎明:OpenAI 革命性的 GPT-4o 揭晓 在一项突破性的公告中,OpenAI 推出了其最新的旗舰人工智能模型 GPT-4o,该模型有望彻底改变我们与人工智能交互的方式。这种无所不知的人工智能模型拥有前所未有的能力,从实时翻译…

Redis-持久化操作-AOF

持久化操作-AOF AOF是什么? 以日志的形式来记录每个写操作,将Redis执行过的所有写指令记录下来(读操作不记录),只允许加文 件但不可以改写文件,redis启动之初会读取该文件重新构建数据,换言之…

python:使用pip安装wxPython

1、找到python安装路径的Scripts文件夹,复制文件夹地址 2、进入cmd,粘贴地址,在后面加上\pip install wxPython 完整示例: C:\PythonXX\Scripts\pip install wxPython 回车运行,等待下载安装完成。 如果报错&…

电力系统潮流计算的计算机算法(四)——PQ快速解耦潮流算法

本篇为本科课程《电力系统稳态分析》的笔记。 本篇为这一章的第四篇笔记。上一篇传送门。 潮流计算的快速解耦法 牛顿-拉夫逊法潮流计算,主要的工作量在于形成雅可比矩阵和求解修正方程。由于雅可比矩阵的阶数为nm-1,约为节点总数的两倍,非…

Axure10_win安装教程(安装、汉化、授权码,去弹窗)

1.下载Axure10 链接:https://pan.baidu.com/s/1fc8Bgyic8Ct__1IOv-afUg 提取码:9qew 2.安装Axure10 因为我的电脑是Windows操作系统,所以我下载的AxureRP-Setup-Beta v10.0.0.3816 (Win).exe 一直点下一步就行 3.Axure10中文 打开Axure…

LangChain-Chatchat 实践

目录 1. 说明 相关路径: 安装环境: 2. 安装 2.1 工具准备 2.2 资料准备 2.3 执行 3. 测试 3.1 LLM对话 3.2 知识库 3.3 API 接口 参考 1. 说明 比较了几个AI LLM的集成应用工具(比如Quivr, Dify, one-api), 还是LangChain-Chatchat更符合我的需要: 支持私有化部署…

5.15项目进度总结

今天完成了随机选人和实时显示的功能(还需要维护),使得程序可以对用户的操作进行实时的显示。 实时显示的思路:在登录后开一个线程用一个socket去链接服务端并查询需要实时的信息,同时服务端把这个socket记录下来&…

【scikit-learn006】随机森林(Random Forest)ML模型实战及经验总结(更新中)

1.一直以来想写下基于scikit-learn训练AI算法的系列文章,作为较火的机器学习框架,也是日常项目开发中常用的一款工具,最近刚好挤时间梳理、总结下这块儿的知识体系。 2.熟悉、梳理、总结下scikit-learn框架随机森林(Random Forest…

RS485和RS232区别

RS485和RS232接口在物理外观上的区别主要在于连接器的类型和接线方式上。这两种串行通讯接口虽然在功能上有所不同,但外观上也有一些显著的特点。 连接器类型: RS232 接口通常使用DB9或DB25类型的连接器。DB9是较为常见的,拥有9个针脚&#x…

Adaboost集成学习 | Matlab实现基于CNN-BiLSTM-Adaboost集成学习时间序列预测(股票价格预测)

目录 效果一览基本介绍模型设计程序设计参考资料效果一览 基本介绍 Adaboost集成学习 | Matlab实现基于CNN-BiLSTM-Adaboost集成学习时间序列预测(股票价格预测) 模型设计 融合Adaboost的CNN-BiLSTM模型的时间序列预测,下面是一个基本的框架。 数据准备: 收集并整理用于时…

卷积神经网络CNN的运行过程、常见术语与问题

目录 一、CNN运行过程 1、卷积(Convolution) 2、激活函数(activation function) 3、池化(pooling) 3.1 池化操作 3.2 池化过程 3.3 池化后结果 4、Flatten 5、全连接层 Flatten层的操作 全连接层…

语义分割——高分卫星土地覆盖数据集

引言 亲爱的读者们,您是否在寻找某个特定的数据集,用于研究或项目实践?欢迎您在评论区留言,或者通过公众号私信告诉我,您想要的数据集的类型主题。小编会竭尽全力为您寻找,并在找到后第一时间与您分享。 …

vite 和wepack 的差异

Vite 和 Webpack 是两种现代前端开发中常用的构建工具,它们各有特点和适用场景。以下是 Vite 和 Webpack 之间的一些关键差异: 开发速度与热更新 (HMR): Vite 利用了浏览器对 ES 模块的支持,能够在开发环境下实现几乎即时的模块热…

Flutter 中的 checkboxListTile 小部件:全面指南

Flutter 中的 checkboxListTile 小部件:全面指南 在Flutter的Material组件库中,CheckboxListTile是一个特殊的ListTile,它内嵌了一个复选框(Checkbox)。这使得它非常适合用来创建一个带有标题和可选复选框的列表项&am…

2.3 应用集成技术

第2章 信息技术知识 2.3 应用集成技术 2.3.1 数据库与数据仓库技术 数据库 以单一的数据源即数据库为中心进行事务处理、批处理、决策分析等各种数据处理工作操作型处理也称事务处理,指的是对联机数据库的日常操作,通常是对数据库中记录的查询和修改…

HVV,2024护网面试题

常见安全工具、设备 工具 端口及漏洞扫描:Namp、Masscan 抓包:Wireshark,Burpsuite、Fiddler、HttpCanary Web自动化安全扫描:Nessus、Awvs、Appscan、Xray 信息收集:Oneforall、hole 漏洞利用:MSF、…