it-swarm-ru.tech

Каков наилучший способ заставить себя освоить ви?

Давным-давно я прочитал статья создателя viem , проясняя многие заблуждения относительно vi, а также объясняя, почему это хорошая идея (и почему она была очень популярна для последние 30 лет +). У того же парня также есть отличный набор графических шпаргалок , которые обучают основам несколько раз за раз.

Я убежден.

Я был убежден за последние 2 года на самом деле. Но я до сих пор так и не смог заставить себя изучать vi в качестве основного редактора, кривая обучения слишком высока. Когда я приступаю к работе, приемлемая, но немедленная производительность (с использованием моего текущего редактора) до сих пор побеждала огромную производительность в дальнейшем (с использованием vi).

Есть ли у кого-нибудь хорошие советы, которые помогут пройти курс обучения? Это могут быть советы, какой-то другой учебник или статья, что угодно.

Правка: Обратите внимание, что мне известны варианты vim/gVim , Cream и MacVim (и т.д.) Vi. Я сохранил свой вопрос о vi, чтобы обозначить семью vi в целом. Спасибо за все отличные ответы.

Обновление (апрель 2009 г.)

Я использую Vim (точнее, MacVim) в своей повседневной профессиональной жизни с декабря прошлого года. Я не вернусь :-)

Удачи всем в их мастерстве Vim.

200
webmat

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

Тем не менее, это требует дисциплины, чтобы учиться. Если у вас есть работа и вы не можете позволить себе потерю производительности (без увольнения), я бы предложил взять проект выходного дня с единственной целью - изучить редактор. Держите документацию открытой, пока вы работаете, и будьте достаточно дисциплинированными, чтобы не выкашлять Когда вы узнаете больше, станете эффективнее и начнете полагаться на мышечную память, с этим будет не так сложно справиться.

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

123
Lucas Oman

Первым делом я положу лист бумаги или книгу на клавиши со стрелками и клавиши ins/home/end/pgup/down. Это не нужно в Vi.

Затем я привыкну нажимать Ctrl + [всякий раз, когда вам говорят убежать. Это намного быстрее, и вам не нужно отрывать руки от клавиатуры.

Тогда я бы посмотрел мои скринкасты:

http://www.youtube.com/watch?v=FcpQ7koECgk

http://www.youtube.com/watch?v=c6WCm6z5msk

http://www.youtube.com/watch?v=BPDoI7gflxM

http://www.youtube.com/watch?v=J1_CfIb-3X4

Тогда просто практикуй практикуй практикуйся.

edit Причина, по которой вы избегаете клавиш со стрелками, заключается в том, что они замедляют вас. Одним из самых больших преимуществ Vim является скорость, которую он вам позволяет. Клавиши со стрелками также не позволяют вам по-настоящему охватить модальную природу, которая очень эффективна при освоении.

63
Aaron Jensen

Шаг 0: научиться печатать на клавиатуре. Серьезно - если ваши пальцы не знают, где находятся ключи, то vim будет проблемой. И даже если вы откажетесь от vim, сенсорный ввод текста улучшит ваше программирование (спросите Steve Yegge ), заставляя ум следить за свободным трением в ссылках. Существует много из программное обеспечение , которое может помочь вам улучшить набор текста.

Шаг 1: используйте vimtutor , чтобы начать работу. Он находится в gvim (я думаю, в меню справки), или вы можете просто ввести "vimtutor" в командной строке. Это займет 30-45 минут вашего времени, и тогда ваши пальцы будут знать основы vi/vim, и вы сможете редактировать файлы, не вырывая клавиатуру из окна.

Шаг 2: везде используйте vim. Смотрите этот вопрос советы и ссылки по использованию привязок клавиш vim и vi в командной строке, в веб-браузере, для создания писем, в своем IDE ... Вам необходимо используйте vim, чтобы встроить привязки клавиш в мышечную память.

Шаг 3: узнать больше о vim. Вы только поцарапали поверхность с помощью vimtutor. Вы можете посмотреть это видео или прочитать эту статью (оба о "Семи привычках эффективного редактирования текста". Вы можете прочитать о советы и хитрости вкл StackOverflow . Вы можете просматривать vimtips . Учить немного часто было бы моим советом - есть очень много там, где придерживание кусков размера укуса будет лучшим способом заставить знание придерживаться.

Шаг 4: Прибыль :)

37
Hamish Downer

В течение многих лет я снова и снова пользуюсь vim (иногда выполняю работу системного администратора). Я только недавно начал проводить больше времени, занимаясь программированием. Я бы посоветовал начать с gvim. Он хорошо интегрируется с большинством сред ОС, и (что еще лучше) позволяет использовать мышь, когда вам это необходимо :).

