目录

vim编辑器

1、vim 编辑器的工作模式

2、vim 的基本操作

1)、进入 vim 编辑器

2)、保存和退出 vim

3、普通模式下的操作

1)、光标移动

2)、复制删除与粘贴

3)、撤销与重做

编辑模式下的操作

命令模式下的操作

1)、搜索与替换

2)、高亮显示和取消高亮

3)、显示和取消行号

4)、保存和退出

5)、在 vim 中运行 shell 命令

其他常用功能

1)、编辑多个文件

2)、区块选择

3)、多窗口显示

gedit 编辑器


Linux 操作系统中很多文本编辑器,如 vi / vim 、emacs 、xemacs 、kedit 、gedit 、e3 等,各编辑器各有其优缺点。这里主要介绍适用范围最为广泛的 vim 编辑器。vim 代表 vi improved ,即 vi 编辑器的升级版,它不仅兼容 vi 编辑器的所有指令,而且在 vi 编辑器的基础上增加了颜色显示,便于程序开发人员编写程序,同时 vim 也加入了很多额外的功能,如支持多文本编辑、多窗口显示等。vim 可以运行于 Windows 、Mac、Unix 和 Linux 等多种操作系统平台,利用 vim 可以很方便地编辑文本和开发应用程序。

vim编辑器

1、vim 编辑器的工作模式

vim 共分为三种模式,分别是普通模式、编辑模式和命令模式。这三种模式的作用分别是:普通模式:使用 vim 打开一个文档文件时,首先进入的就是普通模式,在这个模式中,用户可以使用方向键(上下左右)来移动光标,可以使用 “删除字符” 或 “删除整行” 来处理文件内容,也可以复制和粘贴用户的文件数据;编辑模式:在普通模式中可以进行删除、复制、粘贴等操作,但是无法向文档中输入字符。此时按下字母 “ i ”、“ I ”、“ o ”、“ O ”、“ a ”、“ A ”、“ r ” 或 “ R ” ,编辑器将从普通模式转入编辑模式,同时在屏幕下方会出现 “INSERT” 或 “REPLACE” 的字样,此时就可以向文档中输入字符,在整个输入过程结束后,按 “ Esc ” 键即可返回普通模式,此时光标将处于刚才输入的最后一个字符的位置;命令模式在普通模式中,输入 “ : ”、“ / ” 或 “ ? ” ,编辑器将从普通模式转入命令模式,此时屏幕左下角将出现 “ : ”、“ / ” 或 “ ? ” 的标志。在命令模式中,用户可以完成搜索、替换、高亮显示、行号显示、保存、退出甚至执行 shell 指令等操作。

2、vim 的基本操作

1)、进入 vim 编辑器

在系统终端中输入 vim 及文件名后,就进入 vim 的普通模式,如果系统内还没有该文件,就意味着先创建文件然后再进行编辑;如果系统中存在该文件,就意味着直接去编辑文件。

2)、保存和退出 vim

在普通模式下,按冒号 “ : ”,可以进入命令模式,此时屏幕左下角显示冒号,在冒号后输入 “ w ”并回车,则把文件保存;输入 “ wq ” 并回车,表示存盘并退出 vim输入“ q ” 并回车,不存盘退出输入 “ q! ” 并回车,表示不存盘强制退出 vim ,此方法可以强制修改只读文件。

3、普通模式下的操作

1)、光标移动

在普通模式下,可以使用一些字符命令来移动光标位置,有的字符在大小写状态下的功能也是不同的,一般在普通模式下移动光标都是用方向键进行移动,至于通过利用其他字符来达到相关操作目的的我在这就不详细介绍了,我认为没那个必要,方向键简单方便挺好的,其他那些移动命令有兴趣的见 vi / vim 光标移动命令 。

2)、复制删除与粘贴

在 vim 编辑器中,与 “复制-粘贴” 等价的处理过程是先用 “yy” 命令复制当前行,再用 “p” 或 “P” 命令实现粘贴;与 “剪切-粘贴” 等价的处理过程是先用 “dd” 命令删除当前行(删除前已复制过),再用 “p” 或 “P” 命令实现粘贴。如果在 “yy” 或 “dd” 命令之前再输入适当的数字,还可以实现若干行的复制和删除操作。详细命令如下:

x  : 删除光标所在位置的一个字符,并把该字符放在剪切板中。

nx  : 删除光标所在位置的后面 n 个字符,并把这些字符放在粘贴板中。

X : 删除光标所在位置的前面一个字符,并把该字符放在剪切板中。

nX : 删除光标所在位置的前面 n 个字符,并把这些字符放在粘贴板中。

