常用快捷键
快捷键 | 操作 |
---|---|
gg | 跳转到文件最开头 |
G | 跳转到文件末尾 |
:n | 跳转到指定行 |
== | 自动缩紧当前行 |
gg=G | 格式化文本格式 |
/ | 可以输入所搜索的单词(向下搜索) |
? | 可以输入所搜索的单词(向上搜索) |
:%s/var/let/g | 全局将var替换成let |
:history | 查找历史操作记录 |
:上下键切换 | 切换历史操作记录 |
nx | 向后连续删除n个字符 |
nX | 向前连续删除n个字符 |
d0 | 删除从当前字符到行首的所有字符 |
d$ | 删除从当前字符到行末的所有字符 |
dd | 删除当前行并放到剪切板 |
ndd | 删除从当前行开始的n行并放到剪切板 |
dgg | 删除到当前行 |
dG | 删除到当前行首 |
de | 删除到本单词末尾 |
dw | 删除到下一个单词的开头 |
yy | 复制当前行 |
yyn | 复制从当前行开始的n行 |
p | 在当前行之后黏贴所复制的内容 |
P | 在当前行之前黏贴所复制的内容 |
. | 重复前一个动作 |
j | 向上移动一行 |
k | 向下移动一行 |
b | 向前移动一个单词 |
e | 向后移动一个单词 |
u | 撤销 |
Ctrl+r | 回退 |
:set nu | 显示行号 |
:set nonu | 不显示行号 |
shift + o | 在当前行的上方打开一行并进入编辑模式 |
o | 在当前行的下方打开一行并进入编辑模式 |
shift + j | 连接上下两行成为一行 |
shift + i | 在行首插入 |
shift + a | 在行末插入 |
:e! | 取消所有修改,重新打开文件 |
n + 方向箭头 | 可以指定移动的字符个数 |
ctrl + f | 向下移动一页 |
ctrl + b | 向上移动一页 |
+ | 光标移动到下一行的第一个非空白字符处 |
- | 光标移动到上一行的第一个非空白字符处 |
0 | 自动定位到行首,mac里可以使用fn + 左方向箭 |
$ | 自动定位到行末,mac里可以使用fn + 右方向箭 |
nG | 移动到这个文件的第几行 |
n + <Enter键> | 光标向下移动n列 |
:w filename | 文件另存为 |
:r filename | 在光标所在处读入另一个文件的内容 |
:! command | 暂时离开vi界面,暂时在当前目录下执行命令 |
:set all | 查看vim的一些参数配置 |
区块选择
- v 一个字符一个字符选择
- V 一行一行的选择
- ctrl + v 区块矩阵选择
- y 将反白的地方复制起来
- d 将反白的地方删掉
- p 将刚刚反白的地方复制到某处
自动补全
- ctrl + x -> ctrl + n 根据正在编辑的文件内容作为关键字进行补全
- ctrl + x -> ctrl + o 根据扩展名的语法作为关键字自动补全
Vim分屏功能
vim -On file1 file2 # 打开两个文件并左右分屏
vim -on file1 file2 # 打开两个文件并上下分屏
Ctrl+w s # 上下分屏当前打开的文件
Ctrl+w v # 左右分屏当前打开的文件
:sp file1 # 打开新的文件,并与当前文件上下分屏
:vs file1 # 打开新的文件,并与当前文件左右分屏
Ctrl+w h # 光标向左边分屏移动
Ctrl+w j # 光标向下边分屏移动
Ctrl+w k # 光标向上边分屏移动
Ctrl+w l # 光标向右边分屏移动
.vimrc设置
在用户根目录下可以新建.vimrc文件,设置vim编辑器的一些默认格式:
syntax on # 高亮显示
set number #设置显示行号
set hlsearch #设置搜索高亮
highlight Search ctermbg=blue ctermfg=red #设置高亮字体颜色和背景颜色
set tabstop=4 #设置tab空格数
set ignorecase #搜索等忽略大小写
set cursorline #鼠标所在行锁定