11 command-line bash gnome-terminal
Shell(至少我所知道的)具有非常糟糕的命令编辑功能。
例如:
目前这些太让人分心了,我在将它们粘贴到终端之前使用 gedit 来编辑命令。
有没有对这些有好处的解决方案?
ter*_*don 14
Bash实际上非常擅长这一点。你只需要学习它的捷径。例如(在默认的 emacs 模式下):
还有更多。阅读man readline
以了解还有什么可用的。您可以通过将它们放在~/.inputrc
. 例如,要使Ctrl+Left后退一个词和Ctrl+Right前进一个词,请将其添加到您的~/.inputrc
:
"\e[1;5D": backward-word
"\e[1;5C": forward-word
Run Code Online (Sandbox Code Playgroud)
要了解这些奇怪代码的含义,请按Ctrl+ V,然后按您要使用的键。如果您尝试使用Ctrl+ Right,您将看到^[[1;5C
. 替换^[
为\e
in ~/.inputrc
。
您可能还想查看其他 shell。流行的“现代”、功能丰富的 shell 包括:
您可以通过设置EDITOR
为您选择的编辑器并点击CTRL+ X+E或CTRL+ X/ CTRL+ E,将一个空的或部分键入的命令编辑到您选择的编辑器中,这会打开当前正在编辑的行EDITOR
;
例如,设置EDITOR
为gedit
将使CTRL+ X+E和CTRL+ X/ CTRL+E在 Gedit 中打开当前行。
要使其成为永久解决方案,您可以EDITOR
在~/.bashrc
.
这甚至允许使用功能齐全的图形文本编辑器来编辑命令;要运行编辑的命令,只需保存并关闭文档。
通过将以下内容添加到 Zsh 中,可以启用相同的功能~/.zshrc
:
autoload -U edit-command-line
zle -N edit-command-line
bindkey '^xe' edit-command-line
bindkey '^x^e' edit-command-line
Run Code Online (Sandbox Code Playgroud)
终端本身没有文本编辑能力。终端提供文本区域并将键盘连接到某物。但是你在终端内运行的东西决定了它可以做什么。
Shell 之类bash
的通常是您会发现在终端内运行的第一件事。因为 shell 是基于命令工作的,所以您只能编辑当前命令。 庆典提供了出色的编辑命令相比Bourne shell或csh
或ksh
但却是几乎你想编辑甚至一个小故事的东西。
文本编辑器是您可以在 shell 中调用的命令之一。主要的例子是vim和emacs。 vim
或emacs
将使您能够编辑几乎任何内容。两者都包括内置的编程环境,可以将它们的能力扩展到您面临的任何问题。
因此,解决方案是更好地了解这些工具正在做什么和打算做什么,并为工作选择合适的工具。
归档时间: |
|
查看次数: |
497 次 |
最近记录: |