Linux文本文件——文本编辑器Vim

摘要:本文主要学习在Linux系统中使用Vim文本编辑器编辑文本。

什么是Vim

Vim是一个基于文本界面的编辑工具,使用简单且功能强大。更重要的是,Vim是所有Linux发行版本默认的文本编辑器。

很多人习惯将Vim称为Vi,其实Vim是Vi的增强版(在Vi的基础上增加了正则表达式的查找、多窗口的编辑等功能),使用Vim进行程序开发会更加方便。

安装Vim文本编辑器

众多Linux发行版系统,通常都已经默认安装好了Vi或Vim文本编辑器,Centos也不例外,该系统就默认安装有Vi文本编辑器,但建议大家使用Vim。

查看是否安装了Vim文本编辑器

在命令行模式下输入“vim”,输出结果为“Command not found”,或者是“未找到命令”,则表示此系统中未安装Vim:

 [root@localhost ~]# vim
-bash: vim: 未找到命令
[root@localhost ~]#

说明没有安装Vim。

安装Vim文本编辑器

CentOS系统中,使用如下命令即可安装Vim:

 yum install -y vim

安装过程如下:

 已安装:
vim-enhanced.x86_64 :7.4.-.el7_6 作为依赖被安装:
gpm-libs.x86_64 :1.20.-.el7 perl.x86_64 :5.16.-.el7_6 perl-Carp.noarch :1.26-.el7
perl-Encode.x86_64 :2.51-.el7 perl-Exporter.noarch :5.68-.el7 perl-File-Path.noarch :2.09-.el7
perl-File-Temp.noarch :0.23.-.el7 perl-Filter.x86_64 :1.49-.el7 perl-Getopt-Long.noarch :2.40-.el7
perl-HTTP-Tiny.noarch :0.033-.el7 perl-PathTools.x86_64 :3.40-.el7 perl-Pod-Escapes.noarch :1.04-.el7_6
perl-Pod-Perldoc.noarch :3.20-.el7 perl-Pod-Simple.noarch :3.28-.el7 perl-Pod-Usage.noarch :1.63-.el7
perl-Scalar-List-Utils.x86_64 :1.27-.el7 perl-Socket.x86_64 :2.010-.el7 perl-Storable.x86_64 :2.45-.el7
perl-Text-ParseWords.noarch :3.29-.el7 perl-Time-HiRes.x86_64 :1.9725-.el7 perl-Time-Local.noarch :1.2300-.el7
perl-constant.noarch :1.27-.el7 perl-libs.x86_64 :5.16.-.el7_6 perl-macros.x86_64 :5.16.-.el7_6
perl-parent.noarch :0.225-.el7 perl-podlators.noarch :2.5.-.el7 perl-threads.x86_64 :1.87-.el7
perl-threads-shared.x86_64 :1.43-.el7 vim-common.x86_64 :7.4.-.el7_6 vim-filesystem.x86_64 :7.4.-.el7_6 完毕!
[root@localhost ~]#

测试

此时在命令行中输入vim,出现下面的结果时,表示安装成功:

 ~
~
~
~
~
~
~
~
~
~
~ VIM - Vi IMproved
~
~ 版本 7.4.
~ 维护人 Bram Moolenaar 等
~ 修改者 <bugzilla@redhat.com>
~ Vim 是可自由分发的开放源代码软件
~
~ 成为 Vim 的注册用户!
~ 输入 :help register<Enter> 查看说明
~
~ 输入 :q<Enter> 退出
~ 输入 :help<Enter> 或 <F1> 查看在线帮助
~ 输入 :help version7<Enter> 查看版本信息
~
~
~
~
~
~
~
~
~
~
,- 全部

输入 :q 返回命令行界面。

Vim的三种工作模式

使用Vim编辑文件时,存在三种工作模式,分别是普通模式、输入模式和命令模式,这三种工作模式可随意切换。

普通模式

在普通模式中,可以使用上下左右移动光标,并且可以对文件内容进行复制、粘贴、替换、删除等操作,但是不能通过输入的方式修改文件内容。

使用 vim 文件名 的命令可以进入Vim,这时就处于普通模式。

输入模式

在输入模式下,Vim可以对文件执行写操作,类似于在Windows系统的文档中输入内容。

使Vim进行输入模式的方式是在命令模式状态下输入i、I、a、A、o、O等插入命令,当编辑文件完成后按Esc键即可返回命令模式。

命令模式

在命令模式下,可以对文件中的指定内容执行保存、查找或替换等操作。

使Vim切换到命令模式的方法是在命令模式状态下按“:”键,此时Vim窗口的左下方出现一个“:”符号,这时就可以输入相关指令进行操作了。指令执行后Vim会自动返回普通模式,如想直接返回普通模式,按Esc即可。

按键说明

进入普通模式

