vim入门

概述

vim是非常好用的文本编辑器,可以将它看作是vi的进阶。绝大多数Unix系统都会内置vi编辑器,vi是文本编辑器,vim是程序编辑器。相比vi,它可以根据文件的类型高亮文本,以方便程序设计。

安装

现在一般unix系统都会安装vim了,如果你的系统真的没有vim,就需要自己安装了,vim编辑器需要安装三个包:

  • vim-enhanced-7.0.109-7.el5
  • vim-minimal-7.0.109-7.el5
  • vim-common-7.0.109-7.el5

步骤如下(centos/redhat系统)

  1. 查看一下你本机已经存在的包,确认一下你的vim是否已经安装:
    输入 rpm -qa|grep vim 这个命令,如何vim已经正确安装,则会显示上面三个包的名称
  2. 如果缺少了其中某个,比如说: vim-enhanced这个包少了,执行:yum -y install vim-enhanced 命令,它会自动下载安装。
  3. 如果上面三个包一个都没有显示,则直接输入命令:
    yum -y install vim*

即可自动安装,完毕后,即可使用vim编辑器。

vim的模式

vim一共有三个模式

  • 一般模式

    使用vim打开/创建文件,移动光标,复制、粘贴、定位等

  • 编辑模式

    使用[IiOoRrAa]进行入编辑模式,可以编辑文件内容,通过esc退回到一般模式

  • 指令模式

    使用 [:/?]进入指令模式,可以离开、保存文件等,通过esc退回到一般模式

cdd
图中要注意编辑模式和指令模式不能直接交互

vim使用示例

  1. 创建一个文本text.sh vim test.sh 如果test.sh存在则是打开文本,不存在就新建
  2. 编辑文件内容 i 键盘敲击i,进入编辑模式,可以输入文本,注意左下角提示
  3. 退回到一般模式 esc 键盘敲击esc按键,退出编辑模式
  4. 保存并退出 :wq 分号进入指令模式,wq为保存文件并退出vim

vim快捷键(常用)

  • 一般模式
快捷键 说明
移动光标
←或h 向左移动光标
→或l 向右移动光标
↓或j 向下移动光标
↑或k 向上移动光标
[ctrl] + f 向下翻页
[ctrl] + b 向上翻页
- 光标移动到上一行
+ 光标移动到下一行
0^ 光标移动到当前行首
$ 光标移动到当前行尾
H 光标移动到屏幕第一行
M 光标移动到屏幕中间行
L 光标移动到屏幕最后一行
gg 光标移动到文档第一行
G 光标移动到文档最后一行
nG 光标移动到文档第n行
搜索
/word 光标移动到屏幕最后一行
n 重复前一个搜寻动作
:n1,n2s/word1/word2/g 在n1到n2行之间搜索word1,并用word2全局替换
:1,$s/word1/word2/g 第一行到最后一行搜索word1,并替换为word2
复制粘贴
x, X x 为向后删除一个字符, X 为向前删除一个字符
dd 删除整行
yy 复制整行
p,P p 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行!
u 回退
[ctrl]+r 重做
. 重复前一个动作
  • 编辑模式
快捷键 说明
i,I 进入插入模式(Insert mode) i 为『从目前光标所在处插入』, I 为『在目前所在行的第一个非空格符处开始插入』。
a,A 进入插入模式(Insert mode):a 为『从目前光标所在的下一个字符处开始插入』, A 为『从光标所在行的最后一个字符处开始插入』
o,O 进入插入模式(Insert mode):o 为『在目前光标所在的下一行处插入新的一行』; O 为在目前光标所在处的上一行插入新的一行!
r, R 进入取代模式(Replace mode):r 只会取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下 ESC 为止;
[Esc] 回到一般模式
区块选择
v 字符区块选择
V 行区块选择
[ctrl]+v 回到一般模式
r, R 进入取代模式(Replace mode):r 只会取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下 ESC 为止;
[Esc] 回到一般模式
  • 指令模式
快捷键 说明
:w 保存修改
:w! 强制保存修改。到底能不能写入,还是跟你对该档案的档案权限有关!
:q 退出
:q! 强制退出,不保存修改
:wq 保存并退出
ZZ 若档案没有更动,则离开,若档案已经被修改,则保存后离开!
:w filename 另存为文件filename
:n1,n2 w [filename] n1到n2行保存到文件filename
:! command 执行命令

总结

学到这里基本上你可以很轻松的使用vim了。虽然这里只是入门,但是已经覆盖日常操作80%,还有什么高级点的东西没介绍:

  • 多文档操作
  • 分屏操作
  • 插件安装(有时间再写一篇博文介绍)

作者: wuzhaoyang(John)
出处: http://wuzhaoyang.me/
因为作者水平有限,无法保证每句话都是对的,但能保证不复制粘贴,每句话经过推敲。希望能表达自己对于技术的态度,做一名优秀的软件工程师。