为啥我的vim配置文件(.vimrc)只有添加sudo的情况下才生效。我的系统是Ubuntu的

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥我的vim配置文件(.vimrc)只有添加sudo的情况下才生效。我的系统是Ubuntu的相关的知识,希望对你有一定的参考价值。

没有加sudo命令,那么vim啥配置都没有
例如:sudo vim test.c vim的配置生效
但是:vim test.c vim的配置就不生效了,等于vim啥配置都没有。

说明你的 .vimrc 是对 root 用户生效的。
linux 系统是多用户系统,很多软件的用户配置是相互独立的。

.vimrc 要放在用户自己的主目录下才行,一般是 ~/.vimrc。如果已经在这个目录下,那可能是这个文件对你不可读。你需要用 sudo 把这个文件拷过来,然后把所有权转给自己。需要用 cp, chown, chmod 之类的命令。追问

配置.vimrc在用户目录下,而且所有者就是当前用户,但还是不行,只有添加sudo才生效,是不是还有其他相关的文件或设置没搞好。
我手动创建,然后将配置代码一行一行敲上去,也不行,只有添加sudo才生效。

追答执行:ls -l ~/.vimrc

复制结果,我看下。追问

追答执行的时候有其它错误么?

先换个最基本的 .vimrc 检查一下是不是能生效。
进 vim 后,执行::e $MYVIMRC
:w .vimrc~

备份一下当前的内容。然后删掉所有内容,只加一个比如set nu

这样的东西。存盘退出,再启动看看能不能生效。
参考技术A 配置目录没放对吧,是放在用户目录即~目录下吗?

配置Vim编辑器设置Tab键的格数(长度)

打开vim配置文件(比如sudo,或su进入root模式)

1.sudo vim /etc/vim/vimrc

添加一行

2.set tabstop=4

退出保存

3.:wq 

进阶

在.vimrc中添加以下代码后,重启vim即可实现按TAB产生4个空格:
set ts=4  (注:ts是tabstop的缩写,设TAB宽4个空格)
set expandtab

对于已保存的文件,可以使用下面的方法进行空格和TAB的替换:
TAB替换为空格:
:set ts=4
:set expandtab
:%retab!

空格替换为TAB:
:set ts=4
:set noexpandtab
:%retab!

加!是用于处理非空白字符之后的TAB,即所有的TAB,若不加!,则只处理行首的TAB。

 

 

以上是关于为啥我的vim配置文件(.vimrc)只有添加sudo的情况下才生效。我的系统是Ubuntu的的主要内容,如果未能解决你的问题,请参考以下文章

配置Vim编辑器设置Tab键的格数(长度)

树莓3B+_安装vim

如果有多个,将使用什么.vimrc?

如何在 Vim 的配置文件中注释:“.vimrc”?

Vim插件及.vimrc文件的配置

vim配置python高亮和缩进