gpt4 book ai didi

bash - 是否可以使用命令行选项指定 bash 提示符?

转载 作者:行者123 更新时间:2023-11-29 09:02:08 31 4
gpt4 key购买 nike

我经常使用 vim,并且经常发现使用 !bash 进入命令行很有用。但是,我需要键入 exit 才能返回到 vim,有时我不确定我是否在子 shell 中或者这是否会关闭我的 session 。

我真正想做的是输入类似 !bash -prompt "subshel​​l" 的内容,以便我得到如下内容:

subshell$ <commands go here>

这可能吗?

最佳答案

最直接的方法是在 vim 中设置 PS1 环境变量:

:let $PS1="subshell$ "

并使用命令 :shell 而不是 :!bash 来启动你的子 shell。

$ 符号与let 一起使用可修改环境变量。将此添加到您的 .vimrc 以保留设置。

或者,使用 :shell可以指定一个更具体的命令,包括参数,使用 shell 选项,参见帮助shellhelp 'shell'

所以:

:set shell=bash\ --rcfile\ ~/.vimbashrc

.vimbashrc 中添加 PS1="subshel​​l ",并使用 :shell 而不是 !bash 调用子 shell 。将此添加到您的 .vimrc 以保留设置。

所以你有两个选择:

  • let $PS1="subshel​​l " 添加到您的 .vimrc,并使用 :shell 而不是 启动子 shell :!bash.
  • 为您的 vim 子 shell 创建一个自定义 rc 文件,将您的特定 PS1="subshel​​l " 添加到其中,并修改 中的 shell 选项.vimrc: set shell=bash\--rcfile\~/.vimbashrc.

最后,如果您必须使用 :!bash 来启动子 shell,还有几个选项。请注意,您还可以使用 ! 传递更具体的命令行,例如:

  • :PS1="subshel​​l$ "bash 应该可以工作。
  • :!bash\--rcfile\~/.vimbashrc,并在.vimbashrc中设置PS1如上

但是您每次都需要键入这些内容,或者为其定义一个映射。

关于bash - 是否可以使用命令行选项指定 bash 提示符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12273393/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com