yy : 复制光标所在行,并把该行内容存放在剪切板中

nyy :复制光标所在行开始的 n 行,并把这些行的内容存放在剪切板中。

dd : 删除光标所在行,并把该行内容存放在剪切板中

ndd : 删除光标所在行开始的 n 行,并把这些行的内容存放在剪切板中。

p : 把剪切板中的文本数据复制到光标所在行的下面

P :把剪切板中的文本数据复制到光标所在行的上面

3)、撤销与重做

编辑文本时,有时候需要放弃某些编辑操作,可以使用撤销命令来撤销先前执行的编辑命令,使 vim 回到处理前的状态,详细命令如下:

u : 撤销命令,使用 “u” 命令可以撤销上一步执行的编辑命令

Ctrl + r : 重做命令,把 “u” 命令撤销的编辑命令重做。例如在用 “u” 命令之后发现刚才撤销的命令应该执行,则可用 “Ctrl + r ”重做该命令。

编辑模式下的操作

vim 在编辑模式下才能输入字符,要进入编辑模式,必须在普通模式下输入相应的命令,进入编辑模式后,屏幕左下角会显示 “INSERT” 或 “REPLACE” 的字样。输入结束后,需要按 “Esc” 键退出编辑模式。常用的进入编辑模式命令一般用 “ i ”,也是方便简单,当然还有其他进入编辑模式的命令,我在这就不啰嗦了,详见 vim : 编辑模式与命令模式 。

命令模式下的操作

在普通模式下,输入 “:”、“ / ” 或 “ ? ” ,编辑器将从普通模式转入命令模式,在命令模式中,用户可以完成搜索、替换、高亮显示、行号显示、保存、退出甚至执行 shell 指令等操作。

1)、搜索与替换

搜索与替换常用的命令如下:

/word : 向下搜索,即向光标所在位置之后查找名称为 “word” 的字符串。在普通模式下输入 “ / ” 命令进入命令模式,再输入需要查询的字符串 “word” 即可在文档中搜索位于其位置之后的字符串。

?word : 向上搜索,即向光标所在位置之前查找名称为 “word” 的字符串。在普通模式下输入 “ / ” 命令进入命令模式,再输入需要查询的字符串 “word” 即可在文档中搜索位于其位置之前的字符串。

n : 重复前一个操作

N : 与 n 命令相反,反向进行前一个操作。例如刚进行 “/word” 向下搜索,则按下 N 键后,会执行 “?word”向上搜索。

:s /word1/word2/g : 在光标当前行中,把字符串 “word1” 用 “word2” 替换。注意 “ s ” 和 “ / ” 之间有空格。

:s /word1/word2/gc : 在光标当前行中把字符串 “word1” 用 “word2” 替换,并在替换前提示用户确认是否要替换。

:%s /word1/word2/g : 将文档中所有字符串 “word1” 用 “word2” 替换。

:%s /word1/word2/gc : 将文档中所有字符串 “word1” 用 “word2” 替换,并在替换前提示用户确认是否要替换。

:n1,n2 s /word1/word2/g : “n1” 和 “n2” 是数字,在 “n1” 和 “n2” 行之间寻找字符串 “word1” ,并将该字符串用 “word2” 替换,书写时注意逗号和空格的存在。

:n1,n2 s /word1/word2/gc : 在 “n1” 和 “n2” 行之间寻找字符串 “word1” ,并将该字符串用 “word2” 替换,在替换之前提示用户是否确认要替换。

:set ic : 搜索时忽略大小写

:set noic :  取消在搜索时忽略大小写。

2)、高亮显示和取消高亮

vim 编辑器对语法会进行高亮显示,而默认情况下 vim 编辑器自动高亮显示。如果不需要高亮显示语法,可以取消此功能,修改 /etc/vimrc 文件,将其中的 “syntax on” 删除或者注释掉(#),然后保存文件即可,此时查找时就可用到上面搜索命令快速定位。

3)、显示和取消行号

若文档内容过多,无法很快知道所需内容在哪一行,此时可以用显示行号命令辅助,其命令如下:

: set nu  :  在文件中的每一行前面列出行号

: set nonu  : 取消在文件中每一行前面列出行号。

4)、保存和退出

前面已提到用 “ :w ”、“ :wq ”、“ :q ” 、 “ :q! ” 等命令来进行 vim 编辑器的保存和退出,这里再介绍两个在普通模式下的命令,不过貌似不经常能用到:1)、在普通模式下直接输入大写字母 “ ZZ ” ,其功能同 “ :wq ” 存盘退出;2)、在普通模式下直接输入大写字母 “  ZQ ” ,其功能同 “ :q! ” 不保存退出。

