实用技巧
处理隐藏缓冲区的方式
bash
:w[rite] 把缓冲区内容写入磁盘
:e[dit]! 把磁盘文件内容读入缓冲区(即回滚所做的修改)
:qa[ll]! 关闭所有窗口,摒弃修改而无需警告
:wa[ll]! 把所有改变的缓冲区写入磁盘
创建|关闭窗口
bash
<C-w>s // 水平分割窗口
<C-w>v // 垂直分割窗口
:clo[se] 或者 <C-w>c // 关闭当前窗口
:on[ly] 或者 <C-w>o // 只保留当前窗口,关闭其他所有窗口
窗口间切换
bash
<C-w>w // 窗口间循环切换
<C-w>h // 切换到左窗口
<C-w>j // 切换到下窗口
<C-w>k // 切换到上窗口
<C-w>l // 切换到右窗口
以root权限保存文件
bash
vim /etc/hosts
修改hosts文件
:w !sudo tee % > /dev/null
设置位置标记
bash
m{a-zA-Z} // 设置位置标记
'{a-zA-Z} // 跳转到标记位置所在行
`{a-zA-Z} // 跳转到标记位置的具体位置
跳转到上次修改的位置
bash
'. // 跳转到上次修改的行
`. // 跳转到上次修改的具体位置
在匹配括号之间跳转
bash
先把光标移动到括号上
% // 跳转到匹配括号
Surround.vim
bash
// 需要安装surround.vim插件
// vscode的vim插件已安装surround.vim插件
// v模式选中要包裹的内容
S" // 用双引号包裹选中内容
范围文本对象
bash
viw // 选中当前单词
viW // 选中当前字串,比如main.go
vis // 选中当前句子
vip // 选中当前段落