回到 Normal 模式
-
Esc
-
Ctrl+C
-
Ctrl+[
光标移动
- ``.` 回到上一次编辑的位置,并进入 Normal 模式
-
gi
回到上一次编辑的位置,并进入插入模式 -
f/F
或t/T
加字符来在行内定位字符,然后通过,/;
进行下一次查找 -
g_
行尾非空字符
查找替换
:[range]s[ubstitute]/{pattern}/{string}/[flags]
flags 内容:g[lobal]/c[onfirm]/n[umber]
- 当
{string}
为空,后面 flags 指定为n
,则为统计次数
整词匹配:\<string\>
多文件(缓冲区)操作
-
:e
:在当前窗口编辑指定文件,:e!
来重新加载正在编辑文件 -
:ls
:缓冲区列表 -
:b 序号/名称
:切换缓冲区
窗口
-
Ctrl+W S
或:sp
:水平分割窗口,指定文件名的话可以打开新文件 -
Ctrl+W V
或:vs
:垂直分割窗口,指定文件名的话可以打开新文件
复制粘贴
在设置了 :set autoindent
的情况下,粘贴会导致排版混乱,可以先通过如下命令来保证粘贴效果,然后再恢复:
:set paste/nopaste
寄存器
-
复制、剪切默认使用无名寄存器,使用
xp
两个命令实现字符调换 -
"<寄存器名称>操作
:内容放到指定寄存器(通过字母或数字标识寄存器)
如:"cdd
将当前行剪切至 c 寄存器 -
:reg [寄存器名]
:查看指定寄存器内容。如未制定,则查看所有寄存器。
常用寄存器:
-
"0
:复制专用寄存器 -
"+
:系统剪贴板 -
使用系统剪贴板完成复制粘贴:
:set clipboard=unnamed
宏
- 录制:
q{寄存器名}
,之后使用q
退出 - 回放:
@{寄存器名}
应用举例:以数字 5 为起始,生成数字序列
- 在某一行写入数字
5
,光标定位到数字上,恢复到 Normal 模式 - 开始录制宏:
qa
- 定义行为:
yyp
复制行,Ctrl+A
数字 + 1,q
结束宏录制 - 多次执行宏:
100@a
命令模式
在命令模式中执行 Normal 模式中的命令,步骤如下:
- 选中内容
- 冒号
:
normal 命令内容
: Ctrl+P
执行上一次命令
应用举例:为选中行的行尾增加分号
- Ctrl+V 选中内容
- 冒号
:
- 在光标位置输入
normal A;回车
补全
首先进入插入状态:
- 文字补全:
Ctrl+N/P
- 路径补全:
Ctrl+X-Ctrl+F
配色
-
:colorscheme
不加参数显示当前 Scheme -
:colorscheme <ctrl+d>
显示支持的 Scheme 列表 -
:colorscheme scheme名称
指定要使用的 Scheme -
指定颜色风格:
:set background=dark/light
-
自定义配色方案复制到这里:
~/.vim/colors/*.vim
(完)
网友评论