ما هي الطريقة الموصى بها لاستخدام همة للطي على كود بايثون

StackOverflow https://stackoverflow.com/questions/357785

  •  21-08-2019
  •  | 
  •  

سؤال

أنا مهتم في تمكين رمز للطي في همة على كود بايثون.وقد لاحظت عدة طرق للقيام بذلك.

لا أحد يملك يفضل طريقة للقيام الثعبان رمز للطي في همة?I. e ،

  • هل لديك معين همة البرنامج المساعد الذي تستخدمه ؟
  • هل استخدام دليل للطي أو هل تضع علامات في التعليقات ؟
  • أي الطرق الموصى بها للقيام رمز للطي على الثعبان في همة?
هل كانت مفيدة؟

المحلول

شخصيا لا أستطيع إقناع نفسي القمامة قانون بلدي مع علامات.لقد أصبحت جميلة المستخدمة إلى (كفاءة) في استخدام البادئة للطي.جنبا إلى جنب مع خرائط الفضاء بار (انظر أدناه) لفتح/إغلاق طيات و zR و zM الأوامر ، أنا الحق في المنزل.مثالية الثعبان!

nnoremap <space> za

vnoremap <space> zf

نصائح أخرى

يمكنني استخدام هذا جملة ملف بايثون.فإنه يحدد للطي طريقة بناء الجملة طيات كل الفئات والوظائف ، ولكن أي شيء آخر.

آخر المساعد للطي كود بايثون.بسيطة إلى حد ما ، والتعامل مع docstrings على جيثب:

SimpylFold

استمتع!

بيثون هي مناسبة تماما للطي على الهامش ، بت كتابة التعليمات البرمجية الخاصة بي يمكنني استخدام علامات كما أنها يمكن أن أزمة وثيقة أسفل بالطريقة التي تريدها و يمكن أن تكون بمثابة نوع من جدول المحتويات.لدي هذا في 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 الأفكار.شوكة بعيدا!

http://github.com/skyl/vim-config-python-ide

جرب هذا البرنامج المساعد:

http://vim.sourceforge.net/scripts/script.php?script_id=515

الثعبان المصدر يأتي مع همة جملة المساعد جنبا إلى جنب مع العرف 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.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top