Zsh conclusão para montagens (/ run / media / DISK-LABEL)?

3

Estou procurando ou zsh funcionalidade para expandir rótulos de disco em mountpoins:

Exemplo: tenho disco com o rótulo DISK-LABEL1 montado em /run/media/god/DISK-LABEL1 .

Existe um plugin que expande a entrada Como: cat //DISK-LA<Tab> para o cat /run/media/god/DISK-LABEL1 ?

" // " foi escolhido como um exemplo para acionar esse tipo de autocompletar ...

    
por Hason Rexon 07.09.2013 / 15:47

2 respostas

1

Se você realmente deseja acionar a conclusão em // , eu acho que você terá que modificar _path_files . Eu não recomendo isso.

Ou talvez seja possível definir um file-patterns estilo, mas não vejo como.

Se você criar god um diretório nomeado para /run/media/god , poderá usar ~god para se referir a esse diretório. Isso funciona se você usa a conclusão ou não. Isso tem o efeito colateral de que /run/media/god aparecerá como ~god em seu prompt.

hash -d god=/run/media/god
    
por 17.09.2013 / 02:32
-1

Uma maneira seria definir uma função para fazer o que você espera:

mountbylabel () {
  mount /run/media/god/$1
}

e coloque isso no seu .zshrc . Em seguida, crie uma função de conclusão:

#compdef mountbylabel

compadd "${(@f)$(ls /run/media/god)}"

E coloque isso em um arquivo chamado _mountbylabel dentro do seu fpath em algum lugar. Eu armazeno todos os meus arquivos de função de conclusão em ~/.zsh/completions/ e tenho

fpath=(~/.zsh/completions $fpath)

no meu .zshrc .

    
por 07.09.2013 / 16:59