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 内容 >> 文件名 表示把内容加到一个文件的末尾 ...
随机推荐
- Maven项目 - OpenFeign使用细节 - 从此和httpClient说再见
maven项目使用openfeign,从此和httpClient说拜拜 pom.xml: <dependency> <groupId>io.github.openfeign&l ...
- IOS中的深拷贝和浅拷贝
标签: 什么是深拷贝?什么是浅拷贝? 为什么经常看到字符串属性要这样定义,那个copy是神马意思? @property(nonatomic,copy)NSString* name; 为什么下面的写法是 ...
- SourceInsight教程
概述: Source Insight是一个面向项目开发的程序编辑器和代码浏览器,它拥有内置的对C/C++, C#和Java等程序的分析.Source Insight能分析你的源代码并在你工作的同时动态 ...
- Android 工程的创建
还望支持个人博客站:http://www.enjoytoday.cn 本章节主要介绍如何开始Android工程的创建和android开发过程中需要的一些简单的技巧和知识.首篇文章主要介绍如何开始And ...
- 移动端底部导航固定配合vue-router实现组件切换
在我们平时练习或者实际项目中也好,我们常常遇到这么一个需求:移动端中的导航并不是在顶部也不是在底部,而是在最底部且是固定的,当我们点击该导航项时会切换到对应的组件.相信对于很多朋友而言,这是一个很简单 ...
- 1.JavaCC安装与测试
下面介绍的是JavaCC在windows系统中的安装与小代码测试过程. 一.JavaCC安装 步骤 :在JavaCC的官网首页下载JavaCC,然后配置电脑的环境变量,接着在dos命令行里就可 ...
- jQuery—自定义HTTP请求
Ajax设置自定义请求头的两种方法 $.ajax({ url: 'http://www.baidu.com', type: 'get', data: JSON.stringify({"nam ...
- weblogic(一).简介与安装
weblogic(一).简介与安装 WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发.集 ...
- python简单面试题
在这个即将进入金9银10的跳槽季节的时候,肯定需要一波面试题了,安静总结了一些经常遇到的python面试题,让我们一起撸起来. python面试题 1.求出1-100之间的和 # coidng:utf ...
- SpringCloud学习笔记(一、SpringCloud 基础)
目录: 概述 观察者模式 代理模式 概述: spring系列中使用了大量的设计模式,而最常见的便是这观察者.代理模式,所以在讲解SpringCloud之前我们先学习下这两个最常见的设计模式. 观察者模 ...