用h和l打开文件

时间:2013-04-29 17:35:19

标签: vim

所以我在vimrc中有以下几行,用jk滚动自动完成。

" Making autocompletion work with jk
inoremap <expr> j ((pumvisible())?("\<C-n>"):("j"))
inoremap <expr> k ((pumvisible())?("\<C-p>"):("k"))

我想知道是否有办法使用:tabe<Tab>h滚动浏览l个建议?这对我来说似乎是最自然的,但是我还没有找到任何关于如何做到的事情。

2 个答案:

答案 0 :(得分:1)

使用命令行完成时,无论是否使用wildmenu以及为wildmode设置的值,您的光标都会停留在命令行中,并且您插入的任何可打印字符都包含在内,包括当然,hl

考虑到这一点,你真的认为放弃在命令行中插入hl的能力是明智的吗?

如果您不喜欢<Tab>,可以尝试wildchar选项,但无法删除或替换<C-n> / <C-p>和箭头

此外,命令行完成是一项通用功能,不仅限于:tabe:tabe是一个红鲱鱼,在这里。

答案 1 :(得分:0)

重新映射hl对我来说很奇怪。它们非常有用,至少你需要它来编写,输入命令等......

如果您想要一个简单的自动完成提示,您应该在vimrc中添加这些行:

set wildmenu
set wildmode =list:longest,list:full 

然后添加SuperTab功能,它允许您使用Tab自动完成,并使用Tab导航到菜单。这是代码:

imap <Tab> <C-R>=SuperTab()<CR> 


function! SuperTab()
if (strpart(getline('.'),col('.')-2,1)=~'^\W\?$')
  return "\<Tab>"
else
  return "\<C-n>"
endif
endfunction

希望它有所帮助!