Vim+Python. Для начинающих

    Небольшой видеоролик про редактирование кода в vim.
    Краткое содержание.
    1. Использование аббревиатур.
    2. Плагин MRU
    3- Плагин tagbar
    Сделано с помощью свободного редактора OpenShot — для изготовления видеороликов в домашних условиях он оказался вполне пригоден.

    http://youtu.be/eagC7PcGcCk



    P.S. В комментариях советуют массу плагинов. Но их такое количество разных, что если у кого-то есть желание написать про них-я не против. Но моё время ограниченно и вынужден ограничиться самым, на мой взгляд, важным.
    Метки:
    Поделиться публикацией
    Похожие публикации
    Реклама помогает поддерживать и развивать наши сервисы

    Подробнее
    Реклама
    Комментарии 36
    • +6
      Есть очень интересный интерактивный онлайн туториал. Мне как новичку и осваивающему VIM очень понравился
      • +1
        Да, это неплохой ресурс. У меня не учебник -скорее демонстрация некоторых технологических приёмов.
      • +1
        Я правильно понял, что с помощью специального плагина возможна интроспекция кода? К примеру я, в PyCharm, обожаю эту фичу, когда по Ctrl+click можно переходить к определению класса. И как на счёт автоимпорта?
        • 0
          Скорее навигация по дереву объектов только открытого файла. Автоимпорт в автодополнении работает-подсвечиваются описания просматриваемых объектов в отдельном окне.
        • 0
          Сразу извиняюсь за холивар, но сниппеты должны быть достойнее. Сравните со сниппетами в емаксе www.youtube.com/watch?v=OMi-uN-6O1Q
          • +1
            Сниппеты в vim примерно такие же как в емаксе. И до смешного похожи на texmate.
            У меня показаны не сниппеты, а аббревиатуры.Это другой механизм. И он полезный.
            • 0
              У вас «аббревиатуры» сейчас вставляются просто мертвым кодом. Сниппеты мощнее потому что, после вставки работает перемещение по табу. + Если например я описываю аргументы функции, то они сразу же появляются в описании функции по стандарту. Т.е они жуть как динамические.
              Ваши «Аббреавиатуры» явно скромнее. Попробуйте сниппеты www.vim.org/scripts/script.php?script_id=1957
              • +1
                У меня прижилось пока XPTemplate. Но аббревиатуры тоже имеют своё место в жизни.

            • 0
              Для Vim'а есть плагин Snipmate, не знаю как для Python'а, но в целом выглядит неплохо. Название намекает :)
            • +1
              Хм, а перед освоением vim/emacs следует осваивать «правильный» десятипальцевый метод набора на клавиатуре?
              • +1
                Да. И этого будет не достаточно.Придётся ещё нетривиальные комбинации клавиш запоминать.Только после этого появится заметный прирост в скорости.
                • 0
                  А после скольки выученных комбинаций работа в vim/emacs становится действительно комфортной и лазание в справку превращается в редкое занятие, не отвлекающее от работы? Счёт идет на десятки или сотни?
                  • 0
                    Десятки. Но запоминаются они достаточно быстро, да и лазанье по справке не такое уж затратное занятие, благо она там удобная. Хотя отвлекает, да, но что поделать :)
                  • +1
                    >Да.

                    Вот, наверное, почему я не понял пользы вима, кроме случаев когда надо быстренько что-то по ssh поправить.
                  • 0
                    Как бывший пользователь вима и нынешний — емакса, хочу сказать, что задавать вопрос об обоих сразу некорректно. Слишком уж сильно они отличаются. Вим силён своей мненоничностью — d для удаления, y для копирования, p для вставки. В емаксе с этим хуже, хотя в некоторых других областях он вим обходит. Что до вопроса о количестве комбинаций — сильно зависит от требований к редактору. Если не хотите странного — десятков достаточно.
                    • 0
                      Мнемоничность в виме нашёл только в нескольких случаях. Как-то y для копирования и p для вставки для меня совсем не очевидно. Тупо зубрю как когда-то Ctrl+V и Ctrl+X.
                      • +3
                        Сочетания в Виме вполне логичны.
                        Например:
                        caw — change ambient word — изменить слово под курсором
                        d3w — delete three words — удалить три слова
                        ct' — change 'til ' — изменить до символа '
                        и так далее.
                        • +1
                          вы как раз упомянули главную «фишку» — в VIM всегда есть «под рукой» два разных буфера для copy-paste
                          1) yank/paste
                          2) Ctrl+V/ Ctrl+C

                          Есть конечно еще и другие буфера, но доступ к ним уже не так «естественен».
                          Понимаешь, как это удобно, только когда приходится работать в любом другом редакторе.
                          • 0
                            Ctrl+V в командном режиме начинает выделение блока, а в режиме ввода позволяет вставить произвольный символ. Вероятно, Вы переназначали кнопкосочетания?
                        • 0
                          y — yank
                          p — paste
                          a — append
                          c — change
                          d — delete
                          g — go
                          Плюс стандартная логика построения команд и необходимость запоминать исчезает.
                          Хотя насчёт yank согласен, в том же емаксе это означает вставку, а не копирование. В терминологии Windows, потому что сама логика копирования/вырезания/вставки отличается.
                  • +1
                    для автоматического закрытия окна описания выбранного метода в omni completion, нужно добавить в .vimrc такое:

                    autocmd CursorMovedI * if pumvisible() == 0|pclose|endif
                    autocmd InsertLeave * if pumvisible() == 0|pclose|endif


                    Для навигации по куче файлов использую MiniBufExplorer, удобная штука.
                    • 0
                      Да это хороший совет. Спасибо.
                    • +9
                      Пользуясь случаем порекламирую свой плагин: github.com/klen/python-mode

                      Из коробки запуск кода, поиск по документации, утилиты для рефакторинга, интроспекция само собой, автодополнение (rope), улучшенный синтаксис, проверка ошибок (pylint, pyflakes), автоподключение virtualenv, python объекты, motion и прочее. Не требует установки библиотек.
                      • 0
                        Sublime Text 2 + что хочешь.
                        • 0
                          Уже упоминал в каком-то топике, но повторюсь: FuzzyFinder очень удобен для сверхбыстрой навигации и по буферам, и по файлам.
                          • 0
                            Ну а тем, кто полюбил TextMate за CommandT понравится соответствующий плагин для вима. На мой субъективный взгляд, он более удобен, чем FuzzyFinder.
                          • 0
                            Как музыкальный трек называется?
                          • 0
                            Ещё есть отличный плагин для древовидной навигации по файлам: NerdTree. Странно, что не вспомнили ни о чём подобном.
                            • 0
                              Я его ем использую. Не всё сразу.:)
                            • 0
                              Извиняюсь за офтоп, но есть пару вопросов к аудитории по vim:

                              1. Есть ли у вима автозавершение слов при написании текста (не программного кода) в виде открывающегося списка? Например как у Scribes. Vim меня интересует больше как инструмента набора в Latex. Автозавершение интересует с точки зрения быстрого набора специальных терминов.
                              2. Есть ли возможность переключения между тремя языками? Сейчас переключаюсь на русскую раскладку внутри вима через Ctrl+Shift+^. Иногда нужен украинский. Но при использовании системного переключателя сразу лишаешься доступа к командам и, соответственно всего функционала редактора.

                              • 0
                                2. Есть «хак», позволяющий использовать команды и когда в системе стоит русский, для украинского тоже наверное есть.
                                • 0
                                  да, я знаю, читал эту вики, но насколько я понимаю, переназначить с помощью map можно с одной на другую а как вот с третьей быть:
                                  ]>ъ>ї
                                  '>э>є
                                  s>ы>і

                              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.