[vim] vim入门
1. 概述
工欲善其事 必先利其器。vim
是非常好用的文本编辑器,可以将它看作是vi
的进阶。绝大多数Unix系统都会内置vi
编辑器,vi是文本编辑器,vim是程序编辑器。相比vi,它可以根据文件的类型高亮文本,以方便程序设计。
2. 安装
现在一般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系统)
- 查看一下你本机已经存在的包,确认一下你的vim是否已经安装:
输入rpm -qa|grep vim
这个命令,如何vim已经正确安装,则会显示上面三个包的名称 - 如果缺少了其中某个,比如说: vim-enhanced这个包少了,执行:
yum -y install vim-enhanced
命令,它会自动下载安装。 - 如果上面三个包一个都没有显示,则直接输入命令:
yum -y install vim*
即可自动安装,完毕后,即可使用vim编辑器。
3. vim的模式
vim一共有三个模式
-
一般模式
使用vim打开/创建文件,移动光标,复制、粘贴、定位等
-
编辑模式
使用[
IiOoRrAa
]进行入编辑模式,可以编辑文件内容,通过[esc]
退回到一般模式 -
指令模式
使用 [
:/?
]进入指令模式,可以离开、保存文件等,通过[esc]
退回到一般模式
** 图中要注意编辑模式和指令模式不能直接交互 **
4. vim使用示例
- 创建一个文本text.sh
vim test.sh
如果test.sh存在则是打开文本,不存在就新建
- 编辑文件内容
i
键盘敲击i,进入编辑模式,可以输入文本,注意左下角提示
- 退回到一般模式
[esc]
键盘敲击esc按键,退出编辑模式
- 保存并退出
:wq
分号进入指令模式,wq为保存文件并退出vim
5. 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
执行命令
6. 总结
学到这里基本上你可以很轻松的使用vim了。虽然这里只是入门,但是已经覆盖日常操作80%,还有什么没介绍:
- 多文档操作
- 分屏操作
- 配置及插件安装(有时间再写一篇博文介绍)