Vimã§ææ³ãã§ã㯠(pythonç·¨)
以åã«ãâã®ãããªãµãããã¨ã³ããªãæ¸ããã®ã§ãããæè¿ã¯ãã£ã±ãPythonãªã®ã§ãPythonã§Syntaxã¨ã©ã¼ãããæ¸ãæ¹ã®ãã§ãã¯ãããããªã¨æã£ã¦èª¿ã¹ãå 容ããã¹ããã¾ãã
vimで手軽に文法チェック(syntax check) - Study03.net 対シンバシ専用
1. ãã§ãã¯ããããã®ãã¼ã«ãã¤ã³ã¹ãã¼ã«
python ã«ã¯ãphpãperlã®ããã«ãå®è¡æã®ãªãã·ã§ã³ã§syntaxãã§ãã¯ãè¡ã£ã¦ããããããªãã®ã¯ãªãã£ã½ãã§ãã
php -l hoge.php perl -wc hoge.pl ã«ç¸å½ãããã®ã¯pythonã³ãã³ãåä½ã§ã¯ãªãã
ãªã®ã§ãããã¨ä¼¼ããããªäºããã¦ããããã¼ã«ãpipã§ã¤ã³ã¹ãã¼ã«ãã¾ã
ã¤ã³ã¹ãã¼ã«ããã®ã¯å
æ¥ã®ã¨ã³ããªã§ãæ¸ãã以ä¸ã®äºã¤
Mac で Python - Study03.net 対シンバシ専用
pip install pyflakes pip install pep8
pyflakes ã¯ç°¡åã«ææ³ãã§ãã¯ã使ã£ã¦ãªãã¢ã¸ã¥ã¼ã«ãææãã¦ããããã¼ã«ã§ãã
pyflakes hoge.py
ä¸è¨è¨äºãåèã«ããã¦ããã ãã¾ããã
vimでPythonのコードを書いているときにflymake?っぽい感じをだす | hexacosa.net
ããä¸ã¤ã¯pep8ã§ãã Pythonçã«ã¯PEP8ã¨ãã¦ææ¡ããããå ¬å¼ã®ã³ã¼ãã£ã³ã°ã¹ã¿ã¤ã«ã¿ãããªã®ãããã¾ãã¦ããã®ã³ã¼ãã£ã³ã°ã¹ã¿ã¤ã«ã«å¾ã£ã¦ãããã©ããããã§ãã¯ãã¦ããã¾ãã
ä¸è¨è¨äºãåèãã¾ããã
Pythonのコーディングスタイル(PEP8)をコマンドでチェック | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記
2. vim ãã 使ããããã«ããã
ãã®äºã¤ã®ãã¼ã«ãvimãã使ããããã«ãã¾ããããæ¹ã¯åã¨ä¸ç·ã§ãã:makeãã§åããããã¾ã
ã¾ããã.vimrcããç·¨éãã¦ãfile type pluginãã使ããããã«ãã¾ãããã
以ä¸ã®è¡ã.vimrcã«è¿½è¨ãã¦ãã ããã
"filetype plugin filetype on filetype plugin on
ããã¤ãæ¸ããããã.vimããã£ã¬ã¯ããªä»¥ä¸ã«ããftpluginãã¨ãããã£ã¬ã¯ããªãæã£ã¦ããpython.vimãã¨ãããã¡ã¤ã«ãä½ã£ã¦ãã ããã
mkdir ~/.vim/ftplugin touch ~/.vim/ftplugin/python.vim
ä»åº¦ã¯ãpyflakesã¨ãpep8ãåæã«åãããã·ã§ã«ã¹ã¯ãªãããä½ãã¾ãã
touch ~/.vim/ftplugin/python_check.sh
python_check.shã®ä¸èº«ããããªé¢¨ã«ãã¦ãã ããã
#!/bin/sh #required pyflakes ex) pip install pyflakes pyflakes $1 #required pep8 ex) pip install pep8 pep8 $1
ããã©ã¯ãä¸ã§ä½ã£ããpython.vimã«ä¸è¨å 容ã追è¨ãã¦ãã ããã
"syntax check set makeprg=~/.vim/ftplugin/python_check.sh\ % set errorformat=%m\ in\ %f\ on\ line\ %l
ããã§æºåã¯å®äºã§ããå¾ã¯ãé©å½ã«pythonã¹ã¯ãªããã®ãã¡ã¤ã«ãéãã¦
:make
ã¨ãã£ã¦ã¿ã¦ãã ãããä¸è¨ã®ãããªã¨ã©ã¼ã表示ãããã¨æãã¾ãã
:!/Users/tell_k/.vim/ftplugin/python_check.sh flaskr.py 2>&1| tee /var/folders/ 8G/8G-pZZDfFJu82xR1B078vk+++TI/-Tmp-/v744976/2 flaskr.py:39: invalid syntax @ 1app.route('/login', methods=['GET', 'POST']) ^ flaskr.py:20:1: E302 expected 2 blank lines, found 1
ããã«ã¦å®äºã以ä¸ã¯ããééããã¡ãã»ã¼ã¸ä¾ã§ãã
3. ããééããã¤ãã
E302 expected 2 blank lines
ããã¯é¢æ°ã¨é¢æ°ã®éããã¯ã©ã¹ã¨ã¯ã©ã¹ã®éã2è¡ããã¦ãªãã¨ã ãã¨ããæå³
W291 trailing whitespace
è¡ã®æ«å°¾ã«ç©ºç½ãããã¨ã ãã¨ããã¡ãã»ã¼ã¸
E303 too many blank lines (2)
é¢æ°ã¨é¢æ°ã®éã«ç©ºç½è¡ããããããããé§ç®ã空ç½è¡ã¯ï¼è¡ã¾ã§ã¨ããã¡ãã»ã¼ã¸
E501 line too long (96 characters)
ä¸è¡ã¯79æåã¾ã§ã ã£ã¦ãã£ã¦ãã ããªãã¼ãã¨ããã¡ãã»ã¼ã¸
W391 blank line at end of file
ãã¡ã¤ã«ã®æå¾ã«ç©ºè¡ããããªãã´ã«ã¡ã¨ããã¡ãã»ã¼ã¸
E225 missing whitespace around operator
æ¼ç®å(=) ã¨ãã¯å¿ ã 空ç½ãå ¥ãã¦ä½¿ãã ã¨ããã¡ãã»ã¼ã¸ ex) ãa=bã ã¯Ã ãa = bãã¯â
ä½è«
ã¡ãªã¿ã«ã:makeãã§ææ³ãã§ãã¯ãããã®ã¯ vimã®ä½æ³çã«ãã¾ããããããªãçãªäºãåã«ææãããã®ã§ãã®è¾ºããã®å ãªããããã
ãããã