How to make vim only insert 4 spaces (one indent level) for the next line after bracket when calling a function?
键入括号并输入后,下一行将有8个空格缩进:
1 2 3 | print conn.generate_url( seconds, 'GET', |
而不是4:
1 2 3 | print conn.generate_url( seconds, 'GET', |
我的
我错过了什么?
这是我的插件列表:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | ├── ctrlp.vim ├── gundo.vim ├── jedi-vim ├── nerdtree ├── powerline ├── salt-vim ├── supertab ├── syntastic ├── ultisnips ├── vim-fugitive ├── vim-indent-guides ├── vim-surround ├── vim-yankstack └── vundle |
更新于4月12日星期六10:00:55 ICT 2014
我想知道:它是否遵循PEP8?
1 2 3 4 5 6 7 8 | print conn.generate_url( seconds, 'GET', bucket, key, response_headers={ 'response-content-type': 'application/octet-stream' }) |
Continuation lines should align wrapped elements either vertically
using Python's implicit line joining inside parentheses, brackets and
braces, or using a hanging indent. When using a hanging indent the
following considerations should be applied; there should be no
arguments on the first line and further indentation should be used to
clearly distinguish itself as a continuation line.
在一个函数中,我们将有一些东西可以区分连续的行,但这里只是一个
什么是PEP8的E128:延续线缩进为视觉缩进?
更新于2014年4月12日星期四23:09:27 ICT 2014
看起来
在定义函数时,在括号后面的下一行添加8个空格(2个缩进级别)是可以的:
1 2 3 4 5 | # More indentation included to distinguish this from the rest. def long_function_name( var_one, var_two, var_three, var_four): print(var_one) |
但我只想在调用它时添加4个空格(一个缩进级别):
1 2 3 4 | # Extra indentation is not necessary. foo = long_function_name( var_one, var_two, var_three, var_four) |
我该怎么做?
正如你所提到的,PEP8关于缩进的章节建议在参数之前添加两个缩进级别而不是一个(当第一行没有时)以区别于其他级别。
但它还补充说,如果不需要额外的缩进,它就变成了可选的。 您的编辑决定添加它,但根据PEP8,您可以选择。