Ouvrir un fichier déjà ouvert dans Vim
Imagine que tu ouvres un fichier dans Vim sur un PC fixe ou un serveur, puis tu es interrompu dans ton travail et tu changes d'endroit. Tu voudrais continuer à modifier ce fichier dans Vim depuis un autre PC en SSH, mais tu n'avais pas lancé de session screen. Si tu essaies d'ouvrir de nouveau ce fichier, Vim t'avertit :
E325: ATTENTION Trouvé un fichier d'échange nommé "aide-mémoires/.ouvrir-un-fichier-déjà-ouvert-dans-Vim.html.swp" propriété de : herve daté: mer. févr. 04 18:34:17 2026 nom de fichier : /▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒/aide-mémoires/ouvrir-un-fichier-déjà-ouvert-dans-Vim.html modifié : non nom d'utilisateur : herve nom d'hôte : ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ processus n° : 1157230 (EN COURS D'EXÉCUTION) Lors de l'ouverture du fichier "aide-mémoires/ouvrir-un-fichier-déjà-ouvert-dans-Vim.html" daté: mer. févr. 04 18:34:16 2026 (1) Un autre programme est peut-être en train d'éditer ce fichier. Si c'est le cas, faites attention à ne pas vous retrouver avec deux versions différentes du même fichier en faisant des modifications. Quitter ou continuer avec attention. (2) Une session d'édition de ce fichier a planté. Si c'est le cas, utilisez ":recover" ou "vim -r aide-mémoires/ouvrir-un-fichier-déjà-ouvert-dans-Vim.html" pour récupérer le fichier (consultez ":help recovery"). Si vous l'avez déjàfait, effacez le fichier d'échange "aide-mémoires/.ouvrir-un-fichier-déjà-ouvert-dans-Vim.html.swp" pour éviter ce message. Le fichier d'échange "aide-mémoires/.ouvrir-un-fichier-déjà-ouvert-dans-Vim.html.swp" existe déjà ! [O]uvrir en lecture seule, (E)diter quand même, (R)écupérer, (Q)uitter, (A)bandonner:
Si tu t'étais interrompu en plein mode insertion sans avoir enregistré, c'est bien contrariant…
Heureusement, on peut séparer le processus Vim du terminal où il était lancé avec l'astucieux programme reptyr (qui peut être utile pour tout programme, pas seulement Vim)
- Lancer
reptyr 12345où 12345 est le PID de l'instance de Vim en question -
Normalement, ça va afficher
Unable to attach to pid 12345: Operation not permitted The kernel denied permission while attaching. If your uid matches the target's, check the value of /proc/sys/kernel/yama/ptrace_scope. For more information, see /etc/sysctl.d/10-ptrace.conf
C'est normal, c'est une protection contre le piratage de processus par le mécanismeptraceque reptyr utilise astucieusement. -
Il faut alors passer root avec
sudo su - -
et débrayer la protection Yama par
echo 0 > /proc/sys/kernel/yama/ptrace_scope -
puis relancer
reptyr 12345 - et enfin, aussitôt remettre la valeur d'origine dans /proc/sys/kernel/yama/ptrace_scope qui est stockée, comme indiqué, dans /etc/sysctl.d/10-ptrace.conf pour réactiver la protection ⚠️