Pull to refresh

Comments 36

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

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

Вот, наверное, почему я не понял пользы вима, кроме случаев когда надо быстренько что-то по ssh поправить.
Как бывший пользователь вима и нынешний — емакса, хочу сказать, что задавать вопрос об обоих сразу некорректно. Слишком уж сильно они отличаются. Вим силён своей мненоничностью — 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, потому что сама логика копирования/вырезания/вставки отличается.
для автоматического закрытия окна описания выбранного метода в omni completion, нужно добавить в .vimrc такое:

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


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

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

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

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

Articles