Belgelere bir göz attım ve mevcut vi modunu algılamak ve görüntülemek için herhangi bir yol bulamadığımı söylemeliyim. Umarım hoş bir sürpriziniz olur ve birileri bir çözüm bulur, ama kesinlikle sorduğunuz şeyi yapmanın bir yolunu göremiyorum.
Sanırım bunu yapmanın bir yolu var, ama küçük bir sıkıntı için aşırı derecede abartılı bir şey ve bu soruyu sorduğunuzda aklınıza gelen şey olduğunu sanmıyorum. Bu doğruysa, şimdi okumayı bırakın ve hayatınızın tadını çıkarın.
OTOH, eğer bu gerçekten evcil hayvan huyunuzsa ve sizi çıldırtıyorsa ve gerçekten kesinlikle umutsuzca bu sorunu atmak istersiniz, işte benim bu konuda nasıl yapacağım hakkında bir fikrim var:
- W. Richard Stevens'ın UNIX (R) Ortamında Gelişmiş Programlamanın bir kopyasını edinin .
- Akımlar ve Terminal G / Ç bölümlerini okuyun .
- Kaynak kodunu , bir terminale yerleştirilebilen bir akış örneği içeren yukarıda belirtilen kitaba indirin .
- Esc tuş bileşimi (veya her iki mod değiştirme tuş basımı) için işleminizi uygulayın ve geçerli satırın zili veya arka plan manipülasyonu ile belirtin.
Kısacası Unix, terminal G / Ç'sini, aygıt sürücüsü ile kullanıcı işlemi arasında, modüllerin takılabileceği tam çift yönlü bir G / Ç akışı olarak uygular. Bir yığın olarak düzenlenmiştir, böylece istediğiniz kadar akışı katmanlayabilirsiniz. Enjekte edilen akışların toplamı terminal I / O davranışınızı yaratır.
Bir karakter girildiğinde, ilk modül onu inceler ve iletir (eğer isterse). Yanıt ters yöne geldiğinde, tekrar inceleme ve aktarma şansı elde eder. Bu, bir Ctrl-C'nin normal bir karakter tuşuna daha yüksek bir seviyede nasıl işlendiğini gösterir.
Bir akış modülünü uygulayan, çağrıldığında ön planda sessizce çalışan, tüm tuş vuruşlarını inceleyen ve ileten, önem verdiğiniz tuş vuruşlarında tercih ettiğiniz eylemi gerçekleştiren bir ikili dosya oluşturabilirsiniz. Tüm niyet ve amaçlar için, sanki kabuk üzerinde çalışıyormuş gibi görüneceksiniz. Oooh. Bu ikili dosyayı .tcshrc'nizin son (veya ilk veya herhangi bir) satırında çağırabilirsiniz ve orada olduğunu bile bilemezsiniz.
Burada iyi bir astar var , ama bu konuda çok fazla bir şey bulamadım, çünkü muhtemelen asalını geçti.