打开文件
Vi 使用的选项 | 说明 |
---|
vim filename | 打开或新建一个文件,并将光标置于第一行的首部 |
vim -r filename | 恢复上次 vim 打开时崩溃的文件 |
vim -R filename | 把指定的文件以只读方式放入 Vim 编辑器中 |
vim + filename | 打开文件,并将光标置于最后一行的首部 |
vi +n filename | 打开文件,并将光标置于第 n 行的首部 |
vi +/pattern filename | 打幵文件,并将光标置于第一个与 pattern 匹配的位置 |
vi -c command filename | 在对文件进行编辑前,先执行指定的命令 |
模式
# 命令模式
# 输入模式
#编辑模式(insert)
命令模式
移动
# 单个字符
方向键:上下左右
或 h-左移 j-下移 k-上移 l-右移
# 快速移动
gg 第一行
G 最后一行
0 第一个字符
$ 最后一个字符
w 跨单词移动
W 跨单词移动(跳过标点符号)
{ 上一个段落
} 下一个段落
# 屏幕移动
zz 屏幕居中显示
zt 屏幕上方显示
zb 屏幕下方显示
搜索
/ 向下查找(n 下一个/N 上一个)
? 向上查找(n 上一个/N 下一个)
* 向下查找单词(n 下一个/N 上一个)
# 向上查找单词(n 上一个/N 下一个)
f 行内快速移动(示例:fa)
F 行内快速移动(示例:Fa)
:set hlsearch 高亮
:set nohlsearch 取消高亮
选取 复制 粘贴
v visual模式
V 选取当前行(visual line)
y 复制(yank)
yy 复制当前行
nyy 复制n行(基于当前行)
y$ 复制当前位置到行末
yG 复制当前行到文档末
p 粘贴(当前位置后,如果选择一行则在下一行)
P 粘贴(当前位置前,如果选择一行则在上一行)
np 粘贴n次
u 撤销(undo 每一次回退一步)
ctrl + r 重做(每一次重做一次)
# 暂存器
"ay 保存到暂存器
"ap 粘贴暂存器
:set clipboard=unnamed 外部粘贴到vim/复制到vim外部
输入模式
快捷键 | 功能描述 |
---|
i | 在当前光标所在位置插入随后输入的文本,光标后的文本相应向右移动 |
I | 在光标所在行的行首插入随后输入的文本,行首是该行的第一个非空白字符,相当于光标移动到行首执行 i 命令 |
o | 在光标所在行的下面插入新的一行。光标停在空行首,等待输入文本 |
O | 在光标所在行的上面插入新的一行。光标停在空行的行首,等待输入文本 |
a | 在当前光标所在位置之后插入随后输入的文本 |
A | 在光标所在行的行尾插入随后输入的文本,相当于光标移动到行尾再执行a命令 |