我有一个疯狂的小挑战。我想重新映射制表符并将+ tab移到vim中的基本制表符完成。下面是我起步的地方:在vim中重新映射制表符完成
set completeopt=
inoremap <tab> <C-n>
inoremap <S-tab> <C-p>
这没有任何影响的,同时我也意识到这可能会搞乱了我的片段插件。我去google搜索,发现这个:http://vim.wikia.com/wiki/Smart_mapping_for_tab_completion,但没有实施任何建议的运气。
我想映射到选项卡并移动+选项卡,而不会丢失片段功能。任何帮助将摇滚!
更新:我也尝试过,现在运气好。它没有可感知的效果。
fu! InsertTabWrapper(direction)
let char_before = col('.') - 1
if !char_before || getline('.')[char_before - 1] !~ '\k'
return "\<tab>"
elseif "backward" == a:direction
return "\<c-p>"
else
return "\<c-n>"
endif
endfu
inoremap <tab> <c-r>=InsertTabWrapper("forward")<cr>
inoremap <s-tab> <c-r>=InsertTabWrapper("backward")<cr>
说在一个php/java/c文件中,你有“虽然它被称为”在评论中,然后你键入'wh',你想要什么? 'while'?或'while循环片段'? –
Kent
2013-03-26 17:17:17
while循环片段。这对我来说不是很常见,但我希望片段优先。 – Costa 2013-03-26 17:29:32