Я правильно понял, что с помощью специального плагина возможна интроспекция кода? К примеру я, в PyCharm, обожаю эту фичу, когда по Ctrl+click можно переходить к определению класса. И как на счёт автоимпорта?
Скорее навигация по дереву объектов только открытого файла. Автоимпорт в автодополнении работает-подсвечиваются описания просматриваемых объектов в отдельном окне.
Сниппеты в vim примерно такие же как в емаксе. И до смешного похожи на texmate.
У меня показаны не сниппеты, а аббревиатуры.Это другой механизм. И он полезный.
У вас «аббревиатуры» сейчас вставляются просто мертвым кодом. Сниппеты мощнее потому что, после вставки работает перемещение по табу. + Если например я описываю аргументы функции, то они сразу же появляются в описании функции по стандарту. Т.е они жуть как динамические.
Ваши «Аббреавиатуры» явно скромнее. Попробуйте сниппеты www.vim.org/scripts/script.php?script_id=1957
А после скольки выученных комбинаций работа в vim/emacs становится действительно комфортной и лазание в справку превращается в редкое занятие, не отвлекающее от работы? Счёт идет на десятки или сотни?
Десятки. Но запоминаются они достаточно быстро, да и лазанье по справке не такое уж затратное занятие, благо она там удобная. Хотя отвлекает, да, но что поделать :)
Как бывший пользователь вима и нынешний — емакса, хочу сказать, что задавать вопрос об обоих сразу некорректно. Слишком уж сильно они отличаются. Вим силён своей мненоничностью — d для удаления, y для копирования, p для вставки. В емаксе с этим хуже, хотя в некоторых других областях он вим обходит. Что до вопроса о количестве комбинаций — сильно зависит от требований к редактору. Если не хотите странного — десятков достаточно.
Мнемоничность в виме нашёл только в нескольких случаях. Как-то y для копирования и p для вставки для меня совсем не очевидно. Тупо зубрю как когда-то Ctrl+V и Ctrl+X.
Сочетания в Виме вполне логичны.
Например:
caw — change ambient word — изменить слово под курсором
d3w — delete three words — удалить три слова
ct' — change 'til ' — изменить до символа '
и так далее.
вы как раз упомянули главную «фишку» — в VIM всегда есть «под рукой» два разных буфера для copy-paste
1) yank/paste
2) Ctrl+V/ Ctrl+C
Есть конечно еще и другие буфера, но доступ к ним уже не так «естественен».
Понимаешь, как это удобно, только когда приходится работать в любом другом редакторе.
Ctrl+V в командном режиме начинает выделение блока, а в режиме ввода позволяет вставить произвольный символ. Вероятно, Вы переназначали кнопкосочетания?
y — yank
p — paste
a — append
c — change
d — delete
g — go
Плюс стандартная логика построения команд и необходимость запоминать исчезает.
Хотя насчёт yank согласен, в том же емаксе это означает вставку, а не копирование. В терминологии Windows, потому что сама логика копирования/вырезания/вставки отличается.
Из коробки запуск кода, поиск по документации, утилиты для рефакторинга, интроспекция само собой, автодополнение (rope), улучшенный синтаксис, проверка ошибок (pylint, pyflakes), автоподключение virtualenv, python объекты, motion и прочее. Не требует установки библиотек.
Извиняюсь за офтоп, но есть пару вопросов к аудитории по vim:
1. Есть ли у вима автозавершение слов при написании текста (не программного кода) в виде открывающегося списка? Например как у Scribes. Vim меня интересует больше как инструмента набора в Latex. Автозавершение интересует с точки зрения быстрого набора специальных терминов.
2. Есть ли возможность переключения между тремя языками? Сейчас переключаюсь на русскую раскладку внутри вима через Ctrl+Shift+^. Иногда нужен украинский. Но при использовании системного переключателя сразу лишаешься доступа к командам и, соответственно всего функционала редактора.
Vim+Python. Для начинающих