VI/VIM编辑器实践详解
VI 是一个命令行界面下的文本编辑工具,最早在 1976 年由 Bill Joy 开发,当时名
字叫做 ex。vi 支持绝大多数操作系统(最早在 BSD 上发布),并且功能已经十分
强大。
1991 年 Bram Moolenaar 基于 vi 进行改进,发布了 vim,加入了对 GUI 的支
持。随着 VIM 更新发展,VIM 已经不是普通意义上的文本编辑器,而是被广泛的
作为在文本编辑、方本处理、代码开发等用途,Linux 中主流的文本编辑器包
括:VI、Vim、Sublime、Emacs、Light Table、Eclipse、 Gedit 等。
Vim 强大的编辑能力中很大部分是来自于其普通模式命令。vim 的设计理念是命
令的组合。
“5dd”5 表示总共 5 行,删除光标所在后的 5 行,包含光标行;
“d$” $"代表行尾,删除到行尾的内容,包含光标;
“2yy”表示复制光标及后 2 行,包括光标行;
“%d” %代表全部或者全局,%d 表示删除文本所有的内容,也即是清空文档所有的内容。
VIM 是一个主流开源的编辑器,其默认执行 vim 命令,会显示帮助乌干达贫困的孩子,
如图 为 vim 与键盘键位功能对应关系:
1、VIM编辑器模式
Vim 编辑器模式常用有三种,分别是:
命令行模式;
文本输入模式;
末行模式;
vim 是 vi 的升级版本,它是安装在 Linux 操作系统中的一个软件,官网为:www.vim.org
在 Linux Shell 终端下默认执行 vim 命令,按 Enter 键后:
默认进入命令行模式;
在命令行模式按 i 进入文本输入模式;
按 ESC 进入命令行模式;
按:进入末行模式。
2、VIM 编辑器必备
VIM 编辑器最强大的功能,就在于内部命令及规则使用,如下为 VIM 编辑器最常用的语法及规则:
命令行模式:可以删除、复制、粘贴、撤销,可以切换到输入模式,输入模式跳转至命
令行模式:按 ESC 键。
yy 复制光标所在行;
nyy 复制 n 行;
3yy 复制 3 行;
p,P 粘贴;
yw 复制光标所在的词组,不会复制标点符号;
3yw 复制三个词组;
u 撤消上一次;
U 撤消当前所有;
dd 删除整行;
ndd 删除 n 行;
x 删除一个字符;
u 逐行撤销;
dw 删除一个词组;
a 从光标所在字符后一个位置开始录入;
A 从光标所在行的行尾开始录入;
i 从光标所在字符前一个位置开始录入;
I 从光标所在行的行首开始录入;
o 跳至光标所在行的下一行行首开始录入;
O 跳至光标所在行的上一行行首开始录入;
R 从光标所在位置开始替换;
末行模式主要功能包括:查找、替换、末行保存、退出等;
:w 保存;
:q 退出;
:s/x/y 替换 1 行;
:wq 保存退出;
1,5s/x/y 替换 1,5 行;
:wq! 强制保存退出;
1,$sx/y 从第一行到最后一行;
:q! 强制退出;
:wq(x)保存;
/word 从前往后找,正向搜索;
?word 从后往前走,反向搜索;
:s/old/new/g 将 old 替换为 new,前提是光标一定要移到那一行;
:s/old/new 将这一行中的第一次出现的 old 替换为 new,只替换第一个;
:1,$s/old/new/g 第一行到最后一行中的 old 替换为 new;
:1,2,3s/old/new/g 第一行第二行第三行中的 old 改为 new;
vim +2 jfedu.txt 打开 jfedu.txt 文件,并将光标定位在第二行;
vim +/string jfedu.txt 打开 jfedu.txt 文件,并搜索关键词。