Что я могу сделать в VIM, который я не могу уже сделать в Visual Studio? [закрытый]

16
задан CJBS 20 March 2014 в 18:12
поделиться

13 ответов

Я просто оставлю ссылку на этот SO-ответ здесь.

17
ответ дан 30 November 2019 в 15:22
поделиться

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

11
ответ дан 30 November 2019 в 15:22
поделиться

С этой статьи я начал работать с Vim, и никогда не оглядывался назад:

http://www.viemu.com/a-why-vi-vim.html

В ней есть несколько отличных примеров возможностей Vim.

5
ответ дан 30 November 2019 в 15:22
поделиться

Редактирование файла на машине Solaris, которая разрешает только SSH доступ.

6
ответ дан 30 November 2019 в 15:22
поделиться

Использовать экран для сохранения сеанса работы на удаленном компьютере, доступ к которому осуществляется через ssh

3
ответ дан 30 November 2019 в 15:22
поделиться

Регулярные выражения Visual Studio немного напоминают Микки Мауса. У Vim есть полный язык регулярных выражений POSIX под рукой.

2
ответ дан 30 November 2019 в 15:22
поделиться

Насколько я могу судить (в Visual C # Express 2010) Ctrl-щелчок просто выбирает любое слово, на котором вы нажимаете. Чтобы сделать то же самое в VIM, вы можете объединить команду восстановления с командой перемещения.

Итак, вы нажимаете «y» для восстановления (копирования), затем «e» или «w», чтобы копировать до конца слова.

2
ответ дан 30 November 2019 в 15:22
поделиться

Есть много отличий.

  • Блокирование (и столбец) разумное копирование, вставка, редактирование
  • команды точки! (Серьезно, после утиной ленты, второго по мощности инструмента на планете)

Я предлагаю вам посмотреть несколько скринкастов на http://vimcasts.org/ , чтобы ощутить всю мощь vim.

например.:

2
ответ дан 30 November 2019 в 15:22
поделиться

Vim Essentials - хороший набор слайдов.

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

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

Использование высокоуровневых и выразительных языков, не требующих IDE (в основном python, sql, javascript), действительно помогает. Полагаю, с Java или C ++ это было бы не так просто.

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

Кстати, я полагаю, Vim лучше интегрируется с Unix, чем с Windows ... и кто сказал, что 30 минут были немного оптимистичны :)

1
ответ дан 30 November 2019 в 15:22
поделиться

Вы всегда можете использовать эмулятор / надстройку Vim для Visual Studio и получить некоторую мощь vim, смешанную с функциями VS. Если вы уже используете Visual Studio, я предполагаю, что вы используете язык .NET, который без VS было бы гораздо более болезненным в использовании.

2
ответ дан 30 November 2019 в 15:22
поделиться

Обратите внимание, что я не использую Visual Studio и мало знаю об имеющихся в ней возможностях. Ниже приведены примеры того, что я нахожу полезным в Vim, а не список недостающих функций в Visual Studio.

Макросы

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

Line1
Line2
Line3
Line4
Line5

Теперь мы хотим обернуть каждую строку в print(""); оператор.
Поместите курсор на первую строку и введите:

  • qx для начала записи макроса в регистр x
  • Shift+I print(" Esc для вставки текста в начало строки
  • Shift+A "); Esc для добавления текста в конец строки
  • j для перехода на одну строку вниз
  • q для остановки записи макроса
  • 4@x для выполнения макроса в регистре x 4 раза

Смотрите : help complex-repeat для получения дополнительной информации о макросах Vim.

Текстовые объекты

Обратите внимание, что это одно из улучшений Vim по сравнению с традиционным Vi. Если это не работает, вероятно, вы работаете в режиме совместимости с Vi; используйте :set nocompatible, чтобы включить полную функциональность Vim.

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

некоторый текст

Теперь мы хотим удалить все между и . Это можно сделать, просто набрав команду dit (d'elete i'nner t'ag)! Или если мы хотим включить сами теги в наш выбор, используйте dat (d'elete a t'ag). Чтобы удалить все внутри тегов , используйте d2it (d'elete two i'nner t'ags).

Аналогично можно использовать daw (удаление слова), dap (удаление абзаца), di" (удаление внутри двойных кавычек) и т. д.; полный список см. в :help text-objects.

Еще один полезный пример текстовых объектов:

v2ap "+y

  • v переключает визуальный режим. Это позволяет легче видеть, что вы выбираете, и корректировать выделение серией нескольких движений перед выполнением команды.
  • 2ap выделяет этот абзац и следующий
  • "+ выбирает системный буфер обмена в качестве регистра для следующей операции
  • y перебрасывает выделение на заданный регистр

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

Глобальное редактирование
Команда global используется для применения команды Ex ко всем строкам, соответствующим заданному регулярному выражению. Примеры:

  • :global/test/print или :g/test/p выведет все строки, содержащие фразу test
  • :global/test/delete или :g/test/d удалит указанные строки
  • : global/test/substitute/^/#/ или :g/test/s/^/#/ будет искать строки, содержащие фразу test, и закомментировать их, заменив regexp якорь ^ (begin-of-line) на символ #.

Вы также можете сделать несколько интересных вещей, передавая поисковые движения /шаблон или ?шаблон в качестве диапазонов:

  • :?test?move . ищет строку, содержащую test, и перемещает ее на текущую позицию в файле
  • :/test/copy . ищет строку, содержащую test, и копирует ее в текущую позицию в файле

Удачи и веселого изучения Vim!

6
ответ дан 30 November 2019 в 15:22
поделиться

teco - ваш ответ. Вам нужны только PDP-10 и ASR-33, и вы уже в пути!

0
ответ дан 30 November 2019 в 15:22
поделиться

Редактирование документов по SSH. Vim очень хорош для этого.

Edit: похоже, многие уже сказали об этом :)

1
ответ дан 30 November 2019 в 15:22
поделиться