119

I've just started using the NERDTree vim plugin for my project.

I can't find the documentation for switching between opened tabs. Can anyone tell me the shortcut key[s] ?

Thanks...

Pierz
  • 7,064
  • 52
  • 59
Rimian
  • 36,864
  • 16
  • 117
  • 117
  • 1
    Note: The tabs functionality is a standard feature of vim (since version 7) - though NERDTree happens to put them to good use – Pierz May 07 '13 at 10:14
  • I use macvim, which can use cmd+number to switch between many tabs and it's very convenient! For example press cmd+1 jump to tab1, cmd+5 jump to tab5 – JZAU Nov 27 '13 at 03:31

10 Answers10

230

An additional option (and my personal choice)beyond the ones listed by Michael Madsen:

gt = next tab

gT = previous tab

Chad Birch
  • 73,098
  • 23
  • 151
  • 149
41

I like to bind my vim navigation keys to switching between tabs. Here are the lines from my .vimrc file:

map  <C-l> :tabn<CR>
map  <C-h> :tabp<CR>
map  <C-n> :tabnew<CR>

That way, I can switch between tabs using the left and right buttons just like I normally would move the cursor, except I just hold the Control key as well.

  • Control+l moves to the next tab
  • Control+h moves to the previous tab
  • Control+n creates a new tab
Brian Riehman
  • 27,020
  • 2
  • 24
  • 17
  • interesting. this will certainly com in handy. is it possible to change the mapping for VIM navigation commands like the difficult to hit SHIFT+$ ? –  Jul 14 '10 at 01:43
  • Are you referring to moving to the end of the line? If so, a simple command can do this 'map $' or something similar. – Brian Riehman Jul 14 '10 at 18:43
16

A quick check in :h tabs reveals it's CTRL-Page Down to cycle between tabs. You can also use the :tabnext command (:tabn for short).

Michael Madsen
  • 54,231
  • 8
  • 72
  • 83
  • 1
    Neither `Ctrl` button works when vim is run in terminal an using terminal tabs. If not using terminal tabs then either `Ctrl` works – kapad Nov 06 '13 at 12:28
12

I use iTerm on the mac, and I like being able to switch to the next/previous tabs using Shift-[left arrow key] and Shift-[right arrow key]

From my .vimrc, here's how to do the same thing in MacVim;

  map <S-Right> :tabn<CR>
  map <S-Left>  :tabp<CR>

FYI, by default, the key combos Cmd-Shift-[ and Cmd-Shift-] will switch between tabs in MacVim (and in Google Chrome, Safari and probably a bunch of other stuff)

digitalronin
  • 636
  • 6
  • 18
9

Ctrl + ww cycle though all windows

Ctrl + wh takes you left a window

Ctrl + wj takes you down a window

Ctrl + wk takes you up a window

Ctrl + wl takes you right a window

7

my settings

map <F2> :NERDTreeToggle<cr>
map <C-Right> :tabn<cr>
map <C-Left> :tabp<cr>
iBet7o
  • 758
  • 8
  • 9
7

To enable Tab navigation like firefox add this to your vimrc:

nnoremap <C-S-tab> :tabprevious<CR>
nnoremap <C-tab>   :tabnext<CR>
nnoremap <C-t>     :tabnew<CR>
inoremap <C-S-tab> <Esc>:tabprevious<CR>i
inoremap <C-tab>   <Esc>:tabnext<CR>i
inoremap <C-t>     <Esc>:tabnew<CR>
inoremap <C-S-w>   <Esc>:tabclose<CR>

Also this come in handy Use <A-Fn> to go to the nth tabpage

nnoremap <A-F1> 1gt
nnoremap <A-F2> 2gt
nnoremap <A-F3> 3gt
nnoremap <A-F4> 4gt
nnoremap <A-F5> 5gt
nnoremap <A-F6> 6gt
nnoremap <A-F7> 7gt
nnoremap <A-F8> 8gt
nnoremap <A-F9> 9gt
nnoremap <A-F10> 10gt 

Where,

  C --> ctrl key
  S --> Shift key
  A --> Alt key
  F1-10 --> Are the function keys

NOTE: Alt + f4 is usually used for closing of the windows. So check for that. If problem persists you can always map Ctrl or Shift key instead of Alt key, or use some combination of these.

Prabhat Kumar Singh
  • 1,711
  • 15
  • 20
7

'{TabNumber} + gt' will allow you toggle to tab {TabNumber}.

For example, going to tab 1 will be keying '1' followed by 'g' and 't'.

The tab number is incremental from 1 left to right.

Unheilig
  • 16,196
  • 193
  • 68
  • 98
Xu Chen
  • 407
  • 4
  • 10
3

Adding to digitalronin's answer, I think that the primary browser shortcut (at least in Chrome and Firefox) for switching tabs is option+command+right or left arrow.

If you want to keep your NERDTree Vim setup consistent with that, then this variation would work.

 map <D-A-Right> :tabn<CR>
 map <D-A-Left>  :tabp<CR>
sq1020
  • 1,000
  • 2
  • 9
  • 15
1

You can configure vim to switch between tabs using Ctrl + arrow keys.

Ctrl + arrow will switch to tab that is on the left of current tab.

Ctrl + arrow will switch to tab that is on the right of current tab.

To achieve above behaviour update your vimrc with following lines:

nnoremap <C-Left> :tabprevious<CR>
nnoremap <C-Right> :tabnext<CR>

Reference: Using vim tab pages

ABN
  • 1,024
  • 13
  • 26