今天我要记录一下学习vim的一些收获,我对vim的了解还不能算是精通,还是入门水平,所以这篇的题目就是vim入门。
在linux或者OS X中如何用vim创建或者打开一个文件
如果你的操作系统是linux桌面版或者OS X,你可以在系统中找到Terminal。打开Terminal以后,输入vim 文件路径/文件名,如果文件存在,vim将打开这个文件,如果文件不存在,vim将新建一个文件。
如果你的操作系统是linux服务器版本,你用ssh或者VNC等方式登陆到系统以后,你默认进入了一个Terminal,可以在Terminal中执行上面的操作。
如果你的操作系统是windows,你可以安装Terminal模拟器进行以上操作。或者直接下载vim的安装包进行安装。
在编辑过程中,可以使用:w来保存,u来撤销修改,^r来恢复撤销。
如果要退出vim,:q!是不保存退出,:wq是保存并退出。具体的内容在后面会讲到。
vim的不同操作模式
vim是一款非常强大的编辑器,其在工作时有多种操作模式:
-正常模式
-插入模式
-替换模式
-可视模式
-命令行模式
同一个按键在不同的模式下有不同的含义。比如x,在正常模式下是删除一个字母,在插入模式下会插入字母“x“到文本中。
正常模式
大部分时间里,我们是在正常模式和插入模式下工作。当你用vim打开或者新建一个文档的时候,vim模式是在正常模式下。
在正常模式里,可以快速的进行一些导航或者编辑的操作。
常用的导航操作:
| 操作按键 | 操作行为 | 
|---|---|
| h | 向左移动光标 | 
| j | 向下移动光标 | 
| k | 向上移动光标 | 
| l | 向右移动光标 | 
| ^ | 跳转到本行第一个可视字幕 | 
| 0 | 跳转到本行第0列 | 
| $ | 跳转到本行的行尾 | 
| | | 跳转到第0列 | 
| #| | 跳转到第#列 | 
| ^b | 向后翻页 | 
| ^f | 向前翻页 | 
| ^u | 向后翻1/2页 | 
| ^d | 向前翻1/2页 | 
| gg | 文章开始 | 
| G | 文章结尾 | 
| zz | 移动光标所在到屏幕中间 | 
| zt | 移动光标所在到屏幕上方 | 
| zb | 移动光标所在到屏幕下方 | 
| H | 移动光标到屏幕上方 | 
| M | 移动光标到屏幕中间 | 
| L | 移动光标到屏幕下方 | 
常用的编辑操作:
| 操作按键 | 操作行为 | 
|---|---|
| x | 删除一个字母 | 
| dd | 删除一整行 | 
| D | 删除到行尾 | 
| s | 删除字母并插入 | 
| S | 删除行并插入 | 
| >> | 缩进 | 
| << | 反缩进 | 
| p | 粘贴到后面 | 
| P | 粘贴到前面 | 
| w | 下一个单词 | 
| e | 词尾 | 
| b | 上一个单词 | 
正常模式与其他模式到切换
| 按键操作 | 按键行为 | 
|---|---|
| i | 插入模式,在当前字符前插入 | 
| a | 插入模式,在当前字幕后插入 | 
| I | 插入模式,在行首插入 | 
| A | 插入模式,在行尾插入 | 
| s | 插入模式,删除当前字母并在当前字母位置插入 | 
| S | 插入模式,删除当前行并在行首插入 | 
| r | 替换模式,替换当前字符 | 
| R | 替换模式 | 
| v | 可视模式 | 
| V | 可视行模式 | 
| ^v | 可视块模式 | 
| : | 命令行模式 | 
编辑模式
编辑模式就跟一般文本编辑器是一样的,所有的字母等输入都直接反应在文件内容中,所有正常模式下的命令都不可用。导航的话只能使用上下左右四个光标键,按键“ESC”返回正常模式。
替换模式
替换模式分为两种: r为替换当前字符,输入一个字符后会恢复到正常模式;R为多字符替换,会用输入字符持续替换当前行到内容。
可视模式
可视模式分为三种: v可视模式下可选择连续到字符串,V可视行模式下可选择连续行,^v可视块模式下可选择一整块长方形区域。选择了以后可进行复制删除修改等操作。
命令行模式
命令行模式下可操作各种命令,比如查找(/ ?)、替换(s)、保存(w)、退出(q)等。
今天先总结了一下vim的几种模式,vim还是一门强大的编程语言,将在下一篇博客中进行总结。
附录:vim键盘图


