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