Terminal
我可以讓我的 iTerm 組合鍵在 tmux 中工作嗎?
我在 iTerm 中定義了一些快捷鍵,並將它們用於 Vim 中的鍵映射。
例如,我映射
Ctrl-Enter
發送一個^[O2P
轉義碼,然後我用它Ctrl-Enter
在我的 Vim 中定義一個鍵映射:set <F13>=O2P map <F13> <C-CR> inoremap <C-CR> <C-O>o
它適用於正常 iTerm 會話和螢幕會話,但不適用於 tmux 會話。如何解決此問題以與 tmux 一起使用?除了這個掛斷之外,我正在離開螢幕並真正享受 tmux。
我通過調整轉義碼以在我的
.vimrc
. 我仍然希望我能更好地理解這一切是如何工作的,以及為什麼 tmux 發送的序列與 tmux 之外發送的序列不同,但這讓一切正常:if &term =~ "screen" set <F13>=[1;2P set <F14>=[1;2Q set <F15>=[1;2R set <F16>=[1;2S set <F17>=[1;5P set <F18>=[1;5Q set <F19>=[1;5R set <F20>=[1;5A set <F21>=[1;5B elseif &term =~ "xterm" set <F13>=O2P set <F14>=O2Q set <F15>=O2R set <F16>=O2S set <F17>=O5P set <F18>=O5Q set <F19>=O5R set <F20>=[1;5A set <F21>=[1;5B endif " use some unused function key codes to " make special key combos work in terminal map <F13> <C-CR> map! <F13> <C-CR> map <F14> <S-CR> map! <F14> <S-CR> map <F15> <C-Space> map! <F15> <C-Space> map <F16> <S-Space> map! <F16> <S-Space> map <F17> <C-BS> map! <F17> <C-BS> map <F18> <M-Tab> map! <F18> <M-Tab> map <F19> <M-S-Tab> map! <F19> <M-S-Tab> map <F20> <C-Up> map! <F20> <C-Up> map <F21> <C-Down> map! <F21> <C-Down>