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 内容 >> 文件名 表示把内容加到一个文件的末尾 ...
随机推荐
- C# Spire简单实现导出word(去水印)
今天老姐打电话,说:下个月一号要换到其他岗位上,到时需要对word操作,小弟我随口答应,这个简单,我给你开发一款小程序,你直接在我程序上录入一些数据,我给你导出到word中. 利用中午空闲时间,百度了 ...
- 「SAP技术」SAP 如何看序列号被包在哪些HU里?
「SAP技术」SAP 如何看序列号被包在哪些HU里? 事务代码SE16 ,表名OBJK, 输入物料号,序列号,HeadTable 输入值SER06, 查询结果如下, 根据objlist, 去表ser0 ...
- [转]The Regular Expression Object Model
本文转自:https://docs.microsoft.com/en-us/dotnet/standard/base-types/the-regular-expression-object-model ...
- RAID 独立磁盘冗余阵列 - redundant array of independent disks
RAID: RAID全称是独立磁盘冗余阵列(Redundant Array of Independent Disks),基本思想是把多个磁盘组合起来,组合一个磁盘阵列组,使得性能大幅提高. RAID ...
- Dockerfile语法简介
Dockerfile是由一系列命令和参数构成的脚本,一个Dockerfile里面包含了构建整个image的完整命令.Docker通过docker build执行Dockerfile中的一系列命令自动构 ...
- 配置docker服务器支持远程连接
操作系统:linux-ubuntu 参考文档:https://cloud.tencent.com/developer/article/1047265 采用上述文档:非安全的连接方式/服务端配置/通常的 ...
- LVM 在线扩容磁盘(ubuntu 14.04 server)
mware workstation 8 或者 vmware vsphere client 6.0( exsi 6.0) (前提:你的服务器需要有已经存在的卷组,才可以添加新的物理卷到卷组,然后再扩容逻 ...
- golang中的struct标签tag
这个以前用beego时涉及过,时间久了,就忘了. 现在k8s里的controller,一样用了这个语法, 再拾起来吧. http://www.01happy.com/golang-struct-tag ...
- 解决飞秋绑定TCP错误
电脑不能打开网页,局域网的飞秋不能运行:提示TCP/IP错误,错误事件代码:10106.重装TCP/IP协议后就OK了…… 步骤如下:1.删除这两个注册表选项:(打开注册表命令regedit.如果不能 ...
- jwt, token, session和cookies
jwt token,session和cookies