GNU/Linux >> Belajar Linux >  >> Linux

Pergerakan Kursor Di Terminal?

Saya mencoba untuk membungkus kepala saya bagaimana shell menggerakkan kursor layar (Bergerak di sekitar masukan tombol panah dan semacamnya).

Saya telah melakukan banyak pengujian, dan saya belum menemukan panggilan sistem apa pun yang memungkinkan pergerakan kursor layar di terminal. Apakah ini dilakukan dengan menggunakan ekstensi terminal tertentu? Jika demikian, apakah ada dokumentasi tentang bagaimana hal ini dicapai untuk, katakanlah, xterm?

Ini telah membuat saya gila, setiap cahaya yang Anda berikan tentang ini sangat dihargai.

Jawaban yang Diterima:

Tidak ada panggilan sistem seperti itu, atau serangkaian panggilan sistem. Semuanya dilakukan dengan konvensi.

Kembali ke masa lalu, ketika "terminal" adalah bagian besar dari peralatan yang terhubung ke komputer melalui kabel, "terminal pintar" akan melakukan hal-hal seperti memindahkan kursor, atau menggambar garis, atau mengisi poligon dengan warna. . Terminal pintar biasanya melakukan ini melalui "urutan pelarian". Sebuah program mengeluarkan urutan nilai byte khusus, biasanya dimulai dengan ASCII 0x1b, 'ESC', untuk memindahkan kursor, atau mewarnai kata, atau hal khusus selain meniru mesin ketik jarak jauh.

Itulah "konvensi". Saat ini, "terminal" hampir selalu hanya satu di antara banyak jendela di layar bitmap, xterm, rxvt, dll. Terserah xterm (atau rxvt atau apa pun) untuk membaca byte yang berasal dari "program" yang berjalan di dalamnya, dan menafsirkan byte tersebut sesuai dengan konvensi yang diberikan. Saya baru saja mengetik ini di salah satu jendela xterm saya:

6 % echo $TERM 
xterm

Tapi saya tahu bahwa xterms lama dulu mengatakan "vt100" dalam kasus itu. Setiap program yang "memindahkan kursor" harus mengeluarkan urutan escape untuk konvensi "xterm" untuk memindahkan kursor dalam instance xterm.

Anda bisa melakukan man curses dan man terminfo untuk informasi lebih lanjut.

PS

Orang-orang telah melakukan seluruh sistem windowing dengan urutan pelarian. Lihat MGR sebagai contoh.


Linux
  1. Mengapa saya tetap menggunakan xterm

  2. Perintah untuk editor VI

  3. Ubah Ukuran Font Terminal dengan C++

  1. "xterm" Atau "xterm" Di File Konfigurasi?

  2. Protokol/standar apa yang digunakan oleh Terminal?

  3. Mengapa Terminal Baru Di Spawn Luar Biasa Dengan Shlvl>1?

  1. Bagaimana cara menyalin teks dari xterm saya tanpa mouse?

  2. Gerakan Vim pada program lain

  3. Vim salin-tempel di seluruh terminal