如何在bash终端中选择行

问题描述:

是否可以在bash终端中选择一部分字符串并立即删除它,而不是导航到命令中的某个点并将其全部退回?如何在bash终端中选择行

谢谢!

+0

这属于上超级用户。 – Daenyth 2010-10-01 13:59:33

参见this。或者,set -o vi具有类似vim的密钥绑定。

请注意,链接中给出的列表未满。您可以阅读man bash以获得更好的参考。通常,ALT-x可能被ESC取代,如果在使用窗口系统的Alt字母快捷键的终端中运行bash,则可以使用x。

+0

我从来没有用过vi。 – Hamish 2010-10-05 11:58:08

我使用emacs绑定和我最喜欢的命令行快捷键,并没有包括在以前链接的教程,有以下几种:

^W  - delete last word 
meta-b - move cursor back one word 
^R  - find a previously used command 
!$  - last attribute of the last command 
!!  - last command 

您还可以操纵与正则表达式的历史,尽管可能很快变得相当混乱。请参阅“man zshexpn”以供参考,大多数同样的regexp语法也适用于bash。

实施例:

1)如果执行以下命令:

echo first second third fourth fifth 

2)然后,你可以执行相同的命令,并通过删除 “第一”:

!!:s/first// 

如果这不是你所追求的,请澄清你的问题! :)

+0

我从来没有用过emacs。 – Hamish 2010-10-05 11:57:04

+0

这没关系,你仍然可以在你的shell中使用emacs密钥绑定。我也不使用emacs,但我喜欢它在zsh shell中的绑定。 – 2010-11-01 10:54:58

我不是100%确定我理解你的问题。

如果你在交互式命令行:

  • ctrl-u:删除一切光标
  • ctrl-k左:删除一切光标右侧