Here is an alternative way to open and navigate tabs in Vim 7. Add the following to your vimrc:
" tab navigation like firefox :nmap <C-S-tab> :tabprevious<CR> :nmap <C-tab> :tabnext<CR> :map <C-S-tab> :tabprevious<CR> :map <C-tab> :tabnext<CR> :imap <C-S-tab> <Esc>:tabprevious<CR>i :imap <C-tab> <Esc>:tabnext<CR>i :nmap <C-t> :tabnew<CR> :imap <C-t> <Esc>:tabnew<CR>
You can open a new tab with ctrl-t, go forward through the tabs with ctrl-tab and backwards with ctrl-shift-tab.
This way of navigating resembles the way it is done in Firefox.
Comments Edit
Mine:
map th :tabfirst<CR> map tj :tabnext<CR> map tk :tabprev<CR> map tl :tablast<CR> map tt :tabedit<Space> map tn :tabnext<Space> map tm :tabm<Space>
They are quite like the mappings below, by leading the combinations with the easily-reached/rarely-used "t" key. I use "hjkl" to navigate as they are "left/down/up/right" for vi users. "jk" (down/up) match the directions when using a mouse to scroll through tabs, and "hl" (left/right) stand for leftmost/rightmost tabs.
I ended up with:
map th :tabnext<CR> map tl :tabprev<CR> map tn :tabnew<CR> map td :tabclose<CR>
For something like gnome-terminal tab-related key shortcuts:
:nmap <C-S-t> :tabnew<CR> :imap <C-S-t> <Esc>:tabnew<CR> :imap <C-S-w> <Esc>:tabclose<CR>
Didn't exactly work in Windows' gvim. Had to put it into _gvimrc, like this:
:map <C-S-tab> :tabprevious<CR> :map <C-tab> :tabnext<CR> :map <C-t> :tabnew<CR>
Why not add Ctrl-w to close tabs?
:map <C-w> :tabclose<CR>
A: because <Ctrl-w> is the start of the window commands - like <C-w>n for new window...
I just use the way that Vim provides and it work well:
- gt for tabnext
- gT for tabprevious
Try
:map <S-h> gT :map <S-l> gt
That way you can hold down the shift key while you scroll left and right through the tabs with 'h' and 'l'.
<C-tab> , <C-S-tab> don't work on Eterm, aterm, xterm
We can use <C-PageDown> and <C-PageUp> instead of <C-tab> and <C-S-tab>
This's the default way in Vim 7. By the way, this also work on Firefox.
This tip is really good. But the key sequences used for switching/creating the tabs is clashing with other features of Vim. For example:
- CTRL+T is used for jumping to previous tags [exuberant ctags].
- CTRL+W is used for jumping to next split window in multiple windows
- CTRL+TAB is captured by KDE itself to switch workspaces.
Can you give a nice key combinations which will work with all these features ?. I know tabs is a new feature of vim7. But this script can become awesome if worked properly on.
Vim 7 already has <C-PageUp> and <C-PageDown> to cycle through tabs. To open and close them I added
nmap <C-Insert> :tabnew<CR> nmap <C-Delete> :tabclose<CR>
(not for insert or visual mode because they do something else then).
I know that Z and X both perform functions in normal mode, but I never use them, so I just mapped:
:nmap Z :tabprev<CR> :nmap X :tabnext<CR>
That way shift-z and shift-x takes me forward and backward. It's a lazy, ergonimic one hand solution.
I found this tip
autocmd VimEnter * tab all autocmd BufAdd * exe 'tablast | tabe "' . expand( "<afile") .'"'
I neglected to RTFM. The key combination is <tab number>gt. Here's a handy alternative to switch to tab-N by pressing Alt-FN
map <A-F1> 1gt map <A-F2> 2gt map <A-F3> 3gt map <A-F4> 4gt map <A-F5> 5gt map <A-F6> 6gt map <A-F7> 7gt map <A-F8> 8gt map <A-F9> 9gt map <A-F0> 10g
I found <C-tab> wasn't picked up on the Solaris machine I was working on, so I used function keys.
:map <F9> :tabnew <CR> :map <F10> :tabclose <CR> :map <F11> :tabprevious <CR> :map <F12> :tabnext <CR> :nmap <F9> :tabnew <CR> :nmap <F10> :tabclose <CR> :nmap <F11> :tabprevious <CR> :nmap <F12> :tabnext <CR> :imap <F9> :tabnew <CR> :imap <F10> :tabclose <CR> :imap <F11> :tabprevious <CR> :imap <F12> :tabnext <CR> " F10 = VMS for exit ;-)
Reference:
http://vim.wikia.com/wiki/Alternative_tab_navigation
No comments:
Post a Comment