Vim是一个高度可配置的文本编辑器,用于创建和更改任何类型的文本非常高效。
它与大多数UNIX系统、Linux系统和Apple OS X一起被列为“vi”
vim的功能包括:
- 广泛的插件系统
- 支持数百种编程语言和文件格式
- 强大的搜索和替换功能
- 与许多工具集成
下面是vim添加插件之后的效果,很酷吧!
让我们一起来学习如何使用这款风靡各个操作系统之间的文本编辑器吧!
vim基本概念
基本上vim可以分为三种模式。分别是:
- 命令模式(Command mode)
- 插入模式(Insert mode)
- 末行模式(Last line mode)
各模式的功能如下:
(1)命令模式:
在命令模式,我们可以控制屏幕光标的移动,字符或行的删除,移动复制文本。在命令模式可以随时切换到插入模式与末行模式。
(2)插入模式:
在插入模式,我们可以进行文字的输入、删除、修改等操作。按[ESC]键可回到命令模式。
(3)末行模式:
在末行模式,我们可以将文件保存或退出vim,也可以设置vim的编辑环境。如设置是否显示行号、括号匹配高亮显示和语法高亮等等。
了解了vim的三个模式之后,我们就开始学习如何在Linux使用vim来编辑文件吧!
在Linux的命令行输入
|
|
即可打开文件开始编辑了。
- 如果文件事先存在,这时vim将会把存在的文件打开,并把光标移动至文本首行的行首。
- 如果文件不存在,vim将会为我们打开一个新的文件,并让我们编辑。
下面这张图就是在当前工作目录下打开一个新的文件。(这时我们处在命令模式)
当我们使用vim打开一个文件后的最要紧的就是进行文本的输入,然后保存。
所以,熟练掌握各模式之间切换的方法至关重要。
各模式之间切换
- 命令模式 –> 插入模式
使用以下实体键可以在命令模式切换到插入模式
|
|
- 插入模式 –> 命令模式
按[ESC]即可从插入模式退出到命令模式。如果为了万全,可以按两次。
- 命令模式 –> 末行模式
按 : 即可进入到末行模式
- 末行模式 –> 命令模式
按[ESC]即可从末行模式退出到命令模式。如果为了万全,可以按两次。
命令模式下的操作方法
字符间跳转:
|
|
如果键盘上有上、下、左、右箭头的导航键,也可以使用其来完成光标的移动。
单词间跳转:
|
|
行首/尾间跳转:
|
|
行间跳转:
|
|
翻屏操作:
|
|
当前页跳转:
|
|
句间跳转:
|
|
段间跳转:
|
|
字符编辑:
|
|
替换命令:
|
|
删除命令:
|
|
改变命令:
从命令模式执行操作之后直接进入到插入模式
|
|
复制粘贴:
在vim从正文中删除的内容并没有真正丢失,而是被剪切并复制到一个内存缓冲区中。
|
|
如果缓冲区的内容是字符或字,直接粘贴在光标的前面或后面;如果缓冲区的内容为整行正文,执行上述粘贴命令将会粘贴在当前光标所在行的上一行或下一行。
|
|
撤销和重复:
在编辑文档的过程中,为消除某个错误的编辑命令造成的后果,可以用撤消命令。
|
|
插入模式下的操作方法
在命令模式下定位好光标位置后,可以用以下命令进入到插入模式:
|
|
退出插入模式的方法是,按 ESC 键或组合键 Ctrl+[ ,退出插入模式之后,将会进入编辑模式 。
末行模式下的操作方法
Vim的末行模式下,可以使用复杂的命令。在命令模式下键入 : ,光标就跳到屏幕最后一行,并在那里显示冒号,此时已进入末行模式,用户输入的内容均显示在屏幕的最后一行,按回车键,Vim 执行命令。
在已经启动的vim中打开一个文件需要用:e
命令
|
|
保存当前编辑的文件需要用:w
命令
|
|
另存为当前编辑的文件
|
|
在命令模式下,可以使用:q
或者ZZ
退出vim
|
|
在命令模式下每一行正文都有自己的行号,用以下命令可以将光标移动至指定行
|
|
末行模式可以进行字符串搜索,给出一个字符串,可以通过搜索该字符串到达指定行。如果希望进行正向搜索,将待搜索的字符串置于两个 / 之间;如果希望反向搜索,则将字符串放在两个 ? 之间。
|
|
使用 n
键进行在匹配到的字符串之间向下跳转
使用 N
键进行在匹配到的字符串之间向下跳转
在末行模式也可以对正文内容进行替换的操作,使用 :s
命令:
|
|
从上述命令可以看到:
%
表示替换范围是所有行,即全文内容s
后面跟一串替换的命令g
是修饰符,表示全局替换i
是修饰符,表示查找时忽略字符大小写/
是分隔符,而且此分隔符可以替换成其他特殊字符;如:@、#
另外一个实用的命令,统计全文中字符串 str1
出现的次数:
|
|
在末行模式下,也可以实现删除正文的功能:
|
|
定制vim的工作特性
在末行模式下进行定制,仅对当前 vim
进程有效。
永久有效:
- 全局:/etc/vimrc文件
- 用户个人:~/.vimrc(一般没有,需要手动创建)
使用 :set
命令进行设置:
|
|
常见的功能选项包括
|
|
分屏功能
如果想同时查看多个文件,就需要用到 vim
的分屏功能。vim
的分屏,主要有两种方式:
- 上下分屏(水平)
- 左右分屏(垂直)
|
|
也可以在终端的命令行就启用分屏功能:
|
|
理论上,一个vim
窗口可以,可以分为多个屏幕,切换屏幕需要使用键盘组合键以及方向键:
|
|
vim插件
vim“编辑器之神”的称号并不是浪得虚名,然而,这个荣誉的背后,或许近半的功劳要归功于强大的插件支持特性,以及社区开发的各种各样功能强大的插件。
插件的配置,请参考下面的链接:
- Vim配置、插件和使用技巧:http://www.jianshu.com/p/a0b452f8f720
- 手把手教你把Vim改装成一个IDE编程环境:http://blog.csdn.net/wooin/article/details/1858917
vim官方文档
- vim官方文档:http://vimdoc.sourceforge.net/
- vim维基中文文档:https://wiki.archlinux.org/index.php/Vim_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
本文出自Maxie’s Notes博客,转载请务必保留此出处。