5)、在 vim 中运行 shell 命令

在 vim 编辑文档过程中可能需要运行命令,如查看当前位置或系统时间等,在 vim 中可以直接运行 shell 命令,主要有三种方法:

:!command : 在普通模式下输入 “ :! ” ,在后面输入所要执行的命令即可。比如按 “Esc” 退回普通模式下,然后输入 “ :!pwd  ” 命令就可看到文档当前所处的目录。

:r!command : 用法同上,该命令是执行所需命令后把命令结果插入当前行的下一行。

:sh : 保留 vim 的状态,并切换到字符模式,此时可以正常输入各种 shell 命令,输入结束后可用 “exit” 或 “Ctrl + d” 回到 vim 编辑器中,继续编辑刚才的文档。

其他常用功能

1)、编辑多个文件

vim 允许用户同时编辑多个文件。例如若想在编辑 file1 文件的同时,也编辑 file2 文件,可以使用命令 vim file1 file2 :此时,vim 首先显示的是第一个文件 file1 ,因此可以先编辑 file1 文件,编辑结束后输入 “ :w ” 命令保存,接着若要编辑 file2 文件,再输入 “:n file2” 命令,编辑结束后同样用 “ :w ” 保存 file2 文件。所有的编辑结束后,可以使用 “ :q ” 命令,退出 vim 编辑器。

在编辑过程中,可以随时用 “ :n filename ” 命令去转入到编辑指定的文件,如 “ :n file1 ” 可转入编辑文件 “file1” , “ :n file2 ” 可转入编辑文件 “ file2 ” ,转换文件时,若刚才处理的文件未保存,vim 将提示保存或者强制转换文件,若强制转换文件,则刚才未保存的修改将丢失。

2)、区块选择

有时需要对文档中的某些区块进行操作,如对文档中第 1~13 行中的第 2~10 列进行操作,这就需要用到区块选择和操作,其一些命令如下:

v : 字符选择,将光标经过的地方反白选择。

V : 行选择,将光标经过的行反白选择。

Ctrl + v : 区块选择,可反白选择所需要的矩形字符块

y : 将反白的地方复制。

d : 将反白的地方删除。

例:需要删除第 1~3 行中的第 2~5 个字符,则可以进行操作:先将光标移动到第 1 行的第 2 个字符,按 “Ctrl + v ” 键,此时屏幕左下角显示 “ visual block ” 或 “ 可视块 ” 的字样,然后移动方向键到第 3 行第 5 个字符,则从第 1~3 行中的第 2~5 个字符所处的区块高亮显示,表示已被选中,此时按 “d” 键就可以把所选的区块删除。

像这区块操作,一般是涉及范围比较大的时候,这种方法比较好用,否则还不如直接对文档进行插入操作,然后在其中进行删除来的方便快捷。

3)、多窗口显示

虽然 vim 支持编辑多个文件,但是需要不断切换文件,不能在一个屏幕上同时显示这些文件的内容,当需要对多个文件的内容作对比时显得极不方便,因此 vim 还提供了多窗口显示的功能来解决这个问题。

多窗口显示指的是可以在同一屏幕上同时打开多个文件,也可以重复打开同一个文件,多窗口状态下常用的命令如下:

:sp [filename] : 开启一个新窗口,如果加上 filename ,表示在新窗口打开名为 “filename” 的文档;如果不加 filename,则新窗口将再次打开当前文档。

Ctrl + 6 : 下一个文件。

:bn : 下一个文件。

:bp : 上一个文件。

:split : 左右分隔窗格。

:vsplit : 上下分隔窗格。

Ctrl + w + j : 移动光标到下面的窗口。

Ctrl + w + k : 移动光标到上面的窗口。

:wq : 保存退出光标所在的窗口。使用 “Ctrl + w + j ” 或 “Ctrl + w + k” 移动到需要关闭的窗口,然后输入 “ :wq ” 并回车即可保存退出。

gedit 编辑器

也是编辑器的一种,不过不是很常用,我在这里随便提一下。

gedit 编辑器打开文件是在一个新的窗口中对文件的打开,在视觉习惯上是比用 vim 要舒服一些,只不过 gedit 编辑器在修改文件时需要取得 root 权限,在这点上要比 vim 稍显复杂一些。用法同 vim 一样,gedit filename 直接打开。详细见:gedit 百度百科 。

