Ce problème peut être dû au fichier _vimrc par défaut créé par le programme d'installation sous Windows. Si vous utilisez toujours ce fichier par défaut, ou si vous l'avez copié à un moment donné, vérifiez la fonction que vous avez attribuée à l' diffexpr
option. L'un des correctifs entre Vim 7.3 et 7.4 a introduit de nouvelles règles de cotation par défaut pour le shell cmd.exe sous Windows. Ce correctif a rompu la solution de contournement dans la fonction MyDiff () conçue pour résoudre le même problème résolu par le correctif.
La fonction MyDiff () a été corrigée par la version 7.4.103 en corrigeant le programme d'installation. Voici la fonction MyDiff () que le dernier programme d'installation créera pour vous si vous souhaitez simplement la copier sur votre _vimrc:
function MyDiff()
let opt = '-a --binary '
if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
let arg1 = v:fname_in
if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
let arg2 = v:fname_new
if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
let arg3 = v:fname_out
if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
if $VIMRUNTIME =~ ' '
if &sh =~ '\<cmd'
if empty(&shellxquote)
let l:shxq_sav = ''
set shellxquote&
endif
let cmd = '"' . $VIMRUNTIME . '\diff"'
else
let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"'
endif
else
let cmd = $VIMRUNTIME . '\diff'
endif
silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3
if exists('l:shxq_sav')
let &shellxquote=l:shxq_sav
endif
endfunction
Vous pouvez voir la version complète à l' aide des Vim :version
ou des :intro
commandes, ou à l'écran de démarrage au démarrage.
Malheureusement, si vous voulez un programme d'installation officiel, vous devrez soit attendre la version 8.0, soit installer une version nocturne . Néanmoins, vous pouvez installer Vim à partir d'autres endroits ou créer votre propre Vim .
Dupliqué sur le débordement de la pile (exceptionnellement, sur le sujet sur les deux sites), si cette réponse est mise à jour, il en va de même pour l'autre.
:intro
commande affiche le même texte et la:version
commande donne les informations sur une ligne de "correctifs inclus".:version
donne également une liste très détaillée des fonctionnalités incluses ou exclues.MyDiff()
quelque chose à utiliser lors de l'utilisation de vim sur Windows, mais c'est pour quelque chose pour utiliser vim via cmd, j'utilise vim via git bash. Merci.