Как программист я провожу много часов за клавиатурой и занимаюсь этим последние 12 лет, более или менее. Если есть что-то, к чему я никогда не привык за все это время, это то раздражающее и почти бессознательное постоянное микропрерывание, которое я испытываю во время кодирования из-за некоторых наиболее распространенных задач редактирования кода. Такие вещи, как простое копирование и вставка из другой строки (или даже из той же строки), или перемещение на 1 или 2 строки вверх или вниз от текущей позиции, требуют слишком большого набора текста или использования клавиш со стрелками ... и это приводит к хуже, когда я хочу двигаться дальше - в итоге я использую мышь. Теперь представьте себе такой же сценарий, но на ноутбуке.
Я всегда думал об изучении VIM, но время, необходимое для его освоения, всегда заставляло меня отступать.
Я хотел бы услышать от людей, которые узнали это, и если это окажется одной из тех вещей, без которых вы не можете жить.
На работе я использую VS2008, C # и R #, которые вместе делают редактирование кода намного быстрее и проще, чем когда-либо, но даже в этом случае, я думаю, я мог бы наслаждаться отсутствием использования мыши вообще.
И даже не клавиши со стрелками.
Ответы:
Я использую vi и vim также около 20 лет, и я все еще изучаю новые вещи.
Сайт Дэвида Рэйнера « Лучшие из Vim Tips» - отличный список, хотя, возможно, он будет более полезным, если вы немного познакомитесь с vim.
Я также хочу упомянуть сайт ViEmu, на котором есть отличная информация о советах по vi / vim, и особенно статья. Почему, о ПОЧЕМУ, эти психы используют vi? ( архивная версия )
источник
Могу ли я жить без этого? С легкостью.
Это полезно? Да.
Причины обучения
vi гарантированно существует во всех системах Unix и также существует в большинстве систем Linux. Такой широкий охват делает изучение того стоит.
Гораздо быстрее использовать vi для
sudo
редактирования:$ sudo vi
Также GMail использует команды vi-ish для выбора и перемещения писем!
Вам не нужно быть мастером.
Просто учись
Основы:
:w
Enter(написать):q!
Enter:wq
EnterОттуда все остальное сделает вас быстрее.
источник
Пробежка по vimtutor заняла у меня всего 30 минут, этого было достаточно, чтобы познакомиться с vim. Это стоило каждой секунды этого.
источник
Если вы программист, который редактирует много текста, важно изучить редактор текстов. Какой серьезный текстовый редактор вы изучите, не очень важен и во многом зависит от типов сред, в которых вы ожидаете редактировать.
Причина в том, что эти редакторы высоко оптимизированы для выполнения задач, которые вы будете делать много. Например, рассмотрите возможность добавления одного и того же фрагмента текста в конец каждой строки. Это тривиально в серьезном текстовом редакторе, но в остальном нелепо громоздко.
Обычно считаются убийственными функциями vim: A) что он доступен практически на каждом Unix, с которым вы когда-либо сталкивались, и B) вашим пальцам очень редко приходится покидать домашний ряд, что означает, что вы сможете редактировать текст очень и очень быстро , Это также обычно очень быстро и легко даже при редактировании огромных файлов.
Однако существует множество альтернатив. Конечно, Emacs - это самый распространенный пример, и это гораздо больше, чем просто расширенный текстовый редактор, если вы действительно в него вникаете. Я лично очень счастлив TextMate пользователь после многих лет использования vim / gvim.
Хитрость в том, чтобы переключиться на что-либо из этого, - заставить себя использовать их так, как они предназначались. Например, в vim, если вы вручную выполняете каждый шаг в многоэтапном процессе или используете клавиши со стрелками или мышь, возможно, есть лучший способ сделать это. Остановите то, что вы делаете, и посмотрите.
Если вы больше ничего не делаете, изучите основные элементы управления навигацией для vim и Emacs, так как они появляются повсюду. Например, вы можете использовать элементы управления в стиле Emacs в любом поле ввода текста в Mac OS, в большинстве оболочек Unix, в Eclipse и т. Д. Элементы управления в стиле vim можно использовать в команде less (1), в Slashdot , в gmail , и т.п.
Радоваться, веселиться!
источник
<esc> >i{
... Это действительно так же, как с сенсорным набором текста: вы учите одну раскладку клавиатуры и придерживаетесь ее, потому что вы никогда не сможете остановить ваши пальцы от ввода неправильных клавиш на другой раскладке.Это определенно стоит усилий.
Есть одна очевидная причина, по которой любой, кто использует
Vi(m)
, скажет вам, и две другие, о которых люди никогда не упоминают.Вот очевидный:
vi
Он одновременно вездесущий и невероятно мощный, и, изучив его один раз, вы получаете возможность использовать эту мощь практически на любом компьютере с клавиатурой.И это менее известные причины для изучения
Vim
:Это не вдвое меньше усилий, чем вы думаете. Запустите репетитора Vim один раз (
vimtutor
в командной оболочке или в Windows, запустите его из папки Vim в меню «Пуск»), и вы уже будете на пути к компетенции, и оттуда все упадет. ЯVim
достиг уровня, на котором я мог использовать на работе, не испытывая заметного снижения производительности в течение обеденного перерыва менее чем за неделю.Это весело ! Редактирование текста теперь для меня как игра . Я активно наслаждаюсь этим - что довольно смешно, если подумать.
Есть также две веские причины не учиться
Vim
:Это вызывает привыкание, и вы захотите использовать
Vim
команды во всех своих вычислениях и ругаться, когда не сможете. К счастью, по крайней мере , в некоторых ситуациях, есть способы , чтобы получить вокруг этого .Опять же, это вызывает привыкание, и хотя вы не потеряете продуктивность от фактического использования
Vim
, вы потратите часы на поиск полезных советов, которые сделают вашVim
опыт еще лучше, и на чтение тега Vim в Stack Overflow.источник
Это определенно стоит изучить vim или emacs. Также стоит научиться печатать на ощупь. В обоих случаях причины одинаковы: ваше мышление больше не прерывается механическим процессом вывода вашего кода на экран .
Что касается того, как начать, просто погрузитесь и начните использовать vim для всего.
PS Спор о emacs-vs-vi бесконечен. Я использую Emacs в течение 26 лет. Если бы я начал сегодня снова, я бы изучил vim, потому что (а) он стал лучше и (б) гораздо меньше клавиш-модификаторов (Ctl-Alt-V, любой), и пользователи vim, кажется, получают гораздо меньше травм при печати.
источник
Вы можете получить хорошую функциональность отказа от Vim, изучая значения только 16 ключей:
ijkdbw9:q!%s/nN
Esc. Вы можете сделать голые кости простоi:wq
Esc.Первые две клавиши, которые вам нужно знать: Escпереход в командный режим (режим, в котором вы запускаете), и
i
переход в режим вставки (обычная печать).Для сохранения нужно
:
w
тоEnterЧтобы сохранить и выйти вам нужно
:
wq
тоEnterЧтобы не сохранять и принудительно выходить, нужно
:
q!
тоEnterЧтобы узнать больше вы можете запустить
vimtutor
в командной строке. Это урок средней длины, хорошо структурированный.Помимо
i
и Esc: вы можете копировать или превосходить некоторые функции MS Word только сjkwbd3:%s/nN
.b
вернет вам слово ( Ctrl+ ←)w
принимает вас вперед слово ( Ctrl+ →)9w
переносит вас вперед на девять словdb
удаляет предыдущее слово ( Ctrl+ Backspace)d3b
удаляет три предыдущих слова9j
движется вниз на 9 строкornithopter
Enterприведет вас к следующему экземпляру слова "ornithopter",n
а затем иN
к следующему и предыдущему появлению «орнитоптер» соответственно.%s/confounded/dangfangled/
Enter заменяет каждый "путанный" на "болтливый" (например,find and replace all
в MS Word)Любой из них должен быть запущен в режиме «команда» ( Esc), а не в режиме вставки (
i
).источник
Я недавно перешел на VIM, и думаю, это того стоит. Если вам нужно «просто что-то сделать», вы всегда можете оставаться в режиме вставки, где vim (в основном) похож на обычный текстовый редактор.
Я заметил, что вещи, которые раньше меня не беспокоили, например, тянулись к клавишам со стрелками, теперь чувствуют себя неправильно и слишком много усилий. Это определенно уменьшило моё движение рук и использование мыши, что хорошо как для эргономики, так и для производительности.
источник
Это зависит от того, что вы хотите сделать с VIM. Не имеет смысла изучать это только потому, что многие люди не могут жить без него.
Когда я много работал в среде UNIX, я не мог жить без нее. Даже когда VIM не был установлен на машине UNIX, я мог по крайней мере использовать vi. Вы всегда можете рассчитывать на это - даже если машина не ваша (это от клиента).
Сейчас я программирую на C # и в основном работаю в среде Windows. Я установил VIM на свой компьютер ... и мне это не нужно.
Оцените, действительно ли вам нужен VIM и поддерживает ли он вас в процессе работы. Попробуйте это. Играть с этим. Если вы думаете, что вам это нужно, придерживайтесь этого ... кривая обучения очень крутая.
источник
Я изучил ви, потому что должен был.
Мой сумасшедший учитель заставил нас учиться программировать на C, используя терминал для системы AIX.
Это была настоящая боль, но оно того стоило.
Сегодня я использую только vi для быстрого редактирования или небольших программ.
Когда мне нужно пойти на проект, я скорее использую и IDE. В моем случае идея IntelliJ очень хороша в этой задаче, потому что я могу часами кодировать, не хватая мыши.
Я не знаю, сколько у VS2008 ярлыков, но если они обнаруживаются так же, как Eclipse, я думаю, что у вас проблемы - иди на vi.
Если вы НЕ редактируете код вне IDE, а в вашей IDE есть хорошие ярлыки, вам лучше их изучить, а затем, в любом случае, пойти и изучать vi.
:)
источник
Я использую vi / vim более 25 лет. Если вы уже знаете какой-нибудь редактор командной строки, то, возможно, вам не нужно изучать vi / vim. Но если вы не очень хорошо знакомы с другими редакторами командной строки, стоит изучить их. В vi / vim довольно легко быть продуктивным без особых усилий.
источник
Я использую VIM в значительной степени исключительно сейчас.
Я использовал Vim для редактирования и VS Editor для отладки. Это, вероятно, кажется немного сумасшедшим, но я нашел парадигму Vi (макросы, редактирование на основе домашних ключей и т. Д.) Таким повышением моей производительности, что редактирование в VS было болезненным.
Благодаря Viemu , мне даже не нужно больше переключаться. Это еще не идеальное решение (завершение кода иногда не так элегантно, как в native vim, и запись макросов не идеальна), но это намного лучше, чем постоянное переключение назад и вперед.
Кривая обучения для Vim, вероятно, преувеличена. Я думаю, что как только вы в нее попадете, это довольно интуитивно понятно.
источник
Моя работа заставила меня заняться vim, и она быстро стала второй натурой. Теперь мои жалобы касаются IDE, в которых нет эмуляции vim или плагинов. Я заметил, что клавиша esc стала моим врагом вне vim.
Я нашел несколько эмуляторов для vi в Visual Studio:
http://code.google.com/p/vim-visual-studio/
источник
Во-первых, хорошее знание vi (m) сэкономит вам время, необходимое для экстренного редактирования файлов конфигурации на сервере под управлением seige. Он может поддерживать медленное соединение SSH.
Помимо прочего, метод ввода vim будет вашей лучшей защитой от запястного канала, если вы будете эффективно использовать его с эргономичной клавиатурой.
Лучший способ понять смысл vim - это начать случайный проект дома, отключив мышь и ленту над клавишами со стрелками.
И прочитайте помощь
источник
nano
гораздо более простой в использовании, чем vim, и он почти одинаково широко распространен.Два преимущества vi / vim:
это очень легкий
он установлен почти на каждой системе * NIX
источник
Я поддерживаю очень большой проект Linux на удаленном компьютере. Нет никакого выбора использовать Eclipse или аналогичную интегрированную среду разработки на основе GTK. Я работаю там 3 года. И я установил свой VIM только для этого проекта. И все еще настраиваю.
Теперь я могу делать что угодно из Vim: контроль исходного кода, sql, отладка, компиляция, просмотр - действительно быстрый просмотр по исходному коду 1 Гб.
Visual Studio или Eclipse не могут справиться со всем этим. И если бы у меня был выбор, я бы не сменил Vim на другой редактор или IDE.
источник
Я выучил Vim. Это было не слишком много усилий. Теперь я очень люблю ci "ci (cw V: s / from / to / g
источник
Я бы сказал, что vim определенно стоит изучить. Я взял его прошлым летом, и теперь он является моим любимым редактором практически для всего (java - это сложный процесс, но выполнимый, когда мне не нужна обширная поддержка анализа). Как все уже подтвердили, это удивительно эффективный инструмент.
Что бы это ни стоило, я только изучил довольно небольшое подмножество функций vim (которое заняло день или два) из графического руководства , и несколько шансов и отсюда (долгое чтение), а также функциональность поиска и замены, и я был подключен. С тех пор я чему-то научился, но на досуге. Я бы сказал, что кривая обучения сглаживается на этом этапе, но потом я использовал ее довольно интенсивно и был окружен другими, кто тоже.
источник
Я нахожусь в той же ситуации, что и вы, и как новичок в Vim я изначально находил это немного пугающим - кривая обучения кажется крутой. Из того, что я узнал всего за несколько часов, я уже чувствую, что не смогу жить без этого.
Вот это через несколько ссылок , которые я нашел для полезной скринкаста Vim , чтобы показать вам , что он способен.
Хороший совет, который Брэм Муленаар (доброжелательный диктатор Vim) дал в этой последней ссылке, состоит в том, что было бы неэффективно пытаться изучать каждую отдельную команду и функцию, просто выясните, что вы делаете, а что нет. работая очень хорошо, ищите способ сделать его более эффективным, а затем сделайте это привычкой.
источник
Да, определенно найдите время, чтобы выучить хотя бы немного «vi» и «vim». Путешествует очень хорошо.
Вы никогда не застрянете, когда столкнетесь с пользовательской системой Unix / Linux / Mac, для которой у вас нет возможностей установки. Даже в Windows (если у вас есть возможности установки) Vim бесплатен и прост в установке. (В отличие от вложения вашей кривой обучения исключительно в нечто вроде UltraEdit, который, хотя отличный редактор может быть недоступен для вас все время ...).
Изучение vi может помочь вам освоить другие инструменты, такие как «sed» и регулярные выражения в целом: вещи, которые обычно переносимы.
Плюс, если вы хотите быть настоящим фанатом, вам просто нужно знать 'vi / m', или вы будете выглядеть как обманщик ;-)
источник
Я думаю, что определенно стоит потраченных времени и усилий на изучение vim. Для меня это делает набор текста и навигацию по тексту настолько эффективным, что трудно представить себе возвращение к комбинациям клавиш emacs или ctrl / shift / alt / meta.
Не пугайтесь всех причудливых особенностей vim. Как только вы это использовали, вы выясните, какие команды вы используете чаще всего, и выясните, о каких вещах вы можете забыть.
источник
Удивительного повсеместного распространения Vim и еще более удивительного повсеместного распространения Vi-клонов в целом на одних Unix-системах достаточно, чтобы сделать его достойным изучения.
Кроме того, я думаю, что все мышление в стиле Vi сделало меня немного более продуктивным. Для человека, не привыкшего к таким режимам, как командный режим и режим вставки, кажется немного излишним входить в режим только для вставки текста. Но когда кто-то использует Vim в течение нескольких месяцев и выучил немало советов и хитростей, Vim, кажется, является активом, который, кажется, того стоит.
Конечно, толпа Emacs говорит то же самое о мышлении в стиле Emacs, но я перестал изучать Emacs, потому что Vim был проще и выполнил эту работу за меня.
источник
Я научился любить vi, наблюдая за тем, кто с этим очень хорошо разбирается, перемещаясь вокруг, чтобы вносить изменения в безумно быстрый клип. Вы действительно можете быстро кодировать с ним. Еще одна причина, по которой мне это нравится, заключается в том, что иногда я нахожу, что копирование в IDE действительно причиняет мне боль через какое-то время, и vi дает приятные изменения. Как уже упоминали другие, он также почти всегда доступен в Unix-системах и хорошо работает даже на паршивых соединениях.
Одна вещь, о которой я не упомянул, это то, что знание vi в некоторых кругах имеет дополнительное преимущество: «geek cred». Я могу вспомнить хотя бы нескольких людей, которые смеются, когда видят, что новый программист запускает nedit, чтобы внести некоторые изменения в файл.
источник
Не пугайтесь количества команд, я не встречал никого, кто использовал бы больше пары дюжин максимум. Я считаю это необходимым, потому что когда я думаю о коде, я думаю о тексте, переход к мышлению просто портит меня. Я думаю, что большие хитрости заключаются в том, чтобы учить его постепенно, и не стесняйтесь поиграть - функции отмены отлично подходят для изучения его поведения.
Кроме того, если вы углубитесь в это, vim является сценарием. Возможности буквально бесконечны.
(Да, все это относится и к Emacs ...)
источник
Я был счастлив в своем textpad и ecplise мире, пока я не должен был начать работать с серверами, работающими под Linux. Необходим удаленный сценарий и настройка файлов конфигурации!
Сначала было сложно, но теперь я могу легко настроить и настроить свои серверы.
источник
Возможно, вы захотите изучать vim, потому что вы не можете быть довольны редакторами, которые вы уже используете.
Возможно, вы захотите изучить vim, потому что многие говорят, что это круто. Просто посмотрите, сколько ответов вы получили на этот вопрос.
Я предоставлю дополнительную причину для изучения Vim. Он имеет репутацию за качество и полноту документации. Таким образом, вы найдете большинство ответов на свои вопросы в его справочной системе, как только вам удастся вставить правильные ключевые слова в свои справочные запросы.
источник
Чтобы быстро освоить vi (m), нужно сначала понять весь дизайн. Vim имеет большой набор команд перемещения курсора, отметьте несколько (X - символ, # цифра):
jk ввод стрелок 0 $ w W b B УПРАВЛЕНИЕ КРЕДОЛОМ УПРАВЛЕНИЕ HML FX FX TX TX,; % gg G n N mX 'X' '
и многое другое было бы скучно перечислять. Многие из них поддерживают счет до команды, например, 4j для перемещения на 4 строки вверх.
Теперь, вернувшись к дизайну, вы набираете команду типа d для удаления, за которой следует перемещение курсора, и эта команда применяется к фрагменту текста от позиции курсора до конца движения. Например, H перемещается в верхнюю часть экрана, dH удаляет в верхнюю часть экрана, а cH изменяет (заменяет) верхнюю часть экрана.
Этот дизайн довольно мощный. Это также уменьшает или организует то, что вам нужно выучить. Определенно, первым шагом является изучение нескольких команд перемещения курсора. Скажем, сначала 8 или 10. Тогда вы почти закончили.
источник
Изучение чего-то нового всегда стоит усилий, ИМХО. Я предлагаю вам распечатать шпаргалку и заставлять себя использовать ее изо дня в день.
источник
Vim определенно стоит научиться частично резюмировать то, что было сказано ранее, вот основные причины:
Кроме того, если вы считаете, что вам нравятся привязки клавиш Vim, есть также IDE, которые включают привязки vim в своих редакторах для простых команд, например, Komodo Edit .
Чтобы получить помощь в изучении Vim, попробуйте ввести «vimtutor» в свой терминал и следуйте инструкциям. Есть также книга, которая особенно хороша для взлома Vim
источник
Нет. Изучение vim стоит больше, чем усилия.
источник