Каковы типичные случаи использования vi? - PullRequest
5 голосов
/ 21 августа 2009

Я недавно начал изучать vi, проходил некоторые уроки и пытался привыкнуть к нему. Но у меня все еще есть некоторые вопросы по этому поводу.

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

Теперь мне просто интересно, каковы типичные варианты использования vi? Обычно он используется для редактирования небольших файлов или для больших проектов? И если вы используете его в более крупных проектах, как вы заставите его работать? Или было бы намного проще использовать IDE с сочетаниями клавиш vi?

Ответы [ 13 ]

24 голосов
/ 21 августа 2009

Люди используют не-IDE редакторы, такие как Vi (m) для кодирования по следующим причинам:

  1. Они не отвлекают, позволяет сосредоточиться на работе.
  2. Они не загромождают область экрана, предоставляют больше места для кода
  3. Они быстрее
  4. У них лучше / быстрее / круче текстовые манипуляции при взмахе пальца
  5. Вы меньше двигаете руками от клавиатуры, чтобы удерживать мышь, перетащите ее сюда и туда и нажмите.
  6. Они также могут гибко поддерживать другие инструменты, такие как отладчик, просмотрщик документов и т. Д.
  7. У них также есть способы получить такие вещи, как свертывание кода и т. Д.

Для обычного программиста с идеальным рабочим циклом: сидячим, писать код, тестировать, отлаживать, выполнять больше кода, отлаживать тесты. Vi предлагает упрощенную, но мощную среду, позволяющую выполнять работу быстрее и эффективнее.

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

12 голосов
/ 21 августа 2009
7 голосов
/ 21 августа 2009

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

Vim быстро запускается, чрезвычайно быстр в использовании и (с небольшой настройкой) может выполнять большинство действий, которые может выполнять IDE. Он будет выполнять завершение кода, автоматическое отступление кода и его переформатирование, и он очень хорош при рефакторинге. Плагин project http://www.vim.org/scripts/script.php?script_id=69 позволяет очень легко управлять проектами с большим количеством файлов, а плагин taglist http://www.vim.org/scripts/script.php?script_id=273 отлично подходит для просмотра исходного кода. Это также позволяет вам открывать код C рядом с кодом Python, кодом сборки и латексной документацией, не прибегая к различным инструментам для каждого.

В целом, я думаю, что есть одна действительно ценная вещь, которую Vim дает вам, которую делают очень немногие редакторы, и мне было бы очень трудно потерять это: я могу разбить окно на три части, подобные этой:

GVIM Split Window

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

6 голосов
/ 21 августа 2009

Я использовал VI (M) и Emacs в качестве моих основных редакторов в течение многих лет ... Я пытался переключиться на IDE, но обнаружил, что они не могут сойти с моего пути. Я всегда возвращаюсь обратно в VI (M) или Emacs через некоторое время. Одна из основных причин заключается в том, что мои руки должны слишком сильно оставлять клавиатуру в IDE, поскольку они слишком часто требуют мыши ... И мне лень настраивать собственные ярлыки для всего.

3 голосов
/ 21 августа 2009

Хотя не всегда так красиво, (g) vim может быть сконфигурирован для выполнения всего, что может делать IDE ... и некоторых других. Вам просто нужно найти правильный плагин .

После некоторого периода привыкания другие редакторы идей и текстов станут неуклюжими и неэффективными в сравнении.

vim вызывает привыкание.

3 голосов
/ 21 августа 2009

Вот почему я использую его.

  1. это быстро, чтобы начать
  2. доступно на нескольких платформах и на всех машинах Unix
  3. это быстро использовать (нажатия клавиш для общих операций, операции, основанные на словах / параграфах и т. Д.)

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

2 голосов
/ 21 августа 2009

Я часто работаю в удаленной системе, программирую для кластера или редактирую конфигурационные файлы на автономном устройстве. Все это может быть сделано с передачей файлов, обычной IDE и другой передачей файлов, но гораздо быстрее использовать VIM через SSH.

2 голосов
/ 21 августа 2009

Я видел несколько руководств по использованию VI в качестве IDE, но в лучшем случае это было неловко.

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

Тем не менее, VIM на самом деле действительно предлагает множество функций полнофункциональной IDE и, кроме того, имеет много преимуществ. Я использую VIM почти для всех моих работ по разработке и всех своих текстовых документов (используя Vim-LaTeX ) - даже при том, что я фактически заплатил деньги за офисный пакет Apple, iWorks.

Есть один момент, который все еще мучает меня: Я не могу заставить IntelliSense работать . Для меня это огромная проблема, особенно при использовании таких языков, как VB, C # или Java, для которых существует отличная поддержка IDE.

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

1 голос
/ 19 марта 2010

Вы можете найти его (или легко установить) почти где угодно - Работает на всех системах, которые могут реализовать стандартную библиотеку C, включая UNIX, Linux, DOS, Windows, Mac, BeOS и POSIX-совместимые системы.

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

1 голос
/ 21 августа 2009

Vim не очень хорош в понимании кода. То, что это хорошо, это текстовые манипуляции. Он предоставляет вам инструменты для редактирования текста, а не для вас. Если вы просто делаете «небольшие» правки и не читаете «случайные» команды vim, которые хотели бы знать, вы никогда не поймете предоставленную мощность.

форматирование кода

Форматирование выполняется с помощью =. Вы также можете указать equalprg на внешнюю программу, которая выполнит форматирование за вас.

организация импорта

Vim не сможет удалить неиспользуемый импорт, но если вы выберете строки импорта

:'<,'>sort

простой обзор всех пакетов

:vs .

Откроется вертикальное окно с текущим рабочим каталогом:)

В заключение, vim не может заменить вашу IDE, но позволит вам редактировать ваш текст.

...