刚打开文件时Vim处于普通模式,在普通模式中,下方会显示文件的一些信息,包括文件的总行数和字符数,以及当前光标所在的位置等。

可以使用以下方式打开文件:

 vim filename:打开或新建一个文件,并将光标置于第一行的首部。
vim -r filename:恢复上次Vim打开时崩溃的文件。
vim -R filename:把指定的文件以只读方式放入Vim编辑器中。
vim + filename:打开文件,并将光标置于最后一行的首部。
vim +n filename:打开文件,并将光标置于第n行的首部。

普通模式

移动光标用到的命令:

 h或←:游标向左移动一个字。
j或↓:游标向下移动一个字。
k或↑:游标向上移动一个字。
l或→:游标向右移动一个字。
[Ctrl]f:屏幕向下移动一页,相当于PageDown按键。
[Ctrl]b:屏幕向上移动一页,相当于PageUp按键。
[Ctrl]d:屏幕向下移动半页。
[Ctrl]u:屏幕向上移动半页。
+:游标移动到非空白字元的下一列。
-:游标移动到非空白字元的上一列。
n[Space]:n为数字,向右移动n个字。
0或[Home]:移动到这一行的最前面的字。
$或[End]:移动到这一行的最后面的字。
H:游标移动到最上方一行的第一个字。
M:游标移动到中间一行的第一个字。
L:游标移动到最下方一行的第一个字。
G:移动到最后一行。
nG:n为数字,移动到第n行。
gg:移动到第一行。
n[Enter]:n为数字,游标向下移动n行。

查询和替换用到的命令:

 /word:向下寻找word字符串。
?word:向上寻找word字符串。
n:n是英文按键,表示按上一个搜索方向搜索下一个。
N:N是英文按键。与n刚好相反,表示按上一个搜索方向的反方向搜索下一个。
:n1,n2s/word1/word2/g:n1和n2为数字。在第n1行到第n2行之间查询word1字符串,并将该字串取代为word2。
:,$s/word1/word2/g:从第一行到最后一行查询word1字符串,并将该字串取代为word2。
:,$s/word1/word2/gc:从第一行到最后一行查询word1字符串,并将该字串取代为word2。且在替换前进行询问。

复制粘贴用到的命令:

 x或X:x表示删除当前光标所在的一个字,相当于[del]按键,X表示向前删除一个字,相当于[backspace]按键。
nx:n为数字,连续向后删除n个字。
dd:删除光标所在的一行。
ndd:n为数字,删除光标所在的向下n行。
d1G:删除光标所在的行到第一行。
dG:删除光标所在的行到最后一行。
d$:删除光标所在的位置到该行的最后一个字。
d0:删除光标所在的位置到该行的第一个字。
yy:复制光标所在的那一行。
nyy:n为数字。复制光标所在的向下n行。
y1G:复制光标所在的行到第一行。
yG:复制光标所在的行到最后一行。
y$:复制光标所在的位置到该行的最后一个字。
y0:复制光标所在的位置到该行的第一个字。
p或P:p表示从光标的下一行开始粘贴,P表示从光标所在行开始粘贴。
J:将光标所在行与下一行合成一行。
u:复原前一个动作。
[Ctrl]r:重做上一个动作。
.:小数点,表示重复前一个动作。

输入模式

从普通模式切换到输入模式:

 i:在当前光标所在位置插入文本,当前光标所在位置的文本向右移动。
I:在光标所在行的行首插入文本,行首是该行的第一个非空白字符,相当于光标移动到行首执行i命令。
o:在光标所在行的下面插入新的一行。光标停在空行的行首,等待输入文本。
O:在光标所在行的上面插入新的一行。光标停在空行的行首,等待输入文本。
a:在当前光标所在位置之后插入文本。
A:在光标所在行的行尾插入文本,相当于光标移动到行尾执行a命令。

命令模式

从普通模式切换到命令模式:

 :w:保存修改。若为:w!则表示强制保存。
:q:退出Vim编辑器。若为:q!则表示不保存强制退出Vim编辑器。
:wq:保存并退出,若为:wq!则表示强制保存并退出。
ZZ:如果没有改动则退出,如果修改过则保存后退出。
:w filename:将文件内容保存到指定文件。
:r filename:将指定文件的内容插入到游标所在行后面。
:n1,n2 w filename:将n1到n2的内容保存到指定文件。
:! command:暂时离开Vim编辑器执行command的显示结果。

设置

 :set nu:显示行号。
:set nonu:取消显示行号。

