我试图从VIM中的选项卡切换到另一个选项卡(它可能与前一选项卡不相邻)。是否有任何快捷方式,就像我们按Ctrl - p/按Ctrl - ñ切换到相邻的标签?切换到VIM中的特定选项卡
另外,我试图编写一个键映射,它将给一个变量作为函数的输入并执行操作。例如,假设我按Ctrl - 并且函数(由用户编写)将被调用并作为输入5给出,并且光标将转到标签5(如果有任何第五个标签打开)。
你可以请建议如何做到这一点?
我试图从VIM中的选项卡切换到另一个选项卡(它可能与前一选项卡不相邻)。是否有任何快捷方式,就像我们按Ctrl - p/按Ctrl - ñ切换到相邻的标签?切换到VIM中的特定选项卡
另外,我试图编写一个键映射,它将给一个变量作为函数的输入并执行操作。例如,假设我按Ctrl - 并且函数(由用户编写)将被调用并作为输入5给出,并且光标将转到标签5(如果有任何第五个标签打开)。
你可以请建议如何做到这一点?
使用5gt
切换到片5
:tabn [EXT] {COUNT}
{计数} GT
转到标签页{计数}。第一个标签页有第一个。
你也可以把它绑定到一个键:
:map <C-5> 5gt
:imap <C-5> <C-O>5gt
(映射Ctrl-<number>
可能是不同的/不可能针对一些终端考虑Alt-<number>
即可。)
应对只有你的第一个问题,并引述 in vim:
{count}gt Go to tab page {count}. The first tab page has number one.
{count}gT Go {count} tab pages back. Wraps around from the first one
to the last one.
即,打字3gt
转到第三个选项卡,3gT
从当前选项卡返回3个选项卡。
不完全。 3gt移动到第三个标签,而不是3个标签向前 – 2010-01-05 10:11:20
urgh。这真糟糕。 – 2010-01-05 10:14:27
要让'3gt'移动到第三个标签,请执行'nnoremap gt:normal! gt
只是为了共享键映射直接跳转到特定的选项卡。请将它们放入_vimrc并使其工作。
" Jump to particular tab directly
"NORMAL mode bindings for gvim
noremap <unique> <M-1> 1gt
noremap <unique> <M-2> 2gt
noremap <unique> <M-3> 3gt
noremap <unique> <M-4> 4gt
noremap <unique> <M-5> 5gt
noremap <unique> <M-6> 6gt
noremap <unique> <M-7> 7gt
noremap <unique> <M-8> 8gt
noremap <unique> <M-9> 9gt
noremap <unique> <M-0> 10gt
"INSERT mode bindings for gvim
inoremap <unique> <M-1> <C-O>1gt
inoremap <unique> <M-2> <C-O>2gt
inoremap <unique> <M-3> <C-O>3gt
inoremap <unique> <M-4> <C-O>4gt
inoremap <unique> <M-5> <C-O>5gt
inoremap <unique> <M-6> <C-O>6gt
inoremap <unique> <M-7> <C-O>7gt
inoremap <unique> <M-8> <C-O>8gt
inoremap <unique> <M-9> <C-O>9gt
inoremap <unique> <M-0> <C-O>10gt
这应该被分成两个单独的问题,所以你可以接受两个不同的问题的两个单独的答案。 – 2010-01-05 10:05:36
@James,要知道这是否有两个问题,应该知道是否存在切换到第N个选项卡的内置函数。 ;-) – 2010-01-05 10:16:23
感谢您的所有答案。但是,如何编写一个接受变量输入的函数。 写 nmap的TT:执行tabnew 似乎很容易 但如何绑定:执行tabnew x(其中x是变量)一键可以做什么? –
Sumit
2010-01-05 10:22:32