linux-vim和sudo vim在openSUSE上使用不同的设置
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了linux-vim和sudo vim在openSUSE上使用不同的设置,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1598字,纯文字阅读大概需要3分钟。
内容图文
![linux-vim和sudo vim在openSUSE上使用不同的设置](/upload/InfoBanner/zyjiaocheng/948/03a8f6f70739463cb9f14da605f2736e.jpg)
关闭文件后,我希望vim保存折叠的代码.我已经将以下代码添加到/ etc / vimrc和?/ .vimrc中:
au BufWinLeave ?* mkview
au BufWinEnter ?* silent loadview
当我以普通用户打开文件(vim文件)时,它可以按预期工作.如果我改为使用sudo vim文件打开,则不会保存折叠的代码.
我知道/ etc / vimrc正在被读取.我的主题设置在该文件的底部,并且运行良好.上周我在安装vim Surround插件时遇到了类似的问题.在?/ .vim中安装该文件时,它仅适用于vim文件.要使其与sudo一起使用,我必须将其单独安装在/usr/share / vim / current中.是什么原因造成的?
解决方法:
序言
事实上,您回答了您的问题,所以这确实与您以前遇到的问题相同.这是由Vim用于查找其配置的算法引起的(请参见:help初始化).但是,我不会将您的解决方案称为正确的解决方案.有关如何在sudo环境(例如,成为root用户)中使用配置的信息,请参见:help $VIM.
至于你当前的问题.
请参阅文档中的以下引号. :help:mkview:
:mkvie[w][!] [file] ...
When [file] is omitted or is a number from 1 to 9, a
name is generated and 'viewdir' prepended.
...
和:help’viewdir’:
'viewdir' 'vdir' string (default for ... for Unix: "~/.vim/view", ...
因此,在执行sudo之后,所有视图都由Vim存储在/root/.vim中.
解
使viewdir指向您的?/ .vim / view目录,在/root/.vimrc中输入如下内容:
:set viewdir=/home/user/.vim/view
但是,这种方法本身存在一些问题:
>更新root用户保存的视图将导致权限错误.
>您将无法传递/ root或/ home / user下文件的存储视图,因为Vim生成的文件名带有波浪号而不是完整路径.
第一个问题可以通过在执行:mkview命令之后立即在新的视图文件上运行chown或chmod来解决.应该是这样的:
execute '!chown user:group' eval('&viewdir').'/'.substitute(expand('%:p:~'), '/', '+=', 'g').'='
但是我不知道第二个问题的好解决方案,只能建议编写脚本将文件名转换为完整路径.
内容总结
以上是互联网集市为您收集整理的linux-vim和sudo vim在openSUSE上使用不同的设置全部内容,希望文章能够帮你解决linux-vim和sudo vim在openSUSE上使用不同的设置所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。