Linux文本文件——文本编辑器Vim
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的更多相关文章
- 【Linux】文本编辑器Vim常用操作入门
Linux常用文本编辑器:Vi & Eamcs Vim -- Vi的升级版本 Vim 一.3种工作模式 命令行模式 (Command Mode) 插入模式 (Insert Mode) -- 键 ...
- Linux之文本编辑器Vim
一.什么是vim vi是一种模式编辑器.vi 是Unix世界里极为普遍的全屏幕文本编辑器,几乎可以说任何一台Unix机器都会提供这套软体,其他的文本编辑器则不一定会存在,但是目前我们使用比较多的是 v ...
- Linux学习总结(19)——Linux中文本编辑器vim特殊使用方法
1. vim比对功能 在linux的环境下 用于观察两个文件的一致性的时候我们一般用diff这个命令来比对,但是这个命令不能你特别详细的比对出 具体的位置或者行对比.这里就用到了vim的对比功能 vi ...
- Linux学习 - 文本编辑器Vim
一.Vim工作模式 二.命令 插入 a 光标后插入 A 光标所在行尾插入 i 光标前插入 I 光标所在行首插入 o 光标下插入新行 O 光标上插入新行 删除 x 删除光标处字符 nx 删除光标处后 ...
- Linux基础学习(5)--文本编辑器Vim
第五章——文本编辑器Vim 一. Vim常用操作 1.Vim简介: Vim是一个功能强大的全屏幕文本编辑器,是Linux/UNIX上最常用的文本编辑器,它的作用是建立.编辑. ...
- Linux系列教程(十)——Linux文本编辑器vim
通过前面几篇博客我们终于结束了Linux常用命令的介绍,Linux常用命令主要包括以下: ①.Linux文件和目录处理命令 ②.Linux链接命令和权限管理命令 ③.Linux文件搜索命令 ④.Lin ...
- Linux常用命令——文本编辑器Vim
Linux常用命令--文本编辑器Vim Linux Vim常用操作 插入命令 a 在光标所在字符后插入 A 在光标所在行尾插入 i 在光标所在字符前插入 I 在光标所在行首插入 o 在光标下插入新行 ...
- Linux文本编辑器vim
目录 1.vim 的工作模式 2.插入命令 3.定位命令 4.删除命令 5.复制和剪切命令 6.替换和取消命令 7.搜索和搜索替换命令 8.保存和退出命令 9.vim 高级操作 10.总结 通过前面几 ...
- LINUX文件内容处理及文本编辑器vim
Linux基本操作命令 echo命令 echo命令: 把echo后面的内容显示到屏幕. -n 显示内容的时候不显示每行结尾的回车 echo 内容 >> 文件名 表示把内容加到一个文件的末尾 ...
随机推荐
- IOS中的深拷贝和浅拷贝
标签: 什么是深拷贝?什么是浅拷贝? 为什么经常看到字符串属性要这样定义,那个copy是神马意思? @property(nonatomic,copy)NSString* name; 为什么下面的写法是 ...
- Eclipse修改JSP文件的默认编码
Eclipse新建JSP文件,可以看到默认使用的是ISO-8859-1编码,如下图,而这种编码是无法保存中文的,不符合我们的需求 那么应该怎样修改呢?找到菜单Window-Preferences,找到 ...
- assets文件夹与static文件夹的区别
assets文件夹与static文件夹的区别原地址==>https://www.cnblogs.com/x123811/p/9230700.html 相同点===>assets文件夹和st ...
- 1. Go语言—初始
一.golang语言特性 1. 垃圾回收 内存自动回收,再也不需要开发人员管理内存 开发人员专注业务实现,降低了心智负担 只需要new分配内存,不需要释放 2. 天然并发 从语言层面支持并发,非常简单 ...
- JDOJ1100: Fix
题目大意 给你n个点,其中一些点是固定的,然后还有一些没有固定的,然后问你固定所有点所用的线段的最小长度是多少. 所谓固定,就是形如三角形的情况,就是两个固定的点向一个未固定的点连两条边,就能把未固定 ...
- 19.8.2 luogu 夏令营 游
人生第一次游记....是在学校机房,在luogu网校,在炎炎夏日,在薯条汉堡,在自己的博客里... 十二天快吗? 刚上课那会真的比较兴奋,把每天的计划都排的满满的,希望这十二天慢点,再慢点,我得好好过 ...
- Rest微服务案例(二)
1. 创建父工程 Maven Project 新建父工程microservicecloud,packaging是pom模式,pom.xml内容如下: <!-- SpringBoot父依赖 --& ...
- LINUX下查看点云图————point cloud(.ply .vtk .pcd)
首先,你要确定点云的格式:.pcd(.vtk) 还是 .ply 如果是.pcd(.vtk),那么可以用pcl工具查看: 1.安装pcl,官网链接点击打开链接 sudo add-apt-reposito ...
- luoguP3346 [ZJOI2015]诸神眷顾的幻想乡
题意 学习了广义后缀自动机. 广义后缀自动机与普通后缀自动机的区别在于它是对多个串建的,于是可以处理多个串. 广义后缀自动机和普通后缀自动机的区别在于两个特判,可以见这篇题解 对于这题,因为叶子数量小 ...
- xcode静态库调试
[工程1]:静态库工程,用来生成xxx.a [工程2]:项目工程,需要引入静态库xxx.a 工程2引入静态库的方法是将工程1生成的xxx.a和include头文件目录,加入到工程2中. 而如果需要在工 ...