写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自动画片《狮子王》中的“彭彭”,总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成,愿将昔日所获与大家交流一二,希望对学习路上的你有所助益。同时,博主也想通过此次尝试打造一个完善的技术图书馆,任何与文章技术点有关的异常、错误、注意事项均会在末尾列出,欢迎大家通过各种方式提供素材。

  • 对于文章中出现的任何错误请大家批评指出,一定及时修改。
  • 有任何想要讨论和学习的问题可联系我:zhuyc@vip.163.com。
  • 发布文章的风格因专栏而异,均自成体系,不足之处请大家指正。

Linux下的文本编辑工具 - vi

本文关键字:文本编辑、vi、普通模式、编辑模式、命令模式

文章目录

  • Linux下的文本编辑工具 - vi
    • 一、vi工作模式
    • 二、光标操作
    • 三、文档编辑
    • 四、查找替换
    • 五、保存退出

一、vi工作模式

由于Linux系统“一切皆配置”的特性,我们经常要去修改各种软件及服务的配置文件,因此掌握最基本的编辑工具是十分必要的。在装了桌面的Linux系统中我们可以使用gedit等工具,像使用记事本一样直接编辑文件中的内容。但是在生产环境中,通常我们都需要远程连接到一台机器,全部要在命令模式下操作,而且服务器本身也有可能没有安装桌面。

  • 普通模式:使用vi命令打开一个文件时默认进入的模式,可以进行光标移动和快捷键操作。
  • 编辑模式:可由普通模式进行切换,移动光标,对文本内容进行修改。
  • 命令模式:可由普通模式进行切换,用于执行查找、替换、保存退出等操作。

编辑模式与命令模式均以普通模式作为中间的工作模式,进行互相切换时都需要先回到普通模式,回到普通模式均使用ESC键。从普通模式进入编辑模式可以使用i/a或者使用o直接新建一行,从普通模式进入命令模式使用冒号,可以从命令模式退出vi工具。

二、光标操作

在vi工具中使用方向键或者对应字母来进行光标操作,但通常一次只能移动一行,需要高效的操作时需要借助相应的快捷键。

  • 显示行号 -> 命令模式下:set nu
  • 隐藏行号 -> 命令模式下:set nonu
  • 定位至第n行 -> 命令模式下:n

三、文档编辑

使用vi工具进行文档编辑时有两种方式,一种是直接进入到编辑模式进行文件内容的修改,另外一种方式是在普通模式下使用快捷键进行以行为基本单位的删除,复制等。

四、查找替换

对于文本的编辑,同样少不了查找和替换功能,在命令模式下,按照指定的格式可以对文本内容进行查找和替换。

五、保存退出


对于新手来说,保存退出是个大问题,相信都经历过如下场景:
由于对各种模式还不熟悉,在狂敲键盘之下发现突然进入了编辑模式,文件的内容已经发生了不可预期的修改,此时想到的第一个的问题就是如何能够不保存退出这个文件,下面就来示范一下。

对于文件的保存有两种方式

  • 在普通模式下输入ZZ即可快速保存:也就是按住Shift后连按两下字母z
  • 在命令模式下使用w命令,可以和退出一起使用,也可以执行类似另存为的操作


扫描下方二维码,加入官方粉丝微信群,可以与我直接交流,还有更多福利哦~

Linux下的文本编辑工具 - vi相关推荐

  1. linux下双击选中默认内容,关于Linux中默认文本编辑工具vi/vim

    vi编辑器:全屏的文本编辑器 vi:visual interface,可视化接口: S.U.N:Bill Joy创始人 ,主持研发vi,sparc,SunOS(Solaris) vim:vi IMpr ...

  2. Linux下C++开发工具介绍

    概述     就C++开发工具而言,与Windows下微软(VC, VS2005等)一统天下相比,Linux/Unix下C++开发,可谓五花八门,各式各样.Emacs, vi, eclipse, an ...

  3. Linux下端口映射工具

    Linux下端口映射工具rinetd Linux下简单好用的工具rinetd,实现端口映射/转发/重定向 软件下载 wget http://www.boutell.com/rinetd/http/ri ...

  4. Linux下使用samba工具共享文件

    Linux下使用samba工具共享文件 前期准备: 挂载光盘,安装samba 安装共享的软件 yum install Samba linux 开启smb服务 service smb start 可以设 ...

  5. Linux下的parted工具的使用 GPT分区安装系统

    安装系统是安装前时候ctrl+atl+F2 fdisk -l parted select /dev/sdb mklabel msdos # 将GPT磁盘格式化为MBR磁盘 对大硬盘进行分区 xfs 和 ...

  6. Linux下暴力破解工具Hydra详解

    Linux下暴力破解工具Hydra详解 一.简介 Number one of the biggest security holes are passwords, as every password s ...

  7. Linux下的分区工具

    Linux下的分区工具 来源:http://www.cnblogs.com/rootq/articles/1487201.html [root@localhost gxlinux]# df -Th # ...

  8. linux java 工具_Linux运维知识之linux下java版本管理工具jenv使用介绍

    本文主要向大家介绍了Linux运维知识之linux下java版本管理工具jenv使用介绍,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. 不同的项目使用的java版本不同,每次切 ...

  9. arm linux下交叉编译valgrind工具进行内存泄露检测和性能分析

    C/C++等底层语言在提供强大功能及性能的同时,其灵活的内存访问也带来了各种纠结的问题.如果crash的地方正是内存使用错误的地方,说明你人品好.如果crash的地方内存明显不是consistent的 ...

最新文章

  1. 如何修改PHP的memory_limit限制
  2. android之启动桌面activity
  3. 死磕Java并发:Java内存模型之分析volatile
  4. python入门教程2word-使用python操作word
  5. 区块链与边缘计算(3)系统介绍
  6. 软件设计之UML—UML中的六大关系
  7. OpenGL Distance Field文本的实例
  8. rufus linux开机密码,使用Rufus 3.4制作Ubuntu 18.04.1 U盘启动盘的方法
  9. 数学 FZU 2074 Number of methods
  10. 7-5 列车厢调度 (25 分)
  11. javascript的规范
  12. Dell R720服务器安装Ubuntu 16.04 Server 版步骤
  13. layUI table 内容超出宽度怎么换行显示,而不是显示省略号
  14. OpenGL(5)——变换
  15. Nacos教程_4 配置讲解
  16. 药店收费系统服务器,智能药店收费管理系统
  17. 整理电力系统GPS时间同步装置(GPS对时系统)孤岛方案
  18. select完还没释放可以执行其他sql语句吗
  19. 矩阵相加 / 矩阵相乘(详解版)
  20. Python量化交易策略及回测系统

热门文章

  1. 辞职的时候,如果老板挽留你,你会怎么办呢?
  2. Abstract(抽象) implement和extend
  3. apsara clouder基础认证API接口
  4. [Scapy]导入导出数据
  5. 互联网公司实习岗位选择与简易版职业发展规划
  6. oracle导出指定几张表的数据以逗号等为分隔符
  7. 【大屏项目】SpringBoot + Vue 实现的可视化拖拽编辑的
  8. 中兴付,为钱包赋予生命
  9. 【ACM】杭电1178:Heritage from father 小心溢出!
  10. Linux系统软件安装 Jdk MySQL Tomcat