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, потому что сама логика копирования/вырезания/вставки отличается.
                            +2
                            У меня поначалу возле монитора вот эта картинка висела, помогало:
                            www.viemu.com/vi-vim-cheat-sheet.gif

                            Но надобность быстро отпала.
                      +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>ы>і

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

                                Самое читаемое