Pi için yapılandırma, özelleştirme, platform kurulumu ve API referansları.

tmux Kurulum

Pi, tmux'nin içinde çalışır, ancak tmux, varsayılan olarak belirli tuşlardan değiştirici bilgileri çıkarır. Yapılandırma olmadan, Shift+Enter ve Ctrl+Enter genellikle düz Enter'den ayırt edilemez.

Önerilen Yapılandırma

~/.tmux.conf'e ekle:

set -g extended-keys on
set -g extended-keys-format csi-u

Ardından tmux'yi tamamen yeniden başlatın:

tmux kill-server
tmux

Pi Kitty klavye protokolü mevcut olmadığında otomatik olarak genişletilmiş anahtar raporlama ister. extended-keys-format csi-u, tmux ile değiştirilmiş anahtarlar CSI-u formatında iletilir, bu en güvenilir konfigürasyondur. extended-keys-format seçeneği tmux 3,5 veya üzerini gerektirir.

Neden csi-u Önerilir?

Yalnızca:

set -g extended-keys on

tmux varsayılan olarak extended-keys-format xterm olur. Bir uygulama genişletilmiş anahtar raporlaması talep ettiğinde, değiştirilen anahtarlar aşağıdaki gibi xterm modifyOtherKeys formatında iletilir:

  • Ctrl+C\x1b[27;5;99~
  • Ctrl+D\x1b[27;5;100~
  • Ctrl+Enter\x1b[27;5;13~

extended-keys-format csi-u ile aynı tuşlar şu şekilde iletilir:

  • Ctrl+C\x1b[99;5u
  • Ctrl+D\x1b[100;5u
  • Ctrl+Enter\x1b[13;5u

Pi her iki formatı da destekler, ancak csi-u önerilen tmux kurulumudur.

Bu Neyi Düzeltiyor

tmux genişletilmiş tuşlar olmadan, değiştirilmiş Enter tuşları eski dizilere daraltılır:

Anahtar Harici anahtarlar olmadan csi-u ile
Girmek \r \r
Shift+Enter \r \x1b[13;2u
Ctrl+Enter \r \x1b[13;5u
Alt/Option+Enter \x1b\r \x1b[13;3u

Bu, varsayılan tuş atamalarını (göndermek için Enter, yeni satır için Shift+Enter) ve değiştirilmiş Enter'ı kullanan tüm özel tuş atamalarını etkiler.

Gereksinimler

  • tmux extended-keys-format csi-u için 3,5 veya üzeri (kontrol etmek için tmux -V komutunu çalıştırın)
  • Genişletilmiş anahtarları destekleyen bir terminal emülatörü (Ghostty, Kitty, iTerm2, WezTerm, Windows Terminali)

tmux 3,2 ila 3,4 arasında extended-keys-format csi-u'yi çıkarın; Pi hala tmux'nin varsayılan xterm modifyOtherKeys biçimini desteklemektedir.