Vim Tips

查看变量的值

使用 set 命令,后跟变量名,再跟个问号。比如:

:set textwidth?

查看变量是在哪设置的

通过上面的命令可以查看某个变量的当前值了,但有时候我们需要知道这个变量是在哪被设置的。

这是就需要 verbose 这个命令了:

:verbose set textwidth?

禁止自动换行

在输入一个很长的行时,vim 总是会自动换行,并插入一个换行符。这其实很讨厌,我们需要的是自动换行显示,但不要自动插入换行符。

把如下内容加入到 .vimrc 解决:


set wrap set linebreak set nolist set textwidth=0 set wrapmargin=0

参考: http://vim.wikia.com/wiki/Word_wrap_without_line_breaks

textwidth 怎么无效了?

把上面的内容添加到 .vimrc 了,怎么还是自动换行并插入换行符?

用上面提到的方法查看一下这个变量的值,发现 textwidth 怎么不是设置的 0 而是 78 ?textwidth 的设置无效?

别急,其实是设置被覆盖了而已。使用 verbose 查看一下 textwidth 是在哪被设置的吧。

发现原来是在 vimrc_example.vim 里设置的,通过搜索发现在该文件中有这么一段:

" For all text files set 'textwidth' to 78 characters. autocmd FileType text setlocal textwidth=78

就是上面的设置把我们的 set textwidth=0 覆盖了。

解决办法就是在 .vimrc 中加入:

autocmd FileType text setlocal textwidth=0

同样的方法,可是解决其他变量设置后无效的问题。

让箭头键可以跳到下一行

当用方向键移动光标到行末时,光标不会跳转到下一行。h 和 l 键有同样问题。

把下面一行加入 .vimrc 解决:

set whichwrap+=<,>,h,l
Creative Commons License Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution 4.0 International license .