ما هي الطريقة الموصى بها لاستخدام همة للطي على كود بايثون
سؤال
أنا مهتم في تمكين رمز للطي في همة على كود بايثون.وقد لاحظت عدة طرق للقيام بذلك.
لا أحد يملك يفضل طريقة للقيام الثعبان رمز للطي في همة?I. e ،
- هل لديك معين همة البرنامج المساعد الذي تستخدمه ؟
- هل استخدام دليل للطي أو هل تضع علامات في التعليقات ؟
- أي الطرق الموصى بها للقيام رمز للطي على الثعبان في همة?
المحلول
شخصيا لا أستطيع إقناع نفسي القمامة قانون بلدي مع علامات.لقد أصبحت جميلة المستخدمة إلى (كفاءة) في استخدام البادئة للطي.جنبا إلى جنب مع خرائط الفضاء بار (انظر أدناه) لفتح/إغلاق طيات و zR و zM الأوامر ، أنا الحق في المنزل.مثالية الثعبان!
nnoremap <space> za
vnoremap <space> zf
نصائح أخرى
يمكنني استخدام هذا جملة ملف بايثون.فإنه يحدد للطي طريقة بناء الجملة طيات كل الفئات والوظائف ، ولكن أي شيء آخر.
بيثون هي مناسبة تماما للطي على الهامش ، بت كتابة التعليمات البرمجية الخاصة بي يمكنني استخدام علامات كما أنها يمكن أن أزمة وثيقة أسفل بالطريقة التي تريدها و يمكن أن تكون بمثابة نوع من جدول المحتويات.لدي هذا في vimrc الوجه بين اثنين عندما أكون عرض شخص ما elses رمز.
#Toggle fold methods \fo
let g:FoldMethod = 0
map <leader>fo :call ToggleFold()<cr>
fun! ToggleFold()
if g:FoldMethod == 0
exe 'set foldmethod=indent'
let g:FoldMethod = 1
else
exe 'set foldmethod=marker'
let g:FoldMethod = 0
endif
endfun
#Add markers (trigger on class Foo line)
nnoremap ,f2 ^wywO#<c-r>0 {{{2<esc>
nnoremap ,f3 ^wywO#<c-r>0 {{{3<esc>
nnoremap ,f4 ^wywO#<c-r>0 {{{4<esc>
nnoremap ,f1 ^wywO#<c-r>0 {{{1<esc>
أعتقد أن المسافة البادئة للطي على ما يرام بالنسبة بيثون.أنا أقوم متعددة متفرعة بوابة الريبو لمدة همة التكوين بيثون/جانغو IDE الأفكار.شوكة بعيدا!
أنا حقا مثل python_ifold
البرنامج المساعد.
جرب هذا البرنامج المساعد:
الثعبان المصدر يأتي مع همة جملة المساعد جنبا إلى جنب مع العرف vimrc الملف.التحقق بيثون التعليمات على همة
بالنسبة لي مثالية قابلة للطي هو أضعاف فقط class
و def
كتل, المسافة البادئة للطي كثير جدا لبلدي الذوق.أعتقد أن واحدة أنيقة الحل هو استخدام بناء الجملة مثل هذا النظام واحد ذكر توماس.ولكن هذا هو واحد من المفترض أن يحل محل الأصلي جملة الملف وأنه قد ينتهي في السن من الأصلي (أيهذا السيناريو لا يذكر بيثون 3 جملة).
الحل هو أن تضع في ~/.vim/syntax
المجلد ملف اسمه python.vim
مع أهمية خطوط (مأخوذة من البرنامج النصي أعلاه):
syn match pythonDefStatement /^\s*\%(def\|class\)/
\ nextgroup=pythonFunction skipwhite
syn region pythonFunctionFold start="^\z(\s*\)\%(def\|class\)\>"
\ end="\ze\%(\s*\n\)\+\%(\z1\s\)\@!." fold transparent
hi link pythonDefStatement Statement
ثم ببساطة تفعيل للطي مع :set foldmethod=syntax
.