vim的使用和恢复
vim是vi的高级版,分为3种模式:一般模式(默认)、编辑模式和命令行模式
3种模式转换关系:
被vim编辑的文件会在同目录下新建一个file.swp的临时文件,对文件的编辑先存在此临时文件,写入时才会对源文件更改
按键说明
一般模式可用按键及说明
按键 | 说明 |
---|---|
H | 移到屏幕最上方那一行 |
M | 移到屏幕中央那一行 |
L | 移到屏幕最下方那一行 |
G | 移到文件最后一行 |
nG | n为数字,移动到文件第n行(可配合 : set nu) |
gg | 移到文件第一行,相当于1G |
/word | 查找光标之下为word的字符串 |
n | 重复前一个搜寻的动作 |
N | 与n相反 |
:n1,n2s/word1/word2/g | n1与n2为数字,在第n1与n2行之间寻找word1这个字符串,并用word2取代word1 |
dd | 删除光标所在行 |
yy | 复制光标所在行 |
nyy | 复制光标所在的向下n行 |
p,P | p将已复制数据粘贴在光标下一行,P将已复制数据粘贴在光标上一行 |
u | 撤销上一个操作,如windows下的ctrl+z |
ctrl+r | 重做上一个操作 |
命令行模式可用按键及说明
按键 | 说明 |
---|---|
: set nu | 设置行号 |
: set nonu | 取消行号 |
:w | 数据写入硬盘 |
:w! | 强制写入磁盘 |
:q | 离开 |
:q! | 强制离开不保存文件 |
:wq | 写入磁盘后离开 |
:wq! | 强制写入后离开 |
块选择 (Visual Block)
按键 | 说明 |
---|---|
ctrl+v | 块选择,用长方形方式选择数据 |
y | 将选择的数据(反白)复制 |
d | 将反白的地方删除 |
可用来整块复制和粘贴到某个区域
多文件编辑
方法:vim file1 file2
按键 | 说明 |
---|---|
:n | 下一个文件 |
:N | 上一个文件 |
:files | 目前这个vim打开的所有文件 |
多窗口功能
已经打开一个vim的情况下,一个屏幕开多个vim
按键 | 说明 |
---|---|
: sp [filename] | 打开一个新窗口,如果没有filename则两个窗口为同一个文件内容(同步显示) |
ctrl+w+↓ | 按法:先按ctrl+w再放开,然后按方向键。光标移到下方窗口 |
ctrl+w+↑ | 光标移到上面窗口 |