Home > System Tutorial > LINUX > body text

vim bug in Debian

WBOY
Release: 2024-04-20 09:04:01
forward
812 people have browsed it

Debian 中的 vim Bug
I've been wondering why vim on my server behaves so stupidly when it comes to the mouse: it can't jump, copy, and paste like it normally does. Although it has been set in /etc/vim/vimrc.local.

set mouse=
Copy after login

Finally I figured out why, thanks bug #864074 and fixed it. The reason is that when there is no ~/.vimrc, vim loads defaults.vim after vimrc.local, thus overriding several settings.

There is a comment (although I don't see it) in /etc/vim/vimrc that explains this:

" Vim will load $VIMRUNTIME/defaults.vim if the user does not have a vimrc.
" This happens after /etc/vim/vimrc(.local) are loaded, so it will override
" any settings in these files.
" If you don't want that to happen, uncomment the below line to prevent
" defaults.vim from being loaded.
" let g:skip_defaults_vim = 1
Copy after login

I agree that this is a good way to set up vim after installing vim normally, but the Debian package can do better. The problem is clearly stated in the bug report: without ~/.vimrc, settings in /etc/vim/vimrc.local are overwritten. This is counter-intuitive in Debian - and I don't know if a similar approach is taken in other packages.

Since the settings in defaults.vim are very reasonable, I hope to use it, but only modify a few items that I don't agree with, such as the mouse. Finally, I did the following in /etc/vim/vimrc.local:

if filereadable("/usr/share/vim/vim80/defaults.vim")
  source /usr/share/vim/vim80/defaults.vim
endif
" now set the line that the defaults file is not reloaded afterwards!
let g:skip_defaults_vim = 1
" turn of mouse
set mouse=
" other override settings go here
Copy after login

There's probably a better way to get a universal load statement that doesn't depend on the vim version, but for now I'm happy with this.

The above is the detailed content of vim bug in Debian. For more information, please follow other related articles on the PHP Chinese website!

source:linuxprobe.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!