说到vim就不得不提到vi,vi是所有Unix及linux系统下标准的编辑器,而Vim是一个类似于vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。VIM是自由软件。Vim普遍被推崇为类Vi编辑器中最好的一个
vim和vi一样是一个全屏幕文本编辑器,它没有菜单,只有命令。可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制,这是其他编辑程序所没有的。,它不是一个排版程序,它不像MS Word 或 WPS 那样可以对字体、格式、段落等其他属性进行编排。
为什么要使用vim?
在linux下的文本编辑器众多,除了vi和vim还有emacs、pico、nano、joe等,这些工具都有各自的有点,但是有几点是其它编辑工具所不能比拟的
1 所有的类Unix系统都内建vi,其它的编辑工具则不一定,而vim相当于是vi的升级版
2 很多软件的编辑界面都会调用vi,如后面提到的crontab、edquota等
3 vim具有程序编辑能力,可以主动以字体颜色标识语法的正确性,方便代码编写
4 程序简单,编辑速度非常快
介绍就到这里,我们来看一下基本使用
由于vi/vim是一个全屏幕的文本编辑器,它工作在三种模式下:分别是命令模式、输入模式和末行模式。可以分别从命令模式切换到输入模式和末行模式,也可以从末行模式或输入模式切换到命令模式,但是输入模式与末行模式之间不能互相切换。
第一种:命令模式,当我使用“vim myfile”命令打开myfile这个文件时就处于命令模式,屏幕左下角为文件名(myfile),1L 表示本文件有1 行,26C 表示此文件有26 个字符。1,25表示光标当前位置,在此模式下用户可以输入命令来进行文件存盘、移动光标、删除字符、撤消命令和重复命令等操作,还可以设置编辑环境。
this is the command mode.
~
~ 表示没有内容
"myfile" 1L, 26C 1,25 全部
第二种:插入模式,又叫输入模式。在输入模式下,屏幕的左下方会出现INSERT (插入)字样。在输入状态下,用户可以输入文本的内容。
this is the command mode.
~
~
~
~
-- 插入 -- 1,25 全部
第三种:末行模式。只要在命令模式下输入命令“:”即可进入末行模式。在末行模式下,可以进行保存文件、退出vi、进行查找和替换等操作。
this is the command mode.
~
~
~
~
:q!
三种模式介绍完了,我们看下vim的使用,这里面我们还是按照三种模式来对vim的使用进行说明
命令模式
ctrl+f 下一页,相当于键盘上的pagedown
ctrl+b 上一页,相当于键盘上的pageup
0 光标移动到行首
$ 光标移动到行尾
G 光标移动到文件的最后一行
gg 光标移动到文件的第一行
n n为数字,光标向下移动n行
/word word为关键字,以光标所在处为起点,向后搜索指定的关键字
?word 以光标所在处为起点,向前搜索指定的关键字
/word和?word在搜索过程中可以使用n/N来指定下一个或者是上一个
dd 删除光标所在行
yy 复制光标所在行
nyy n为数字,以光标所在处为起点,向后复制n行
p/P 将复制的内容粘贴在光标所在行的下(p)或上(P)
u 撤销操作
从命令模式进入输入模式
a 从光标所在位置后面开始输入资料,光标后的资料随增加的资料向后移动。
i 从光标所在位置前面开始插入资料,光标后的资料随新增资料向后移动。
o 在光标所在行下新增一行并进入输入模式。
从命令模式进入到末行模式
:w 保存
:w! 强制保存,文件为只读时使用
:q 不保存退出
:q! 强制不保存退出
:wq 保存退出
:wq! 强制保存退出
vim的基本功能我们就介绍到这里,下面看下有哪些额外功能
v | 字符选择,选中光标经过的地方 |
---|---|
V | 选中光标经过的行 |
[Ctrl]+v | 区块选择 |
y | 复制选中的部分 |
d | 删除选中的部分 |
p | 将刚才复制的部分粘贴到光标所在处 |
由于个别版本的linux默认值安装vi,所以你需要额外安装vim的软件包,如何安装软件包我们会在后续的课程中讲解,另外vim在字符界面下不能输入中文,而在图形界面下能否输入中文则取决于系统中是否安装了中文输入法
总结
本节课我们介绍了linux的文本编辑器vim,它是一款十分强大的文本编辑软件,我们只学习了它的常用功能,更多的功能需要大家在日常使用中不断的去发现,不断的去熟悉本节课的内容就到这里,谢谢!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。