有人知道一个更好的 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
答案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 的忠实信徒,所以......