Linux下的文本编辑器介绍

发布时间 - 2017-08-02 00:00:00    点击率:

关于文本编辑器

文本编辑器有很多,比如图形模式的gedit、kwrite、openoffice ... ... ,文本模式下的编辑器有vi、vim(vi的增强版本)和nano ... ... vi和vim是我们在linux中最常用的编辑器。我们有必要介绍一下vi(vim)最简单的用法,以让linux入门级用户在最短的时间内学会使用它。  nano 工具和dos操作系统下的edit操作相似,使用简单,我们不作介绍了,如果您有兴趣,不妨尝试一下;

 

vi 编辑器

为什么要学会简单应用vi vi或vim是Linux最基本的文本编辑工具,vi或vim虽然没有图形界面编辑器那样点鼠标的简单操作,但vi编辑器在系统管理、服务器管理中,永远不是图形界面的编辑器能比的。当您没有安装X-windows桌面环境或桌面环境崩溃时,我们仍需要字符模式下的编辑器vi;  vi或vim 编辑器在创建和编辑简单文档最高效的工具;

 

vi 编辑器的使用方法

如何调用vi

[root@localhost ~]# vi filename ~ ~ ~ ~ ~ ~ ~ ~

 

vi 的三种命令模式

Command(命令)模式,用于输入命令; Insert(插入)模式,用于插入文本;  Visual(可视)模式,用于视化的的高亮并选定正文;

 

文件的保存和退出

Command 模式是vi或vim的默认模式,如果我们处于其它命令模式时,要通过ESC键切换过来。 当我们按ESC键后,接着再输入:号时,vi会在屏幕的最下方等待我们输入命令; 

:w 保存; 

:w filename 另存为filename; 

:wq! 保存退出;

wq! filename 注:以filename为文件名保存后退出;

q! 不保存退出;

:x 应该是保存并退出 ,功能和:wq!相同

 

光标移动

当我们按ESC进入Command模式后,我们可以用下面的一些键位来移动光标; j 向下移动一行;  k 向上移动一行;

h 向左移动一个字符;  l 向右移动一个字符;

ctrl+b 向上移动一屏; ctrl+f 向下移动一屏;

向上箭头 向上移动; 向下箭头 向下移动; 向左箭头 向左移动; 向右箭头 向右移动; 我们编辑一个文件时,对于 j、k、l和h键,还能在这些动作命令的前面加上数字,比如 3j,表示向下移动3行。

 

插入模式(文本的插入)

i 在光标之前插入;  a 在光标之后插入;

I 在光标所在行的行首插入;  A 在光标所在行的行末插入;

o 在光标所在的行的下面插入一行;  O 在光标所在的行的上面插入一行;

s 删除光标位置的一个字符,然后进入插入模式;  S 删除光标所在的行,然后进入插入模式;

 

文本内容的删除操作

x 一个字符;  #x 删除几个字符,#表示数字,比如3x; 

dw 删除一个单词;  #dw 删除几个单词,#用数字表示,比如3dw表示删除三个单词;

dd 删除一行;  #dd 删除多个行,#代表数字,比如3dd 表示删除光标行及光标的下两行;

d$ 删除光标到行尾的内容;

J 清除光标所处的行与上一行之间的空格,把光标行和上一行接在一起;

 

恢复修改及恢复删除操作

u 撤消修改或删除操作; 按ESC键返回Command(命令)模式,然后按u键来撤消删除以前的删除或修改;如果您想撤消多个以前的修改或删除操作,请按多按几次u。这和Word的撤消操作没有太大的区别;

 

可视模式

在最新的Linux发行版本中,vi提供了可视模式,因为这个功能是vim才有的。如果您用的vi没有这个功能,就换成vim就有了。打开可视模式,按ESC键,然后按v就进入可视模式; 可视模式为我们提供了极为友好的选取文本范围,以高亮显示;在屏幕的最下方显示有; -- 可视 -- 

--VISUAL-- 

进入可视模式,我们就可以用前面所说的命令行模式中的光标移动指令,可以进行文本范围的选取。 选取文本范围有何用? 我们可以对某部份删除作业,按d键就删除了我们选中的内容。 选中内容后,我们按y就表示复制;按d表示删除; 值得一提是的删除的同时,也表示复制。我们返回到命令模式,然后移动光标到某个位置,然后按shift+p键,就把刚才删除的内容贴上了。我们先在这里提一句,在后文,我们还得详细说说。 退出可视模式,还是用ESC键;

 

复制和粘帖的操作

