vim使用
大约 1 分钟miscvim
输入反义字符
^M: <ctrl> + v <ctrl> + m
^[: <ctrl> + v <esc>
启用鼠标
" help mouse-using
set mouse=a
编码
首先要理解几个基本概念。
- 文件有自己的编码格式。
➜ tool git:(main) ✗ file vim.md
vim.md: Unicode text, UTF-8 text
- 终端有自己的编码格式,在SecureCRT之类的终端工具中能找到编码设置。
- vim作为一个文件处理程序,会读取文件,并以某种编码保存在内存中以便后续操作。
vim把文件本身的编码称为fileencoding,把终端编码称为termencoding,把加载后的文件编码称为encoding。
想要正常显示不乱码,文件里的内容需要从fileencoding顺利转译成encoding,然后还要从encoding顺利转译成termencoding。当然如果这三者的编码是一样的,那就肯定没问题了。
而当出现乱码时,多半就是编码不一致,并且vim的编码选项设置不正确。
" vim当然不能修改文件本身的编码,只能通过fileencodings设置可能的编码集,在加载时顺序检测哪一个是文件本身的编码(估计是没有接口可以直接获取文件编码)。
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
" vim当然也不能修改终端本身的编码,只能由用户通过termencoding选项来告知。
set termencoding=utf-8
" 这个就是vim在内存中使用的编码
set encoding=utf-8
编辑历史
如果希望vim保存文件的编辑历史,以便在重新打开时依然可以执行undo操作。可以设置undo选项,指定历史缓存目录。
set undofile
set undodir=~/.vim/undodir