如何在 tmux 中强制使用 emacs 风格的状态键?

2024-03-17

我在 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(使用前将#替换为@)

如何在 tmux 中强制使用 emacs 风格的状态键? 的相关文章

  • tmux 使用详解

    什么是 tmux tmux 是一个终端复用工具 xff0c 它允许用户在一个终端窗口中创建多个会话 xff0c 并在这些会话之间切换 这使得用户可以在同一终端窗口中同时运行多个命令 xff0c 而不必打开多个终端窗口 安装 tmux 在 L
  • Tmux 使用教程

    转载自Tmux 使用教程 作者 xff1a 阮一峰 URL xff1a http www ruanyifeng com blog 2019 10 tmux html Tmux 1 Tmux 是什么 xff1f 1 1 会话与进程1 2 Tm
  • tmux 最新版本安装

    tmux centos系统 安装依赖 yum install openssl devel wget https github com libevent libevent releases download release 2 1 12 st
  • Tmux 入门

    本指南将介绍 Tmux 的安装和基本用法 以帮助您入门和运行 什么是 tmux Tmux 是终端多路复用器的替代品GNU 屏幕 换句话说 这意味着您可以启动 Tmux 会话 然后在该会话中打开多个窗口 每个窗口占据整个屏幕 并且可以分割成矩
  • tmux系列:2、tmux会话

    tmux系列 2 tmux会话 文章目录 tmux系列 2 tmux会话 1 前言 2 创建会话 3 状态栏 4 命令和标志 5 命令提示符 6 附加和分离 7 会话清单 8 完全杀死tmux 9 总结一下 1 前言 其实最开始时候我用tm
  • 工具篇——1、TMUX

    目录 工具篇 一 TMUX 1 安装 2 概念 3 具体操作 3 1 会话 3 2 窗口 3 3 窗格 4 TMUX 配置 5 结对编程 工具篇 本系列专门用于记录一些软件或者小工具的使用 工欲善其事必先利其器 拥有称心如意的工具 可以大大
  • iTerm 2 不支持 .tmux.conf 中声明的键绑定

    我正在使用最新稳定版本的 iTerm2 2 0 和最新的 Homebrew 版本的 tmux 1 9a 不幸的是 我的键绑定声明于 tmux conf不能在 集成模式 下使用 iTerm2 tmux 组合 即当 iTerm2 接管 tmux
  • 如何禁用 Tmux 中的键绑定

    使用 Tmux 和 Vim 有时很痛苦 对我来说 冲突之一是Control S 我在 Vim 中使用它来分割打开缓冲区 但是当使用 Tmux 时 嗯 Tmux 用它做了一些愚蠢的事情 我不明白其目的是什么 但基本上 当C s在 Tmux 中
  • Tmux:失去焦点时自动隐藏面板

    我最近开始使用 tmux 进行 Vim 编辑 在 PyCharm 中 我曾经在底部有一个终端 我可以通过几次按键来切换屏幕 我希望 tmux 具有相同的功能 在 Vim 中全屏编辑代码 然后当我需要运行命令时 直接转到屏幕底部的终端窗格 然
  • 在 tmux 下使用 $TERM='screen-256color' 时,HOME 和 END 键不起作用。为什么?

    我已经设置了 tmux TERM被设置为screen 256color正确 这工作正常 并且颜色设置正确 但是它阻止我发送HOME and END终端的密钥 而是打印为F n and H n 我应该补充一点 home 似乎可以在 irssi
  • 当没有正在运行的会话时,Tmux 无法连接到“tmux ls”上的服务器错误

    只需编写一个快速循环 在登录服务器时列出现有的 tmux 会话 具体取决于是否安装了 tmux 通过 CentOS 上的 bashrc if rpm q tmux then echo e TMUX sessions running n ec
  • 在 tmux 2.4 上如何一次性进入复制模式并开始搜索?

    我正在尝试将 F1 键绑定到 进入复制模式 开始反向搜索 我在网上唯一找到的是 bind key F1 copy mode send key 然而 这似乎不适用于 tmux 2 4 有没有办法让它在所有 tmux 版本上工作 这有效 bin
  • Tmux 边框显示为 x q 而不是线条?

    我无法让 tmux 显示边框线 它们是用 x 和 q 创建的 它是一个 debian squeeze 服务器 区域设置设置为 en US UTF8 我也尝试添加 instructs tmux to expect UTF 8 sequence
  • 可以配置 Tmux 加载 ~/.bashrc 而不是 ~/.bash_profile 吗?

    现在 当我登录 Tmux 时 仅 bash profile被加载 我想要 bashrc改为被呼叫 那可能吗 这个问题与以下无关tmux 要解决它 请确保添加source bashrc to bash profile就是这样 您可以了解更多有
  • 无法获取用于 tmux 和 OSX 的删除键

    在通过自制软件安装了 tmux 的 OSX 上 我似乎无法让 删除 键起作用 我正在使用 iterm2 并将删除映射到 H 如果没有 tmux 删除 键可以正常工作 修复 Apple M1 Pro OSX 12 4 tmux 3 3a 上的
  • 我该如何将 HOME 键绑定为 tmux 前缀?

    有没有办法在 tmux conf 中执行此操作 如果其他一切都配置正确 那么应该很简单 只需将其放入您的 tmux conf set option g prefix Home 注意 除非您手动 获取 您的 tmux conf 对文件的更改仅
  • TMUX 会话不会导入 Python 模块

    大家好 这是我在 StackOverflow 上提出的第一个问题 希望大家都满意 我最近开始使用 TMUX 但在将其用于机器学习问题集时遇到问题 我正在使用 python 创建一个程序 并使用 sklearn 模块 基本上 当我在 TMUX
  • 如何使用鼠标滚轮在 tmux 面板中启用滚动? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 需要使用鼠标滚轮在 tmux 窗格中启用滚动 我怎样才能得到这些提示 我可以使用它 当然如果它存在的话 鼠标选择窗格打开 option 原
  • 如何在tmux中获取send-keys的结果?

    我正在使用 tmux 来运行服务器控制台 要检查控制台是否正在应答 我想使用send keys在控制台上运行命令 tmux send keys t mysess mywin show info Enter 实际上 我目前正在将完整的控制台输
  • 运行 tmux 时映射箭头键

    这些键映射在 tmux 中停止工作 在我的 vimrc 我有 nmap

随机推荐