Vim 设置
显示行号
使用:set number
来显示行号。
默认显示绝对行号,可用:set relativenumber
开启相对行号。
使用:_行号_
or _行号_gg
跳转到指定行号。
跳转都记录在一个跳转列表中,
更多细节参考:h jump-motions
。
拼写检查
Vim 有拼写检查的功能,用下面的命令开启:
set spell
Vim 默认只安装了英语字典。其他的字典可在通过搜索vim-spell
而寻得。检查可用语言包:
# pacman -Ss vim-spell
把下载的字典文件存入~/.vim/spell/
,并用 :setlocal spell spelllang=_en_us_
将_en_us_
换成所需的字典的名称开启。
行为 | 快捷键 |
---|---|
下一个拼写错误 | ]s |
上一个拼写错误 | [s |
拼写纠正建议 | z= |
将单词添加到用户正确字典 | zg |
将单词添加到内部正确字典 | zG |
将单词添加到用户错误字典 | zw |
将单词添加到内部正确字典 | zW |
重新进行拼写检查 | :spellr |
小贴士:
如果需要针对两种语言进行拼写检察(例如英语与德语),在
~/.vimrc
或/etc/vimrc
中添加set spelllang=_en,de_
并重启 Vim 即可。使用用于进行文件类型检测的 FileType 插件和自建规则,可以对任意文件类型开启拼写检查。例如,要开启对扩展名为
.txt
的文件的拼写检查,创建文件/usr/share/vim/vimfiles/ftdetect/plaintext.vim
,添加内容autocmd BufRead,BufNewFile *.txt setfiletype plaintext
,然后在~/.vimrc
或/etc/vimrc
添加autocmd FileType plaintext setlocal spell spelllang=en_us
,重启 vim 即可。如果想只对 LaTeX(或 TeX)文档起用拼写检查,在
~/.vimrc
或/etc/vimrc
添加autocmd FileType **tex** setlocal spell spelllang=_en_us_
,重启 Vim 即可。至于非英语语言,替换上述语句中的en_us
为相应语言代码即可。
记录光标位置
Vim 可以记录上次打开某一文件时的光标位置,并在下次打开同一文件时将光标移动到该位置。要开启该功能,在配置文件~/.vimrc
中加入以下内容:
augroup resCur
autocmd!
autocmd BufReadPost * call setpos(".", getpos("'\""))
augroup END
另见:[Vim Wiki 上的相关内容、][19]。
用 vim 替代 vi
创建一个alias,如下:
alias vi=vim
或者,如果你想输入sudo vi
并得到vim
, 安装vi-vim-symlinkAUR,它将移除vi
并用一个符号链接vim
代替。
DOS/Windows 回车问题
打开 MS-DOS 或 Windows 下创建的文本文件时,经常会在每行行末出现一个^M
。这是因为 Linux 使用 Unix 风格的换行,用一个换行符(LF)来表示一行的结束,但在 Windows、MS-DOS 中使用一个回车符(CR)接一个换行符(LF)来表示,因而回车符就显示为^M
。
可使用下面的命令删除文件中的回车符:
:%s/^M//g
注意,^
代表控制字符。输入^M
的方法是按下Ctrl+v,Ctrl+m
。
另一个解决方法是,安装 dos2unix,然后执行 dos2unix <文件名>
。
gVim 窗口底部的空格
如果 窗口管理器 设置为忽略窗口大小渲染窗口,gVim会将空白区域填充为GTK主题背景色,看起来会比较难看。
解决方案是调整 gVim 在窗口底部保留的空间大小。将下面的代码加入 ~/.vimrc
中:
set guiheadroom=0
**注意:**如果将其设为 0,将无法看到底部的水平滚动条。