Python'un yorumlarla etkileşimi konusunda sorun yaşıyorum. Bunlar iki konuya ayrılabilir. İlişkili olduklarını umuyorum, bu yüzden ikisini de buraya göndereceğim.
Sorun 1.
Kullanırken gqotomatik Python kodunu sarmak için yanlış sonuç verir. Örneğin, bu verilen:
# Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
# tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim
# veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea
# commodo consequat. Duis aute irure dolor in reprehenderit in voluptate
Seçme ve çalıştırma gqşunları verir:
# Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
# tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim #
veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea #
commodo consequat. Duis aute irure dolor in reprehenderit in voluptate
Buna karşılık, aynı şeyi YAML veya Coffee-script'de çalıştırmak aşağıdakileri sağlar:
# Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
# tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim
# veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea
# commodo consequat. Duis aute irure dolor in reprehenderit in voluptate
Biri Python'un yorum kurallarının Coffee-script ya da YAML ya da #
line-line-line yorumlar içeren diğer prensiplere uymasını bekler .
2. Sayı.
Yorum başlatmak, imlecin geçerli derinlikte devam etmesi gerektiğinde çizginin başına atlamasına neden olur.
Örneğin:
class Hello(object):
"""Something"""
# The comment starts here
# or worse
def hi(self):
# again, here
pass
Bu PEP 8 tarafından belirlenenlere aykırıdır : yorumları engelle - yorum eklemek aşağıdaki gibi girintili olmalıdır:
class Hello(object):
"""Something"""
# The comment starts here
# or worse
def hi(self):
# again, here
pass
Ayarlar
Harika Vundle betiğini kullanıyorum ve kullandığım eklentiler:
Bundle 'gmarik/vundle'
" navigation / display
Bundle 'kien/ctrlp.vim'
Bundle "tpope/vim-fugitive"
Bundle "ton/vim-bufsurf"
python import sys; sys.path.append("")
set rtp +=~/.vim/bundle/powerline/powerline/bindings/vim
Bundle 'Lokaltog/powerline'
Bundle 'nathanaelkane/vim-indent-guides'
Bundle 'altercation/vim-colors-solarized'
" syntax
Bundle 'jQuery'
Bundle 'kchmck/vim-coffee-script'
" Bundle 'scrooloose/syntastic'
Bundle 'Syntastic'
Bundle "groenewege/vim-less"
Bundle "skammer/vim-css-color"
Bundle "hail2u/vim-css3-syntax"
" Editing
Bundle 'AndrewRadev/splitjoin.vim'
Bundle 'tpope/vim-unimpaired'
Bundle 'rstacruz/sparkup.git'
Bundle 'klen/python-mode'
" Bundle 'sjl/gundo.vim'
Bundle 'mbbill/undotree'
" file-type based configs
filetype plugin indent on
Ne biz itibaren .vimrc
, burada Python ile ilgili ayarlar şunlardır:
let g:syntastic_python_checker = 'pyflakes'
let g:syntastic_python_flake8_args =
\ '--ignore=W191,E501,E121,E122,E123,E128,E225,W291'
let pymode_lint = 0
au FileType python setlocal expandtab shiftwidth=4 tabstop=8
\ formatoptions+=croq softtabstop=4 smartindent
\ cinwords=if,elif,else,for,while,try,except,finally,def,class,with
let python_highlight_all=1
let python_highlight_exceptions=0
let python_highlight_builtins=0
özet
Python, YAML ve Coffee senaryosundan biraz daha büyük ve daha olgun olduğundan, Vim'in yanlış sonuçlar vermesi beni şaşırttı ve hayal kırıklığına uğrattı. Bana neler olacağı belli değil - ve her türlü düşünce ve yön için minnettar olurum. Tabii ki çözersem sonuçlarımı yazarım.
Nmove
, ancak dokümanlar formatexpr
tanımlanmışsa, aksi belirtilirse formatprg
veya başka türlü "dahili olarak yapılır" olduğunu söylüyor .
au FileType python setlocal textwidth=79
)