JQK*_*JQK 8 bash vim vimrc tcsh
我们公司使用red hat linux系统,在/home给大家分配一个账号。不幸的是,我们的系统正在使用 tsch,这对我不利。而且,由于我没有超级用户权限,我无法使用 chsh 命令为自己更改为 bash。更糟糕的是,我也无法使用 ypchsh。所以,最后,我将以下几行添加到 .cshrc 中:
bash
echo $0
Run Code Online (Sandbox Code Playgroud)
并适当配置 .bashrc(从原始 .cshrc 复制并修复必要的语法错误)。现在明显的 shell 变成了 bash(如“echo $0”命令所示)。
现在问题来了:
当我使用 vim 编辑一个 cpp 文件(例如 Hello_World),并在 vim 中使用“:!g++ -g Hello_World.cpp -o hw.out”编译文件时,不会显示任何结果,并且 vim 退出显示“bash”(当终端打开时),但没有通常的“敲击键”来回到我在 vim 中的工作。在 Hello_World.cpp 文件夹中,有一个 .Hello_World.cpp.swp 文件,但没有 hw.out。当再次vim Hello_World.cpp 时,发现这个cpp 文件已经打开了。
但是,如果我 g++ 文件夹中的 cpp 文件但不使用 vim 和 :!,则一切正常。实际上, :!现在似乎对 vim 来说是非法的。
如果我用原来的tcsh,一切也OK。
我该如何解决这个奇怪的错误?
提前感谢您的友好帮助。
清
顺便说一句:我更喜欢 bash 而不是 tcsh,主要是因为它具有 HISTIGNORE 和 HISTCONTROL 的便利性,尽管 tcsh 也有 histdup 设置。
我发现以下内容有点帮助,但仍然不能满足我的问题。
把它放在你的 .login 脚本中:
setenv SHELL /bin/bash
exec bash -l
Run Code Online (Sandbox Code Playgroud)
第一行设置 SHELL 环境变量。第二行替换tcsh
with bash
,但告诉它作为登录 shell 运行(因此bash
将处理您的.profile
等)。您可以添加一个-i
选项以使其具有交互性;应该没有必要。
归档时间: |
|
查看次数: |
979 次 |
最近记录: |