web-dev-qa-db-fra.com

La saisie semi-automatique du chemin de fichier ne fonctionne pas après "vim" dans le terminal

Étapes pour reproduire

git clone https://github.com/MichinariNukazawa/vecterion_vge.git
cd vecterion_vge
  1. entrée vim include/ tab
  2. entrée vim include/et_co tab

Ce que je m'attendais à voir

  1. affiche la liste des fichiers dans include/
  2. chemin du fichier de complétion automatique vim include/et_color_panel.h

Ce que j'ai vu à la place

1. et 2. ne fonctionnent pas.

Autre

Les deux ls include/ tab et ls include/et_co tab faire du travail.

L'entrée vim vecterion_vge/include/et_co tab sur le répertoire parent (home dir) fonctionne.

Comment puis-je réparer cela?

1
michinari nukazawa

Peut-être avez-vous désactivé les spécifications de complétion associées à vim.

complete -p vim

Et vérifiez le résultat:

complete -F _filedir_xspec vim

Si quelque chose ressemble à la ligne précédente, exécutez la commande:

complete -r vim

En général, et pas directement liée à vim, vous pouvez suivre ces exemples, modifier pour votre cas:

Premier exemple

Vous pouvez lister toutes les routines de complétion actives pour votre utilisateur via complete -p ou lister toutes les complétions incluses dans votre système: ls /etc/bash_completion.d/

La complétion est générée par le fichier /etc/bash_completion et de nouvelles commandes de complétion peuvent être placées dans le répertoire /etc/bash_completion.d.

Vous devez activer la complétion intelligente en modifiant votre fichier /etc/bash.bashrc. Je pense que vous l’avez fait, car la cd tabulation est terminée. Quoi qu'il en soit, décommentez les lignes suivantes en supprimant le # au début des lignes:

#if [ -f /etc/bash_completion ]; then
# . /etc/bash_completion
#fi

Comme vous pouvez le constater, tout dépend des informations contenues dans le fichier bash_completion.d.

Si vous pouvez même étendre la complétude intelligente bash à votre vim ou apt besoin de modifier /etc/bash_completion et /etc/bash_completion.d

Autre exemple

Si vous n'avez pas accès à la modification de fichiers ou à l'ajout d'archives dans /etc. Vous pouvez ajouter une complétion locale, par exemple pour wp-cli vous pouvez télécharger la définition de complétion et renommer pour masquer la commande:

wget https://github.com/wp-cli/wp-cli/raw/master/utils/wp-completion.bash
rename wp-completion.bash .wp-completion.bash

Maintenant, éditez votre .bash_profile en utilisant nano .bash_profile ou vimen ajoutant ceci:

source /home/tu_usuario_del_Host/.wp-completion.bash
0
manuti