Подтвердить что ты не робот

Лучший способ переключиться с Vim на Emacs?

Несмотря на то, что я являюсь пользователем Vim, я заинтересован в том, чтобы начать изучать Emacs. Тем не менее, всякий раз, когда я начинаю следовать учебному руководству Emacs, я в конечном итоге ударяю команды Vim случайно и расстраиваюсь.

Есть ли лучшие способы сделать коммутатор?

4b9b3361

Ответ 1

Я бы порекомендовал просто выжить в авариях, пока их частота не уменьшится. Я подозреваю, что добавление слоя, чтобы попытаться "помочь" - как тот, который попытается вывести случайные команды vi и выполнить их, просто сделает переход медленнее.

Я делаю то же самое при переходе между, скажем, системами контроля версий. Вместо создания оболочки-оболочки script, которая позволяет мне использовать неправильные подкоманды, переведя их в новые идиомы VCS, я бы скорее просто был вынужден "говорить на новом системном языке" с холодной индейкой.

Помните: вы человек; вы построены, адаптируетесь к новым ситуациям. Просто держите свои мысли о себе, пусть ошибки будут ошибками, и вы сделаете все возможное.

Ответ 2

Практика практической практики. Как вы, наверное, знаете из обучения Vim, Vim и Emacs беглость приходит только с тонны практики, пока команды не станут второстепенными. Я долгое время виммер, и изучение Emacs было чрезвычайно болезненным и занимало месяцы, но в настоящее время я обойдусь как в отличном состоянии. Это стоит изучить как потому, что Emacs лучше, чем Vim при редактировании определенных языков и выполнении определенных задач, и наоборот; хорошо иметь возможность использовать либо. Через некоторое время вы начнете разделять эти два умственно, и вам, вероятно, не составит большого труда (хотя я все еще иногда :wq Emacs и C-/ Vim, это не так часто бывает достаточно, чтобы быть проблемой).

  • Внимательно прочитайте документацию Emacs. Большая часть терминологии и функциональности Vim и Emacs схожа, но достаточно разная, чтобы все это запутывало. Учебное пособие - хорошее начало, но Руководство Emacs - это сокровищница лучших практик и советов по настройке.

  • Emacs wiki - ваш друг. Когда вы сталкиваетесь с функцией Emacs, которую вы абсолютно не можете принять, обычно есть способ отладить проблему.

  • C-h a тоже ваш друг. Очень важно, что :h незаменим в Vim, система помощи Emacs - великое благо в навигации огромного набора встроенных команд Emacs. Есть много способов поиска документации, чтобы найти то, что вы хотите; эта страница содержит хорошее резюме.

  • Не используйте viper или vimpulse, по крайней мере, не поначалу. Emacs никогда не будет таким же хорошим Вимом, как Вим. Погрузитесь в Emacs, пока не привыкнете к нему. Способ Emacs делать вещи очень отличается, но у него есть свои сильные и слабые стороны по сравнению с набором ключей Vim. Изучите их оба, чтобы вы могли видеть эти сильные и слабые стороны и принять взвешенное решение. В настоящее время я занял кучу ярлыков Emacs и сопоставил их в Vim, и наоборот.

  • Сделайте это медленно. Когда (нет, если) Emacs начинает заставлять вас пениться во рту в ярости, сделать перерыв, прыгнуть в Вим и вернуться позже. Это займет некоторое время.

Имейте в виду, что вам не нужно "переключаться". Вы не забудете Vim и замените его в своем мозгу Emacs. Если вы знаете Vim и узнаете Emacs, тогда вы узнаете обоим. Это хорошо.

Ответ 3

Вы пробовали Emacs viper-mode?

Ответ 4

Продолжительность и интенсивность дебатов Vim против Emacs говорят о том, что оба редактора примерно равны по своей полезности. Если вы уже знаете vi, вы можете также придерживаться его.

Ответ 5

У меня нет опыта с этим (я использую Vim), но Vimpulse является Emacs script для эмуляции Vim (как показано в Viper-mode, который эмулирует vi). Это, вероятно, облегчит переход.

Ответ 6

Я думаю, это зависит от вашей мотивации для изучения Emacs.

Если у вас есть просто случайный интерес к изучению Emacs, viper-mode, вероятно, это путь, потому что это может не стоить боль и разочарование в необходимости переучивания памяти мышц. У вас все еще есть доступ ко всем функциональным возможностям Emacs, но настройте свой опыт, исходя из того, какой уровень гадюки вы выберете.

Если вы хотите учиться, потому что хотите иметь полностью настраиваемый редактор, я бы выбрал задачу, которую, по вашему мнению, было бы интересно работать и использовать для мотивации использования Emacs. Этот опыт будет совершенно уникальным для вас. В этом случае я бы рекомендовал перейти на холодную индейку и просто ожидать пару дней боли и разочарования.

Ответ 7

Как ребята, и бывший пользователь vim, я настоятельно рекомендую viper-mode. Это не идеально, но это даст вам большую часть сочетаний vi/vim. Вы узнаете несколько команд, которые вы использовали в vim (IME, в основном те, которые начинаются с "g" ) без особых трудностей.

В общем, я действительно чувствую, что это лучший способ использовать Emacs. Vi-keybindings действительно, действительно эффективны, и я думаю, что для многих вещей, которые я делаю в текстовом редакторе (простые команды перемещения, простые команды, связанные с перемещением, удалением, изменением, поиском и т.д.), Модель vi гораздо более оптимизированным и эффективным по сравнению с Emacs. Я могу полностью понять, почему кто-то, еще не знакомый с Emacs, не захочет использовать viper-mode, но, как кто-то из vim, у вас действительно есть возможность получить лучшее из обоих миров.

В общем: привыкнуть к тому, что viper-mode не идеален, научитесь делать то, что вам не хватает на пути Emacs, и убедитесь, что вы изучаете классные функции, которые Emacs имеет, t доступно в vim.

Что касается использования vimpulse, я попробовал это, когда я впервые переключился, и я бы не рекомендовал его. Поскольку это основной режим, вы будете пропускать много (больше?) Из хороших частей о Emacs; и он все равно не на 100% верен vim в любом случае. На самом деле гораздо лучше взять viper-mode для чего он есть, и двигаться дальше.