Чтобы начать работать с vim, запустить vimtutor (в комплекте с gVim) один или два раза (это займет около часа). Я не могу преувеличить, насколько это было полезно для меня! Особенно первые части о различных способах перемещения по документу и о том, как действия редактирования записываются с помощью команд перемещения и т.д. И т.д. После этого все будет НАМНОГО понятнее.

Затем начните выполнять быстрые незначительные правки (замена блокнота), пока вы не почувствуете себя достаточно комфортно, чтобы быстро и быстро отредактировать клип. Затем попробуйте выполнить свою повседневную работу. Вы сразу же почувствуете, что жаждете команды повтора последнего действия в других редакторах!

26
Brian

Вы попросили хороших советов, которые помогут пройти курс обучения в текстовом редакторе vi. Многие из предыдущих ответов предлагают вам не использовать другие редакторы. Я думаю, что это хороший совет. Переключение на vi из более графического редактора требует изменения мышления. Это требует мышления с точки зрения команд, а не визуальных изменений.

Я много лет использовал ничего, кроме vi, и считаю, что единственный способ, которым вы можете работать, - это запоминать команды, которые вы регулярно используете. Я сделал это, чтобы составить краткий список наиболее распространенных клавиатурных команд. Я сгруппировал и кодировал эти команды по функциям, то есть Перемещение курсора, Редактирование, Поиск и т.д. Я был осторожен, чтобы включить только наиболее часто используемые Команды я не знал. Идея состоит в том, чтобы создать краткий справочник, который также помогает в запоминании, а не заменять доступные экраны справки. Затем я распечатал этот список и приклеил его к стене за монитором, чтобы его было легко увидеть. (Графические шпаргалки, которые вы упомянули, могут работать лучше для некоторых, но, вероятно, являются лучшим справочным источником, чем инструмент для запоминания.)

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

Пару лет назад мне пришлось работать на платформе UNIX, где vi был единственным доступным редактором. Я купил небольшой карманный справочник по vi, но вряд ли использовал его. Я закончил составлять списки и размещать их на стене, как в первый раз, когда использовал vi. К концу первой недели мне было очень комфортно, хотя прошло уже пять лет с тех пор, как я использовал vi.

18
TMarshall

Вы должны начать с vim (Vi IMproved) и особенно его GUI - gVim . Графический интерфейс имеет меню, а в Windows вы можете использовать ярлыки копирования, вырезания и вставки, чтобы вы могли немедленно заменить Блокнот. А поскольку в меню отображаются ярлыки (команды vim), вы можете многому научиться.

Еще одна вещь, которую вы должны сделать с самого начала, это настроить vi для ваших нужд. Например, вы можете преобразовать vim в Python IDE . Делая это, у вас не будет оправданий для использования другого редактора, потому что vi предложит вам все, что вам нужно.

11
Cristian Ciupitu

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

Но вам действительно нужно знать VI, если вы делаете что-то значительное в Linux!

Так что просто изучите основы: i = режим вставки esc = выход из режима вставки: wq = сохранить и выйти: q! = Не сохранять и выходить x = когда не в режиме вставки, удалите символ./= Поиск

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

Держите справочник или книгу доступными - хотя, когда вам НУЖНО использовать VI, вы, вероятно, не сможете просматривать веб-страницы, - но страница справки может быть несколько полезной.

11
Bill K

не заставляй себя. путь к мастерству любви есть.

11
jbarciela

удалите все другие приложения текстового редактора.

Тогда вам придется выучить это.

10
Bob Dizzle

Самый простой способ принудительно самостоятельно - просто удалить все остальные редакторы с вашего компьютера. Избавься от соблазна :)

9
Dana

Каждый раз, когда вы делаете сложную задачу редактирования, продолжайте задаваться вопросом, есть ли более эффективный способ сделать это. В большинстве случаев, когда это можно описать простыми словами (например, "поменять местами абзацы текста" или "удалить все после символа X в закомментированных строках"), это можно сделать всего несколькими нажатиями клавиш в vim.

