更好的 Snow Leopard (OS X) 终端程序

更好的 Snow Leopard (OS X) 终端程序

有人知道一个更好的 Snow Leopard 终端程序,可以进行文本编辑吗?(例如,跳转到特定字符,而不必使用箭头逐个移动)等等?谢谢!

更新:抱歉,我的意思是更新一个已经写好的命令。假设我想做类似的事情script/generate migration add_field_to_something。我写了那个然后Rails生成了一个迁移。现在我决定要摆脱那个迁移因为我犯了某种错误。要做到这一点,我需要写script/destroy migration add_field_to_something。现在,我有三个选择:1)从头到尾写下整个命令2)按“向上”按钮重现最后一个命令,然后按左箭头直到我找到该单词然后generate删除并写入destroy,或者3)将最后一个命令复制到TextEdit中,用鼠标选择它(或者用命令+左箭头跳过单词以更快地选择 - 在终端中不可能)然后将其替换为单词destroy,然后复制回终端。我的问题是 - 是否有一个终端程序允许用鼠标编辑/跳过单词,就像我在TextEdit中做的那样(即用命令+左箭头)以节省时间?

谢谢!

答案1

您在寻找编辑器还是终端程序?终端仿真器与编辑器是分开的,并且不支持鼠标指针。

编辑

感谢您的澄清。您可能对 zsh shell 感兴趣,它有许多用于移动光标的键盘快捷键:

  • Alt-A- 移至行首
  • Alt-E- 移至行尾
  • Alt-F- 向前移动一个单词
  • Alt-B- 向后移动一个单词

另外,默认 shell bash 具有用于移动到行首和行末的键盘快捷键:

  • Ctrl-A- 移至行首
  • Ctrl-E- 移至行尾

答案2

在默认 shell中,您可以使用命令行编辑执行很多操作bash。请注意,这与使用哪个终端程序无关。命令行编辑bash 文档或签出的部分此截屏视频

更新根据我对另一个答案的评论,您可以使用 Mf (option+F) 和 Mb (option+B) 逐字前进和后退。我链接到的截屏视频展示了如何做到这一点。它还讨论了使用 Cr 搜索命令历史记录(我从未尝试过)。

答案3

shell 中有各种各样的技巧和窍门,可以使用 shell 键盘快捷键和命令快速修复此类问题。

例如,使用 zsh shell 和示例场景,您有第四个选项:

zsh% script/generate migration add_field_to_something

哎呀!我不是故意的。让我打一下这个……

zsh% script/destroy !*

修复!!*意思是:使用上一个命令的所有参数

或者你也可以直接输入:

zsh% r generate=destroy

r命令意味着代替在上一个命令中。因此,上一个命令将使用产生替换为破坏

我想说的是程序员很懒。非常懒惰。他们想出了数百种快捷方式和自动完成技巧,让这些工作变得快速而简单。一旦你学会了如何使用 shell 并对其进行优化,你可能会发现使用鼠标选择“修复”命令可能不是最有效的途径……

附言:

许多 rails 开发人员还在其中设置了别名文件,~/.zsh以便从他们的.zshrc.

alias sg='script/generate'

因此,这将节省更多的击键。script/destroy您可能不想使用别名,只是为了避免意外调用。;-)

答案4

另一个选择是使用 emacs shell-mode。如果您熟悉 emacs,您可以输入 Mx shell-mode,它会给您一个正常的提示。您可以使用所有正常的 emacs 编辑命令。

一个警告,由于向上箭头(或 Cp)实际上将光标向上移动一行,因此您需要使用 Mp 和 Mn 来获取上一个和下一个命令...

据我所知,vim 可能有类似的模式,但我是 Emacs 的忠实信徒,所以......

相关内容