Comments 28
Ребят, но для начала надо выучить все эти команды. А в обычном интерфейсе иконки на кнопrках как минимум логичны и есть подсказка при наведении. Если для того что бы мне писать на языке мне кроме того что изучать язык надо еще в два раза дольше зубрить команды редактора — то мне не нужен такой редактор. А если везде внедрять такой принцип как предлагает автор — то вперед -> назад к ДОСу
+11
Если к иконкам добавить подсказку, какое клавиатурное сочетание выполняет эту команду, то через некоторое время обучишься, и можно будет иконки убрать, чтобы не мешали.
+2
Когда изучал программирование, очень долго пускал слюни на vim, не зная, с какой стороны к нему подступиться. Однако, когда я освоился, осознал набор фич, нужных мне от редактора, дело пошло.
Зубрить ничего не нужно, достаточно посматривать на (предварительно разобранную) распечатку .
Еще одна офигительная вещь — это то, что можно работать на ноутбуке без мыши и тачпада. Хоть я и владею тачпадом настолько, что могу играть в action-игры, писать код быстрее и удобнее в vim или ideavim.
Зубрить ничего не нужно, достаточно посматривать на (предварительно разобранную) распечатку .
Еще одна офигительная вещь — это то, что можно работать на ноутбуке без мыши и тачпада. Хоть я и владею тачпадом настолько, что могу играть в action-игры, писать код быстрее и удобнее в vim или ideavim.
0
Упс, случайно вставил распечатку на двораке. Конечно же, имел в виду вот эту: www.viemu.com/vi-vim-cheat-sheet.gif
0
Тут есть такое понятие, как «long run». А точнее — стоит ли такой «оверхед» (в данном случае — процесс изучения функционала при подготовке к работе) того, чтобы потом экономить время? Будет ли он оправдан в будущем?
Согласен, не всегда есть смысл. Но в конкретных сферах IT без этого продуктивность значительно уменьшается.
Например, «выделить всё — положить правую руку на мышь — правая кнопка — копировать». Интересно, сколько десятков минут своей жизни я уже сэкономил таким образом?
Согласен, не всегда есть смысл. Но в конкретных сферах IT без этого продуктивность значительно уменьшается.
Например, «выделить всё — положить правую руку на мышь — правая кнопка — копировать». Интересно, сколько десятков минут своей жизни я уже сэкономил таким образом?
+4
Горячими клавишами я пользуюсь со времён DOS и Windows 3.11 for Worksgroups по сей день, но ваши примеры мне кажутся неудачными:
Реальная сила Vim в том, что эти комбинации клавиш являются языком. Вы «говорите», что вы хотите сделать. Хотите удалить следующие 10 строк текста? Вы можете просто набрать: 10dd.Но как часто вам нужно удалять именно 10 строк? А если нужно удалить 11 строк, то будет: 10dd dd — потому что вы сперва ошиблись в оценке количества строк, и пришлось удалять ещё одну строку. А если 12, то 10dd 2dd или 10dd dd dd — выигрыш уже не так заметен. Пока вы будете считать количество строк, чтобы ввести число на удаление, я уже раз семь нажму клавишу «вниз» с зажатым шифтом — при этом я буду явно видеть, как строки выделяются по одной, и всегда могу прекратить выделять или развыделить лишнюю строку обратно, или мышкой выделю нужный блок и нажму delete (в привычном редакторе я бы нажимал ctrl+d для удаления отдельных или группы строк).
Скажем, я на 10 слайде и я хочу переместить название этого слайда «Space and Times» на слайд 22. В традиционном интерфейсе я бы визуально проверял название, затем переместил курсор, чтобы выделить его. После нажал CTRL+X, чтобы вырезать название, затем переместил бы курсор на боковую панель, в которой перечислены все слайды, возможно, прокрутив панель вниз, пока не увижу слайд 22. Затем выбрал слайд 22, затем вставил на него заголовок.Вы всегда точно знаете номер слайда, на котором находитесь, и номер слайда, на который хотите переместить текст? Скорее всего вам придётся сперва пролистать все слайды, чтобы удостовериться, что номер нужного слайда — 22, потом вернуться на слайд 10 (а значит или в самом начале запомнить номер исходного слайда или же точно так же листать, пока не дойдёте до нужного слайда), чтобы поиск текста начался с него, а не со слайда 22, и лишь потом уже вводить магические команды. Последовательность «даблклик мышкой по заголовку, ctrl+X, скролл мышкой, клик в нужное место, ctrl+V» может оказаться быстрее.
На выразительном языке клавиш я мог бы сделать то же самое, всего лишь нажав: /Spacxxg22gpp
+8
«Перевод»
+1
Насчет количества удаления строк:
Никто вас не заставляет использовать Ndd для удаления. Если вы не уверены в количестве строк, то можно в режиме выделения V (который, кстати говоря, будет выделять только целые строки) выбрать нужные строки. И это будет точнее выделения мышью.
Более того, в vim можно прыгать по логическим блокам. Например, можно прыгнуть в конец/начало блока вроде while/for/if. Или прыгнуть от открывающей до закрывающей скобочки. Список можно продолжать до бесконечности.
Ваша последовательность тоже отлично переносится на vim :) Поиск, вырезание по x, навигация (можно прыгать по заголовкам слайдов, как — зависит от типа презентации), вставка.
Никто вас не заставляет использовать Ndd для удаления. Если вы не уверены в количестве строк, то можно в режиме выделения V (который, кстати говоря, будет выделять только целые строки) выбрать нужные строки. И это будет точнее выделения мышью.
Более того, в vim можно прыгать по логическим блокам. Например, можно прыгнуть в конец/начало блока вроде while/for/if. Или прыгнуть от открывающей до закрывающей скобочки. Список можно продолжать до бесконечности.
Последовательность «даблклик мышкой по заголовку, ctrl+X, скролл мышкой, клик в нужное место, ctrl+V» может оказаться быстрее.
Ваша последовательность тоже отлично переносится на vim :) Поиск, вырезание по x, навигация (можно прыгать по заголовкам слайдов, как — зависит от типа презентации), вставка.
-1
В Google Docs кстати многих команд не хватает, а часть существующих ведет себя не так, как ожидаешь.
А еще жутко бесит, что в Google Translate приходится мышкой елозить только чтобы языки местами поменять.
Хорошо хоть в OSX можно забиндить любой пункт меню без посторонних средств, а то иногда у некоторых разработчиков хочется отнять клавиатуру за отсутствие необходимых хоткеев в их продуктах.
Но в вебе делать так как в vim это уже перебор.
Вот простой, но, как мне кажется, удачный пример превосходства «невидимого интерфейса» над «видимым» в вебе — www.guituner.com/. Ну и github, конечно.
А еще жутко бесит, что в Google Translate приходится мышкой елозить только чтобы языки местами поменять.
Хорошо хоть в OSX можно забиндить любой пункт меню без посторонних средств, а то иногда у некоторых разработчиков хочется отнять клавиатуру за отсутствие необходимых хоткеев в их продуктах.
Но в вебе делать так как в vim это уже перебор.
Вот простой, но, как мне кажется, удачный пример превосходства «невидимого интерфейса» над «видимым» в вебе — www.guituner.com/. Ну и github, конечно.
+1
Но в цифровом мире мы имеем преимущество гораздо более прямых маршрутов между намерением и действием. Я могу нажать комбинацию клавиш, и действие сразу же выполняется. Нет необходимости тащить мой курсор сквозь пространство и время, чтобы довести дело до конца. Разрыв между намерением и действием резко сжимается, и мы можем эффективно обойти ограничения закона Фиттса.
Хм, а что, для клавиатуры закон фитса уже не раотает? У меня у коллеги на маке все функциональные клавиши находятся в сочетании с fn, каждый раз мне приходится вспоминать, что ее надо нажать и ещё и тянуться 2 руками. В некоторых случаях это дольше, чем двинуть мышкой. И дольше, чем тоже самое действие реализовать через тач.
+2
Если интерфейс позволяет не убирать руки с клавиатуры — то наличие у пользователя десяти пальцев дает весьма неплохой бонус к скорости. И даже если одна рука лежит на мышке — все равно остается целых пять пальцев…
Ограничивающим фактором для клавиатуры является не закон фитса, а сложность или даже невозможность нажатия некоторых комбинаций клавиш одной рукой. (Тут обычно жалуются на «самую важную комбинацию клавиш» в Windows — как будто она нажимается не реже чем два раза в минуту)
Ограничивающим фактором для клавиатуры является не закон фитса, а сложность или даже невозможность нажатия некоторых комбинаций клавиш одной рукой. (Тут обычно жалуются на «самую важную комбинацию клавиш» в Windows — как будто она нажимается не реже чем два раза в минуту)
+1
Так сложность, в общем-то и следуе из закона Фитса. Если вспомнить Маковские трехпальцевые комбинации, то тут нужно ещё придумать, как правильно применить закон фитса, какая-то интегральная формула будет, ибо если клавиши находятся далеко друг от друга, то нельзя просто посчитать наибольшее время по одной из клавиш.
0
Достаточно перенести модификаторы на большие пальцы, вместо длинного пробела можно использовать короткий, и нажимать его одной рукой. Уже давно на своей клавиатуре так сделал, и теперь не понимаю, почему исторически сложилось так по уродливому: огромный пробел, который мало кто правильно нажимает, дублирование модификаторов по краям клавиатуры. Тот же шифт на большом пальце позволяет печатать в режиме Caps Lock, просто зажав его. А Ctrl на большом пальце наконец-то сделал использование EMACS комфортным, руки вообще не смещаются и не раскорячиваются при работе.
0
Ограничивающим фактором для клавиатуры является не закон фитса, а сложность или даже невозможность нажатия некоторых комбинацийВспоминается плагин XML Tools для Notepad++ и его горячая клавиша Ctrl+Alt+Shift+B… но да, это всё же быстрее, чем Меню → Плагины → XML Tools → Pretty Print.
0
Забавно, но почему-то, почти всегда, когда мне попадаются рассуждения об удобстве VIM-а, я вижу сравнение работы человека, этот редактор освоившего, с человеком, который с компьютером работает очень и очень неуверенно. :) Да, профессионал работает в редакторе быстрее и эффективнее.
Но с тем же успехом продвинутый (по-настоящему продвинутый, а не по резюме) пользователь сможет работать с любым редактором из сотен, представленных в винде. И не только текстовыми. Возможно, графическими. Или музыкальными. И не факт, что в проводнике. Боюсь, что навыки работы в VIM могут при таком сравнении оказаться бесполезными. А навыки работы в виндовс вообще помогут освоить подавляющее большинство программ, с которыми вообще может столкнуться пользователь.
А навыки слепой печати окажутся куда эффективнее в редакторе, чем знание нескольких сотен горячих клавиш. :) Кстати, а часто приходится удалять первую строку, находясь в середине текста? Или следующие 10 строк, именно 10, а не 8 или, например, 13? Как мне кажется, значительно реже, чем поменять букву в одном из последних набранных слов. К примеру, поменять букву «я|е|р|ы» на «ч|н|о|ф» в третьем|четвертом|первом|восьмом от курсора слове, находящуюся на третьей|второй|первой|предпоследней позиции в слове. Вам каждый раз придется считать комбинацию заново? А если вы ошиблись при наборе комбинации.
Я не спорю с тем, что VIM (или EMACS) хороший редактор. Я полностью согласен с тем, что профессионал должен осваивать любимый инструмент. Осваивайте. :) Задумайтесь только, что виндовс, офис и еще over 9000 программ являются инструментом для кого-то другого. И не факт, что работающий на них профессионал будет работать менее эффективно, чем вы.
Но с тем же успехом продвинутый (по-настоящему продвинутый, а не по резюме) пользователь сможет работать с любым редактором из сотен, представленных в винде. И не только текстовыми. Возможно, графическими. Или музыкальными. И не факт, что в проводнике. Боюсь, что навыки работы в VIM могут при таком сравнении оказаться бесполезными. А навыки работы в виндовс вообще помогут освоить подавляющее большинство программ, с которыми вообще может столкнуться пользователь.
А навыки слепой печати окажутся куда эффективнее в редакторе, чем знание нескольких сотен горячих клавиш. :) Кстати, а часто приходится удалять первую строку, находясь в середине текста? Или следующие 10 строк, именно 10, а не 8 или, например, 13? Как мне кажется, значительно реже, чем поменять букву в одном из последних набранных слов. К примеру, поменять букву «я|е|р|ы» на «ч|н|о|ф» в третьем|четвертом|первом|восьмом от курсора слове, находящуюся на третьей|второй|первой|предпоследней позиции в слове. Вам каждый раз придется считать комбинацию заново? А если вы ошиблись при наборе комбинации.
Я не спорю с тем, что VIM (или EMACS) хороший редактор. Я полностью согласен с тем, что профессионал должен осваивать любимый инструмент. Осваивайте. :) Задумайтесь только, что виндовс, офис и еще over 9000 программ являются инструментом для кого-то другого. И не факт, что работающий на них профессионал будет работать менее эффективно, чем вы.
+7
Комбинацию считать не нужно. На картинке ниже показаны нажатия клавиш в русской раскладке, на самом деле там Fт;rь
Сначала перемещаемся к ближайшему слева F символу т. Видим, что мы еще не попали куда нужно, нажимаем ;, чтобы повторить движение. Заменяем r букву т на ь. Мышечная память с этим всем творит чудеса.
А вообще да, у практически всех продуктов должна быть низкая кривая обучения, кроме совсем уж узкоспециализированных. Наличие шорткатов при этом — только плюс.
Сначала перемещаемся к ближайшему слева F символу т. Видим, что мы еще не попали куда нужно, нажимаем ;, чтобы повторить движение. Заменяем r букву т на ь. Мышечная память с этим всем творит чудеса.
картинка
А вообще да, у практически всех продуктов должна быть низкая кривая обучения, кроме совсем уж узкоспециализированных. Наличие шорткатов при этом — только плюс.
0
А если это восемнадцатый слева символ «Т»? А если это случайно пропущенный символ "=" в строчке -=-=-=-=-=-=-=-=--=-=-=-=-=-=-= из двухсот чередующихся символов, причем, этими строчками юзер-мудак отделяет строчки таблицы и мы заметили, что пропустили "=" в пятой по счету строчке из 20?
Обратите внимание, мои примеры не менее надуманы. Именно потому, что это придуманные примеры, которыми я пытаюсь иллюстрировать свою мысль. :)
С VIM я не работал. Немного пришлось поработать с EMACS. поэтому я могу себе представить всю мощь VIM (я серьезно).
Я не понимаю другого — возможности VIM, равно как и его особенности, почти невостребованы во всей остальной области пользования программным обеспечением, кроме как в области редактирования текстов. Мы не можем нарисовать картинку в текстовом редакторе, не в состоянии произвести статистический расчет с сотнями тысяч ячеек, не справимся с созданием презентации, не сумеем нарисовать миндмэп. Перечислять сколько всего мы не сможем сделать на компьютере с помощью VIM можно часами. Именно поэтому меня так удивляют восторги тех, кто, освоив VIM, вдруг осознают, что это удобно… :)
При этом они продолжают пользоваться проводником, а в качестве альтернативы VIM ни разу не предлагали серьезных текстовых редакторов. :) Кстати, это же касается и EMACS.
Как мне кажется, им стоит освоить несколько десятков различных пакетов на достаточно высоком уровне, чтобы понять — каждому свое. И каждому пользователю и каждой задаче… :)
Обратите внимание, мои примеры не менее надуманы. Именно потому, что это придуманные примеры, которыми я пытаюсь иллюстрировать свою мысль. :)
С VIM я не работал. Немного пришлось поработать с EMACS. поэтому я могу себе представить всю мощь VIM (я серьезно).
Я не понимаю другого — возможности VIM, равно как и его особенности, почти невостребованы во всей остальной области пользования программным обеспечением, кроме как в области редактирования текстов. Мы не можем нарисовать картинку в текстовом редакторе, не в состоянии произвести статистический расчет с сотнями тысяч ячеек, не справимся с созданием презентации, не сумеем нарисовать миндмэп. Перечислять сколько всего мы не сможем сделать на компьютере с помощью VIM можно часами. Именно поэтому меня так удивляют восторги тех, кто, освоив VIM, вдруг осознают, что это удобно… :)
При этом они продолжают пользоваться проводником, а в качестве альтернативы VIM ни разу не предлагали серьезных текстовых редакторов. :) Кстати, это же касается и EMACS.
Как мне кажется, им стоит освоить несколько десятков различных пакетов на достаточно высоком уровне, чтобы понять — каждому свое. И каждому пользователю и каждой задаче… :)
+3
Итак, с 10 слайда переместить заголовок на 22? Разберем этот простой пример. :)
Объектов нашлось несколько — заголовок, первый абзац текста и подпись под иллюстрацией. Что делать?
Выбираем первое вхождение. Прекрасно.
Вырезаем? А если надо скопировать?
Точно 22? А если у нас не презентация, а публикация, и нужен не 22 слайд, а 5 страница 3 главы 2 раздела? Или просто слайд номер 43, 44, 45 — где-то там…
А зачем? Если мы уже перешли? А если мы должны провериться визуально и подтвердить переход, то в чем прелесть комбинации?
Вставляем куда? В какое место слайда, страницы? Нужно ли менять оформление. Нужно ли продолжить редактирование вставленного заголовка, страницы, вернуться на слайд, с которого брали заголовок?
Удивительно, но это одно из предложений, точнее, первая его часть, с которым не приходится спорить.
Слишком надуманный пример, который не учитывает всей сложности процесса, с которым приходится сталкиваться пользователю. Просто потому, что захотелось придумать пример. Не все хорошо в стандартных интерфейсах. Именно поэтому постоянно ведется очень большая работа, не всегда лежащая на поверхности, по их изменению. И самая большая проблема этой работы заключается не в том, чего бы придумать нового, а в том, как бы сделать так, чтобы люди на это новое перешли. И если не с песнями, то хотя бы без особых проблем. Иногда это получается, иногда нет. Лучше всего это получается, когда пользователю не приходится учить ничего нового.
Помнится, английский лучник показывал в бою результаты лучше, чем обычный пехотинец, вооруженный мушкетом. Только лучника нужно было учить двадцать лет, а мушкетер начинал стрелять через полчаса обучения. Результат оказался предсказуемым. Как только лучники кончились, лук ушел с поля боя, оставшись в руках только энтузиастов и спортсменов. Боюсь, то же ждет и пользующихся VIM-ом. :)
/ = «начать поиск объекта, начиная с текста...»
Spac = «Spac» (соответствует тексту объекта, содержащего " Space and Times ")
Объектов нашлось несколько — заголовок, первый абзац текста и подпись под иллюстрацией. Что делать?
Enter = (нажатие Enter) «выбирает совпадающий объект»
Выбираем первое вхождение. Прекрасно.
xx = «вырезает его»
Вырезаем? А если надо скопировать?
g =«затем переходим к слайду…»
22 = «22»
Точно 22? А если у нас не презентация, а публикация, и нужен не 22 слайд, а 5 страница 3 главы 2 раздела? Или просто слайд номер 43, 44, 45 — где-то там…
g = (подтверждаем перемещение)
А зачем? Если мы уже перешли? А если мы должны провериться визуально и подтвердить переход, то в чем прелесть комбинации?
pp = «затем вставляем»
Вставляем куда? В какое место слайда, страницы? Нужно ли менять оформление. Нужно ли продолжить редактирование вставленного заголовка, страницы, вернуться на слайд, с которого брали заголовок?
Это может выглядеть как сложный бред, но на практике это очень гибко и вернуться к физико-метафоричным интерфейсам после этого затруднительно.
Удивительно, но это одно из предложений, точнее, первая его часть, с которым не приходится спорить.
Слишком надуманный пример, который не учитывает всей сложности процесса, с которым приходится сталкиваться пользователю. Просто потому, что захотелось придумать пример. Не все хорошо в стандартных интерфейсах. Именно поэтому постоянно ведется очень большая работа, не всегда лежащая на поверхности, по их изменению. И самая большая проблема этой работы заключается не в том, чего бы придумать нового, а в том, как бы сделать так, чтобы люди на это новое перешли. И если не с песнями, то хотя бы без особых проблем. Иногда это получается, иногда нет. Лучше всего это получается, когда пользователю не приходится учить ничего нового.
Помнится, английский лучник показывал в бою результаты лучше, чем обычный пехотинец, вооруженный мушкетом. Только лучника нужно было учить двадцать лет, а мушкетер начинал стрелять через полчаса обучения. Результат оказался предсказуемым. Как только лучники кончились, лук ушел с поля боя, оставшись в руках только энтузиастов и спортсменов. Боюсь, то же ждет и пользующихся VIM-ом. :)
+3
популяризовать управление с клавиатуры помогла бы строка, в которой показывается последовательность(или как вариант, несколько альтернативных трактовок) нажатий для осуществляемого сейчас действия: например, при переходе на первую строку покажется gg или ctrl+home, при удалении допишется строки dd или ctrl+d
+2
Такой подход применим разве что для разработчика. А онные не часто строят презентации. Офисные приложения в этом плане просто заступорят среднего менеджера или бухгалтера.
0
Всю мощь шорткатов оценил после «блендера» и стал первым делом в изучении нового софта распечатывать таблицу шорткатов и настраивать под старые привычки все что можно. Многие как и я в прошлом игнорируют силу ускорения которую дает использование клавиатуры и работают «мышкокликательно». Радуют тенденции появления «ошорткачивания» на фликре, и 500px, которые за ними следуют.
0
По-моему, широкое распространение сенсорных мониторов сделает горячие клавиши ненужными. Захотел выделить и перетащить, выделил пальцем по экрану, и перетащил пальцем по экрану. Не говоря уже о скроллинге-листании и т.п. Ну и кнопки в интерфейсе нажимать будет гораздо проще, чем мышкой. И главное — кривая обучения обратная к подходу VIM!
+4
Sign up to leave a comment.
Невидимый интерфейс