Есть несколько ключевых функций, которые чрезвычайно полезны, и вы все время будете их использовать. Те, которые я люблю больше всего:

  • Выбор блока (Ctrl-V)
  • Запись макроса (q)
  • Виртуальное редактирование (: set ve = all)
  • Регулярные выражения
  • Трубопровод к внешним программам Unix
  • Сопоставления клавиш
  • Автозаполнение (C-p, C-x, C-p, C-x, C-f)
  • Комбинация операция + движение (это удивительно мощно)

Спросите других программистов, какие функции они находят наиболее полезными, и выберите те, которые лучше всего подходят вашему мозгу. Воровать идеи у .vimrcs других людей ( вот мое )

9
Roberto Bonvallet

Правка: Я создал флэш-карта, установленная на сайте повторения в Интернете на сайте flashcarddb.com , если вам интересно ...

  1. Используйте программу с флэш-картой с повторяющимися интервалами, например mnemosyne , supermemo или anki , чтобы включить изучение и сохранение новых команд в свою повседневную жизнь. Недостаточно использовать vim в качестве ежедневного редактора. Чтобы справиться с этим, вы должны хранить эти коды в своей голове, ожидая того времени, когда они станут идеальным решением поставленной задачи.
  2. Поддерживать .vimrc с настройками
  3. Написать или отредактировать плагин vim
8
P. Myer Nore

Я написал руководство по эффективному редактированию с Vim некоторое время назад. Вы можете найти это полезным.

Я на шаг отступил бы назад и спросил себя: "Почему я хочу изучать этот редактор? Что заставляет меня думать, что он будет быстрее или лучше, чем мой текущий текстовый редактор?" Затем изучите те функции, которые сделают Vi (m) незаменимым для вас.

Например, интеграция CTim с Vim совершенно необходима для меня. Я работаю с очень и очень большой кодовой базой, и возможность перехода к определению функции или класса одним нажатием клавиши (независимо от того, в каком файле он находится) является абсолютно убойной функцией, без которой у меня возникают проблемы при работе.

Используйте ваш файл .vimrc для создания макросов, которые автоматизируют общие задачи.

Ваш редактор-автопилот выберет редактор, который выполнит работу быстрее и с наименьшими затратами умственных усилий. Небольшая подготовительная работа обеспечит Vim редактором. :-)

8
Jonathan

Две вещи, которые значительно улучшат ваши навыки работы с vi:

  1. Практика, практика, практика
  2. Nethack
6
Mark Witczak

Мое предложение: начать с малого. Просто начните с запоминания небольшого набора самых полезных команд. Когда я запустил vi, это были мои лучшие 10:

  • (Esc), чтобы вернуться в командный режим (самое главное!)
  • добавить текст после курсора
  • А, чтобы добавить текст в конце текущей строки
  • х, чтобы удалить 1 символ
  • дд удалить 1 строку
  • R заменить текст (перезаписать)
  • ты, чтобы отменить
  • : Д! (Enter) выйти без сохранения
  • : w (Enter) чтобы сохранить
  • ZZ, чтобы сохранить и выйти

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

Кстати, я хотел бы добавить, что раньше я полагался на vi в качестве основного текстового редактора, но теперь, только если мне придется. В моем случае производительность выше, когда я использую такие инструменты, как Emacs или Visual Studio (обратите внимание: "в моем случае"). Попробуйте более одного инструмента и выберите тот, который больше всего поможет вашей производительности. Удачи!

6
Paulus

Звучит глупо, но играть в roguelike игры (такие как Nethack или Angband ) - забавный способ освоиться с использованием h/j/k/l клавиши для навигации курсора.

5
bk1e

Запишите все ярлыки и функции, которые вы используете в своем текущем редакторе, пока используете его на работе. Затем сядьте в субботу утром и с помощью Google и переполнения стека узнайте, как сделать каждый из них в vi. Вероятно, лучше всего, если вы используете лист (или листы) бумаги для этого.

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

Наконец, опубликуйте свой список сочетаний клавиш из старого редактора с новым в своем блоге.

Удачи!

4
Guy

Не используйте X11?

$ sudu rm /usr/local/bin/emacs

Измените свой логин Shell на vi?

