Vim Hang Karena CTRL+S

gambar dari ibm.com
Beberapa hari yang lalu ada pekerjaan yang mengharuskan saya untuk live coding di server via Putty. Saya biasa pakai Vim untuk editing di console dan dikerjaan ini pun saya pakai Vim editor. Tapi kemudian ada hal yang agak aneh, Vim tiba-tiba stuck, hang begitu juga dengan Putty nya. Saya berpikir keras apa yang sebenarnya terjadi. Sebelumnya ini juga pernah terjadi beberapa kali, tapi saya pikir itu masalah koneksi karena hanya 64kbps. Tapi kali ini saya punya satu clue, Vim hang setelah menekan CTRL+S. Saya terbiasa di environment yang pakai CTRL+S untuk menyimpan dokumen. Nah, dengan clue itu saya kemudian terdampar ke ini, ini, dan ini. Setelah saya baca ternyata solusinya cukup mudah yaitu menekan CTRL+Q.

Penyebabnya adalah ketika menekan CTRL+S ternyata mengirim input untuk melakukan XOFF, yang berarti console berhenti menampilkan output dari hasil pemrosesan input. Nah, agar console menampilkan lagi hasil dari input maka harus melakukan XON dengan menekan CTRL+Q. Hal ini tidak hanya di putty saja melainkan memang default dari terminal (shell).

Sebelum saya tahu hal ini, biasanya saya membuka sesi console baru. Di console baru itu saya edit lagi filenya dengan terlebih dahulu saya hapus lock file yang dibuat saat saya edit sebelumnya. Tentunya hal ini punya kelemahan yaitu jika sudah edit banyak bagian dan belum disimpan, berarti harus edit lagi dari awal.