V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
scriptB0y
V2EX  ›  问与答

tmux Ctrl_a 前缀 和终端的“将光标移动到行首”冲突怎么办?

  •  
  •   scriptB0y · 2017-06-20 16:56:40 +08:00 · 5113 次点击
    这是一个创建于 2747 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我将 tmux 的前缀键设置为了 Ctrl+a,但是经常要移动到行首修改命令(加 sudo 之类的),Ctrl+a 移动到行首就不能用了。之前有人告诉我可以 Ctrl+a 按两下,但是在我这里还是无效呢? Ubuntu 和 mac 都无效……求解决办法

    第 1 条附言  ·  2017-06-20 17:30:45 +08:00
    #3 正解

    重新绑定前缀键的时候没有加 bind C-a send-prefix
    30 条回复    2017-06-22 10:22:01 +08:00
    wwwjfy
        1
    wwwjfy  
       2017-06-20 16:58:13 +08:00
    换一个前缀...
    scriptB0y
        2
    scriptB0y  
    OP
       2017-06-20 17:14:15 +08:00
    @wwwjfy 再看看有没有别的办法吧…… a 习惯了……
    glasslion
        3
    glasslion  
       2017-06-20 17:15:25 +08:00   ❤️ 1
    通常的做法就是按两下 ctrl-a, 看看你的.tmux.conf 有没有下面几行

    set -g prefix C-a
    unbind C-b
    bind C-a send-prefix
    scriptB0y
        4
    scriptB0y  
    OP
       2017-06-20 17:28:36 +08:00
    @glasslion bind C-a send-prefix 这句是什么意思
    scriptB0y
        5
    scriptB0y  
    OP
       2017-06-20 17:30:11 +08:00
    @glasslion IT WORKS! THIS SAVED MY LIFE!!
    scriptB0y
        6
    scriptB0y  
    OP
       2017-06-20 17:39:23 +08:00
    @scriptB0y 有点懂了,应该就是把 prefix-key send 到 terminal
    Goooogle
        7
    Goooogle  
       2017-06-20 20:14:20 +08:00 via Android
    我将 prefix 设置成 Ctrl+S
    billlee
        8
    billlee  
       2017-06-20 21:47:39 +08:00
    我把 readline 改成了 vi-mode
    sinxccc
        9
    sinxccc  
       2017-06-20 22:50:56 +08:00
    我在用 Ctrl-o

    这个不管是 shell 还是 Emacs 都没什么冲突。
    zuolan
        10
    zuolan  
       2017-06-20 22:52:39 +08:00
    我用的是 alt-z,比较奇葩。。。。
    Ge4Los
        11
    Ge4Los  
       2017-06-21 01:47:49 +08:00
    我用 ctrl-s ,这个用的比较少。
    LCD
        12
    LCD  
       2017-06-21 07:02:54 +08:00 via Android
    默认最好
    sinker
        13
    sinker  
       2017-06-21 09:07:27 +08:00 via iPhone
    换一个感觉顺手的适应下吧,我用的 ctrl-q
    scriptB0y
        14
    scriptB0y  
    OP
       2017-06-21 09:33:01 +08:00
    @Goooogle
    @billlee
    @sinxccc
    @zuolan
    @Ge4Los
    @sinker
    @LCD
    你们这些奇葩键位不是太远就是太奇怪,CTRL_A 已经被 linux 占了,一般程序不会使用的,Vim Emacs 更不会用

    第二,离 CTRL 最近的是 a。

    所以,ctrl_a 作为前缀键是最合理的,我以为世界上所有的人都默认 tmux 快捷键是 C_a 了呢。
    zuolan
        15
    zuolan  
       2017-06-21 09:46:19 +08:00 via iPhone
    @scriptB0y 我用的是笔记本,ALT 和 z 连在一起,比较容易按,哈哈。具体还得看个人键盘吧。反正都是自己用。
    scriptB0y
        16
    scriptB0y  
    OP
       2017-06-21 10:00:57 +08:00
    @zuolan ……我忘记了,我自己把大写键改成 Ctrl 了……
    Goooogle
        17
    Goooogle  
       2017-06-21 10:19:02 +08:00
    @scriptB0y Ctrl-s 是锁终端,这个功能基本没用处,误按了还得 Ctrl-q 还原,用来作 prefix 基本不会冲突
    而且 Caps Lock 和 S 也很近,按起来很方便的
    Anybfans
        18
    Anybfans  
       2017-06-21 10:32:48 +08:00

    为什么我一样的配置 还是要按两次呢。。
    Jakesoft
        19
    Jakesoft  
       2017-06-21 10:59:31 +08:00
    ctrl + a , 左手都要畸形了,好好的 ctrl+b 为啥不行?
    sinxccc
        20
    sinxccc  
       2017-06-21 15:02:03 +08:00 via iPhone
    @scriptB0y Emacs 不用 Ctrl-a?
    scriptB0y
        21
    scriptB0y  
    OP
       2017-06-21 15:32:13 +08:00
    @sinxccc emacs 的也是移动到行首吧,和终端一样按两次就可以了
    scriptB0y
        22
    scriptB0y  
    OP
       2017-06-21 15:33:15 +08:00
    @Anybfans 贴完整的配置文件看看
    billlee
        23
    billlee  
       2017-06-21 19:45:31 +08:00
    @scriptB0y #14 什么叫做 ^a 被 linux 占了,移动光标这个功能是 readline 提供的,和 linux 一点关系都没有。如果你写个程序,不调用 readline, 直接读 stdin, 是不能移动光标的。Readline 使用 ^a 是因为默认是 emacs-mode.
    scriptB0y
        24
    scriptB0y  
    OP
       2017-06-21 20:14:33 +08:00
    @billlee 一直以为 emacs 是去兼容 linux 的……
    jiezhi
        25
    jiezhi  
       2017-06-21 20:25:23 +08:00
    一样用的 Ctrl+a,只不过因为用 Vim 的时候 Ctrl 和 Caps Lock 键互换了,所以没觉得难用。
    jiezhi
        26
    jiezhi  
       2017-06-21 20:27:22 +08:00   ❤️ 1
    共享一个来自《 tmux:Productive Mouse-Free Development 》里面的设置

    https://gist.github.com/Jiezhi/076543ff6141568c59bf
    mritd
        27
    mritd  
       2017-06-22 00:06:42 +08:00 via iPhone
    @Goooogle +1 我也是哈哈
    sinxccc
        28
    sinxccc  
       2017-06-22 01:21:10 +08:00
    @scriptB0y

    Emacs (1976 - )
    GNU Emacs (1985 - )
    Linux(1991 - )
    devtiange
        29
    devtiange  
       2017-06-22 05:23:42 +08:00
    老老实实用默认的 ctrl-b 不是挺好
    scriptB0y
        30
    scriptB0y  
    OP
       2017-06-22 10:22:01 +08:00
    @devtiange 太远了 当然不好
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2635 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 05:38 · PVG 13:38 · LAX 21:38 · JFK 00:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.