缩短包含相同前缀的命令

缩短包含相同前缀的命令

如果您知道哪些命令会经常使用,那么为常用命令创建别名是个不错的选择。但有时同一个命令会连续使用多次,但参数不同。例如:

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

相关内容