运行 tmux 时映射箭头键

2024-05-08

这些键映射在 tmux 中停止工作。在我的.vimrc, 我有:

nmap <Space> i
map <C-Down> <C-w>j
map <C-Up> <C-w>k
map <C-Left> <C-w>h
map <C-Right> <C-w>l

当我跑步时:map, I see:

   <C-Right>     <C-W>l
   <C-Left>      <C-W>h
   <C-Up>        <C-W>k
   <C-Down>      <C-W>j

然而,当我同时按下 Control 和箭头键时,它的行为就好像没有设置键绑定一样。


维姆知道xterm类似终端(由以 TERM 开头的 TERM 标识)xterm,或对的特定响应t_RV序列(如果已定义)支持某些修改键的扩展序列,但它并不假设这一点screen术语(您应该在tmux).

但是,您可以告诉 Vim 这些序列,并在 TMUX 存在且 TERM 开头时启用它们screen(第一行启用(更好的)鼠标支持tmux,您可能也喜欢):

if &term =~ '^screen' && exists('$TMUX')
    set mouse+=a
    " tmux knows the extended mouse mode
    set ttymouse=xterm2
    " tmux will send xterm-style keys when xterm-keys is on
    execute "set <xUp>=\e[1;*A"
    execute "set <xDown>=\e[1;*B"
    execute "set <xRight>=\e[1;*C"
    execute "set <xLeft>=\e[1;*D"
    execute "set <xHome>=\e[1;*H"
    execute "set <xEnd>=\e[1;*F"
    execute "set <Insert>=\e[2;*~"
    execute "set <Delete>=\e[3;*~"
    execute "set <PageUp>=\e[5;*~"
    execute "set <PageDown>=\e[6;*~"
    execute "set <xF1>=\e[1;*P"
    execute "set <xF2>=\e[1;*Q"
    execute "set <xF3>=\e[1;*R"
    execute "set <xF4>=\e[1;*S"
    execute "set <F5>=\e[15;*~"
    execute "set <F6>=\e[17;*~"
    execute "set <F7>=\e[18;*~"
    execute "set <F8>=\e[19;*~"
    execute "set <F9>=\e[20;*~"
    execute "set <F10>=\e[21;*~"
    execute "set <F11>=\e[23;*~"
    execute "set <F12>=\e[24;*~"
endif

正如评论所示,您还需要窗口xterm-keys选项已启用。您可以像这样对所有窗口执行此操作(在您的~/.tmux.conf):

set-option -gw xterm-keys on

(请记住,更改为~/.tmux.conf不会自动加载。为了有效,您需要手动运行此命令(在tmuxshell 命令,或前缀:提示),或重新加载您的配置文件source ~/.tmux.conf (in a tmuxshell 命令,或前缀:提示),或重新启动服务器(退出所有会话并重新启动tmux)).

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

