Sur mon ordinateur au travail, chaque fois que j'ouvre un fichier situé sur un partage réseau, GVim devient complètement inutilisable. Faire défiler le document peut prendre 15 secondes pour passer une "page". Même l'utilisation des touches de déplacement pour passer d'un mot à l'autre peut prendre 2 à 3 secondes. Il semble que ce comportement soit nouveau, mais je ne me souviens pas d'avoir modifié quoi que ce soit qui puisse en être la cause. J'ai l'impression que Vim n'accède pas réellement à un fichier sauf lors de l'ouverture et de la sauvegarde. Est-ce exact ?
Réponses
Trop de publicités?Plusieurs facteurs peuvent influer sur cette situation.
Tout d'abord, assurez-vous que vous avez configuré Vim pour qu'il préfère stocker le fichier d'échange localement. Si votre $HOME
est sur un disque local, j'ai tendance à le mettre dans mon vimrc (qui sera soit à l'adresse $HOME\_vimrc
o $VIM\_vimrc
). Assurez-vous de créer ce répertoire, sinon Vim continuera à utiliser l'un des autres répertoires de la liste.
set directory^=$HOME/tmp
Cette opération fait précéder le $HOME/tmp
au début de la liste que Vim vérifie pour savoir où placer les fichiers d'échange.
Ensuite, faites de même pour le fichier de sauvegarde créé par Vim. Même situation que ci-dessus, mais l'option que vous allez changer est backupdir
au lieu de directory
.
Troisièmement, veillez à désactiver le plugin matchparen. Ce plugin est nouveau dans Vim 7, il se peut donc que vous soyez habitué à utiliser une version plus ancienne de Vim. Il provoque un balayage fréquent du fichier à la recherche de parens, d'accolades, etc. qui peut ralentir considérablement Vim lorsque le fichier se trouve sur un réseau partagé. Encore une fois, ceci devrait être placé dans votre vimrc.
let g:loaded_matchparen = 1
Si vous souhaitez désactiver le plugin temporairement, vous pouvez utiliser la commande :NoMatchParen
et ensuite :DoMatchParen
pour le réactiver plus tard dans cette session Vim.
Enfin, si aucune de ces solutions ne vous aide, vous pouvez toujours copier le fichier localement et le modifier.
Le fichier d'échange n'a rien à voir avec cela. J'ai mon fichier d'échange en local et j'ai toujours le problème. J'utilise Process Monitor de SysInternals.com et il a révélé un mauvais comportement lors de la tentative d'ouverture de " \server\TestTool\foo\ReadMe.TXT "
Il tente d'abord de créer un fichier (c'est-à-dire d'ouvrir un répertoire) sur " \serve\ ". Remarquez que le dernier caractère est manquant. Cela entraînera une interruption de 4 secondes avec le message "OBJECT PATH INVALID".
Il essaie ensuite de créer un fichier sur " \server\TestToo\ ". Le nom du serveur est correct, mais la dernière lettre de "TestTool" est coupée. Encore une fois, un délai de 3 secondes avec "MAUVAIS NOM DE RÉSEAU".
Finalement, il y parvient et appelle CreateFile sur " \server\TestTool\ "ce qui fonctionne immédiatement. Ensuite, CreateFile sur " \server\TestTool\foo "ce qui fonctionne immédiatement. Ensuite, CreateFile sur " \server\TestTool\foo\ReadMe.TXT "qui fonctionne immédiatement.
Pourquoi essaie-t-il de donner de mauvais noms au serveur et au répertoire racine ? Quelle est cette folie ?
J'ai résolu ce problème après avoir forcé le chemin d'accès à HOME dans les paramètres avancés du système. (Votre chemin d'accès actuel est un répertoire réseau).
Panneau de configuration > Tous les éléments du panneau de configuration > Système > Paramètres système avancés > Variables d'environnement
Appuyez sur "Nouveau..."
Nom de la variable : ACCUEIL
Valeur variable :
c:\Home\ **<-- Type your home directory**
Vous pouvez envisager d'installer Grand fichier plugin. Il désactive quelques fonctionnalités ayant un impact sur les performances.
- Réponses précédentes
- Plus de réponses