Linux文本文件——文本编辑器Vim的更多相关文章

  1. 【Linux】文本编辑器Vim常用操作入门

    Linux常用文本编辑器:Vi & Eamcs Vim -- Vi的升级版本 Vim 一.3种工作模式 命令行模式 (Command Mode) 插入模式 (Insert Mode) -- 键 ...

  2. Linux之文本编辑器Vim

    一.什么是vim vi是一种模式编辑器.vi 是Unix世界里极为普遍的全屏幕文本编辑器,几乎可以说任何一台Unix机器都会提供这套软体,其他的文本编辑器则不一定会存在,但是目前我们使用比较多的是 v ...

  3. Linux学习总结(19)——Linux中文本编辑器vim特殊使用方法

    1. vim比对功能 在linux的环境下 用于观察两个文件的一致性的时候我们一般用diff这个命令来比对,但是这个命令不能你特别详细的比对出 具体的位置或者行对比.这里就用到了vim的对比功能 vi ...

  4. Linux学习 - 文本编辑器Vim

    一.Vim工作模式 二.命令 插入 a 光标后插入 A 光标所在行尾插入 i 光标前插入 I 光标所在行首插入 o 光标下插入新行 O 光标上插入新行   删除 x 删除光标处字符 nx 删除光标处后 ...

  5. Linux基础学习(5)--文本编辑器Vim

    第五章——文本编辑器Vim 一. Vim常用操作 1.Vim简介:              Vim是一个功能强大的全屏幕文本编辑器,是Linux/UNIX上最常用的文本编辑器,它的作用是建立.编辑. ...

  6. Linux系列教程(十)——Linux文本编辑器vim

    通过前面几篇博客我们终于结束了Linux常用命令的介绍,Linux常用命令主要包括以下: ①.Linux文件和目录处理命令 ②.Linux链接命令和权限管理命令 ③.Linux文件搜索命令 ④.Lin ...

  7. Linux常用命令——文本编辑器Vim

    Linux常用命令--文本编辑器Vim Linux  Vim常用操作 插入命令 a 在光标所在字符后插入 A 在光标所在行尾插入 i 在光标所在字符前插入 I 在光标所在行首插入 o 在光标下插入新行 ...

  8. Linux文本编辑器vim

    目录 1.vim 的工作模式 2.插入命令 3.定位命令 4.删除命令 5.复制和剪切命令 6.替换和取消命令 7.搜索和搜索替换命令 8.保存和退出命令 9.vim 高级操作 10.总结 通过前面几 ...

  9. LINUX文件内容处理及文本编辑器vim

    Linux基本操作命令 echo命令 echo命令: 把echo后面的内容显示到屏幕. -n 显示内容的时候不显示每行结尾的回车 echo 内容 >> 文件名 表示把内容加到一个文件的末尾 ...

随机推荐

  1. 配置git远程连接gitlab

    1.本地git下载 2.配置全局的用户名和邮箱,命令分别为 git config --global user.name "username" git config --global ...

  2. JS基础语法---continue关键字

    continue: 在循环中如果遇到continue关键字,直接开始下一次循环 如下:continue在计数器之前,会一直循环,浏览器会崩溃,我的就崩溃了 var i = 0; while (i &l ...

  3. iPad替代midi键盘

    下载安装rtpMIDI (网络MIDI驱动程序) 打开rtpMIDI,在“My session”那里按下+,就会自动显示你的电脑的名字 检查Bonjour服务正常运行,iPad与pc网络正常连接 iP ...

  4. windows系统下mount创建的.vhd

    自己无聊时候分出了几个磁盘用来练习,存放个人东西,cdef盘除了c盘都是随便乱存的(粗心-_-),于是分出了两个20G的vhd文件,但是每次开机都要去d盘点击挂载太麻烦,现在分享自己的方法. 创建mo ...

  5. git笔录

    [一]git介绍 初始的项目版本管理可以在本地赋值备份之前版本代码,项目较小时还可以,但项目较大时,这种方法显得有点捉襟见肘 ... ... 后期也出现了很多版本管理工具,例如svn.vcs.vss等 ...

  6. vue调用高德地图:vue-amap

    前言:之前没有接触过页面调用地图的项目,某次面试,老板要求我用vue-amap调用高德地图,回家以后,我去网上查了一些案例和教程,看似很简单的引入调用,我却整整弄了一宿,还没弄出来!!!百般无奈之下, ...

  7. bolb与base64的图片互转

    直接看图简单明了. 注:便于测试你可以自己用base64图片测试互转一下.这里base64图片太长了就不给予展示了,望理解

  8. POJ3685Matrix(二分套二分)

    传送门 题目大意:N*N的矩阵,a[i][j]=i*i+100000*i+j*j-100000*j+i*j,求矩阵中第K小. N<=5*10^4 题解: 打个表,发现每一列从上往下单调递增. 在 ...

  9. 调试九法: 软硬件错误的排查之道 (David J. Agans 著)

    第1章 简介 (已看) 第2章 总体规则 (已看) 第3章 理解系统 (已看) 第4章 制造失败 第5章 不要想, 而要看 第6章 分而治之 第7章 一次只改一个地方 第8章 保持审计跟踪 第9章 检 ...

  10. select使用css居右对齐

    select{ direction: rtl; } 下面的方法无效 select{ text-align: right; }