Terminal Kurulumu
Pi güvenilir değiştirici tuş tespiti için Kitty keyboard protocol'yi kullanır. Çoğu modern terminal bu protokolü destekler, ancak bazıları yapılandırma gerektirir.
Kitty, iTerm2
Kutunun dışında çalışın.
Elma Terminali
Pi mevcut olduğunda gelişmiş anahtar raporlamayı etkinleştirir. Terminal.app hala Shift+Enter için düz Dönüş gönderiyorsa pi, bu Dönüşü Shift+Enter olarak değerlendirmek için yerel bir macOS değiştirici geri dönüşü kullanır.
Bu geri dönüş yalnızca pi, Terminal.app ile aynı Mac'te çalıştığında çalışır. Uzaktan kumanda SSH üzerinden yerel klavyeyi algılayamıyor.
Hayalet gibi
Ghostty yapılandırmanıza ekleyin (macOS'te ~/Library/Application Support/com.mitchellh.ghostty/config, Linux'ta ~/.config/ghostty/config):
keybind = alt+backspace=text:\x1b\x7fDaha eski Claude Kodu versiyonları bu Ghostty eşlemesini eklemiş olabilir:
keybind = shift+enter=text:\nBu eşleme ham bir satır besleme baytı gönderir. Pi'nin içinde bu, Ctrl+J'den ayırt edilemez, dolayısıyla tmux ve pi artık gerçek bir shift+enter anahtar olayı görmüyor.
Bu eşlemeyi eklemenizin tek nedeni Claude Code 2.x veya daha yenisiyse, hala Ghostty eşlemesinin gerekli olduğu tmux'da Claude Code'u kullanmak istemediğiniz sürece onu kaldırabilirsiniz.
Pi, Ctrl+J'yi varsayılan yeni satır takma adı olarak bağlar, bu nedenle Shift+Enter, fazladan pi yapılandırması olmadan bu remap aracılığıyla tmux'de çalışmaya devam eder.
WezTerm
WezTerm genellikle xterm changeOtherKeys aracılığıyla Shift+Enter için kutudan çıktığı haliyle çalışır. Kitty klavye protokolünü açıkça kullanmak için ~/.wezterm.lua oluşturun:
local wezterm = require 'wezterm'
local config = wezterm.config_builder()
config.enable_kitty_keyboard = true
return configMacOS'ta WezTerm, varsayılan olarak Option+Enter'yi tam ekrana bağlar. Pi takip kuyruğunda Option+Enter kullanmak için şu anahtarı geçersiz kılmayı ekleyin:
local wezterm = require 'wezterm'
local config = wezterm.config_builder()
config.keys = {
{
key = 'Enter',
mods = 'ALT',
action = wezterm.action.SendString('\x1b[13;3u'),
},
}
return configZaten bir config.keys tablonuz varsa girişi buna ekleyin.
WSL'de WezTerm, IME aday penceresi konumlandırması için görünür bir donanım imleci gerektirebilir. CJK IME adayları metin imlecini takip etmiyorsa pi'yi çalıştırmadan önce PI_HARDWARE_CURSOR=1 ayarlayın veya ayarlarda showHardwareCursor'yi true olarak ayarlayın.
Alakrity
Alacritty genellikle Shift+Enter karşılığında kutunun dışında çalışır. MacOS'ta Option+Enter düz Enter olarak gelebilir. Pi takip kuyruğu için Option+Enter kullanmak için ~/.config/alacritty/alacritty.toml'ye ekleyin:
[[keyboard.bindings]]
key = "Enter"
mods = "Alt"
chars = "\u001b[13;3u"Yapılandırmayı değiştirdikten sonra Alacritty'yi yeniden başlatın.
VS Kodu (Entegre Terminal)
VS Code 1.109.5 ve daha yenisi, entegre terminalde Kitty klavye protokolünü varsayılan olarak etkinleştirir; dolayısıyla Shift+Enter kutudan çıktığı gibi çalışmalıdır.
1.109.5'ten daha eski VS Code sürümleri, Shift+Enter için açık bir terminal tuş bağlamasına ihtiyaç duyar.
keybindings.json konumlar:
- macOS:
~/Library/Application Support/Code/User/keybindings.json - Linux:
~/.config/Code/User/keybindings.json - Pencereler:
%APPDATA%\\Code\\User\\keybindings.json
keybindings.json'e ekle:
{
"key": "shift+enter",
"command": "workbench.action.terminal.sendSequence",
"args": { "text": "\u001b[13;2u" },
"when": "terminalFocus"
}Windows Terminali
pi'nin kullandığı değiştirilmiş Enter tuşlarını iletmek için settings.json'ye ekleyin (Ctrl+Shift+ veya Ayarlar → JSON dosyasını aç):
{
"actions": [
{
"command": { "action": "sendInput", "input": "\u001b[13;2u" },
"keys": "shift+enter"
},
{
"command": { "action": "sendInput", "input": "\u001b[13;3u" },
"keys": "alt+enter"
}
]
}Shift+Enteryeni bir satır ekler.- Windows Terminali varsayılan olarak
Alt+Enter'yi tam ekrana bağlar. Bu, pi'nin takip kuyruğu içinAlt+Enteralmasını engeller. Alt+Enter'yisendInput'ye yeniden eşlemek, bunun yerine gerçek anahtar akoru pi'ye iletir.
Zaten bir actions diziniz varsa nesneleri ona ekleyin. Eski tam ekran davranışı devam ederse Windows Terminalini tamamen kapatıp yeniden açın.
xfce4 terminali, sonlandırıcı
Bu terminaller sınırlı kaçış dizisi desteğine sahiptir. Ctrl+Enter ve Shift+Enter gibi değiştirilmiş Enter tuşları düz Enter'den ayırt edilemez, bu da submit: ["ctrl+enter"] gibi özel tuş atamalarının çalışmasını engeller.
En iyi deneyim için Kitty klavye protokolünü destekleyen bir terminal kullanın:
IntelliJ IDEA (Entegre Terminal)
Yerleşik terminalin kaçış dizisi desteği sınırlıdır. IntelliJ terminalinde Shift+Enter, Enter'dan ayırt edilemez.
Donanım imlecinin görünmesini istiyorsanız pi'yi çalıştırmadan önce PI_HARDWARE_CURSOR=1 değerini ayarlayın (uyumluluk nedeniyle varsayılan olarak devre dışıdır).
En iyi deneyim için özel bir terminal emülatörü kullanmayı düşünün.