Linux系统的常见命令十一,文本编辑器(vi和vim)

目录

  • vi命令
  • vim命令
  • vi命令与vim命令的区别

本文主要介绍Linux系统的文本编辑器命令vi和vim,还有它们之间的区别。

vi命令

vi是Linux和其他类Unix操作系统中最常用的文本编辑器之一,它的功能强大且灵活,可以通过键盘快捷键来完成大量的编辑操作。

vi命令分为两种模式,分别为命令模式和编辑模式,可以通过Esc键从编辑模式切换到命令模式。

以下是一些常用的vi命令:

  1. 打开文件:在终端中输入“vi 文件名”,即可打开文件进行编辑。如打开测试文件test.txt:

    vi test.txt
    

    在这里插入图片描述

  2. 切换到命令模式:在编辑模式下按下Esc键即可切换到命令模式。

  3. 保存文件:在命令模式下按下“:w”即可保存当前文件。如保存当前文件并不退出:

    :w
    
  4. 退出vi:在命令模式下按“:q”即可退出,如果当前文件有修改但没有保存,则会提示保存或放弃修改。如退出当前文件:

    :q
    
  5. 保存并退出:在命令模式下按“:wq”即可保存当前文件并退出。如保存当前文件并退出:

    :wq
    
  6. 删除字符:在命令模式下按“x”或“X”即可删除光标所在位置的字符或删除光标前一个字符。如删除光标所在位置的字符:

    x
    
  7. 删除行:在命令模式下按“dd”即可删除当前行。如删除当前行:

    dd
    
  8. 撤销操作:在命令模式下按“u”即可撤销上一次操作。如撤销上一次操作:

    u
    
  9. 插入模式:在命令模式下按“i”即可进入插入模式,可以在当前位置插入文本。如在光标所在位置插入文本:

    i
    
  10. 替换模式:在命令模式下按“r”即可进入替换模式,可以替换当前字符。如将光标所在位置的字符替换成“a”:

    r a
    

这只是vi命令的一小部分,还有很多其他的命令。建议在终端中输入“man vi”或“vi --help”来查看完整的vi命令帮助文档。

vim命令

vim是Linux和其他类Unix操作系统中最常用的高级文本编辑器之一,它是vi编辑器的增强版,提供了更多的功能和快捷键。

vim命令同样分为两种模式:命令模式和编辑模式,可以通过Esc键从编辑模式切换到命令模式。

以下是一些常用的vim命令:

  1. 打开文件:在终端中输入“vim 文件名”,即可打开文件进行编辑。如打开测试文件test.txt:

    vim test.txt
    

    在这里插入图片描述

  2. 切换到命令模式:在编辑模式下按下Esc键即可切换到命令模式。

  3. 保存文件:在命令模式下使用“:w”即可保存当前文件。如保存当前文件并不退出:

    :w
    
  4. 退出vim:在命令模式下使用“:q”即可退出,如果当前文件有修改但没有保存,则会提示保存或放弃修改。如退出当前文件:

    :q
    
  5. 保存并退出:在命令模式下使用“:wq”即可保存当前文件并退出。如保存当前文件并退出:

    :wq
    
  6. 删除字符:在命令模式下按“x”或“X”即可删除光标所在位置的字符或删除光标前一个字符。如删除光标所在位置的字符:

    x
    
  7. 删除行:在命令模式下按“dd”即可删除当前行。如删除当前行:

    dd
    
  8. 撤销操作:在命令模式下按“u”即可撤销上一次操作。如撤销上一次操作:

    u
    
  9. 插入模式:在命令模式下按“i”即可进入插入模式,可以在当前位置插入文本。如在光标所在位置插入文本:

    i
    
  10. 搜索:在命令模式下输入“/”加上需要搜索的内容即可搜索,查找到的内容会被高亮显示。如搜索字符串“hello”:

    /hello
    

这只是vim命令的一部分,还有很多其他的命令和功能,如分屏编辑、多文件编辑等。建议在终端中输入“man vim”或“vim --help”来查看完整的vim命令帮助文档。

在vim中使用分屏功能可以同时显示多个文件或同一文件的不同部分,提高编辑效率。以下是使用分屏编辑的具体步骤:

  1. 打开一个文件,在普通模式下输入“:split”或“:sp”,可将当前窗口水平分成两个窗口。也可以使用“:vsplit”或“:vsp”将当前窗口垂直分成两个窗口。

  2. 切换不同窗口:在普通模式下,使用“Ctrl + w + w”可以在不同窗口间切换光标位置。

  3. 关闭分屏:在普通模式下,使用“:q”可以关闭当前窗口,使用“:qa”关闭所有窗口。