Сначала заставьте себя использовать ed, затем vi покажется вам роскошью?

Использовать привязки клавиш vi в bash?

Просто начните использовать vi все время?

Мне кажется, что изучение редактора не сильно отличается от изучения языка. Погружение работает лучше всего.

Я использую vi для действительно быстрого редактирования или когда я не могу использовать X11 по какой-то причине, но я живу в emacs. Действительно мощные редакторы стоят того, чтобы учиться.

4
Jon Ericson

Основная причина использования vi - это ssh (или PuTTY в Windows): когда вы входите на сервер Unix удаленно, vi всегда доступен. И это работает с VT100, когда ни клавиши курсора, ни возврат/удаление не отображаются.

Также очень помогает наличие такой книги, как VI Pocket Reference .

3
Aaron Digulla

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

Тем не менее, я думаю, что вам нужно просто поглотить немного боли, и всегда, всегда, ВСЕГДА следите, чтобы вы смотрели документацию на то, что делаете, что вы знаете вы можете сделать в вашем предыдущем редакторе, например, переместиться в конец строки или выбрать область текста.

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

Если у вас нет местных ресурсов, есть много книг/учебных пособий/справочных листов в Интернете, которые смогут ответить на большинство ваших вопросов.

В конечном счете, изучение Vi похоже на изучение других навыков, серебряной пули нет, и вам придется смириться с тем, что какое-то время вы будете менее продуктивны в этом, чем ваш нынешний редактор. Просто продолжайте говорить себе: "Другие люди смогли выучить Vi, и я, по крайней мере, такой же умный, как и они" (Это то, что я говорю себе в любом случае :))

3
ben.prew

Я рекомендую придумать несколько простых программ и написать их, начать заканчивать, используя VI.

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

Я делал это раньше, чтобы познакомиться со средами/редакторами, и это работает довольно хорошо.

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

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

3
TM.

у gVIM действительно хороший учебник (ссылка в группе меню "Пуск").

Я нашел, что работа через это помогла преодолеть начальный горб обучения; а затем переключение моей Visual Studio на ViEMU помогло мне отточить свои навыки работы с VI.

Кроме того, скринкасты на http://vimcasts.org/ великолепны!

3
David Laing

Вы можете начать с крема. Крем описывает себя как "современную конфигурацию" vim. По сути, это специальная версия vim, которая выглядит и выглядит как любой другой текстовый редактор для всех практических целей. Но включите "режим эксперта", и вы получите всю мощь и поведение vim.

Таким образом, вы можете начать использовать Cream в качестве обычного текстового редактора, а затем поэкспериментировать с "режимом эксперта", пока не почувствуете себя достаточно комфортно, чтобы полностью переключиться на vim.

2
sids

Установите gVim на всех платформах, которые вы используете.

Затем запустите vimtutor (:help vimtutor или vimtutor в командной строке).

Посмотрите следующую лекцию и следуйте ее советам: 7 навыков эффективного редактирования текста 2.

Я говорю, что вы определенно хотите начать использовать его для всего вашего редактирования. Если вы боитесь потери производительности, то потратьте выходные, чтобы практиковаться в этом (я однажды сделал это, чтобы переключиться на dvorak из qwerty, и к понедельнику у меня была достаточно высокая производительность, и после этого мне удалось его придерживаться).

Это стоит усилий, и вы не будете оглядываться назад!

2
user13060

Вы можете взять в руки одну из оригинальных клавиатур Happy Hacker (без клавиш со стрелками) и расположить свою (беспроводную) мышь вне досягаемости при каждом редактировании.

2
Garth Gilmour

Легко написать большой список команд/ярлыков, но сложно запомнить их все без практики.

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

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

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

2
Craig Hyatt

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

Если вы не можете коснуться шрифта и всегда ищите двоеточие, hjkl или:% s/foo/bar, забудьте об этом. Ввод может быть быстрее, чем использование мыши, но если это не так, vi не сработает.

Но объедините хорошие навыки набора текста, ssh и screen и vi будут естественными.

2
Michael Cramer

ESC gg=G для переиндексации кода и :retab для преобразования табуляции в пробелы или пробелы во вкладки - вот что привело меня в vim. Так что на самом деле вам не нужно заставлять его использовать, вы просто должны узнать, когда это может помочь вам увеличить вашу скорость.

Пройдите через vimtutor.

