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,将无法看到底部的水平滚动条。

AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili

关注我: Github / 知乎

于2021年离开前端领域,目前重心放在研究区块链上面了

我叫朱安邦,阿西河的站长

目前在杭州从事区块链周边的开发工作,机械专业,以前从事平面设计工作。

2014年底脱产在老家自学6个月的前端技术,自学期间几乎从未出过家门,最终找到了满意的前端工作。更多>

于2021年离开前端领域,目前从事区块链方面工作了