-
移动光标
h 向左移动一个字符
j 向下移动一行
k 向上移动一行
l 向右移动一个字符
Ctrl+f 向下移动一页,forward
Ctrl+b 向上移动一页,back -
保存退出
:w 存盘
:wq 保存退出,write quit
:q! 不保存,退出,quit -
esc 回到普通模式/命令行模式
-
visual可视模式
v 可视模式,Visual Line,类似于windows里的文字操作
V 逐行可视模式
Ctrl+v 矩形区块可视模式,Visual Block -
进入insert插入模式
i 光标前插入,insert
I 行前插入
a 光标后插入,append
A 行末插入
o (小写字母o)光标向下新增一行
O (大写字母O)光标向上新增一行 -
剪切/删除操作
x 剪切/删除单字符
数字x 剪切/删除光标后指定数字个字符
d 剪切/删除选中的内容,delete
dd 剪切/删除整行
数字dd 剪切/删除从当前行开始往后的多少行 -
复制操作
y 复制选中的内容,yank
yy 复制整行
数字yy 复制光标开始向下的指定数字行
与其他系统/程序的交互,使用双引号加上加号再加上相应的动作y或p
例如从vim拷贝到windows,在vim中选择相应内容,然后按 "+y ,然后在windows中粘贴
从windows拷贝到vim,在windows中复制内容,在vim中按 "+p
更多信息参考:VIM的复制粘贴问题 -
p 粘贴上一次剪切的内容,paste
-
u 撤销,undo,按多次执行多次恢复
-
跳转指定行
G 光标跳转至文件结尾,Go
数字G 跳转到指定数字的行
:数字 跳转到指定数字的行
gg 光标跳转至文件开头
Ctrl+g 显示总行数以及光标所在的行列 -
列出行号
:set nu 列出行号
:set nonu 取消行号 -
全选 ggvG
-
全部复制 ggyG
-
全部删除 ggdG yG
-
查找、替换字符串
/字符串 查找字符串,按n查找下一个,按N查找上一个
:s/old/new 在一行内替换头一个字符串,将old替换为new
:s/old/new/g 在一行内替换所有字符串
:%s/old/new/g 全局替换所有字符串
:%s/old/new/gc 全局替换所有字符串,每次都询问确认
- windows中gvim解决中文乱码问题
以管理员权限用记事本打开C:Program FilesVim_vimrc文件,添加如下配置并保存
set encoding=utf-8
set termencoding=utf-8
set fileencoding=utf-8
set fileencodings=ucs-bom,utf-8,chinese,cp936
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
注意:vim的寄存器与windows的粘贴板并不通用,互相隔离
知识图
(图片来自网络)