Начните использовать vim для простого редактирования, например, файлов конфигурации или HTML. Изучите команды, как вам нужно.

Поищите в Google хороший .vimrc, используемый кем-то, кто использует цепочку инструментов, похожую на вашу. Включите подсветку синтаксиса. Найдите хорошую цветовую схему.

Изучайте макросы, потому что Vim лучше всего подходит для автоматизированных задач и вставки фрагментов, таких как форматирование нескольких слов в сложный тег XML или преобразование CSV в таблицу HTML.

2
Eduardo Marinho

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

Что-то вроде vim (как уже говорили другие, vim значительно превосходит vi) важно периодически перечитывать и просматривать документацию. Интерфейс совершенно недоступен без него. С каждым новым чтением вы будете видеть функцию и говорить "ах, это бы решило эту проблему, которую я пытался выяснить на прошлой неделе", и сохранит ее в своем мозгу. Решения, связанные с реальными проблемами, которые у вас были, гораздо легче запомнить, чем случайные ярлыки.

В конце концов, вы можете использовать vim с довольно небольшим подмножеством его функций, так что не перегружайтесь всеми прибамбасами. Подумайте обо всех функциях Word, используют ли их 99% людей?

2
Matt Price

Когда я был намного моложе (одиннадцать), моя семья переехала в Германию на пару лет. Я смог выучить язык с помощью погружения - у меня просто не было выбора, кроме как говорить на языке (хотя, если бы я находился в тяжелом положении, я мог бы найти говорящего на английском языке).

Я предлагаю вам сделать то же самое - если только вы не в абсолютно отчаянной ситуации (например, "хорошо, я только что удалил/etc/passwd и мне нужно вернуть root"), примите сознательное решение сделать все возможное с помощью vi. На самом деле, если вы хотите, обучение основам не займет много времени.

Как и предполагали другие,

vim-tutor

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

1
cjmac

Используйте метод post-it note :-)

При использовании gvim позвольте себе использовать меню. Прочитайте книгу/учебник о vim, чтобы вы знали основы. (вставить и командный режим)

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

Хорошее начало, вероятно, я, а, о, GG, G,: 10,/что-то

а некоторые вырезать и вставлять, как уу, дд, р

и просто завершить с V, V (визуальный режим) + вырезать и вставлять

Затем, когда вы их узнаете, замените на post-it новым, который имеет еще более прохладную функцию, и повторяйте, пока вы не будете счастливы.

/ Johan

1
Johan

Как заставить себя? Мой совет - быть в рабочей среде, где вам нужно поддерживать 10 ящиков Unix, подключая их через telnetting/puttying. Вы быстро поймете, что единственный способ эффективно редактировать текст в нескольких вариантах * nix - это использовать стандартный редактор, который поставляется практически со всеми известными мне дистрибутивами. Кроме того, когда X11 не запускается при новой установке, vi - ваш единственный друг :)

1
Excalibur2000

Я изучил vim/vi более десяти лет назад, когда учился на мастера. Тогда единственная машина, к которой у меня есть доступ, - это станции Sun Sparc (я думаю, Sparc 20). И vi - единственное, что на нем есть. Таким образом, одна вещь, которую вы можете сделать, чтобы "заставить себя", это удалить любой другой редактор, который у вас есть!

1
lang2

Лично мне нужно было убедиться, что я могу использовать привязки клавиш Vim (или, по крайней мере, достаточно близко) в нескольких приложениях. Необходимость полностью переключать способ редактирования текста каждый раз, когда я менял редакторы, делала слишком трудной настройку стиля редактирования Vim на мышечную память.

В моем случае Viemu + vimperator сделали свое дело.

1
tomasr

Я только узнал vi, когда начал работать с провайдером, где скрипты для редактирования доменов открывали только vi на терминале. У меня не было выбора, кроме как изучить это, но я никогда не сожалел об этом.

Короче говоря, поставьте себя в ситуацию, когда у вас нет выбора, кроме как изучить его.

0
Nathan Fellman

Я бы начал с argdo , и как только вы влюбитесь в это, остальное легко ...

0
Kearns

Проведите пару часов на сайте любителя vi http://nereida.deioc.ull.es/html/vilovers.html - множество учебных пособий, ссылок и т.д. С энтузиастами фанатов vi.

0
DarenW

