2 votes

gvim sous Windows, il faut préserver ou corriger la casse des chemins (par exemple, c : \windows vs. C:\Windows )

J'utilise gvim dans un environnement Windows et j'ai ClearCase pour le contrôle de la source.

Mon problème est que les chemins d'accès de Windows ne sont pas sensibles à la casse, alors que ClearCase le fait. Ainsi, lors de l'édition d'un fichier dans gvim, le chemin n'est pas nécessairement mis en majuscules correctement (par exemple, c : \WiNdOwS\Something.txt vs. C:\Windows\Something.txt ), donc lorsque j'essaie de vérifier le fichier dans le fichier de travail actuel dans gvim via la ligne de commande, ClearCase se plaint qu'il ne peut pas trouver le fichier.

C:\WiNdOwS\Something.txt --> C:\Windows\Something.txt
   ^^^^^^^                      ^^^^^^^

Y a-t-il un moyen de :

  1. faire en sorte que vim corrige automatiquement la casse des chemins, ou,
  2. ne pas se soucier de l'habillage

Actuellement, je dois soit m'assurer que le chemin d'accès est correct, soit ouvrir l'explorateur Windows chaque fois que je veux faire quoi que ce soit à un fichier lié au contrôle de la source... ce qui craint totalement.

0voto

MyCwoissant Points 31

Vous pouvez essayer d'utiliser expand('%:p') . Cela devrait vous donner le nom du fichier actuel étendu au chemin complet.

D'après ce que j'ai vu, il renvoie également une chaîne de caractères avec la casse correcte sous MS Windows, mais je n'ai pas essayé moi-même.

Si l'expansion ne fonctionne pas, vous devrez probablement descendre dans l'API win32 pour obtenir le cas correct pour le chemin, quelque chose comme GetFullPathName() . Je ne suis pas sûr qu'il soit possible de l'utiliser directement depuis vim (sans pirater le code source de vim), mais si vous l'intégrez dans un petit programme, vous pouvez certainement l'appeler depuis vim. Si votre vim est compilé avec le support de Python, vous pouvez utiliser la fonction Python ctypes pour appeler les fonctions win32.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X