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了。

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

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

相关文章

【数据结构】线段树

目录 1.概述2.代码实现2.1.聚合操作——求和2.2.聚合操作——求和、求最小值、求最大值 3.应用4.与前缀和之间的区别 更多数据结构与算法的相关知识可以查看数据结构与算法这一专栏。 1.概述 (1)线段树 (Segment Tree) 是一种二叉树形数据结构&#xff…

算法通关村第一关—白银挑战—链表高频面试算法题—查找两个链表的第一个公共子节点

文章目录 查找两个链表的第一个公共子节点(1)暴力求解法(2)使用哈希Hash⭐(3)使用集合⭐ - 与Hash类似(4)使用栈⭐(5)仍有更多方法,作者尚未理解&…

安卓小程序与编译抓包

APK小程序渗透测试 查找bp的证书 在浏览器中打开bp代理,然后在网页中搜索hppps://burp 点击高级——接受风险并继续 拿到证书 将浏览器信任证书 打开设置 搜索证书——查看证书 点击导入——导入证书 证书验证成功后,访问网页(吾爱破解&a…

模型层——单表操作

单表操作 一 ORM简介 查询数据层次图解:如果操作mysql,ORM是在pymysq之上又进行了一层封装 MVC或者MTV框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库…

河南省第一届职业技能大赛网络安全项目试题

河南省第一届职业技能大赛 网络安全项目试题 一、竞赛时间 总计:420分钟 竞赛阶段 竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 A模块 A-1 登录安全加固 240分钟 200分 A-2 Web安全加固(Web) A-3 流量完整性保护与事件监控&am…

韩语语法中에和로/으로区别,柯桥发音入门韩语培训学校

에和로/으로在行动的去向与到达或涉及的地点一致时,二者可以互换。 但是에表示到达或涉及的具体地点,而로/으로表示的时动作指向的方向或经过的地点。 在只表示去向而不表示具体地点时,只能用로/으로,而在只表示具体地点而不表示方…

Nginx漏洞修复

1、漏洞 去掉在请求响应头中存在的信息 Server: nginx X-Content-Type-Options: nosniff X-Frame-Options: SAMEORIGIN X-XSS-Protection: 1;modeblock 修复方法 在Nginx的配置文件中的 server 标签内增加一下配置 server_tokens off; add_header X-Frame-Options SAMEORIGIN; …

情绪咖啡亭完美收官!来最美环湖路喝一杯“治愈”咖啡

“芭比粉”的主题墙,橙蓝撞色的情绪日历、当下最流行的克莱因蓝咖啡亭......颜色鲜艳,造型吸睛的“情绪咖啡亭”互动艺术装置区与碧树蓝天、海鸥白云相呼应。春城晚报(开屏新闻)生活节“送服务”系列之一的“情绪咖啡亭”活动将在…

jetson nano SSH远程连接(使用MobaXterm)

文章目录 SSH远程连接1.SSH介绍2.准备工作3.连接步骤3.1 IP查询3.2 新建会话和连接 SSH远程连接 本节课的实现,需要将Jetson Nano和电脑保持在同一个局域网内,也就是连接同一个路 由器,通过SSH的方式来实现远程登陆。 1.SSH介绍 SSH是一种网…

字符集与编码规则

字符集 强调:UTF-8是编码规则,不是字符集 过程: 字符 --查表获得对应数字,--编码 解码---查表----获取字符 ASCII码 :一个字节 8bit GBK字符集(windows系统默认使用的GBK,系统显示ANSI) 存…

segment-anything安装教程

文章目录 一. segment-anything安装教程 一. segment-anything安装教程 官网安装说明:https://github.com/facebookresearch/segment-anything anaconda下新建一个环境 conda create -n sam python3.8激活新建的环境 conda activate sam更换conda镜像源 conda config --add ch…

如何靠掌握自己的大数据打破信息流的壁垒?

在当今数字化时代,打造自己的私域流量已经成为商家乃至获取竞争优势的关键手段之一。通过掌握自己的大数据,可以更好地了解用户需求和市场趋势,优化产品和服务,从而打破信息流的壁垒。本文将就如何通过打造自己的私域流量并掌握大…

ROS URDF集成Rviz流程

实现流程: 一、新建功能包,导入依赖 二、编写 urdf 文件 三、在 launch 文件集成 URDF 与 Rviz 四、在 Rviz 中显示机器人模型 需求:在 Rviz 中显示一个盒状机器人 1、创建功能包,导入依赖 创建一个新的功能包,名…

VMWare17配置自动启动虚拟机提示:无法更新“自动启动配置”,请确保存在vmAutoStart.xml文件,并且您有权写入此文件。

文章目录 配置的时候提示:无法更新“自动启动配置”,请确保存在vmAutoStart.xml文件,并且您有权写入此文件。需要修改vmAutoStart.xml这个文件权限对vmautostart.xml文件右键-->属性,选择编辑直接将完全控制的允许勾上&#xf…

工程师每日刷题 -4

文章目录 1、深度学习2、算法与数据结构2.1、暴力解法2.2、滑动窗口法 3、编程基础 1、深度学习 问题:CNN的本质和优势? CNN 本质上是一个多层感知机 (MLP),其成功的原因关键在于它所采用的【稀疏连接】(局部感受)和…

Android Studio Giraffe | 2022.3.1

Android Gradle 插件和 Android Studio 兼容性 Android Studio 构建系统以 Gradle 为基础,并且 Android Gradle 插件 (AGP) 添加了几项专用于构建 Android 应用的功能。下表列出了各个 Android Studio 版本所需的 AGP 版本。 Android Studio 版本所需的 AGP 版本I…

Python+Requests模块session处理和SSL证书处理关闭警告

session处理 部分接口需要先登录网址,才能有权限进行调用,这时可以使用到session,具体操作是:先使用网站 的登录api进行登录,得到session后,然后用该session来请求其它的接口。 示例代码: se…

实验 elk+filebeat+kafka

kafka 3.4.1 elkfilebeatkafka 实现日志收集 httpd1 mysql1 topic 2.7 3.0 关闭防火墙 systemctl stop firewalld systemctl disable firewalld setenforce 0 安装 JDK yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel java -version 安装 Zookeeper cd /…

C++作业3

设计一个Per类&#xff0c;类中包含私有成员:姓名、年龄、指针成员身高、体重&#xff0c;再设计一个Stu类&#xff0c;类中包含私有成员:成绩、Per类对象p1&#xff0c;设计这两个类的构造函数、析构函数和拷贝构造函数。 代码&#xff1a; #include <iostream>using n…

力扣5.最长回文子串

题目描述 思路 1.能够反复利用已判断好的回文子串 2.当子串s[i1,j-1]是回文子串时&#xff0c;只要s[i]s[j]&#xff0c;那么s[i,j]也会是回文子串 3.用好动态规划&#xff0c;具体解释在代码注释里 代码 class Solution {public String longestPalindrome(String s) {int…