I'd like to map Ctrl-TAB
to gt
in Vim so that I can switch tabs with one keystroke.
I tried...
nmap <C-T> 开发者_高级运维gt
nmap <C-Tab> gt
nmap <C-TAB> gt
That didn't work. How do you say "the tab key" in Vimese?
It can be mapped in gvim, but terminals don't see a difference between <Tab>
and <C-Tab>
.
You can't. Tab is already a control key, <C-i>
.
It works on gVim. Just add this at the end of your ~/.gvimrc file:
" Add keyboard shortcuts
map <C-Tab> gt
map <C-S-Tab> gT
I use the mintty
terminal in cygwin
. This terminal has an option of using ctrl-tab
to cycle between the various instances of cygwing or alternatively, you can use to go to the next or previous screen
window (so ctrl-tab
does the same as ctrl-a+n
and s-ctrl-tab
does the same as ctrl-a+p
. This last behavior is very convenient in my opinion.
Check
Using_Ctrl+Tab_to_switch_session_in_GNU_Screen
git-bash (mintty)
First, disable the Switch window option in Options > Keys. Then you can use the following maps.
Note: you cannot simply copy and paste these into your .vimrc
. Instead, where ^[[1;6I
is, you need to press Ctrl-V
while in insert mode and then type Ctrl-Shift-Tab
. The same goes for ^[[1;5I
and Ctrl-Tab
.
nnoremap ^[[1;6I :tabprevious<CR>
nnoremap ^[[1;5I :tabnext<CR>
inoremap ^[[1;6I <Esc>:tabprevious<CR>
inoremap ^[[1;5I <Esc>:tabnext<CR>
If you are on a mac, then you can use Karabiner to remap keys. Here is how you can do it in steps:
- Open Karabiner preferences > Misc & Uninstall tab, click "open private.xml" to open it in editor of choice
Inside the
<root>
node add the following configuration<item> <name>c-tab to s-tab LEFT</name> <identifier>private.ctabtostabl</identifier> <autogen> __KeyToKey__ KeyCode::TAB, ModifierFlag::CONTROL_L, KeyCode::TAB, ModifierFlag::SHIFT_L </autogen> </item> <item> <name>c-tab to s-tab RIGHT</name> <identifier>private.ctabtostabr</identifier> <autogen> __KeyToKey__ KeyCode::TAB, ModifierFlag::CONTROL_R, KeyCode::TAB, ModifierFlag::SHIFT_R </autogen> </item>
After saving the xml file, go back to Karabiner preferences, this time to "Change Key" tab, push the "Reload XML" button, and check the newly minted options. Now your control-tab should become shift-tab!
This worked for me in MacVim
:map <C-Tab> gt
It works in command mode. Not in Edit mode.
It does not work in vim in my terminal.
I got this working with Konsole 19.12.3. Here's how:
- Menu-bar -> Settings -> Configure Keyboard Shortcuts
- Delete the existing keybinds for Ctrl+Shift+Tab and Ctrl+Tab by binding them to "None"
- Menu-bar -> Settings -> Profiles -> Edit -> Keyboard -> Edit
- Bind
Backtab+Ctrl+Ansi
(or probably just Backtab+Ctrl-Ansi if you have a non-ANSI keyboard) to\E[27;6;9~
. Use the test area to confirm that the binding is working; it should echo the sequence above. Delete any binding that conflicts with it. - Bind
Tab+Ctrl+Ansi
(or non-ANSI equivalent) to\E[27;5;9~
. - In your .vimrc add your bindings in the form of:
nnoremap <C-Tab> :tabn<CR>
andnnoremap <C-S-Tab> :tabp<CR>
精彩评论