学习Vim相关的教程有很多,有Book,甚至有在线的练习网站,
我将最常用的几个命令和vim的相关以笔记的方式整理出来,
算是一个 旋风式 入门了吧。
vim三种模式
- 命令模式
- 编辑模式
- 末行模式 命令模式下:进入
命令模式操作:
保存退出:ZZ
代码格式化:gg=G
“gg”可以跳到第一行。
“G”可以跳到最后一行。
而“=”则是 调用命令行的indent程序来使文本智能的缩进。如果你的linux上没有装indent,而盲目的使用gg=G,很可能会损坏你正在编辑的文件。
光标移动到行首:0 (零)
光标移动到行尾:$
光标移动到文件首部:gg
光标移动到危机尾部:G
行跳转123行:123G
删除操作:
- 撤销:u
- 反撤销:ctrl+r
- 删除字符:
- 删除光标前的:X
- 删除光标后的:x
- 删除单词:dw
- 删除光标前的字符串:d0
- 删除光标后的字符串:d$ 或 D
- 删除当前行:dd
- 删除多行:ndd
- n为行数
复制粘贴操作
- 复制:
- 1行:yy
- 多行:nyy
- 粘贴:
- p:粘贴到下一行
- P :粘贴到上一行
- 可视模式:v
- 移动光标,选中范围内的内容:
- hjkl
- 复制:y
- 删除:d
- 粘贴:
- p:粘贴到光标后面
- P:粘贴到光标前面
- 移动光标,选中范围内的内容:
替换操作:
- r:替换一个,光标盖住的字符
- R:替换多个,从光标盖住的这个往后替换
搜索操作:
- /xxx 向下搜索xxx
- ?xxx 向上搜索xxx
- 下一个:n 上一个:N
- # :
- 光标移动到待搜索关键字上边,键盘输入#
文本编辑模式
进入文本编辑模式
- a:从光标后开始插入字符
- A:行尾插入
- i:光标前插入字符
- I:行首插入
- o:光标下创建新行
- O:光标上创建新行
末行模式
输入:进入末行模式
- 直接输入数字,跳转到指定行:n(回车)
- 末行模式-》命令模式
- 两次esc
- 末行模式下执行一个命令
- 保存退出
- 保存不退出:w
- 退出:q
- 退出不保存:q!
- 保存退出:wq
- 替换
- 替换光标所在行的字符串:
:s/old/new/g
- 替换一个范围:
:n1,n2/old/new/g
- 替换整个文档的n1:n2就不是两个行范围,写%,相当于全部行。
- 替换光标所在行的字符串:
- 末行模式分屏
- 水平分屏:sp
- 垂直分屏:vsp
- 显示不同文件 后面加文件名
- 屏幕切换:ctrl + w + w
- 关闭:q 关闭所有:qall
- 保存:w
- 保存关闭:wq
- 末行模式下输入shell命令:
!+shell命令
垂直分屏打开
vim -O *.cpp
vi 的配置
- 用户级别:
- ~/.vimrc
- 系统级别:
- /etc/vim/vimrc
补充一些命令
- 全文缩进调整
- 全文的话gg=G