如果您知道哪些命令会经常使用,那么为常用命令创建别名是个不错的选择。但有时同一个命令会连续使用多次,但参数不同。例如:
git fetch --some-option
git do-something-else
git another-command
# ... lots more of the same
在这种情况下,每次都删除会更好git
。在某些情况下,命令可能应该以多个参数开头(例如sudo apt ...
)。
什么软件可以做到这一点?
注意:很久以前我在 GitHub 上看到过一个类似的项目,但现在找不到了。如果有人记得我的想法,那当然很好,但任何符合描述(或可行的替代方案)的答案都是可以接受的。
答案1
如果你使用 bash - 你可以创建以下函数
myprefix() { echo -n "> $1 "; while read -r line; do $1 $line; echo -n "> $1 "; done }
然后当你有一堆git
命令时你可以发出
myprefix git
然后按 ctrl-c 恢复。
答案2
在您的别名上,由于它的 shell 语法,您可以自由使用 $1 $2 $3 来访问命令行参数,以 puck parm1 parm2 parm3
alias gitdo="git do-something-else $1"
alias gitand="git another-command $1 $2 "
只需将这些别名定义放入 ~/.bashrc 文件中...用法将是
gitdo my-parm1
改变先前命令的另一种技巧是搜索它然后进行就地编辑...比如我刚刚发出
git foo bar blah
然后稍后在同一个终端中,我可以通过使用向上箭头键或通过命令行搜索来撤回该命令
ctrl-r foo [enter]
这将检索上面的内容以允许编辑和重新发布(ctrl-e 跳转到行尾,ctrl-a 跳转到行首,或 ctrl 箭头左右跳转到单词)
git woo bar blah
另一个搜索技巧是
history | grep foo