vim使用技巧
进入vim
- vim分为浏览模式和插入模式
进入浏览模式
vim file
用vim打开newfile文件
此时显示:
在vim浏览模式下可以查看当前文件的内容,有下角1,5
表示光标当前在第一行,当前文档一共有5页
进入插入模式
在浏览模式下按i即可进入插入模式
- 插入模式下左下角显示
INSERT
表示现在处于插入模式,在插入模式下可以编辑当前文件。 - 按Esc即可退出插入模式
浏览模式下的指令
字符管理
复制
指令 | 作用 |
---|---|
yy | 复制一整行 |
yl | 复制一个字母 |
yw | 复制一个单词 |
删除
指令 | 作用 |
---|---|
dd | 删除一整行 |
dl | 删除一个字母 |
dw | 删除一个单词 |
剪切
指令 | 作用 |
---|---|
cc | 剪切整行 |
cl | 剪切一个字母 |
cw | 剪切一个单词 |
- 剪切后vim会进入插入模式,粘帖时需要按esc退出插入模式才能粘帖
其他操作
指令 | 作用 |
---|---|
u | 撤销 |
ctrl+r | 恢复 |
p | 粘帖 |
字符的批量处理
- ctrl + v 进入可视化编辑模式,该模式可以批量选择字符并操作
批量添加字符
- 把光标移动到要加入字符所在列
- ctrl+v 进入可视化模式
- 选中要加入字符所在列
- 按 I 进入插入模式并写入要加入的字符
- 按esc批量添加结束
批量删除
- 把光标移动到要删除字符前
- ctrl+v 进入可视化模式
- 选中要删除的字符
- 按Delete
批量修改
- 批量修改需要在浏览模式下
指令 | 解释 |
---|---|
:%s/原有的字符/修改后字符/g | s表示所有行g表示所有列 |
:1,5s/原有的字符/修改后字符/g | 修改1到5行 |
演示:
将所有的hello替换为linux
执行:%s/hello/linux/g
:
再将1到3行word替换为hello
执行::1,3s/word/hello/g
:
同时编辑多个文件
vim file
打开第一个文件:sp file1
打开第二个文件- 光标在那个文件中操作的就是那个文件
- ctrl+w一起按,然后加上下可以移动光标选择不同的文件
vim的退出
指令 | 作用 |
---|---|
:q | 当文件没有作任何修改时可以退出 |
:q! | 强制性退出可以不保存 |
:wq | 保存并退出 |
:wq! | 强制性保存退出,当文件属于自己或用户为root时可以执行 |
限制root用户编辑
指令 | 作用 |
---|---|
chattr +i file | 在root用户下设置文件对所有用户包括root只读 |
chattr -i file | 撤销上面的操作 |
异常退出
- 当vim非正常退出会产生.filename.swap文件
- 此文件出现时vim工作异常,该文件保存的是异常退出时未保存的文件
Found a swap file by the name ".file1.swp"
file1.swp
里面存放的就是异常退出前未保存的数据
此时的选项:
选项 | 作用 |
---|---|
[O]pen Read-Only | 只读打开 |
(E)dit anyway | 放弃未保存的文件 |
(R)ecover | 恢复 |
(D)elete it | 删除swap文件 |
(Q)uit | 退出 |
(A)bort | 退出 |