В современном vi (vim?) Меня по-настоящему смущает то, что режим ввода позволяет использовать некоторые, но не все функции командного режима. Я чувствую себя намного более комфортно, когда режим ввода полностью отключен от "перезаписи только, перемещение курсора невозможно", что есть в старой версии Solaris vi. Настоящий vi требует, чтобы вы оставались в командном режиме большую часть времени.

Тем не менее, в настоящее время нет необходимости изучать vi - emacs столь же вездесущ. :)

0
Arkadiy

Подождите, пока вам не придется отлаживать странную и удивительную проблему в реальной среде, где все, что вы можете сделать, это добраться до командной строки. Возможно, вам не понравится VI, но это сэкономит вам много времени, и вы научитесь множеству хитростей, позволяющих перебирать массивные (журнальные) файлы.

0
Andrew Harmel-Law

Хотя я большой поклонник vi в целом и vim в частности, есть много мощных редакторов, и вы не должны чувствовать, что вам нужно использовать vi, или это какой-то абсолютно идеальный редактор, потому что это не так.

Если вам придется заставить себя использовать vi, я буду обеспокоен тем, что вы не чувствуете себя продуктивно, используя его. Однако, если вы настаиваете на сохранении, я бы, вероятно, просто удостоверился, что использовал vi для каждой отдельной задачи редактирования. Всякий раз, когда мне нужно что-то сделать, и я не совсем не лучший способ сделать это, я бы попытался найти оптимальный (с точки зрения минимального нажатия клавиш), чтобы сделать это в vi после Я сделал это неоптимальный нормальный способ. Затем я бы сделал пост-заметку с этим небольшим советом (или, может быть, просто текстовым файлом), чтобы запомнить его в следующий раз.

Со временем ваша производительность с помощью Vi значительно улучшится.

0
Brian Mitchell

Я узнал vi из превосходной книги О'Рейли "Изучение редактора vi" .

0
Phillip Wells

Почему я не использую свой собственный способ с низким трением, чтобы заставить себя? :-)

То, что я делаю, просто: я пытаюсь заставить мои git коммитить сообщения с помощью vim (редактор по умолчанию, когда вы не указываете сообщение в командной строке).

Конечно, сообщение коммита настолько коротко, что едва помогает. Но при повторном редактировании сообщения с помощью git commit --amend это более полезно.

0
webmat

Распечатайте одну из множества шпаргалок Vi/Vim, которые вы можете найти в Интернете, и заставьте себя придерживаться ее в течение нескольких недель.

Как только вы изучите некоторые основные команды, вы можете быть довольно эффективными. Оттуда просто продолжайте подключаться и время от времени изучайте новую команду. Вы не сможете выучить ВСЕ команды vi. Я верю, что команд vi больше, чем атомов во вселенной !! :)

0
Utah_Dave

Сначала я потратил несколько минут, чтобы пройтись по самым элементарным вещам - переместить курсор вокруг, выполнить поиск вперед и назад, перейти к следующим и предыдущим словам/предложениям/абзацам и т.д. Вставить, добавить. Все, что вы можете вписаться в вашу голову. Затем, когда вам нужно что-то сделать, что не нужно делать в течение следующих 15 секунд, заставьте себя использовать это.

Когда вы достаточно хорошо освоите основы, медленно изучайте более сложные команды - особенно те, которые используют ваше предыдущее обучение (например, замену следующих 3 слов или удаление до следующей цели поиска)

Я люблю использовать VI, как только я научился. Усовершенствованные команды намного мощнее, чем, как кажется, предлагают большинство редакторов графического интерфейса, и тот факт, что они распространены повсеместно и основаны на тексте, и поэтому доступны через ssh, тем лучше.

0
randychilders

Делай то, что я сделал. Используйте это для всего, и зависайте в #vim на freenode.

0
Jeremy Cantrell

Google твой друг. Держите окно или вкладку под рукой, и если у вас есть что-то, что вам нужно сделать несколько раз, скажем код отступа или поиск с помощью регулярного выражения, найдите его. Лучшие сайты с подсказками станут знакомыми, добавьте их в закладки и, возможно, распечатайте шпаргалку.

0
sammyo

Я начал использовать VI, потому что это редактор по умолчанию практически во всех операционных системах, кроме Windows. Опять же, я не много пишу на Windows, так что это помогает.

