要在不安装任何插件的情况下在缓冲区之间切换,一个好方法是输入
:b <tab>
它在状态栏中显示所有当前缓冲区名称,您可以使用光标键选择一个并输入。
但是:b <tab> 是 5 次击键,我想将其映射到 <leader>。
但以下设置不起作用。
:nnoremap <Leader>. :b <Tab>
它在状态栏中显示“:b ^I”但实际上并没有在状态栏上打开缓冲区名称。
有人知道为什么吗?
答案1
您需要设置wildcharm
。尝试以下操作:
set wildcharm=<Tab>
nnoremap <leader>. :b <Tab>
至少在这里这是可行的。
答案2
<tab>
我认为这与不是一个真正的论点有关:b
。
如果您放下标签,nnoremap <leader>. :b<space>
您就可以点击<tab>
来获取菜单。
您只需按 3 次键即可调出菜单,但您可能仍需要按<tab>
更多次键来选择正确的缓冲区并点击<CR>
。如果您想要第一个缓冲区,则至少需要按 4 次键,这相当不错,但如果您想要第 7 个或第 12 个缓冲区怎么办?
我可以建议另一种方法吗?
nnoremap <leader>. :ls<CR>:b<Space>
:ls
通过此映射,将显示缓冲区列表 ( ) 并:b
启动命令,等待缓冲区编号作为参数。,.5<CR>
无论您想跳转到哪个缓冲区,都需要 4 次击键 ( )(当然,如果您有 10 个或更多缓冲区,则需要 5 次击键,但您明白我的意思)。
我不知道除了映射单个键(如或其他)之外如何使它变得更短<F11>
。