我已经看过在Vim中使用制表符的能力(用:tabe,:tabnew等)作为我当前在隐藏缓冲区中在同一窗口中打开许多文件的做法的替代.
我希望我打开的每个不同文件始终位于其自己的选项卡中.但是,有些事情会妨碍这一点.我该如何解决这些问题:
当命令喜欢gf并^]跳转到另一个文件中的某个位置时,该文件将在当前选项卡的新缓冲区中打开.有没有办法让所有这些命令在新选项卡中打开文件,或者如果文件已经打开则切换到现有选项卡?
当我可以使用切换缓冲区时
:b <part of filename><tab>
,它将完成现有缓冲区中文件的名称.<part of filename>甚至可以是文件名的中间而不是开头.是否有相应的切换标签?
我不懂缓冲区.当我在同一个选项卡上打开3个文件并关闭我的窗口时,我一般都很恼火地发现下次打开其中一个文件时,有一些奇怪的交换文件挥之不去,给我一些麻烦的消息.但是我一次又一次地读到这些东西是我错过的生产力必杀技,而且这些标签是为了让平民使用.
所以我问你,Vim专家:在标签上使用缓冲区有什么好处?我不知道差异有多大差别,但我认为自己只是在初级中级水平上操作Vim.是:ls :b#真的速度远远超过gt荷兰国际集团在吗?我觉得它必须比这更深入.
当我使用 4 个文件时,所有文件都在选项卡(VIM)中打开。我想保存更改并编译它而不必关闭选项卡,即我想在新选项卡中打开一个终端以及现有的 4?
我应该如何在 VIM 中做到这一点?
我主要在网站上工作,有时我需要为后端显示 3 或 4 个缓冲区,同时为前端显示 3 或 4 个缓冲区。标签在这里,但缓冲区是混合的。我知道我有点挑剔,但有没有办法从 tab 创建缓冲区“集合”?它可以通过选项卡限制打开的缓冲区数量,并且更容易从一个(缓冲区)切换到另一个。
在vim中映射键时如何使用变量?我想解决的具体问题如下.我需要这些键映射:
nnoremap <C-1> 1gt
nnoremap <C-2> 2gt
nnoremap <C-3> 3gt
... and so on.
Run Code Online (Sandbox Code Playgroud)
我可以指定一个映射; 就像是
nnoremap <C-x> xgt
Run Code Online (Sandbox Code Playgroud)
其中x取压键的值(可以是1..9)
谢谢.
编辑1:由于Peter Rincker,解决方案(尚未完成)
我可以使用这个功能
function gotoTab(num)
execute "normal" a:num."gt"
endfunction
Run Code Online (Sandbox Code Playgroud)
如果我:call goToTab(3),它会转到标签3.
如何将Command-x(Dx)映射到goToTab(x),其中x介于1..9之间.如何从Command-x印刷机读取数字?
我想重新映射q和q!.这是我正在尝试的:
cnoremap q :call TabCloseLeft('q')
cnoremap q! :call TabCloseLeft('q!')
这适当地重新映射:q但不捕获:q!.我已经阅读了各种帮助部分,但我显然忽略了一些东西.
我在推出vim时打开NERDTree和MiniBufExplorer,所以我有三个窗口.每当我使用上述插件时,文件/缓冲区都会显示在正确的窗口中,这是最初的窗口.但是每当我使用命令这样:e ~/.vimrc的命令工作在包含光标的窗口时.这意味着我必须始终记住将光标移动到用于编辑的窗口.我想知道是否有办法让命令在该窗口上工作,无论光标在哪里,或者文件缓冲区是否会自动出现在该窗口中?
我正在寻找一种方法让光标移动到右侧窗口时:(或者我可以使用的其他一些键)被按下,但是我无法找到方法,因为无法识别窗口(或者是否存在?).
我使用NERDTree已有一段时间了,我喜欢它。
就像在浏览器和许多其他应用程序中一样,我使用CTRL + PgDn / PgUp来切换选项卡。
我缺少的功能是,因为大多数应用程序都支持,所以可以使用CTRL + SHIFT + PgDn / PgUp切换两个选项卡的位置。要知道我在说什么,请在Chrome或Firefox中打开许多标签,然后按CTRL + SHIFT + PgDn
有什么帮助吗?谢谢!