У меня псевдоним: alias gco='git checkout'
Как я могу добавить завершение табуляции, как если бы я набрал git checkout
?
Для моего alias g='git'
я использую compdef g='git'
.
Я пытался использовать compdef
, но безуспешно.
У меня псевдоним: alias gco='git checkout'
Как я могу добавить завершение табуляции, как если бы я набрал git checkout
?
Для моего alias g='git'
я использую compdef g='git'
.
Я пытался использовать compdef
, но безуспешно.
Ничего делать не нужно, особенно compdef g='git'
, должно работать без всяких настроек. Вам нужно что-то, только если вы использовали функцию вместо псевдонима.
zsh -f<CR>autoload -Uz compinit<CR>compinit<CR>alias gco='git checkout'<CR>gco <Tab>
. Я вижу список рефов в этом случае. Другой тест: alias g='git'<CR>compdef g='hg'<CR>g <Tab>
: compdef
просто игнорируется, я получаю завершение для git, а не для mercurial, и мне нужно compdef git='hg'
, чтобы переопределить поведение (очевидно, как для псевдонима, так и для git
).
- person ZyX; 13.01.2013
Отключите эту опцию, и вы тоже хороши...
# don't expand aliases _before_ completion has finished
# like: git comm-[tab]
# setopt complete_aliases
config.zsh
выглядел так. Вы не должны не устанавливать параметр complete_aliases, если хотите иметь завершение для псевдонимов.
- person Matt Dodge; 23.06.2016
Для меня необходимо добавить как complete_aliases
, так и compdef
, чтобы получить работу ниже фрагмента:
alias docker-compose-dev='docker-compose -f docker-compose.yml -f docker-compose-dev.yml'
compdef docker-compose-dev='docker-compose'
setopt complete_aliases
compdef
или чего-то еще). Вы пробовали? - person Anton Kovalenko   schedule 13.01.2013