Я ищу советы для изучения Vim или Emacs умным способом - PullRequest
39 голосов
/ 28 ноября 2009

Я довольно счастливый пользователь Eclipse (я в основном разрабатываю на PHP и Python), однако я нашел ответы на вопрос "Какой конкретный прирост производительности Vim / Emacs обеспечивает по сравнению с текстовыми редакторами GUI?" интересно достаточно, чтобы я захотел попробовать Vim или Emacs и посмотреть, не окажется ли это лучшим решением для меня.

У меня общее ощущение, что Vim и Emacs - это не тот редактор, который вы изучаете, "играя с ним". У меня сложилось впечатление, что вы должны посвятить некоторое время и усилия, чтобы немного «изучить» их, прежде чем вы сможете воспользоваться их силой.

Итак, у меня есть два вопроса к сообществу:

  1. В связанной ветке респонденты, по сути, ответили, комментируя Vim (часто говоря: «Я уверен, что Emacs имеет то же самое»). Тенденции Google , кажется, указывают, что Vim является наиболее приемлемым из двух, однако мой первый вопрос: зная, что у меня нет никакого предшествующего опыта по любому из двух, и что я использую и развиваю ( в основном на PHP и Python) в системах GNU / Linux (Ubuntu, Arch Linux ), есть ли какая-либо из двух, которая представляла бы лучший вариант для начала? (Для ясности: мой вопрос не о качестве редакторов, а о том, что стратегически лучше выучить в моей ситуации).

  2. Какой совет вы бы дали мне о том, как научиться использовать его / их? Я знаю, что это широкий вопрос, но это намеренно. Посмотрите на этот ответ (несвязанная тема), чтобы получить представление о том, какую информацию / стиль ответа я ищу [но не чувствую себя обязанным ответить таким образом ... любой вклад будет приветствоваться в любой форме!]

РЕДАКТИРОВАТЬ (при выборе «принятого ответа»)

Я выбрал один ответ в качестве принятого только сейчас, но я хотел бы сказать "спасибо" всем тем, кто поделился своим опытом и советами: почти все это было полезно для меня в каким-то образом. Нить окончательно превзошла мои ожидания! Спасибо! :)

Ответы [ 18 ]

2 голосов
/ 28 ноября 2009

Мой совет для изучения emacs - понимать, что все делается командой (написанной на elisp), которая связана (связана) с нажатиями клавиш, которые вы делаете. Сила emacs заключается в возможности писать новые команды и использовать команды, которые не привязаны к клавишам (слишком много команд, чтобы связать каждую из них с командой.) А также, конечно, читать и изменять команды, которые уже находятся в Emacs.

Далее вы узнаете, как использовать ключ справки и как составить список привязки клавиш, а затем найти соответствующие команды (кстати) и посмотреть, связаны ли они уже.

Будьте готовы учиться в руководстве по emacs (Справка, Чтение, руководство по Emacs).

1 голос
/ 23 марта 2015

Не попадитесь на религиозную войну против vi (m) и emacs. Они оба замечательные редакторы. Первоначально я начал с VI (настоящий VI, а не VIM), а позже начал использовать Emacs. В наши дни я склонен использовать оба, но emacs больше, потому что в emacs есть некоторые функции, которые мне нужны, которых нет в vim.

Реальная задача, к которой вы должны стремиться, заключается в том, как быть максимально эффективным, быстрым и точным с вашим редактором. И VI, и Emacs могут многое предложить в этом отношении. Тем не менее, многое из этого сводится к двум основным привычкам, которые вам необходимо выработать

  1. Не используйте мышь. Оба редактора были созданы, когда мыши не были чумой, которой они являются сейчас. Когда дело доходит до редактирования, обрезки, вставки, выделения и т. Д., Оба редактора предлагают эквиваленты клавиатуры. Используйте их и держите пальцы на клавиатуре. Вы будете удивлены, насколько быстрее вы станете

  2. Избегайте клавиш со стрелками. Это по той же причине. Клавиши со стрелками, как правило, заставляют вас убрать руки с основной клавиатуры. В конце концов, это также замедляет вас и делает вас менее эффективным. Оба редактора предоставляют гораздо более удобные функции, которые работают быстрее.

Это две основные вещи, на которые следует обратить внимание при изучении любого из этих редакторов. Существует много других возможностей, но для начала просто начните с использования основной клавиатуры.

