2010-07-02 11 views
3

J'adore cygwin et la version windows native de gvim et je les utilise ensemble tout le temps. Le seul problème que j'ai est avec les noms de chemins cygwin. Gvim pour windows ne les comprend pas donc je dois recourir à taper des choses comme:Obtenir gvim pour traduire automatiquement un chemin cygwin

gvim `cygpath -wa ~/scripts/myscript.pl` 

Ce qui est ennuyeux! Je me demandais s'il y a une façon intéressante d'utiliser autocmds pour détecter si un chemin cygwin a été fourni et, si c'est le cas, le convertir en un chemin Windows sur l'événement FileReadPre. Est-ce que quelqu'un sait si/comment cela peut être accompli?

Répondre

6

Il existe plusieurs solutions (voir vim.wikia.com, catégorie cygwin).

Je maintiens le plus flexible: cyg-wrapper.sh (flexible dans le sens où il sait que les drapeaux (vim) ne sont pas des chemins, et on peut même dire que les drapeaux "binaires" comme -c attendent un autre argument qui n'est pas En ce qui concerne l'invocation des exécutables cygwin de win32-vim, vous n'aurez aucun problème ... tant que l'exécutable ne renverra pas les chemins d'accès exprimés au format * nix. Pour tous les exécutables liés à la compilation (gcc/make/doxygen/...), j'ai aussi une solution. Dans le passé c'était un simple script perl autonome (toujours disponible sur vim.org). Maintenant, j'ai une solution complète qui fait d'autres choses liées à la compilation: BuildToolsWrapper (qui nécessite lh-vim-lib sur le même site)

En ce qui concerne les choses comme :e /etc/hosts, je n'ai pas de solutions. Il y a longtemps, j'ai essayé de jouer avec FileReadPre & co, mais j'ai abandonné le long du chemin, et je ne me souviens pas pourquoi ^^ '.

+1

Merci pour cela, il fonctionne particulièrement bien lorsqu'il est combiné avec un alias dans .bashrc. I.e. .: alias gvim = 'cyg-wrapper.sh gvim' me permet de taper: vim ~/scripts/myscript.sh Tout bien :-) Ce – Benj

+0

... est génial! J'ai cherché quelque chose comme ça pendant un moment, je ne supporte pas le GTK gVim sur cygwin. ClearType est tellement mieux. – rossipedia

+0

J'ai une autre question à propos de cyg-wrapper - soin de carillon? http://superuser.com/questions/298792/how-to-use-cyg-wrapper-to-fork-a-new-tab-in-win32-gvim/ –