Как стать автором
Обновить

Комментарии 30

текстовый редактор Vim, обладает двумя режимами работы

На самом деле примерно восемью :)
Функция mode() в VimScript различает 18 режимов.
Там всё-таки избыточные режимы есть, вроде того же operator-pending, который суть normal посреди команды.
Опять же, можно спорить, имеет ли смысл объединять visual, line-visual, block-visual в один режим или нет. Поэтому и «примерно 8» :)
НЛО прилетело и опубликовало эту надпись здесь
Спасает только :q! )))
Существует два основных режима работы в редакторе. В первом он пищит, а во втором — всё портит. Для продвинутых пользователей имеется нулевой режим, который был единственным в полумифическом предшественнике vi, который, по легенде, назывался v. В нулевом режиме редактор управляется смайликами. Попробуйте, например, ввести команду :%s).):)g

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

И это уже четыре!
Если вы внедрите Kato в Vim (плагин для Vim), а не наоборот, я стану вашим активным пользователем. Сейчас активно пользую vimchat.
Хм, попробовал vimchat, пришлось патчить python-xmpp, который иначе не заводился, плюс ростер выглядит примерно вот так:
image
Как Вы им пользуетесь?
У меня завилось все без патча (ставил python-xmpp из репы). Что касается кодировки приведенного вами окна, то в самом плагине используется UTF-16 (строка 1043 файла plugin/vimchat.vim). Я задал себе UTF-8 и узнал, что это самое окно не нужно там совершенно, после вернул плагин в исходное состояние и забыл об этой проблеме.
Всегда интересовало, зачем писать огромное количество уравнений и огромные паттерн матчинги с хвостовой рекурсией если есть fold который сделает все что нужно, да и поддерживать такой код гораздо проще.
Ps. Это я про вашу функцию compile если что.
Обожаю статистику :-) А ребята из Brainscape не посчитали, сколько в среднем сотрудник тратит на вспоминание одной из сотни горячих клавиш?
Эти подсчеты в значительной степени условны, о чем мы и говорим. Однако они хороши для постановки проблемы, которая есть — с хоткеями работать получается быстрее, а те, кто этого не делают, тратят какое-то количество времени впустую.
Когда пользуете одними и теми же горячими клавишами несколько дней подряд, это время стремится к нулю. Я пользую Vim так долго, что иногда выполняю несколько действий, а после задумываюсь — как я это сделал?
А в следующие несколько дней подряд пользуешься другими, а первые забываешь. На вспоминание редкоиспользуемого хоткея тратишь куда больше времени, чем на клик мышью.
Представляете сколько горячих клавишь в Vim? А у меня там еще десятки плагинов со своими клавишами и я ничего не забываю. Человеческая память — удивительная штука, вы зря в ней сомневаетесь.

P.S.: У меня в firefox еще и vimperator стоит, у которого свои горячие клавиши.
Я безмерно рад за вас. Всем бы такую память :-)
У всех память не хуже, просто вы заранее убеждаете себя в том, что ваша память не столь хороша. Вы попробуйте vim (или vimperator под firefox) в течении пары недель и сомнения исчезнут.
Все эти навыки тренируются, это не что-то запредельное; о чём и говорит автор оригинального комментария. Просто многие люди не знают своих возможностей и считают, что «это не для них». Результирующий workflow это комбинация нескольких компромиссных параметров, в том числе ленности и необходимости выполнять работу. Нужно знать и любить свои инструменты и вовремя проводить улучшения, когда упираешься в предел их возможностей.
Я каждый день использую более десятка программ. Предлагаете мне заучивать все хоткеи в них? А при смене некоторых из них переучиваться?
Да. Не вы один такой.
И зачем мне это? Чтобы быть на 1% «эффективней»?
Вы делаете выводы основываясь на своих предположениях, а не на фактах. Вы попробуйте Vim или Vimperator, а потом уже задумайтесь об эффективности. Если вы станете менее эффективными, продолжим спор.
Большую часть времени я трачу на обдумывание, а не на клац-клац, чего и вам желаю :-)
Да.
Мозгу все равно что запоминать: расположение иконок и пунктов меню или горячие клавиши. Если вы пользуетесь мышкой — он все равно запоминает целые автоматические движения по движению мышкой в нужную область связанные с необходимым действием.
Если вы принудите себя пользоваться клавиатурой — в его «список для запоминания движений» попадут нажатия нужных клавиш, сам разум может даже не помнить что там за клавиши, все делать автоматом. Т.е. образуется нейронная связь «необходимое мне действие -> команда пальцам», и она может проходить без участия сознания высшего уровня в качестве контроллера ( без дополнительных осознанных мыслей «необходимое действие» — «нажму-ка я эти клавиши» — «нажатие»). Разумеется для такой прямой связи это действие должно быть осуществлено достаточное количество раз, собственно как все учатся вслепую печатать — никто ведь не говорит, что он запомнил расположение всех 120 клавиш на клавиатуре, и осознанно вспоминает расположение каждой чтобы напечатать нужную букву.
Поэтому «переполнения памяти» не возникает, «нажатия на клавиши» — это ничтожно малая доля двигательных активностей которые человек помнит и автоматически применяет всю жизнь.

Да я вас умоляю — какая память? Это уже на уровне мышечной памяти и рефлексов, благо большинство редакторов, браузеров и ide поддерживают vim mode, а используя Karabiner можно использовать стандартные hjkl и в других программах. В итоге, клик мышью по ссылке в браузере занимает значительно больше времени, чем, например, нажатие f, as
В vim же система хоткеев. Что-то вроде d2w (d — команда, 2 — количество повторений, w — слово) — то есть удалить два слова.
Поэтому если знаешь всего несколько команд, остальные сочетания генерируются автоматически. И не нужно запоминать все бесчисленное множество сочетаний.
Да, но там порядок другой — 2dw.
Ваш тоже верный. Оба работают. Что еще увеличивает количество вариантов.
Самая страшная проблема всех виденных мной «эмуляций vim» состоит в том, что они на vim похожи достаточно хорошо, чтобы ввести в заблуждение, но недостаточно хорошо, чтобы действительно выполнять всё то, к чему привыкли руки в оригинальном vim (самый разочаровавший пример: SublimeText). Судя по написанному, вы эту черту пока не перешли. И не переходите.
Зарегистрируйтесь на Хабре , чтобы оставить комментарий