Если вы хотите заставить себя работать в системе * NIX/OSX, просто удалите другие редакторы или добавьте их псевдонимы. В остальном это зависит от вас. Каждый раз, когда вы не используете VI для редактирования файла, вы не получите cookie.

0
Kristian

Лучший способ? Настройте свой терминал на использование сочетаний клавиш vi.

0
chiggsy

удалите notepad.exe и создайте ярлык для vim с именем notepad :)

или делайте все свое кодирование через ssh или на машине без GUI;)

0
shyam

Я попытался сохранить небольшой шпаргалку или заметки об общих командах vi. Я делаю то же самое для IDE, который я использую. Я обнаружил, что если я добавляю заметки о сочетаниях клавиш или командах на монитор (-и), это помогает мне их изучить. Как только я воспользуюсь ярлыком и думаю, что хорошо его помню, я удалю заметку.

0
Bob Wintemberg

symlink каждый редактор терминала в вашей системе, чтобы vim и symlink каждый графический редактор вашей системы со скриптом, который открывает новое окно терминала с запущенным vim.

0
Steve Losh

Я использовал его для редактирования файлов на веб-сервере Linux, а не на FTP. Это было 9 лет назад, и с тех пор я овладел навыками.

Другая вещь - найти что-то отличное, что вы можете сделать в ВИ, например, глобальный поиск и замену, или что-то еще более мощное, и используйте ВП, когда вам это нужно.

0
Brian G

Когда вам нужно быстро что-то найти, может помочь все это на одной странице.

0
webmat

Если вы заставите себя использовать его в течение нескольких дней, вы увидите, что команды вскоре станут второй натурой. Если вы используете систему posix, я рекомендую начать с nvi, лицензированного BSD, классического клона 1: 1 vi, а затем перейти к vim. Если вы начинаете с vim, вероятно, вы используете только подмножество команд редактирования, потому что его режим INSERT очень похож на GUI-редакторы.

0
jbcreix

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

Просто думай об этом, как о чистке зубов. Вы должны мотивировать себя, чтобы сделать это? Нет, ты просто делаешь это.

0
Craig H

Потратьте десять лет публикации в Usenet с компьютера, на котором были доступны только vi и emacs (и где emacs долго раздражал при запуске при вызове из 'rn').

Вот как я это узнал.

Но для более быстрого подхода я могу порекомендовать вам просто посвятить себя его изучению и потратить несколько часов на работу с некоторым исходным кодом. Установите vim, если у вас его еще нет - он имеет замечательные функции подсветки синтаксиса.

Это того стоит. Я знаю, что могу использовать практически любую Unix-машину в любой точке западного мира, возможно, даже через медленное коммутируемое соединение или на компьютере без графического интерфейса, и в течение нескольких минут получить полную производительность.

0
Matt Hucke

У меня есть VI на Windows, версия, которую я использую, приведена ниже, если я нахожусь в окне консоли, я всегда по умолчанию использую VI, то независимо от того, на какой ОС я работаю, я знаю, что могу редактировать файл. И наоборот, если я нахожусь в режиме пользовательского интерфейса, я использую Notepad ++.

NT VI - версия 0.23 Разработано: Тони Эндрюс Основано на программе: Тим Томпсон

0
titanae

Я был вынужден изучать Vim для моей первой работы по программированию, когда мне было 16 лет (босс не позволил бы нам использовать что-либо еще), но я не добился реального прогресса, пока не прочитал Книга Стива Уоллина Vim = - настоятельно рекомендуется в качестве отправной точки, если вы хотите серьезно относиться к vim.

Vim на самом деле требует больше времени для освоения, чем некоторые языки программирования (функции являются сложными). Попытка "освоить" Vim путем печати шпаргалок - это все равно что попытаться освоить Haskell, прочитав пару постов в блоге. Будьте готовы потратить некоторое серьезное время, и вы будете хорошо вознаграждены.

0
too much php

Я сделал себе удобную одностраничную шпаргалку и использовал ее для изучения всех не базовых функций. Однако практика - это единственный способ овладеть чем-либо.

vi хорош, потому что он есть на каждом компьютере типа UNIX, Mac OS X, Solaris, Linux. Найти старую коробку с лесами на eBay? У него есть ви. Как насчет Sun OS 4? ви опять.

0
Norman Franke

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

0
oj