使用分屏编辑可以方便地在同一文件的不同部分进行编辑,还可同时查看多个文件,提高效率。

看完这两个命令,大家可能会很疑惑,这两个命令非常相似,到底有什么区别呢?下面展开说说。

vi命令与vim命令的区别

vi和vim是Linux和其他类Unix系统中常用的文本编辑器,它们的区别主要体现在以下方面:

  1. 功能:vim相比vi具有更多的功能和快捷键,如多级撤销、语法高亮、分屏编辑、查找替换等功能。

  2. 显示:vim支持更多的显示模式,如状态行、命令行提示等。

  3. 兼容性:vi编辑器是早期Unix系统中自带的简单文本编辑器,而vim编辑器是对vi的增强版,更加适合日常使用。

  4. 使用界面:vim相比vi更加友好,提供了更多的提示和说明。

总的来说,vim相比vi有更多的功能和更好的用户体验,更适合在Linux系统中进行日常的文本编辑工作。但是在某些情况下,如在一些嵌入式系统上,可能只提供了vi编辑器,这时候只能使用vi进行编辑。所以在有vim的情况下,使用vim会好用一些,在没有安装vim的情况下,只能勉强使用vi了。

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

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

相关文章

AIGC: 关于ChatGPT中输出表格/表情/图片/图表这些非文本的方式

ChatGPT 不止是 文本输出 ChatGPT是一个文本模型, 它本身并不能直接去生成图片图表等内容在我们的工作当中,经常需要通过表格, 图表的方式去进行数据的处理和展示在这种情况下,GPT由于不支持去直接的生成图片和图表,我们还能够使用它的GPT帮…

GANVAEDiffusion

数学基础 KL散度 描绘一个分布p和另一个分布q之间的偏离程度 当 p ( x ) q ( x ) p(x)q(x) p(x)q(x)时散度取得最小值 JS散度 另一种衡量两个概率分布相似性的方法 GAN 需要训练两个网络;损失来回波动,不好分辨,不容易收敛&#xff…

uniapp开发小程序使用axios进行网络请求 uniapp 小程序调试

前言 本篇最好放到项目的【README.md】文件中,方便每次发布的时候检查纠错,毕竟好记性不如烂笔头。而且其他开发者帮忙修改bug、发布新版本的时候,只需要根据这个事项就能实现整个流程的提审发布,提高效率。 1、微信小程序配置 1.1、检查APPID是否正确 测试:wx--------…

Python中的split()、rsplit()、splitlines()的区别

split、rsplit、splitlines的区别 1、split()2、rsplit()3、splitlines() Python提供了三种字符串分割的方法:split()、rsplit()和splitlines();本文主要通过案例介绍这三种字符串分割函数的区别 1、split() split()主要用于从左向右匹配分割符进行分割…

Java实现动态加载的逻辑

日常工作中我们经常遇到这样的场景,某某些逻辑特别不稳定,随时根据线上实际情况做调整,比如商品里的评分逻辑,比如规则引擎里的规则。 常见的可选方案有: JDK自带的ScriptEngine 使用groovy,如GroovyClassLoader、Gro…

sed和awk使用

区别 1、sed是流编辑器(行),而awk是文本格式化工具,报告生成器(解释型的编程语言); 2、awk适合对文件进行抽取整理,sed适合对文件进行编辑; 3、sed读取一行数据,会以行作为单位进行处理,而awk读取一…

MacBook macOs安装RabbitMQ【超详细图解】

目录 一、使用brew安装RabbitMQ 二、安装RabbitMQWeb管理界面 三、启动RabbitMQ 一、使用brew安装RabbitMQ 刚好项目要用到RabbitMQ,安装顺便写下安装步骤记录一下以备用 使用brew命令安装,一般Mac会自带这个命令,如没有,…

SQL server-excel数据追加到表

参考文章:SQL server 2019 从Excel导入数据_mssql2019 导入excel数据-CSDN博客 将excel数据导入到SQL server数据库的详细过程 注意:第一行数据默认为数据库表中的字段,所以这个必须要有,否则无法映射导入 问题1:ADD…

