2013-08-01 15 views
4

我已配置python-mode以手動檢查。所以我輸入:PyLint,它檢查我的代碼,顯示「QuickFix」窗口和一些標記。我可以通過在其他窗口中輸入:only關閉QuickFix窗口,但是如何清除側面標記?如何清除Vim的PyLint標記界面?

+0

糾正所有的錯誤,然後重新運行':PyLint'就可以做到這一點,但我不確定這能解決您的問題。 –

+0

不,或當然不是。問題是我無法糾正一個龐大而混亂的文件中的所有錯誤。我重寫了部分內容,並使用'PyLint'來檢查這些部分是否正確。但是當我在文件的其他地方做其他工作時,我需要關閉它們;他們太分心了。 –

+0

做一個':sign unplace *'做你想做的事情嗎? – FDinoff

回答

5

該插件使用標誌來顯示lint錯誤。如果你永遠不想看到他們

let g:pymode_lint_signs = 0 

禁用它們。

如果你想清除它們,AFAICT就沒有這個插件的接口。 (你可以提交增強請求。)但是,應該工作正在清除當前緩衝區的所有跡象都表明:

:sign unplace * buffer=<C-r>=bufnr('')<CR> 

:execute 'sign unplace * buffer=' . bufnr('') 
+0

我現在不能接受這個答案,因爲它太複雜了,vim抱怨命令錯了,':sign unplace *'是我想要的。 –

+1

如果輸入過於複雜,您可以選擇以下幾種選擇:自定義命令,cabbrev,映射......簡單的':sign unplace *'不僅僅是你想要的;它會影響**所有緩衝區**中的所有符號。但如果你能承受後果,那就繼續使用吧。 –

+0

(我的意思是它太複雜了,因爲':sign unplace *'完成了這項工作,但你明確表示它有問題。)Vim仍然抱怨這些命令是錯誤的。當':sign unplace 1 buffer = 1'工作時,':sign unplace * buffer = 1'表示「E474:無效參數」。 –

2

pylint的標記與標牌製作。 (:h :sign

您可以使用

:sign unplace * 

刪除所有緩衝區中的所有跡象。這隻會是一個問題,如果你想要一些緩衝區來保持跡象。

如果您只想刪除當前緩衝區中的符號,則可以使用Ingo Karkat答案的映射。

nnoremap <leader>s :execute 'sign unplace * buffer=' . bufnr('')<CR> 

查看:h :sign-unplace的其他選項。