GNU/Linux >> Tutoriales Linux >  >> Linux

¿Dónde colocar el script de autocompletado zsh en Linux?

Déjame intentar ayudarte aquí.

Estaba intentando algo similar y así es como pude hacerlo funcionar. La solución a continuación se verificó con oh-my-zsh en la distribución de Debian [ubuntu]

Problema

  > Your zsh isnt giving proper completion suggestions say [conda]
  > This is what you get when you type in # conda tab

Solución

  1. Encuentra el script de finalización

    una excelente ubicación es https://github.com/clarketm/zsh-completions/tree/master/src

  2. Descargue el archivo a la carpeta de finalizaciones [~/.oh-my-zsh/completions]

    wget https://raw.githubusercontent.com/clarketm/zsh-completions/master/src/_conda ~/.oh-my-zsh/completions
    
  3. Asegúrese de que la carpeta de finalización se encuentre en $fpath

    print -l $fpath
    
    1. ¿Qué pasa si no está en la lista? Debería haberse agregado normalmente con .oh-my-zsh.sh. Si no se agrega a continuación a ~/.oh-my-zsh/oh-my-zsh.sh

      # add a function path
      fpath=($ZSH/functions $ZSH/completions $fpath)
      
    2. fuente .zshrc

      source ~/.zshrc
      
  4. Ejecutar compinit esto construirá ~/.zcompdump archivo para las funciones

    compinit
    

Resolución de problemas

  1. Debido a conflictos, es posible que las sugerencias no se muestren, intente lo siguiente

    rm -f ~/.zcompdump; compinit
    # we are clearing the function dump stored by zsh, its safe zsh will rebuilt it.
    
  2. Pruebe la fuente .zshrc

    source ~/.zshrc
    
  3. Intente cerrar sesión e iniciar sesión

  4. Revisa el mapeo en ~/.zcompdump

    vi ~/.zcompdump
    

    buscar conda

    [/conda]

    deberías ver lo siguiente

    'conda' '_conda'

Espero que alguien lo encuentre útil, si es así, feliz de ayudar


Conseguí que esto funcionara agregando cheat.zsh al ~/.oh-my-zsh/plugins directorio. Zsh comprueba las funciones de carga automática en FPATH , así que prueba:

echo $FPATH

y luego agregar a FPATH o mueva el archivo a una carpeta en la ruta.

Esto realmente lo explica mucho mejor:https://unix.stackexchange.com/questions/33255/how-to-define-and-load-your-own-shell-function-in-zsh


Linux
  1. Cómo crear un script de un comando de Linux

  2. Linux:¿dónde se almacena un semáforo con nombre?

  3. ¿Desde dónde se ejecuta un script de Shell?

  4. ¿Dónde está la función itoa en Linux?

  5. ¿Dónde se define PATH_MAX en Linux?

3 terminales Linux que debes probar

Pruebe el editor de texto e3 Linux

24 escritorios Linux que debes probar

Comando de suspensión de Linux (Pausar un script Bash)

Imprimir el tiempo de ejecución de la secuencia de comandos de Shell en Linux

Las mejores distribuciones de Linux para probar en 2022