Jika saya melakukan perintah "history" di tmux, saya mendapatkan hasil yang sangat aneh. Adakah yang punya petunjuk tentang apa yang harus dilakukan untuk mendapatkan hasil normal?
Outputnya terlihat seperti ini:
477 ◆┬▒⎺▒└☃◆
478 c▒├ ◆┬▒⎺▒└☃◆
479 ec▒⎺ ◆┬▒⎺▒└☃◆
48▮ ┴☃└ ·/↓├└┤│↓c⎺┼°
481 ├└┤│
482 ┌⎽
483 cd ┐⎺▒┼⎽/
484 ┌e☃┼ ┐⎺▒┼⎽ ⎼┤┼
485 ┌⎽
486 ┌e☃┼ ▮1_e─┤▒┌☃├☃e⎽↓c┌┘ ⎼┤┼
487 cd ↓↓
488 ┌e☃┼ ┐⎺▒┼⎽ ⎼┤┼
489 cd ┐⎺▒┼⎽/
49▮ ┌e☃┼ ┐⎺▒┼ ⎼┤┼
491 ┴☃└ ▮1_e─┤▒┌☃├☃e⎽↓c┌┘
492 ▒☃⎽├⎺⎼≤
493 ┌e☃┼ ┐⎺▒┼ ⎼┤┼
494 ├└┤│ ┌⎽
495 ├⎺⎻
496 ▒☃⎽├⎺⎼≤
497 e│☃├
498 e│☃├
499 ▒☃⎽├⎺⎼≤
S⎼e┼⎽↑M▒cB⎺⎺┐↑P⎼⎺↑2:· S⎺e⎼e┼$
Saya kira itu ada hubungannya dengan pengkodean.
Saya menggunakan MacBook Pro di OSX Lion 10.7.5.
Saya menggunakan aplikasi Terminal yang memiliki (antara lain) pengkodean UTF-8 diaktifkan dan UFT-8 di bawah "International - Character Encoding:".
Shell saya adalah bash.
TXux saya sesuai tmux -V
adalah tmux 1.9a.
Di saya ~/.tmux.conf/
, Saya sudah
set-option -g prefix ^Space
bind-key ^Space send-prefix
unbind C-b
set-option -g status-fg white
set-option -g default-command "reattach-to-user-namespace -l bash"
set -sg escape-time 1
set -g base-index 1
setw -g pane-base-index 1
bind r source-file ~/.tmux.conf
set-window-option -g utf8 on
set -g utf8
set -g status-utf8 on
Saya languagesetup
adalah bahasa Inggris, meskipun saya Denmark dan begitu juga tata letak keyboard saya :) Ini hanya menjadi masalah bagi saya ketika languagesetup
bukan bahasa Inggris - secara khusus, memoles dengan karakter pipa Denmark saya |
berarti bash tidak akan mengenali perintah setelah pipa jika saya menulis spasi antara itu dan pipa, jadi saya harus melakukan mis.
echo $PATH |less
daripada
echo $PATH | less
Tapi seperti yang saya katakan, saya memperbaikinya languagesetup
.
Saya benar-benar ingin segera menggunakan tmux, jadi saya harap seseorang tahu cara memperbaikinya! :)
EDIT 1:
SEBAB:
Output aneh adalah karena saya memiliki ^ N (output dari kombinasi tombol Ctrl + n) dalam sejarah saya. Output aneh dapat dipaksa sengaja jika saya menekan Ctrl + n diikuti oleh enter in tmux. Saya mengajukan tiket di halaman SourceForge tmux kalau-kalau itu bug: https://sourceforge.net/p/tmux/tickets/137/ Jadi, tidak ^ N, tidak ada output aneh!
EDIT 2:
Untuk detail yang lebih menarik, lihat saja di komentar :)
EDIT 3:
Setelah mengajukan laporan bug untuk pengembang tmux di https://sourceforge.net/p/tmux/tickets/137/ , Saya telah diberitahu bahwa efek ^ N bukanlah bug. Ini adalah fitur dari terminal perangkat keras pra-utf-8 hari yang lalu, di mana pengembang menggunakan karakter kontrol untuk mengganti rangkaian karakter agar memiliki akses ke berbagai karakter. ^ N akan "bergeser", ^ O akan "bergeser", yaitu, kembali ke set karakter asli. Menekan ^ O tidak melakukan apa pun untuk saya di Terminal atau iTerm, dan ini karena ^ O dipetakan ulang untuk "membuang" - ini dapat dilihat dengan menjalankan stty -a
. Namun, setelah selesai ^ N, Anda dapat menjalankan skrip shell printf '\x0F'
, yang menginput karakter kontrol yang ^ O seharusnya hasilkan, dan output akan kembali normal, saat Anda "beralih".
history -c history -w
untuk menghapus riwayat saya, dan sekarang terlihat OK, jadi saya pikir Anda benar. Melihat melalui cadangan ~ / .bash_history di Vim dalam sesi tmux terlihat OK, tetapi jika saya lakukancat ~/bash_history.txt
, hasilnya aneh semua lagi. Pasti salah satu dari karakter itu ... Mungkin yang Denmark: D Akan menghabiskan sedikit waktu melacaknya. Tepuk tangan!njjj
Ini adalah garis yang menyebabkan output aneh. Saya bisa tahu dari karakter di kotak komentar ini itunjjj
tidak ditafsirkan seperti yang saya lihat di terminal saya di luar tmux - di sana, itu^An^A^N^Ajjj
. Saya pikir itu dari ketika saya bereksperimen dengan keymap baru untuk PREFIX di tmux - Ctrl + a, saya kira, meskipun saya juga mencoba Alt + a, tapi saya kira ^ artinya Ctrl.tmux
, cukup ketikreset
. Atau didt-tmux
:⎼e⎽e├