代码之家  ›  专栏  ›  技术社区  ›  13ren

在bash中,如何使控件删除意味着杀死单词?

  •  3
  • 13ren  · 技术社区  · 17 年前

    Bash使用readline,readline可以用“kill word”删除光标右侧的单词。

    可以

    编辑:这是通过X,所以也许有一个使用xev和xmodmap的解决方案

    5 回复  |  直到 17 年前
        1
  •  14
  •   Chris AtLee    17 年前

    ^[[3;5~
    

    ^[ ~/.bashrc 例如):

    bind '"\e[3;5~":kill-word'
    

    ~/.inputrc 所以Ctrl-Delete确实会在任何使用readline的程序中杀死单词:

    "\e[3;5~": kill-word
    

        2
  •  4
  •   Aaron Digulla    17 年前

    你看到的不是全部真相。可能是 <ESC>5~ 或者类似的东西。尝试Ctrl-V Ctrl删除。Ctrl-V的意思是“不要解释下一件事”。

    如此具有约束力 <ESC>5. 那应该相当安全。

        3
  •  3
  •   stein stein    17 年前

        4
  •  2
  •   unwind    17 年前

    如果您键入^Q^V(即Control-Q和Control-V,松开它们之间的Control键是可以的),然后按Control-Delete,您会得到您提到的输出吗?我刚试过,至少用Putty我根本没有得到回应。不过,在实际的Linux控制台上,行为可能有所不同。

    例如,如果我按^Q^V,然后按Delete(不按住控制键),则readline打印 ^[[3~ \e[[3~ 。CSI字符似乎很有可能出现在您面前,但您没有看到它,因为您没有要求readline正确引用输入。

        5
  •  0
  •   supercheetah    17 年前

    Ctrl-W删除单词。

    它们基于Emacs(M-w和M-u)。