После того, как у вас возникнет эта проблема, начните думать о том, как вы можете настроить свою среду в соответствии со своими потребностями. К этому времени вы уже будете знакомы с возможностями выбранного вами редактора и, возможно, у вас появятся некоторые идеи. Оба этих редактора очень настраиваемы. Я нахожу, что emacs является наиболее конфигурируемым, но вы можете легко заблудиться, написав elisp для настройки вещей, и, прежде чем вы это узнаете, ваш elisp-программист, который делает немного PHP и Python. В некоторой степени то же самое может случиться с VIM, но в меньшей степени. Однако обратите внимание, что значения по умолчанию обычно устанавливаются людьми с большим опытом и, возможно, кто-то знает, что вы не знаете. Старайтесь не совершать ошибку, пытаясь изменить любой редактор, чтобы он был для вас. Сначала узнайте, как это работает с минимальной конфигурацией, а затем измените ее, как только у вас появится представление о том, почему это было сделано каким-то образом - узнайте правила, прежде чем их нарушать.

Если вы серьезно относитесь к программированию, ваш редактор будет вашим самым важным инструментом. Другими важными инструментами являются экран, стул и клавиатура. Остальное случайно.

1 голос
/ 17 ноября 2011

Почти все, что вы видите или взаимодействуете в Emacs, может рассказать вам о себе - вам просто нужно знать, как это задать.

Чтобы изучить Emacs, узнайте о текущем контексте Emacs: каковы ценности вещей, каковы отношения между ними, как они обозначены, как вы можете изменить их или как-то иначе взаимодействовать с ними.

Самая важная вещь для изучения - Emacs - это Emacs Lisp - это экосистема Lisp . Изучение Emacs означает также изучение Emacs Lisp - чем больше вы знаете, тем лучше. Lisp - самый гибкий и мощный способ, которым Emacs реализует себя как «самодокументируемый, расширяемый редактор» .

Сосульки могут помочь вам изучить Emacs и Emacs Lisp. Это поможет вам спросить Emacs о себе. На этой странице представлен обзор того, как это делается: Emacs Newbie с сосульками .

1 голос
/ 01 апреля 2011

Я изучил emacs главным образом, выполнив оба следующих действия:

  1. Во всех меню графического интерфейса отображаются привязки клавиш, которые можно использовать для выполнения той же команды, что и этот пункт меню. Обратите внимание на привязки для пунктов меню, которые вы выбираете много, и попробуйте их вручную в следующий раз, когда у вас появится возможность.
  2. ctrl-h ctrl-h (подумайте «Помогите! Помогите!») Вызывает буфер, который показывает различные типы доступной справки. Если вы затем нажмете клавишу «b» (буфер называет это «description-bindings»), вы получите список всех привязок клавиш, которые доступны в буфере, с которым вы работаете. Просто просмотрите это время от времени с помощью команд, которые выглядят полезными. Испытайте их, когда у вас будет шанс.

Что касается vi, я узнал это за несколько дней до vim, поэтому мне пришлось использовать man vi, чтобы понять это. Большинство из нас, пользователей emacs, скажут вам, что все, что вам нужно знать о vi, это :q! («выход, и я действительно это имею в виду»). :-)

Но на самом деле, если вы являетесь пользователем Unix, вам нужно выучить как минимум достаточно vi, чтобы внести простые изменения в конфигурационные файлы и сохранить их. Вы никогда не знаете точно, что (если вообще что-нибудь) вы получите, когда попытаетесь запустить emacs в незнакомой системе Unix, но vi всегда рядом.

1 голос
/ 01 декабря 2009

Этот замечательный учебник очень помог мне в моих первых шагах в Vim. Это мягкое введение и приятное объяснение философии vim:

aByteOfVim

1 голос
/ 01 декабря 2009

Вот как вы учитесь: начните печатать. Когда вы попадаете в точку, где вы хотите сделать что-то, кроме набора текста, посмотрите, как вы это делаете. Повторение. Это помогает начать с нескольких основ, скажем, 7 основных команд. Кроме этого, когда вы столкнетесь с необходимостью выполнить какую-либо операцию, найдите ее и используйте.

1 голос
/ 01 декабря 2009

Это должен быть просто комментарий, но против какого ответа ...

С Vim Я бы посоветовал использовать версию GUI для начала, просто погрузиться, встроенная справка превосходна (: h и экран разбивается, добавляя панель с исчерпывающими "гиперссылками" справочных страниц). С vim единственной потенциально опасной операцией является запись, все остальное, что вы делаете, восстанавливается по команде или редактированию (отмена и повтор).

Приобретенная сила легко стимулирует обучение.

1 голос
/ 30 ноября 2009

Может быть, хорошим способом является изучение vim / emacs при использовании eclipse. Попробуйте vimplugin или emacsplus плагины для затмения.

...