如何将“vi” shell 环境设置为默认

如何将“vi” shell 环境设置为默认

我想set -o vi在我的 shell 中使用 vi(可以解决问题)作为默认设置而不是 emacs,但我不想将它放入 bash 启动脚本中。

为什么?因为我是一名验证工程师,我使用多个用户帐户,而且这些帐户也经常重新安装。更改默认配置文件也不是答案,因为某些软件会创建自己的主目录(独立于默认配置文件)。

编辑:我知道您给了我几种在启动时或任何时候执行此操作的方法,但我确实想在系统的某个地方更改它并将其设为默认值,这可能吗?

答案1

如果你仔细想想,这其实相当直观,尽管它并不像乍一看那么明显。以下命令将为你提供所需的信息:

ssh -t somehost "bash -i -o vi"

这将在 vi 模式下启动一个交互式 shell。让我们来分析一下。 ssh -t somehost连接到主机(显然)并打开一个 tty 会话。 "bash -i -o vi"做两件事。首先,它以交互模式启动 bash,即您登录时通常会收到的 shell。这将读取 bash 配置文件等,并将您带到提示符。第二个参数,-o vi启用 shell 选项,具体来说是 vi 模式。

要在现实环境中使用它,您可能需要执行以下操作(调整路径以适应 bash 或您选择的 shell):

function ssh_vi { ssh -t $1 "bash -i -o vi" }

并被称为...

$ ssh_vi mysite.com

希望这可以帮助!

答案2

也许,我只是没有理解这个问题,但对我来说这似乎根本不是一个问题:典型的 GNU 系统有一个全局/etc/inputrc配置,你的?vi模式readline(3)可以通过添加来启用:

set editing-mode vi

当然。

答案3

听起来你希望 Putty 为你运行一个脚本。看一下额外的腻子。 或者猫咪自动命令

答案4

bash$ export EDITOR=vi 所有查找此变量的软件都将使用 vi,您可以按原样写入 .bashrc,这样每次启动屏幕时都会使用它

相关内容