2012-03-15 30 views
16

Tôi đang sử dụng plugin này để phát hiện PEP 8-lỗi và cảnh báo trong Vim: http://www.vim.org/scripts/script.php?script_id=3430Cài đặt cấu hình cho plugin Vim PEP-8 để bỏ qua lỗi và cảnh báo?

Tôi muốn bỏ qua vài lỗi và cảnh báo như E501 & W601 được đưa ra trong các công cụ phụ trợ pep8: http://pypi.python.org/pypi/pep8

Khi Tôi đã xem mã plugin, tôi có thể thấy nó có hỗ trợ cho điều này:

from pep8checker import Pep8Checker 

args = vim.eval('string(g:pep8_args)') 
select = vim.eval('string(g:pep8_select)') 
ignore = vim.eval('string(g:pep8_ignore)') 

if select: 
    args = args + ' --select=%s' % select 

if ignore: 
    args = args + ' --ignore=%s' % ignore 

pep8_checker = Pep8Checker(cmd, args) 

Nhưng làm cách nào để sử dụng?

Trả lời

11

Bạn cần đặt biến số g:pep8_ignore; bạn nên đặt nó trong vimrc của bạn.

let g:pep8_ignore="E501,W601" 
+0

Cảm ơn! Nó đã làm việc. – baijum

26

Đối với những folks rằng vấp ngã trên câu hỏi này và câu trả lời ở trên không hoạt động, đây là một số giải pháp cho các plugins Vim Python khác:

Đối Syntastic:

let g:syntastic_python_checker="flake8" 
let g:syntastic_python_checker_args="--ignore=E501,W601" 

UPDATE: mới hơn các phiên bản của Syntastic sử dụng thay thế này:

let g:syntastic_python_checkers=["flake8"] 

Cho python-mode:

let g:pymode_lint_ignore="E501,W601" 

Đảm bảo chúng được đặt trước khi Tác nhân gây bệnh hoặc Vundle được kích hoạt.

+0

cảm ơn @robbrit! siêu hữu ích .. Tôi chỉ kích hoạt một số cấu hình 'python-mode', và đây chỉ là những gì tôi cần – Bodhi

+1

Đối với những người sử dụng chế độ python, câu trả lời của @ robbrit,' let g: pymode_lint_ignore = "E501, W601" ' lừa cho tôi. Các vim pymode giúp tôi hướng tới một cái gì đó khác. – CivFan

+0

QUÝ VỊ LÀ NGƯỜI! Cảm ơn. Câu trả lời này xứng đáng với huy hiệu cho câu hỏi này! –

9

Sau khi thử tất cả các giải pháp của robbrit và phát hiện ra rằng không có giải pháp nào phù hợp với tôi, tôi đọc một số tài liệu về Syntastic. Để chuyển args tới một checker, bạn cần biết một vài thứ. Sau đây là cú pháp lệnh:

let g:syntastic_python_checkers=["<checker_type>"] 

let g:syntastic_<filetype>_<checker_name>_args="--ignore=E501,W601,..." 

Điều này có nghĩa rằng nếu bạn sử dụng flake8, bạn sẽ viết:

let g:syntastic_python_checkers=["flake8"] 
let g:syntastic_python_flake8_args="--ignore=E501,W601" 

Hy vọng điều này sẽ giúp người tránh lứa tuổi chi tiêu cố gắng để con số này ra như tôi đã làm.

+0

Cảm ơn. Chỉ cần cho thông tin, hãy chắc chắn sử dụng 'let g: syntastic_python_checkers = [" flake8 "]' đầu tiên, như đã đề cập bởi robbrit. –

+0

Cảm ơn rất nhiều .. thông tin này nên nổi bật hơn – noli

+0

Cảm ơn bạn. Nó cuối cùng cũng làm việc cho tôi. – nos

Các vấn đề liên quan