linux shell

关注公众号 jb51net

关闭
首页 > 脚本专栏 > linux shell > Linux中的Vi和Vim编辑器

Linux中Vi和Vim编辑器用法详解

作者:springsnow

本文详细讲解了Linux中Vi和Vim编辑器的用法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一、简介

Linux下的文本编辑器有很多种,vi 是最常用的,也是各版本Linux的标配。注意,vi 仅仅是一个文本编辑器,可以给字符着色,可以自动补全,但是不像 Windows 下的 word 有排版功能。 
vi 是十年磨一剑的产品,虽然命令繁多,并且大多数功能都是依靠键盘输入来完成,但是一旦你熟悉后,会发现 vi 的功能和效率是其他图形界面编辑器无法比拟的。 
在Linux中,vi 被认为是事实上的标准编辑器,因为:

你可以使用 vi 编辑器编辑现有的文件,也可以创建一个新文件,还能以只读模式打开文本文件

二、安装VIM

Vim 是 Vimproved 的缩写,是 vi 的改进版。vim是Linux下最常用的文本编译器,在终端输入vim时可能会出现

Connand 'vim' not found, but can be installed with:

这是因为默认的文本编译器是vi, 而没有安装或者升级vim的缘故

1、 Ctrl + Alt +T 进入终端,安装vim:

sudo apt-get install vim

2、安装完成后即可使用vim,输入vim查看:

美化vim

刚安装的VIM,可能界面并不是十分友好,我们可以更改vim的配置文件,按照我们的需求去修改它。在命令行下,输入命令:注意: 必须加上sudo,否则你是没有权限编辑vimrc的。

sudo vim /etc/vim/vimrc

在这个文件中可以看到有下面这个if判断,意思是语法高亮,如果是被注释掉状态,可以将其放开:

if has("syntax")
     syntax on
endif
"设置左侧行号
set nu
"设置tab键长度为4
set tabstop=4
"突出显示当前行
set cursorline
"在右下角显示光标位置的状态行
set ruler
"自动缩进
set autoindent
"覆盖文件时不备份
set nobackup

编辑完成后使用 :wq 进行保存退出 
说明: 冒号结束编辑 ,w为保存 q为退出 如果你想放弃也可以 q!为强制退出

三、进入 vi\VIM 编辑器

可以通过以下方式进入 vi 编辑器:

例如,使用 vi 编辑器创建一个新文件并打开:

$ vi testfile
|
~
~
~
~
~
~
~
~
~
~
~
~
"testfile" [New File]

竖线(|)代表光标的位置;波浪号(~)代表该行没有任何内容。如果没有 ~,也看不到任何内容,那说明这一行肯定是有空白字符(空格、tab 缩进、换行符等)或不可见字符

四、工作模式

三种工作模式:

工作模式切换:

  • 在普通模式下输入 i(插入)、c(修改)、o(另起一行) 命令时进入编辑模式;按 esc 键退回到普通模式。
  • 在普通模式下输入冒号(:)可以进入命令模式。输入完命令按回车,命令执行完后会自动退回普通模式。 
    提示:如果不确定当前处于哪种模式,按两次 Esc 键将回到普通模式。

五、退出 vi 编辑器

一般在命令模式下退出 vi 编辑器。

退出之前,你也可以在 w 命令后面指定一个文件名,将文件另存为新文件,例如:将当前文件另存为 filename2。

w filename2

注意:vi 编辑文件时,用户的操作都是基于缓冲区中的副本进行的。 如果退出时没有保存到磁盘,则缓冲区中的内容就会被丢失。

六、移动光标

为了不影响文件内容,必须在普通模式(按两次 Esc 键)下移动光标。使用下表中的命令每次可以移动一个字符:

两点提醒:

当然,还有很多其他命令来移动光标,不过记住,一定要在普通模式(按两次 Esc 键)下。

用来移动光标的命令:

七、控制命令

有一些控制命令可以与 Ctrl 键组合使用,一定要在普通模式(按两次 Esc 键)下。如下:

八、编辑文件

切换到编辑模式下才能编辑文件。有很多命令可以从普通模式切换到编辑模式,如下所示:

撤销命令:

重复命令:

九、删除字符

下面的命令,可以删除文件中的字符或行:

可以在命令前面添加一个数字前缀,表示重复操作的次数,例如,2x 表示连续两次删除光标下的字符,2dd 表示连续两次删除光标所在的行。

十、修改文本

如果你希望对字符、单词或行进行修改,可以使用下面的命令:

十一、粘贴复制

vi 中的复制粘贴命令:

十二、高级命令

下面的一些命令虽然看起来有些古怪,但是会让你的工作更有效率,如果你是 vi 重度用户,就了解一下吧。

十三、文本查找

全文件搜索

可以在普通模式(按两次 Esc 键)下输入

部分特殊字符列表:

搜索的字符串中可以包含一些有特殊含义的字符,如果希望搜索这些字符本身,需要在前面加反斜杠(\)。

搜索某行中的单个字符

f 向上搜索,F 向下搜索,并且会把光标定位到匹配的字符。 
t 命令向上搜索,并把光标定位到匹配字符的前面;T 命令向下搜索,并把光标定位到匹配字符的后面。

十四、set 命令

set 命令可以对 vi 编辑器进行一些设置。使用 set 命令需要进入命令模式。

十五、运行命令

切换到命令模式,再输入 ! 命令即可运行 Linux 命令。 
例如,保存文件前,如果希望查看该文件是否存在,那么输入

:! ls

即可列出当前目录下的文件。按任意键回到 vi 编辑器。

十六、文本替换

切换到命令模式,再输入 s/ 命令即可对文本进行替换。语法为:

:s/search/replace/g

search 为检索的文本,replace 为要替换的文本,g 表示全局替换。

:%s/原有字符/替换后字符 ##只替换每一行中出现的第一个原有字符
:%s/原有字符/替换后字符/g ##替换所有
:1,5s/原有字符/替换后字符/g ##替换1-5行

十七、几点提示

vi 编辑器的使用讲解完毕,但是请记住下面几点:

十八、最全VI\Vim快捷键键位图

到此这篇关于Linux中Vi和Vim编辑器用法的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文