skywind3000 / vim-auto-popmenu

:sunglasses: Display the Completion Menu Automantically (next AutoComplPop) !!
MIT License
270 stars 37 forks source link

Tab键map不太恰当 #7

Open mingsxs opened 3 years ago

mingsxs commented 3 years ago

对于可以进行补全的情况,Map 成 \是make sense的,但是补全完成之后需要转换成tab模式,比如 whi-->while,补全成功,此时再按tab键应该是插入tab,但是脚本还是会被转成 \,导致无法插入。 另外一种情况是随便输入一个无法在词典中匹配的单词,即无法进行弹窗补全时,按tab完全无效,无法插入tab。 最好是加一个on_tab函数,判断是否正在进行补全(pumvisible), 或者前一个word 刚刚补全成功,或者此时expand的cword在dict中没有匹配,也就是无法进行弹窗补全,在这三种情况下不要转换tab比较好。感谢大佬。

skywind3000 commented 3 years ago

第二种情况,自己手动 c-n 吧

skywind3000 commented 3 years ago

while{光标}(tab)

这种情况,我用的 ycm 也没有处理啊。

mingsxs commented 3 years ago

第二种情况,自己手动 c-n 吧

这是想要补全完成,再按tab可以插入tab,现在还不能插入,也就是我举得那个情况,补全whi-->while,然后再按tab就没反应了,因为它一直再\

mingsxs commented 3 years ago

while{光标}(tab)

这种情况,我用的 ycm 也没有处理啊。

要是可以实现的话,我觉得会更好呀。

wendx commented 3 years ago

我也遇到类似问题,请教: 1、比如输入abc,此时有可以补全的项,但是我不想补全,我想输入tab该如何操作? 2、输入xyz,没有补全项,我想输入tab,但是输入不了。

draftman9 commented 2 years ago

let g:apc_enable_tab = get(g:, 'apc_enable_tab', 0) " not remap tab 加入vimrc中,可取消tab在该插件的补全功能。

wendx commented 2 years ago

let g:apc_enable_tab = get(g:, 'apc_enable_tab', 0) " not remap tab 加入vimrc中,可取消tab在该插件的补全功能。

意思是不用tab选择补全项,用上下键头来选择么? 我感觉补全项出来后,按esc键后再取消tab的补全功能会更合理些,如果按了esc后,没有按tab键,又按了其他键,则恢复tab键的补全功能。

draftman9 commented 2 years ago

意思是不用tab选择补全项,用上下键头来选择么? 我感觉补全项出来后,按esc键后再取消tab的补全功能会更合理些,如果按了esc后,没有按tab键,又按了其他键,则恢复tab键的补全功能。

<C-E>取消补全,<C-N>为向下选择,<C-P>为向上选择。