开发一款短剧视频小程序软件多少钱?

今年最炙手可热的互联网项目之一当属短剧小程序,常常受到客户的咨询,他们想了解开发一套短剧小程序需要多少费用。今天,我将详细介绍相关费用及开发细节。 小程序认证费用: 每年300元,是确保小程序正常运营所必需的认证…

YOLOv8独家原创改进:自研独家创新FT_Conv,卷积高效结合分数阶变换

💡💡💡本文自研创新改进:卷积如何有效地和频域结合,引入分数阶傅里叶变换(FrFT)和分数阶Gabor变换(FrGT),最终创新到YOLOv8。 使用方法:1)直接替换原来的C2f;2)放在backbone SPPF后使用;等 推荐指数:五星 在道路缺陷检测任务中,原始map为0.8,FT_Conv为0.82 收…

视频智能分析国标GB28181云平台EasyCVR加密机授权异常是什么原因?

国标GB28181视频汇聚/视频云存储/集中存储/视频监控管理平台EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,实现视频资源的鉴权管理、按需调阅、全网分发、云存储、智能分析等。 近期有用户选择使用加密机进行EasyCVR授…

KaiwuDB 亮相中国国际供应链促进博览会

11月28日,全球首个以供应链为主题的国家级展会——2023 中国国际供应链促进博览会(简称“链博会”)在北京盛大召开。KaiwuDB 受邀亮相大会,向与会者展示现代数据库技术在数字科技链条中的根基作用,其中分布式多模数据库…

第十六章 设计题

Python基础、函数、模块、面向对象、网络和并发编程、数据库和缓存、 前端、django、Flask、tornado、api、git、爬虫、算法和数据结构、Linux、设计题、客观题、其他 第十六章 设计题 1. 设计一个办公室摄像头的web后台管理系统 假设功能如下: 1. 可以 开启关闭重启每个摄…

基于springboot实现冬奥会科普平台系统【项目源码+论文说明】

基于SpringBoot实现冬奥会科普平台系统演示 摘要 随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理平台应运而生&…

傅里叶变换及其在机器学习中的应用

​​​​​​​一、介绍 傅立叶变换是一种数学技术,在各个科学和工程领域发挥着关键作用,其应用范围从信号处理到量子力学。近年来,它在机器学习领域发现了新的意义。本文探讨了傅里叶变换的基础知识及其在机器学习应用中日益增长的重要性。 …

Nuxt.js:下一代Web开发框架的革命性力量

文章目录 一、Nuxt.js简介二、Nuxt.js的特点1. 集成Vue.js和Node.js2. 自动代码分割和优化3. 服务端渲染(SSR)4. 强大的路由管理5. 丰富的插件系统 三、Nuxt.js的优势1. 提高开发效率2. 降低维护成本3. 提高用户体验 四、Nuxt.js在实际应用中的案例1. 电…

HNCTF2022Week1 Reverse WP

文章目录 [HNCTF 2022 Week1]超级签到[HNCTF 2022 Week1]贝斯是什么乐器啊?[HNCTF 2022 Week1]X0r[HNCTF 2022 Week1]你知道什么是Py嘛?[HNCTF 2022 Week1]CrackMe[HNCTF 2022 Week1]给阿姨倒一杯Jvav[HNCTF 2022 Week1]Little EndianNSSCTF{Littl3_Endi…

sql 注入 ctf wiki

部分转载ctf-wiki 判闭合形式: 哪个报错就是哪种 1,1’,1’‘,1’,1’(双引号带括号) 万能密码: admin’ – admin’ # admin’/* ’ or 11– ’ or 11# ’ or 11/* ) or ‘1’1– ) or (‘1’1– 数据库名: SEL…

基础算法学习

文章目录 快速排序归并排序二分浮点数二分 高精度BigIntegerBigDecimal 前缀和差分双指针位运算离散化区间合并 快速排序 确定分界点x (可以是左边界,右边界,中间随机)将小于等于x的数放到左边,大于等于x的放右边递归…

广州华锐视点:3D毒品预防专题教育平台帮助青少年提升拒毒意识

随着科技的不断发展,人们的生活方式也在不断地改变。在这个信息爆炸的时代,传统的普法教育方式已经无法满足人们的需求。为了适应这一变化,越来越多的教育机构开始尝试利用现代科技手段进行普法教育。其中,3D毒品预防专题教育平台…