... dan itu membuatku gila.
Pada dasarnya (ini telah terjadi selama beberapa bulan terakhir), saya masuk ke beberapa server CentOS yang berbeda (satu Linode, VPS lain, dan host bersama yang saya miliki akses shellnya), menjalankan 5.5, 5.7, dan 6, dari server saya Mac menjalankan OS X Lion, menggunakan Terminal.
Pada dasarnya:
$ ssh [email protected]
[remote-host] $ nano somefile.txt
Setelah saya mulai mengedit file, jika saya menggunakan tombol panah untuk bergerak di sekitar kursor, atau mulai menghapus, kemudian mengetik lagi, kursor melompat sedikit, dan jika saya menyimpan file dan membukanya kembali, jelas bahwa kursor itu , pada kenyataannya, melompati semua tempat pada garis tanpa alasan yang jelas.
Saya akhirnya mendapatkan hal-hal seperti "Ini adalah teks yang tidak ada." Ketika saya mengetik (ke editor kursor-gila) "Ini adalah baris teks."
Ini masalah besar ketika mengedit file konfigurasi, karena saya sering harus mengedit satu baris, simpan dan tutup, lalu buka kembali hanya untuk memastikan bahwa baris itu benar ... kemudian edit baris lain ... dan itu semakin mengganggu .
Saya menemukan Linode Lish Shell Vim dan masalah rendering Nano: garis tidak muncul / posisi kursor salah , tapi saya tidak tahu apakah itu banyak berhubungan, karena itu secara khusus mengacu pada lish.
Jawaban:
[ Pembaruan: Pada Mac OS X Mountain Lion 10.8, Terminal mendukung urutan pelarian Backtab, menghilangkan masalah ini.]
Versi (s?) Dari nano pada server-server itu kadang-kadang mengirimkan urutan Backtab (ESC [Z) ketika memindahkan kursor yang ditinggalkan oleh satu karakter, tetapi Terminal tidak mendukung urutan ini, jadi nano berpikir bahwa kursor telah bergerak ketika tidak ada t dan idenya tentang posisi kursor saat ini tidak selaras dengan terminal.
Untuk alasan yang tidak dapat saya pahami, nano mengirimkan Backtab ketika bergerak ke kiri dan kursor adalah satu karakter di sebelah kanan sebuah pemberhentian. Demikian pula, IIRC, ia mengirimkan Tab (Control-I) ketika bergerak ke kanan dan kursor adalah satu karakter di sebelah kiri penghentian tab. Saya tidak tahu mengapa ini dilakukan di sekitar tab berhenti daripada selalu bergerak ke kiri / kanan menggunakan urutan karakter yang sama. Versi nano yang dikirimkan dengan Mac OS X Lion 10.7 tidak melakukan ini.
Nano hanya melakukan ini ketika terminfo mengatakan
cbt
kemampuan didukung. Terminfo default untuk Terminal adalahxterm-256color
, yang menyatakan kemampuan ini dan memetakannya ke urutan Backtab. Solusinya adalah mengaturTERM
variabel lingkungan ke sesuatu yang tidak menyatakan kemampuan ini. Anda dapat melakukan ini pada mesin lokal sebelum memohonssh
atau dalam file startup shell pada host jarak jauh. Mengaturnyaxterm-color
akan dilakukan dalam keadaan darurat, meskipun tidak disarankan, karena menonaktifkan perilaku penting lainnya (misalnya 256 warna, BCE, pelestarian konten layar alternatif). (Pendekatan yang lebih berat adalah untuk menyesuaikanxterm-256color
(atauxterm
) file terminfo Anda pada remote host untuk dihapuscbt
.)Menyesuaikan host jarak jauh (dengan satu atau lain cara) disarankan, sehingga penyesuaian tidak berlaku secara lokal atau ke host jarak jauh lainnya, tetapi solusi paling sederhana adalah mengubah pengaturan preferensi Terminal untuk digunakan
xterm-color
alih-alihxterm-256color
:Saya sarankan menduplikasi profil pengaturan yang ada, menyesuaikannya dan hanya menggunakannya ketika Anda terhubung ke host jarak jauh tersebut.
sumber
cbt=\E[Z
entri dalam.ti
file sumber.Saya mengalami masalah yang sama. Saya menemukan utas ini yang merekomendasikan, di antara solusi lain, variabel lingkungan di server jauh:
Menambahkan ini ke ~ / .bash_profile memecahkan masalah untuk saya. Solusi ini sederhana dan hanya bermanfaat memengaruhi pengguna tertentu pada host tertentu.
sumber
Saya memiliki masalah yang sama dalam program MobaXTerm. Penyebab masalahnya adalah -K kunci yang saya gunakan untuk mengaktifkan numpad di Nano saat menggunakan Putty. Seperti yang saya temukan di MobaXTerm -K tidak diperlukan (numpad bekerja secara default) dan tanpa itu tombol panah berfungsi dengan benar dan tidak memasukkan sampah secara acak.
sumber
OSX 10.7.4 dengan Centos berjalan sebagai OS tamu
Dalam preferensi terminal OSX, pengaturan, lanjutan
Tidak ada lagi masalah :)
sumber
Untuk pengguna MobaXterm. Jika Anda tidak menggunakan -K dan masih mengalami masalah. Pastikan baris berikut dikomentari di file / etc / nanorc Anda.
# set rebinddelete
# atur rebindkeypad
sumber
Masalah yang mungkin terjadi adalah, ya, mesin lokal Anda dan server Anda ADALAH pada sistem unix yang memiliki nano, tetapi versi nano itu mungkin berbeda.
sumber
Jika yang Anda dapatkan adalah "Ini adalah teks yang tidak jelas" dan apa yang Anda ketikkan adalah "Ini adalah baris teks" (Saya harus menganggap laporan Anda benar) maka Anda memiliki kunci "kontrol" yang rapuh apa pun yang ada di Mac (perintah ? apel?). Karena nano menggunakan tombol kontrol + untuk "melompat-lompat" dan Anda memiliki lebih sedikit karakter daripada yang diketik, maka kami memiliki a) karakter yang hilang b) urutan kontrol yang muncul dari tidak ada yang menyimpulkan bahwa a) menjadi b) adalah logis.
Anda mungkin juga memiliki beberapa program hotkey / makro / yang menjengkelkan. Saya curiga ini milik superuser dan bukan serverfault tapi saya akan menahannya mungkin seseorang memiliki jawaban realistis dan terikat SSH.
sumber