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 内容 >> 文件名 表示把内容加到一个文件的末尾 ...
随机推荐
- ubuntu下查看(改变)本地端口开放情况,开启和关闭防火墙
查看开放端口: sudo ufw status 允许80端口开放: sudo ufw allow 允许22端口开放: sudo ufw allow 启动防火墙: sudo ufw enable 重启防 ...
- Firebase-config 在android中的使用
说明 firebase-config提供远程配置方案,可以通过远程控制app的基本配置方案更换工作.如在特定时间更换不同的App基础配色反感,更换基础显示图标等. firebase-config fi ...
- Python、PyCharm、django环境搭建
本文又名—— 响应式页面——从无到有(一) 事情是这样的,期末小组作业,需要我把大佬们写的页面搞成响应式的,但是我连py都没用过,只好现学…… 文章目录 一.前言 1.1 环境介绍 1.2 前期尝试 ...
- 【bzoj1941】[Sdoi2010]Hide and Seek(kd-tree)
bzoj 题意: 给出\(n\)个点,对于每个点,\(d_i\)等于距离其最远的点的距离减去距离最近的点的距离.这里的距离为曼哈顿距离. 求\(min\{d_i\}\). 思路: 考虑直接对每个点暴力 ...
- Html学习之十(CSS选择器的使用--伪类选择器)
伪类选择器 一.基于a标签. 1.:hover 选择鼠标滑过的超链接元素 2.:active 选择鼠标单击中的超链接元素 3.:link 选择未被访问的超链接元素 4.:visited 选择已经被访问 ...
- Scrapy-splash
Scrapy-splash Splash是一个javascript渲染服务.它是一个带有HTTP API的轻量级Web浏览器,使用Twisted和QT5在Python 3中实现.QT反应器用于使服务完 ...
- Linux下MongoDB安装和配置(二)
1. 下载MongoDB 下载地址:https://www.mongodb.com/download-center/community 这里选择的是:mongodb-linux-x86_64-4.0. ...
- Mybatis环境搭建(二)
1. 创建Maven Project,选择war,修改pom.xml <properties> <!-- JDK版本 --> <java.version>1.8&l ...
- (day53)五、模型层(ORM)、settings文件配置
目录 一.settings配置 (一)测试文件配置 (二)查看对应sql语句 二.模型表数据的增删改查 (一)创建数据 (1)create方法 (2)利用对象的绑定方法 (二)修改数据 (1)利用qu ...
- [mybatis] sql语句无错误,但是执行多条sql语句时,抛出java.sql.SQLSyntaxErrorException
错误内容 org.springframework.jdbc.BadSqlGrammarException: ### Error updating database. Cause: java.sql.S ...