运行 tmux 时映射箭头键 的相关文章

  • 我可以使用 vim “star” 搜索来搜索 PHP 类成员和方法吗?

    vim 星号 星号搜索 help star 是一个很棒的功能 它可以让您找到光标所在单词的下一个出现位置 不幸的是 它将美元前缀视为字符串的一部分 因此如果我在类名中的 SearchTerm 上方按 它会在注释中找到 SearchTerm
  • 如何从 Vim 中发送转义序列?

    因此 最近苹果公司支持在终端的状态栏中显示工作目录和文件 必须发送的转义序列 以设置当前文件 是这样的 ESC 6 Pt BEL where Pt is a file url 指向当前正在编辑的文件 所以我想我可以让 Vim 发送这个命令作
  • 如何使用 vim 作为寻呼机设置彩色 git diff

    我无法配置 git 来遵循我的请求 使用 vim 作为差异分页器 在交互模式下添加文件时保留差异颜色 My gitconfig setup color ui auto diff false pager diff vim 通过此配置 交互模式
  • 如何在 vim 中覆盖 ~/.vim 和 ~/.vimrc 路径(但不能覆盖其他路径)?

    假设我有一个所有 vim 配置的 tarball 通常在 vim 中的所有内容 插件 自动加载 颜色 所有这些东西 和一个 vimrc 文件 我将其提取到某个目录中 所以在我所在的目录 PWD 中 有一个 vim 文件夹和一个 vimrc
  • 在 COC vim 中自动从自动完成预览中选择第一项?

    有没有办法让 coc vim 自动选择第一个预览建议而不是使用箭头键 我使用的是 vim 8 1 Add suggest noselect false到你的 coc settings json 您可以在 coc 文档中找到该设置
  • 在 Vim 中平滑滚动的最佳方法是什么?

    Vim 中的主要滚动命令是 Ctrl B and Ctrl F as well as PageUp and PageDown scroll by full page Ctrl U and Ctrl D scroll half a page
  • 是否可以在没有 GUI 的情况下使用 Vim 的客户端服务器功能?

    我用 Homebrew OS X 编译了 Vim 如下所示 brew install vim with client server And the version请求确实证实了这一点 a gt usr local bin vim versi
  • gvim中的鼠标输入

    标准鼠标输入可以在 vim 中自定义吗 在我的例子中是 vim 插件也是可以接受的选择 我特别感兴趣的是 覆盖 双击某个单词 这样 gvim 就不仅仅是突出显示该单词 而是进行搜索 从而突出显示文件中该单词的所有实例 我在其他编辑器中看到过
  • Vim 无法在 OS X 上使用 python 进行编译

    我一直在尝试编译vim 7 3 with 蟒蛇2 7支持苹果系统 X 10 6 Vim 本身编译得很好 但嵌入的 python 编译得不太好 我已采取的步骤 hg clone https vim googlecode com hg vim
  • 使用 Vim 作为 HTML 编辑器

    您知道 Notepad 如何具有此功能 当您单击标签 例如 时 它也会自动突出显示结束标签 它叫什么 如何调整 Vim 使其也具有此功能 还有其他方法可以将 Vim 变成强大且高效的 HTML 编辑器吗 我在 vim 中完成所有 HTML
  • git commit 保存 vim 文件时出错

    我正在遵循简单的 git 指南nettuts 简易 git 指南 http net tutsplus com tutorials other easy version control with git 我在我的中初始化了一个空的 git 实
  • vim 使用外部文件上的行号突出显示行

    我有两个文本文件 一个是我当前正在工作的文件 另一个包含行号列表 我想做的是突出显示第一个文件中行号与后一个文件匹配的行 E g File1 I like eggs I like meat I don t like eggplant My
  • 如何在 Vim 中特定列的所有行中插入特定字符?

    Dates Name Date Battle of the Plains of Abraham September 13 1759 Proclamation Act October 07 1763 Stamp Act March 22 17
  • 通过列表字符仅显示前导空格的“空格”字符

    Vim 中是否可以有我的编辑器 编辑时 c and h文件 显示通过listchars 一个特殊字符 仅用于leading空格字符 我发现一个单独的帖子指出 从版本 7 4 开始 Vim 现在支持通过以下方式突出显示所有空格字符listch
  • 按文件类型设置 Vim 空白首选项

    在我的工作中 我需要遵循房屋风格进行缩进 如下所示 编码 html 和 ruby 时有 2 个空格 编码 javascript 时使用制表符 建议使用 tabwidth 4 为每个文件类型指定不同的空白首选项的最佳方法是什么 方法有很多 但
  • 在 Vim 中撤消光标移动

    假设我的光标位于下面的代码中 internal static SingleSelectList
  • Tmux:如何将功能键绑定到命令?

    如何绑定功能键 例如 F1 它会生成ESC O P 到 tmux 命令 例如 下一个窗口 ctrl B n 上下文 在 mac 上运行的 ssh 进入 Linux 上的 tmux 会话 我压着fn F1在 Mac 键盘上生成ESC O P
  • Vim 和 Tmux 渲染错误

    我在使用 Tmux 和 Vim 时遇到问题 正如您在图片中看到的那样 当我使用 nerdtree 或 irssi 实际上是任何终端应用程序 时 我遇到了此类渲染问题 我输入的每个键都会修改整个终端渲染 这只是一个图形错误 但它使我无法正常工
  • vim 脚本“input()”函数不需要用户按 Enter 键

    我想让用户调用我的函数 然后让该函数请求用户输入 但我不希望用户在输入 input 函数所需的字母后必须输入 enter 例如 用户应该能够键入 h j k l 等单字母命令 并且键入的每个字母都会在我的函数中循环 直到用户键入 x 退出
  • VIM:使用 :normal 命令退出插入模式

    当我使用 normal 命令进入插入模式时 normal i 例如 如何退出插入模式 如果我按 或 VIM 会退出命令模式 并且我无法运行 normal 命令 I put imap

随机推荐