Меня интересует возможность сворачивания кода в Vim для кода Python. Я заметил несколько способов сделать это.
Есть ли у кого-нибудь предпочтительный способ сворачивания кода Python в Vim? То есть,
- У вас есть конкретный плагин Vim, который вам нравится и который вам нравится?
- Используете ли вы складывание вручную или в комментариях размещаете маркеры?
- Есть ли другие рекомендуемые способы сворачивания кода для Python в Vim?
set foldnestmax=2
, что методы классов сворачиваются, а внутренние операторы - нет.Я использую этот файл синтаксиса для Python. Он устанавливает синтаксис метода сворачивания и сворачивает все классы и функции, но ничего больше.
источник
Еще один плагин для сворачивания кода Python. Довольно просто, обрабатывая строки документации, и на GitHub:
SimpylFold
Наслаждайтесь!
источник
if
,for
иwhile
блоки, не так ли?Python хорошо подходит для сворачивания по отступу, немного для написания собственного кода я использую маркеры, поскольку они могут измельчать документ так, как вы хотите, и могут служить своего рода оглавлением. У меня есть это в моем vimrc, чтобы переключаться между ними, когда я просматриваю код другого пользователя.
источник
Я думаю, что складывание отступов подходит для Python. Я делаю разветвленный репозиторий git для идей vim-config python / django IDE. Разветвляйся!
http://github.com/skyl/vim-config-python-ide
источник
python_ifold
Плагин мне очень нравится .источник
Попробуйте этот плагин:
http://vim.sourceforge.net/scripts/script.php?script_id=515
источник
Для меня идеальный складной сложить только те
class
иdef
блоки, отступа складывание слишком много , на мой вкус. Я думаю, что одним из элегантных решений является использование синтаксической системы, подобной той, которую упомянул Томас. Однако он предназначен для замены исходного файла синтаксиса и может оказаться старше оригинала (т.е. этот сценарий не упоминает синтаксис Python 3).Мое решение - поместить в
~/.vim/syntax
папку файл с именем,python.vim
состоящим только из важных строк (взятых из приведенного выше сценария):Затем просто активируйте складывание с помощью
:set foldmethod=syntax
.источник
class
складками иdef
s, если они стоят в начале строки. Поскольку я с трудом могу прочесть выражение, у меня возникли проблемы с попыткой настроить его так, чтобы оно соответствовало^def
и^class
. Это любопытно, так как\s*
должно хорошо с этим справиться ..Исходный код Python поставляется с плагином синтаксиса vim вместе с настраиваемым файлом vimrc. Проверьте FAQ по python на vim
источник
В вашем
.vimrc
:Затем
zM
все замаскировать,zR
чтобы все развернуть. Я также добавил:Так что вы можете
z1
иz2
понемногу раскрываться.источник
Мне очень нравится этот небольшой сценарий vim, который я написал для .vimrc. Он отображает
alt+1
складывание первого уровня отступа Python (определения классов и функций),alt+2
складывание второго уровня (методы класса) иalt+0
развертывание всего. Это гарантирует, что он сворачивает только один уровень и не сворачивает ни один из вложенных подуровней. Вы все еще можете использоватьza
для переключения сворачивания для текущего блока. Обратите внимание^[0
, что^[
этоalt
для моего терминала. У вас нет большого опыта работы с vim script, поэтому не стесняйтесь вносить предложения по функции :)источник