在UNIX终端中删除“转发”一词的快捷方式是什么?


14

Ctrl+W在mac终端中确实要删除一个单词(从光标所在的位置删除到单词的开头)

我该如何做相反-从光标所在位置删除到单词结尾?

Answers:


14

这取决于您的Shell及其活动的命令行编辑模式。

对于具有Emacs命令行编辑模式的shell(set -o emacs在某些shell中),请使用Alt+D(出于某种原因,这在macOS上不起作用,但会打印字符,请Escd改用)。

对于vi命令行编辑模式(壳set -o vi在一些炮弹),使用Escdw(这个确实在MacOS工作,以及)。


仅在zsh中,Meta-D会删除与Ctrl-W 相同类型的单词(用空格分隔)。在bashvi模式下,你可以使用dW删除这些
斯特凡Chazelas

1
@StéphaneChazelas是的,他们(两个主要的组合)对构成“单词”的看法不同。
库沙兰丹

您可以在终端的“键盘”偏好设置中选中“使用选项作为元”,以使其起作用。
JozefLegény18年

Esc + D和Alt + D都在xfce4终端0.6.3中工作
neverMind9 '18

1

对于tty行规则,^W删除前一个空格分隔的单词

vi插入模式下的编辑器中,^W向后删除到第一个数字或非数字序列的开头(在上foo-+-bar.. baz,它首先删除baz,然后是..,然后是bar,然后是-+-,然后是foo)。

emacs编辑器中,^W从光标位置删除到标记(用设置的标记Ctrl+Space)。

有些行编辑器readline(在模式下)(在bashgdb...下),zle(在zsh)使用(在下),pdksh在这种情况vi下的行为类似vi,而在emacs模式下的行为则在tty行规整下(不是emacs)。

libedit(使用BSD壳或(任选地)dash),tcshAT&T ksh,在emacs模式,举止像emacs,其中^W删除所述标记(最初在缓冲器的开头)。

要删除向前的单词,请在vi编辑器中以命令常规)模式执行此操作,dw以删除到下一个数字或非数字序列的开头(或行的末尾)并dW删除到下一个非空格序列(^Wtty行规的的垂线)。

emacs行编辑器,Meta-D将删除该结束的alnum字符下一序列。运动运算符(Meta-BMeta-F)的行为类似。

命令行编辑器在vi模式下时的行为类似于vi,但是在emacs模式下,您有两个主要学校:tcsh学校和ksh学校。

ksh学校(readlinekshyash)的行为大多喜欢emacsfish的行为是它怎样对待非alnum,非空白字符都略有不同emacsvi模式)。

tcsh学校(tcshlibeditzsh),字运动是基于空格分隔的单词等等都是与tty线路学科的一贯^W在这方面。

在中zsh可以为所有单词运动窗口小部件使用不同的单词样式自定义行为。

对于readline,您可以通过添加以下内容来获得tcsh学校(并Meta-D删除与该单词相同的单词Ctrl-W~/.inputrc

set keymap vi-move
"\e[EMACS~": emacs-editing-mode
set keymap emacs
"\e[VI~": vi-movement-mode
"\ed": "\e[VI~dW\e[EMACS~"
"\ef": vi-fWord
"\eb": vi-bWord

或者,^W通过以下方式将其他单词运动控件(如Meta-Backscape)对齐:

set keymap emacs
"\C-W": backward-kill-word

至于Meta关键是什么,请看那里


-1

在Linux中,尝试Ctrl+k从光标所在位置到单词末尾删除。

下面列出了一些其他快捷方式(在Linux中有效):

  1. Ctrl+e ->将光标移到单词的末尾。
  2. Ctrl+t ->互换字母的位置。
  3. Ctrl+y ->将后缀“ hh”添加到当前单词。
  4. Ctrl+u ->删除整行。
  5. Ctrl+o ->与Enter键相同。
  6. Ctrl+p ->与上箭头按钮相同。
  7. Ctrl+a ->将光标移至命令的起始位置。
  8. Ctrl+d ->关闭终端。
  9. Ctrl+f ->将光标向前移动一个字符。
  10. Ctrl+h ->与Backspace键相同。
  11. Ctrl+j ->与Enter键相同。
  12. Ctrl+m ->与Enter键相同。
  13. Ctrl+b->与右箭头键相同。14- Ctrl+4 >删除单词

3
Ctrl+k删除到行尾Ctrl+u删除整行(如果光标位于末尾)。Ctrl+d发送EOF。Ctrl+e转到的端线,等等
Kusalananda

Ctrl + y用于粘贴或拉动您保存在剪贴板中的最后一件事,在您的情况下可能是“ hh”。为什么在世界上,您认为会有一个键盘快捷键将一个给定的单词后缀为字母“ hh”?这有什么用?
bmcentee148 '19
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.