dblume commited on 2024-04-30 07:39:20
Showing 2 changed files, with 14 additions and 9 deletions.
Getting consistent behavior in and out of tmux has been a challenge. In order to keep C-i/C-o jumps and remap Tab/S-Tab for buffers, I'm having the terminal remap C-i to <leader>i for vim. This'll bite me when I use another CLI that needs C-i. * Use Windows Terminal instead of Windows Console Host * Use Alacritty instead of Gnome-Console. Investigations: * Do C-i remapping in tmux config, but that affects Tab. * No solution for PuTTY yet.
| ... | ... |
@@ -39,15 +39,16 @@ nnoremap <C-l> <C-w>l |
| 39 | 39 |
" clear search highlights |
| 40 | 40 |
nnoremap <cr> :noh<cr><cr> |
| 41 | 41 |
|
| 42 |
-" tmux in Alacritty doesn't send C-i, so I have Alacritty map C-i to <leader>i |
|
| 42 |
+" tmux 3.2+ doesn't send C-i, so have Alacritty iTerm2 map C-i to <leader>i |
|
| 43 |
+" iTerm2: Settings > Keys > Key Bindings > + > Shortcut:^i Action:Send Text "\i" |
|
| 43 | 44 |
nnoremap <leader>i <C-i> |
| 44 |
-" Use (Shift-)Tab to switch buffers if Tab different than C-i (usually not in tmux). |
|
| 45 |
+" Use (Shift-)Tab to navigate buffers, retain C-i/C-o for jumps. |
|
| 45 | 46 |
" Test with this: |
| 46 | 47 |
" nvim -Nu NONE +'nno <C-i> :echom "C-i pressed"<cr>' +'nno <tab> :echom "Tab pressed"<cr>' |
| 47 |
-if stridx(expand($TERM), 'xterm') == 0 |
|
| 48 |
+"if stridx(expand($TERM), 'xterm') == 0 |
|
| 48 | 49 |
nnoremap <C-i> <C-i> |
| 49 | 50 |
nmap <Tab> :bn<cr> |
| 50 |
-endif |
|
| 51 |
+"endif |
|
| 51 | 52 |
nnoremap <S-Tab> :bp<cr> |
| 52 | 53 |
|
| 53 | 54 |
set t_Co=256 |
| ... | ... |
@@ -48,12 +48,16 @@ nnoremap <C-l> <C-w>l |
| 48 | 48 |
" clear search highlights |
| 49 | 49 |
nnoremap <cr> :noh<cr><cr> |
| 50 | 50 |
|
| 51 |
-" Shift-Tab switches to prev buffer |
|
| 52 |
-" (Not remapping Tab because Ctrl-i in use as 'go to next jump pos') |
|
| 51 |
+" tmux 3.2+ doesn't send C-i, so have Alacritty iTerm2 map C-i to <leader>i |
|
| 52 |
+" iTerm2: Settings > Keys > Key Bindings > + > Shortcut:^i Action:Send Text "\i" |
|
| 53 |
+nnoremap <leader>i <C-i> |
|
| 54 |
+" Use (Shift-)Tab to navigate buffers, retain C-i/C-o for jumps. |
|
| 53 | 55 |
" Test with this: |
| 54 |
-" vim -Nu NONE +'nno <C-i> :echom "C-i pressed"<cr>' +'nno <tab> :echom "Tab pressed"<cr>' |
|
| 55 |
-""nnoremap <C-i> <C-i> |
|
| 56 |
-""nmap <Tab> :bn<cr> |
|
| 56 |
+" nvim -Nu NONE +'nno <C-i> :echom "C-i pressed"<cr>' +'nno <tab> :echom "Tab pressed"<cr>' |
|
| 57 |
+"if stridx(expand($TERM), 'xterm') == 0 |
|
| 58 |
+ nnoremap <C-i> <C-i> |
|
| 59 |
+ nmap <Tab> :bn<cr> |
|
| 60 |
+"endif |
|
| 57 | 61 |
nnoremap <S-Tab> :bp<cr> |
| 58 | 62 |
|
| 59 | 63 |
" Use yy to yank a whole line, use Y to yank to end of line like C and D |
| 60 | 64 |