reptyr

Das Problem:

Ich habe auf einem Rechner in einem Terminal mit vim eine Datei bearbeitet und danach vergessen, vim zu beenden. Nun habe ich mich aus der Ferne per ssh einloggen wollen, um eben diese Datei zu bearbeiten1. Nun mault mich vim an, daß diese Datei schon mit vim bearbeitet wird. Natürlich hätte ich die Datei trotzdem bearbeiten können oder die laufende vim mit kill wegschießen können, was aber beides nicht sehr elegant ist und auch zu Datenverlusten führen kann.
Also suchte ich nach einer Lösung, die laufende vim zu übernehmen und stiess auf

Die Lösung: reptyr

Mit reptyr klappt das ganz einfach. Einmal installiert, genügen folgende Schritte

- die PID herausfinden mit: ps ax | grep vim

[(29.03 20:21)florian@linsenmitspatzen:~]$ ps ax | grep vim
30225 pts/7    S+     0:00 vim

- die PID lautet 30225. Nun diese mit reptyr für sich beanspruchen:

reptyr 30225

- bei curses- Programmen wie vim muss man noch STRG-l drücken, damit die Anzeige aufgebaut wird

Das war es schon :)


1 Natürlich lief vim nicht in einem screen, das wäre zu einfach gewesen…