2013-10-06 87 views
3

當我在Tmux中運行Vim時,我必須按Tab鍵兩次以獲得按鍵註冊。我搜索了一段時間,但都無濟於事,當我在Tmux之外使用Vim時,我不會解決這個問題。 Tab鍵是否保留給我不知道的東西?運行Tmux時Vim的標籤問題

我該如何解決這個問題?

+1

這不正常;它只是* Vim *裏面的* tmux *中的一個問題,或者* tmux *中的其他程序受到了影響(例如,將Tab C-d C-d鍵入'xxd'只顯示一個'09'字節)?你的* tmux *和* Vim *配置是什麼樣的? –

+0

這不僅僅是一個vim問題。我在zsh中選項卡完成時遇到了同樣的問題。除了將C-b重新映射到C-i之外,我還沒有真正配置tmux中的任何內容。 '設置-g前綴C-i' '解除綁定C-B' '綁定C-我送-prefix' 編輯:關於格式 – Brandon

+0

對不起你提到的XXD給我'Tab0000000:5461 62 Tab',內外TMUX之外。 – Brandon

回答

5

我還沒有真正配置tmux中的任何東西,除了將C-b重新映射到C-i。

set -g prefix C-i 
unbind C-b 
bind C-i send-prefix 

雖然標籤控制 - i通常在GUI環境區分時,它們產生在等終端仿真器基於TTY的環境相同的字符。該字符是U + 0009,這是Tab控制字符。它被表示爲ASCII,UTF-8和許多其他編碼中的單字節0x09。所有「C0 control codes」(ASCII 0-31)都有將Control鍵與另一個鍵(主要是字母,還有一些符號)組合在一起的鍵盤等效物。 Tab控制字符由控制 - i生成。

您可以通過查看tmux show-options -g | grep prefix的輸出來驗證(至少)tmux將C-i和Tab視爲相同。即使您在配置中將其指定爲C-i,您也會看到它已將前綴設置爲名爲Tab的密鑰。您還可以注意到tmux list-keys | grep prefix輸出中的相同規範化。

如果您想要發送一個到內部運行的程序tmux,如果您不想鍵入Tab兩次,則可能需要選擇不同的前綴。