Ayrıca sıklıkla çoklu monitör kullanıyorum, bu yüzden vim bu özelliği uygulayana kadar kullanmak için basit bir geçici çözüm yaptım. Gitv adında bir lua komut dosyası kullanarak, aynı anda birden çok GVIM örneğinde bir dosya açabilirim. Temel olarak, GVIM1 ve GVIM2 adında iki GVIM örneği olduğunda, yaptığım şey bir kerede yalnızca bir dosyanın düzenlenebilir olduğundan ve diğerlerinin görüntüleyici olduğundan emin olmaktı. (Her şey sorulmadan otomatik olarak yapılır.)
İş akışı: Şu anda gitv git depoları için tasarlanmıştır, bu nedenle yalnızca git deposundaki dosyalar için kullanılabilir. LsFiles () işlevini değiştirerek bu varsayılan davranışı kolayca değiştirebilirsiniz.
İlk olarak GVIM1'de bir.txt açmak için şunu kullanın:
$ gitv gvimr GVIM1 a.txt
Eğer yoksa gvim penceresi açılacaktır. Sonra aynı a.txt dosyasını başka bir GVIM2 örneğinde açmak için şunu kullanın:
$ gitv gvimr GVIM2 a.txt
(veya $ gvim2 a.txt gibi bir takma ad yapabilirsiniz)
Sonra gitv dahili olarak şunları yapar:
- "a.txt" açık olan tüm gvim örneklerini bulur. (Bu durumda, GVIM1)
- tüm bu a.txt tamponlarını "salt okunur", "nomodifiable" ve "autoread" olarak ayarlayın.
- Değiştirilen arabellek "salt okunur" olarak ayarlanmadan önce diske yazılır.)
- takas dosyasını kaldırın.
- GVIM2'de a.txt dosyasını yeniden açın. (gvim, takas dosyası olmadığı için bu dosyayı sorunsuz bir şekilde açabilir.)
Monitör 1 yerine monitör 2'de a.txt dosyasını düzenlemek istiyorsanız, etkin arabelleği değiştirmek için bunu yapın: $ gitv gvimr GVIM1 a.txt (veya gvim1 a.txt) Bu, gvim1 içinde ctrl + g kullanarak daha kolay yapılabilir + a.txt
(Bu, veri bozulmasını önlemek için gvim'in diğer örneklerinde aynı arabelleği otomatik olarak açık konuma getirecektir.)
gitv buradan indirilebilir: http://code.google.com/p/gitv/
Yalnızca linux gvim üzerinde test edilmiştir, ancak MacVIM'e kolayca taşınabilir.