鶏頭のプログラム

Ruby, Javascript, C言語, SQLなどのプログラミング

Vimのタブの番号

vimのタブ機能は非常に便利です。
vimのコマンドモード中に

:tabnew

と入力し実行すると、新しいタブが開きます。
タブ間の移動は gt やgT を使用するという非常に便利な機能なわけですが
タブが多く開いている状態だとひとつひとつ移動するのは面倒になります。
というわけでタブに番号を降るように
t1, t2などでタブを移動できるよう .vimrc ファイルに設定します。
(1gt, 2gt, 3gt.. のようにタブの移動は可能)
参考 :
vimのすごい便利なのにあまり使われていない「タブページ」機能 - Qiita

function! s:SID_PREFIX()
        return matchstr(expand('<sfile>'), '<SNR>\d\+_\zeSID_PREFIX$')
endfunction

function! s:my_tabline()  "{{{
        let s = ''
        for i in range(1, tabpagenr('$'))
                let bufnrs = tabpagebuflist(i)
                let bufnr = bufnrs[tabpagewinnr(i) - 1]  " first window, first appears
                let no = i  " display 0-origin tabpagenr.
                let mod = getbufvar(bufnr, '&modified') ? '!' : ' '
                let title = fnamemodify(bufname(bufnr), ':t')
                let title = '[' . title . ']'
                let s .= '%'.i.'T'
                let s .= '%#' . (i == tabpagenr() ? 'TabLineSel' : 'TabLine') . '#'
                let s .= no . ':' . title
                let s .= mod
                let s .= '%#TabLineFill# '
        endfor
        let s .= '%#TabLineFill#%T%=%#TabLine#'
        return s
endfunction "}}}
let &tabline = '%!'. s:SID_PREFIX() . 'my_tabline()'
set showtabline=2
nnoremap    [Tag]   <Nop>
nmap    t [Tag]

map <silent> [Tag]c :tablast <bar> tabnew<CR>

以上でタブ移動が非常に楽になります。
tc コマンドを入力すると新しいタブを開くというのはついでにつけておきました。