Как я могу исправить ввод имени команды дважды в Zsh?

461
Rufo Sanchez

Так что у меня есть (плохая) привычка печатать git, делая паузу на секунду, чтобы взглянуть на вывод git statusкоманды, которую я только что набрал, а затем печатать git add ...потом, что приводит к довольно неудачной попытке git git add ....

Есть ли какая-либо функциональность zsh, которая позволила бы мне всегда заменять git gitего единственным эквивалентом?

2
haha I did that exact thing yesterday with another command. wish i could help but i'm a bash user and don't understand that fancy z-shell. :) quack quixote 15 лет назад 0
Я делаю это все время Roy Rico 15 лет назад 0

2 ответа на вопрос

3
Teddy

Я не могу редактировать комментарии, поэтому вот рабочая версия для всех оболочек Борна:

git(){ if [ "$1" = git ]; then shift; fi; command git "$@"; } 
Кажется, это работает блестяще - большое спасибо. Моя ракушка довольно слаба, но я постепенно укрепляюсь, и это показывает, что мне пригодится больше, чем несколько вещей. Rufo Sanchez 15 лет назад 0
1
Dennis Williamson

Один из способов был бы с помощью функции-оболочки:

function git { if [[ $1 == "git" ]]; then shift; fi; /path/to/git $@; } 

Это отбрасывает второй «git», если он присутствует, и запускается gitс запрошенными параметрами. Это должно работать в Zsh, Bash и Ksh.

Похожие вопросы