其实删除也带有剪切的意思,当我们删除文字时,可以把光标移动到某处,然后按shift+p键就把内容贴在原处,然后再移动光标到某处,然后再按p或shift+p又能贴上;  p 在光标之后粘帖; shift+p 在光标之前粘帖 来举一例: 比如我们想把一个文档的第三行复制下来,然后帖到第五行的后面,我们应该怎么做呢? 有两种方法; 第一种方法: 先把第三行删除,把光标移动到第三行处,然后用dd动作,接着再按一下shift+p键。这样就把刚才删除的第三行帖在原处了。 接着我们再用k键移动光标到第五行,然后再按一下p键,这样就把第三行的内容又帖到第五行的后面了; 第二种方法; 进入可视模式,按ESC键,然后按v键。移动鼠标指针,选中第三行的内容,然后按y键复制;再移动指针到第五行,最后按p键; 所以复制和粘贴操作,是命令模式、插入模式及可视模式的综合运用;我们要学会各种模式之间的切换,要常用ESC键;更为重要的学会在命令模式下移动光标;

 

关于行号

有时我们配置一个程序运行时,会出现配置文件X行出现错误 。这时我们要用到行号相关的操作;

为所有内容添加行号; 按ESC键,然后输入:

set nu

set nonu  取消行号

 n 跳到第n行

查找和替换功能

查找

首先,我们要进入ESC键,进入命令模式;我们输入/或?就进入查找模式了;

:/SEARCH 注:正向查找SEARCH,按n键把光标移动到下一个符合条件的地方;

: ?SEARCH 注:反向查找SEARCH,按n 键,把光标移动到下一个符合条件的

举一例:比如我想在一个文件中找到swap单词,我应该如下做; 首先按ESC键,进入命令模式,然后输入:  /swap  或 ?swap

 

替换

按ESC键进入命令模式; 

:s /SEARCH/REPLACE 注:把当前光标所处的行中的第一个SEARCH单词,替换成REPLACE

:s /SEARCH/REPLACE/g 注:把当前光标所处的行中的SEARCH单词,替换成REPLACE,并把所有SEARCH高亮显示;

%s /SEARCH/REPLACE 注:把文档中所有行的第一个SEARCH替换成REPLACE;

%s /SEARCH/REPLACE/g 注:把文档中所有的SEARCH替换成REPLACE;

:#,# s /SEARCH/REPLACE/g 注:#号表示数字,表示从多少行到多少行,把SEARCH替换成REPLACE; 注:在这之中,g表示全局查找;我们注意到,就是没有替换的地方,也会把SEARCH高亮显示;

举例说明: 比如我们有一篇文档要修改; 我们把光标所在的行,把所有单词the,替换成THE,应该是      :s /the/THE/g
我们把整篇文档的所有的the都替换成THE,应该是       :%s /the/THE/g
我们仅仅是把第1行到第10行中的the,替换成THE,应该是    :1,10 s /the/THE/g


# linux  # 编辑器  # 行号  # 替换成  # 到第  # 然后按  # 就把  # 文档  # 第三行  # 应该是  # 当我们 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 北京企业网站设计制作公司,北京铁路集团官方网站?  Python结构化数据采集_字段抽取解析【教程】  php嵌入式断网后怎么恢复_php检测网络重连并恢复硬件控制【操作】  html5如何实现懒加载图片_ intersectionobserver api用法【教程】  php485函数参数是什么意思_php485各参数详细说明【介绍】  如何在 React 中条件性地遍历数组并渲染元素  黑客如何通过漏洞一步步攻陷网站服务器?  微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】  Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制  焦点电影公司作品,电影焦点结局是什么?  如何在IIS7中新建站点?详细步骤解析  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  Laravel如何实现模型的全局作用域?(Global Scope示例)  微信小程序制作网站有哪些,微信小程序需要做网站吗?  jQuery validate插件功能与用法详解  ChatGPT 4.0官网入口地址 ChatGPT在线体验官网  如何用已有域名快速搭建网站?  重庆市网站制作公司,重庆招聘网站哪个好?  如何用wdcp快速搭建高效网站?  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  Swift中swift中的switch 语句  javascript基于原型链的继承及call和apply函数用法分析  大同网页,大同瑞慈医院官网?  如何自定义建站之星模板颜色并下载新样式?  Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】  Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】  PHP怎么接收前端传的文件路径_处理文件路径参数接收方法【汇总】  Laravel Artisan命令怎么自定义_创建自己的Laravel命令行工具完全指南  Laravel如何使用Scope本地作用域_Laravel模型常用查询逻辑封装技巧【手册】  如何利用DOS批处理实现定时关机操作详解  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转  如何彻底删除建站之星生成的Banner?  Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  网站制作软件有哪些,制图软件有哪些?  javascript事件捕获机制【深入分析IE和DOM中的事件模型】  教你用AI润色文章,让你的文字表达更专业  如何用搬瓦工VPS快速搭建个人网站?  Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案  如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  PHP正则匹配日期和时间(时间戳转换)的实例代码  Laravel Fortify是什么,和Jetstream有什么关系  Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤  再谈Python中的字符串与字符编码(推荐)  Win11怎么设置默认图片查看器_Windows11照片应用关联设置  三星网站视频制作教程下载,三星w23网页如何全屏?  如何在橙子建站上传落地页?操作指南详解  Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能