初识 Linux — 文本编辑器相关推荐

  1. 最优秀的5个Linux文本编辑器

    from: http://article.yeeyan.org/view/169956/174836 作为不久前举办的比赛的一部分内容,我从那些选出他们最喜欢的Linux文本编辑器的极客读者们那获得了 ...

  2. Linux最著名的文本编辑器,最优秀的5个Linux文本编辑器

    Vi / Vim Editor Vim以绝对优势获胜在大家的意料之中.如果你不熟悉最好的5个Linux文本编辑器中的任何一个,阅读本文剩下的部分对那些编辑器多点了解. 1. Vim Editor 最新 ...

  3. 第三章 ---- 了解各种 Linux 文本编辑器

    了解各种 Linux 文本编辑器 了解 Linux 中不同类型的文本编辑器 编辑器的功能 适用于 Linux 的编辑器 解释 Vi 文本编辑器 开始使用 Vi 常用命令 Vi 中的光标移动命令 插入和 ...

  4. linux 文本编辑器_Linux排名前7位的最佳文本编辑器

    linux 文本编辑器 Text editors play a major role for Linux users. Whether it is setting up user instructio ...

  5. Linux文本编辑器——vim

    Linux文本编辑器   ed  pico  emacs  nano  gVim  vim  vi   vim 是文本编辑器  不是文字处理工具(office  liboffice  wps)  你的 ...

  6. Linux——文本编辑器(Vi)详解介绍

    Linux--文本编辑器(Vi)详解介绍 1.Vi的简介 Vi是Visual interface的简称,可以执行输出.删除.查找.替换.块操作等众多文本操作,而且用户根据自己的需要对其进行制定,这是v ...

  7. Linux文本编辑器-vim

    Linux文本编辑器-vim Vim简介 Vim是从vi发展出来的一个文本编辑器.其代码补完.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用.和Emacs并列成为类Unix系统用户最喜欢 ...

  8. linux文本编辑器里d,Linux 文 本 编 辑 器 J e d

    在这篇文章中,我将介绍 Jed,它是一个基于终端的编辑器,它的特点是有一个方便的下拉菜单,这让那些刚刚接触终端编辑器的用户,以及那些不喜欢记住每个功能的组合键的用户而言变得特别容易. Jed 方便的下 ...

  9. 优秀的Linux文本编辑器

    优秀的Linux文本编辑器想要挑起狂热Linux爱好者之间的激烈争辩吗?那就问问他们最喜欢的文本编辑器是什么吧.在开源社区中,选择一个用来写文本,或者更进一步,用来写代码的编辑器,比选择一个球队或者游 ...

最新文章

  1. pandas使用replace函数和正则表达式移除dataframe字符串数据列中尾部指定模式字符串(Removing trailing substring in dataframe)
  2. 第五周项目一-三角形类雏形(3)
  3. pycharm中怎么实现批量修改变量名称
  4. OpenJudge 2739 计算对数
  5. iOS中的应用启动原理
  6. (四) shiro权限与角色
  7. mysql left/right join算法效率分析_mysql left join,right join,inner join超详细用法分析
  8. Continuous Intervals Gym - 102222L(2018宁夏邀请赛暨2019银川icpc网络预选赛)
  9. web编程 端口分配_以编程方式衡量分配
  10. WinCE系统字体的设置
  11. The Illustrated Transformer (Transformer可视化解读自译笔记)
  12. 618技术特辑(四)疯狂剁手的同时,电商隐私安全你注意到了吗?
  13. N天学习一个Linux命令之grep
  14. 【工具分享】分享一个移动端网络诊断工具(适用于安卓平台)
  15. 电子商务设计师教程 电子版_电子商务电子商务| 第1部分
  16. 推荐一款快速生成海报的微信小插件
  17. bootstrap实现网页手风琴--博客园老牛大讲堂
  18. 通过root用户与hadoop用户分别启动zookeeper,两种启动结果为什么会截然不同?
  19. SAP对ERP系统的概述
  20. Mitmproxy/mitmdump中文文档以及配置教程

热门文章

  1. java 枚举类组合在一起_Java,.NET,但为什么在一起?
  2. 全志T507系统烧录配置
  3. lceberg、Hive不够用?开箱即用才是硬道理!
  4. Rio手把手教学:如何打造容器化应用程序的一站式部署体验
  5. oracle转trs,TRS数据库数据的导入导出2.doc
  6. TongWeb上应用部署方式
  7. C语言九九乘法表示例
  8. 大白映射 宝马Esys编程设码映射、USB设备映射
  9. 信息学奥赛一本通(题解目录)
  10. java全栈系列之JavaSE-面向对象(static关键字)040