Подтвердить что ты не робот

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

Я слышал, что для достижения удобства с vi требуется минимум 30 дней. Я нахожусь на 2-м дне. Прямо сейчас я, кажется, просто запоминаю различные ярлыки для вещей, которые я уже делал в Visual Studio (инкрементный поиск, предыдущее/следующее слово и т.д.).

До сих пор наиболее мощным аспектом, по-видимому, являлись числовые клавиши в сочетании с командами (5 * следующая строка) и идея нормальных/вставных режимов.

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

Чтобы меня не обескуражило, можете ли вы, ребята, пройти через некоторые вещи в vi, которые вы делаете регулярно, что не может быть сделано в Visual Studio? Это поможет мне сосредоточиться на том, чему учиться и помочь мне развить лучшие привычки.

4b9b3361

Ответ 2

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

Ответ 3

Отредактируйте файл на компьютере Solaris, который разрешает доступ к SSH.

Ответ 4

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

Макросы

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

Line1
Line2
Line3
Line4
Line5

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

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

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

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

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

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

<b><i>some text</i></b>

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

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

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

v2ap"+y

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

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

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

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

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

Удачи и получайте удовольствие от обучения Vim!

Ответ 5

Эта статья - это то, что меня запустило на Vim, и я никогда не оглядывался назад:

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

В нем есть отличные примеры по мощности Vim.

Ответ 6

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

Ответ 7

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

Ответ 8

Насколько я могу судить (в Visual С# express 2010) ctrl-click просто выбирает любое слово, на которое вы нажимаете. Чтобы сделать то же самое в VIM, вы можете комбинировать команду yank с командой перемещения.

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

Ответ 9

Существует много различий.

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

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

например:.

Ответ 10

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

Ответ 11

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

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

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

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

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

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

Ответ 12

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

Изменить: похоже, многие люди уже говорили, что:)

Ответ 13

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