我是unix的新手。我在我的主文件夹中创建了一个.exrc文件。我刚进入set nu并在.exrc中设置ai来检查。但每当我打开vi编辑器时,这都行不通。
此外,我通过输入su和密码以超级用户身份进入,现在在vi编辑器中打开了一个新文件,现在它正在运行。
我们需要拥有超级用户权限吗?请帮帮我。
答案 0 :(得分:4)
以下是我的想法:
vi
实际上是vim
的链接或别名,vi
的现代版本。.vimrc
个文件,vim
会在不存在.exrc
的情况下读取该文件。vi
不是指向vim
的链接,而忽略.vimrc
并读取.exrc
。检查
的输出$ which vi
$ ls -l `which vi`
$ ls ~/.vimrc
解决方案是使用.vimrc
代替.exrc
。
答案 1 :(得分:0)
首先,通过在 vi 中运行 ~/.exrc
,确保您的 :source $HOME/.exrc
可读并且它确实可以工作。
如果您使用的是更“传统”的 vi(不是 Vim),则可能是由于其他权限问题。关于 ex 的 POSIX 文档说:
<块引用>历史上,4 BSD ex 和 vi 读取 $HOME 和本地 .exrc 文件,如果它们由用户的真实 ID 拥有,或者设置了 sourceany 选项,不管其他考虑。这是一个安全问题,因为可以将普通的 UNIX 系统命令放在 .exrc 文件中。 POSIX.1-2017 没有指定 sourceany 选项,鼓励历史实现删除它。
确保您是 ~/.exrc
的所有者:chown <your-username> ~/.exrc
此外,如果您碰巧使用了 ex-vi(“传统 vi”),则 ~/.exrc
不得为组可写或全局可写。运行 chmod go-w ~/.exrc
以确保这一点。参考 09/23/00 版本的变更日志: