2012-05-01 35 views
1

讓說我有在menu.vim裏這個功能:高亮和功能

function! s:Test() 
    let search = '\d\+' 
    let @/ = search 
    return "normal n" 
    endfunction 

爲什麼不這樣突出搜索匹配?
只有在命令行中執行:set hls之後,它纔會突出顯示。
當我按下鍵盤上的n鍵時,它也會突出顯示。
如果我把同一行(:set hls)放在函數中不起作用。
在我的VIM中啓用了BTW突出顯示。
它突出顯示罰款,如果我使用命令行。

+0

你怎麼叫它? – mihai

+1

米哈伊':調用測試()' – Reman

+0

難道你指望它當函數的最後一行改爲'規範它的工作N'!? –

回答

1

這種行爲實際上可能在手冊中:help functions-search-undo下描述的,但目前還沒有任何解決方法的記載。

最近使用的搜索模式和重做命令「」該功能不會改變 。這也意味着當函數返回時, :nohlsearch的效果被撤消。

:nohlsearch的文件也提到這一點:

此命令不會在自動命令工作,因爲 執行自動命令 autocmd-searchpat當高亮狀態保存和恢復。 調用用戶函數時也是如此。

+0

謝謝,但我無法想象沒有解決方案。當我按下鍵盤上的'n'鍵時,激活突出顯示。爲什麼不能這樣做?我認爲必須以某種方式解決問題。 – Reman