V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xdz0611
V2EX  ›  macOS

求助 mac 的 terminal 中自定义 ctrl-w 的分隔符

  •  
  •   xdz0611 · 2016-12-05 11:08:21 +08:00 · 2432 次点击
    这是一个创建于 2910 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我试了一下, mac 的终端,不管是 iterm2 还是 terminal , ctrl-w 删除词语时,会把 /作为分隔符。比如cd /var/log/apache2,此时按ctrl-w会变成cd /var/log/。我想变成跟 linux 一样, ctrl-w 就直接删除到 cd 那里。也就是说把 delimeter 中的"/"去掉。我谷歌没有找到搜索结果呢。

    7 条回复    2016-12-05 22:32:04 +08:00
    thekoc
        1
    thekoc  
       2016-12-05 12:44:47 +08:00
    感觉要从 shell 的层面去做
    imherer
        2
    imherer  
       2016-12-05 13:08:17 +08:00
    不会啊,我刚刚用 terminal 和 iterm2 都试了, control+w 会删完的,只留下 cd 了
    introom
        3
    introom  
       2016-12-05 13:10:04 +08:00 via Android
    你是什么 shell, 不同的 shell 绑定的函数可能不一样,很简单的问题,不要灰心,继续谷歌。
    kfll
        4
    kfll  
       2016-12-05 13:13:25 +08:00
    是不是改 inputrc 了
    zhouzm
        5
    zhouzm  
       2016-12-05 14:02:58 +08:00
    bash 和 zsh 不一样的行为。

    在 zsh 下可以通过修改 WORDCHARS 的值来达到 ctrl-w 和 bash 一样的效果,(注意: alt-backspace 也会同步被改)。

    http://unix.stackexchange.com/a/313812
    mfinal
        6
    mfinal  
       2016-12-05 15:35:54 +08:00
    @zhouzm 说的没错,我试了原生 bash 会删到 cd , zsh 跟楼主说的一样只会到 log/。
    解决方法的话就配置一下就好了吧。
    xdz0611
        7
    xdz0611  
    OP
       2016-12-05 22:32:04 +08:00
    对,没有提到我用的是 zsh ,而且是 on my zsh 插件。
    目测是这个插件各种胡搞导致我自定义的配置没有生效,试了下 WORDCHARS 和那个 autoload 都不行。
    暂时忍忍吧。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1288 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 17:57 · PVG 01:57 · LAX 09:57 · JFK 12:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.