技巧和建议
编辑教程技巧和建议
显示行号
使用:set number来显示行号。默认显示绝对行号,可用:set relativenumber开启相对行号。
使用:行号 or _行号_gg跳转到指定行号。跳转都记录在一个跳转列表中,更多细节参考:h jump-motions。
拼写检查
Vim有拼写检查的功能,用下面的命令开启:
set spell
Vim默认只安装了英语字典。其他的字典可在[官方软件仓库][17]通过搜索vim-spell而寻得。检查可用语言包:
# pacman -Ss vim-spell
额外的字典可以从[Vim's FTP archive][18]获取。把下载的字典文件存入~/.vim/spell/,并用 :setlocal spell spelllang=_enus (将_enus 换成所需的字典的名称)开启。
行为 | 快捷键 |
---|---|
下一个拼写错误 | ]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=_enus,重启Vim即可。至于非英语语言,替换上述语句中的en_us为相应语言代码即可。
记录光标位置
Vim可以记录上次打开某一文件时的光标位置,并在下次打开同一文件时将光标移动到该位置。要开启该功能,在配置文件~/.vimrc中加入以下内容:
augroup resCur
autocmd!
autocmd BufReadPost * call setpos(".", getpos("'\""))
augroup END
用 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,将无法看到底部的水平滚动条。
选择支付方式:
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间