vim 奇技淫巧
why tail -f 保存为指定编码#
:set fileencoding=gbk
:w或
:w ++encoding=gbk
打印 debug 日志#
vim -V9vim.log file.txt或者 :messages
Esc 有延迟#
https://devedge.github.io/2025/05/09/eliminating-esc-delays-in-tmux-vim-and-zsh/
set timeoutlen=1000 ttimeoutlen=10
或官方的 default.vim
set ttimeout " time out for key codes
set ttimeoutlen=100 " wait up to 100ms after Esc for special key
临时取消换行自动注释#
在 insert 下,用 <C-o>o
默认行为:
// I < 这是光标,按下 o 之后
//
// I使用 <C-o><C-o>X
// I
//
如何处理 mixtab#
有些文件会混杂 \t 和 ,尤其是 python 对于这种格式要求更为严格,使用
gg=G可以快速自动替换成空格
拯救手指的技巧#
- Insert 下,
<C-h>代表了 Backspace,避免小指跳跃。 <C-m>是回车。
在 buffers 之间移动#
<C-^> 和 <C-6>
或者使用标记 mA 然后回去 'A
启动顺序#
用 set runtimepath 可以查看所有的 runtimepath,然后 vim 会遍历每一个 path,然后按顺序执行,最后一个一定是 after 里面的。具体会加载什么文件夹,可以 :help runtimepath 。
对于插件的 options 就可以写到 .vim/plugin/plugin-name.vim 里面。