我在 tmux 1.8 中遇到这个问题:我想设置status-keys
选项“emacs”,因为我真的不喜欢在 vi 模式下输入命令。但是,将以下行添加到 .tmux.conf 没有任何效果:
set -g status-keys emacs
当 tmux 重新启动时,tmux show-options -g | grep keys
says emacs
但实际行为是vi风格的。
问题的根源在于$EDITOR
环境变量,它设置为vim
就我而言。文件指出:
status-keys [vi | emacs]
Use vi or emacs-style key bindings in the status line,
for example at the command prompt. The default is emacs,
unless the VISUAL or EDITOR environment variables are set
and contain the string `vi'.
显然,当环境变量为“vim”时,它会强制使用 vi 状态键。
有没有办法覆盖此行为并使提示行为 emacs 风格,尽管有环境变量?我显然可以解决这个问题(比如使用其他环境变量启动 tmux 并稍后恢复原始版本),但我希望有一个干净的解决方案。
Thanks!
我遇到了这个问题,我想我刚刚解决了。您是否也使用 ZSH(Z Shell)?
我找到了这个帖子 http://matija.suklje.name/zsh-vi-and-emacs-modes这表示如果您的 VISUAL 和/或 EDITOR 设置为 vi/vim,ZSH 也会切换到“vi 模式”。所以我在 tmux 中遇到的问题实际上是从 ZSH 冒出来的!
简而言之,确保您可以在 tmux 之外的 shell 中使用 emacs 样式的键。如果您使用 ZSH,您可以添加bindkey -e
to .zshrc
设置 emacs 绑定。然后在.tmux.conf
:
set -g mode-keys emacs
set -g status-keys emacs
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)