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

В Vim, какой лучший способ выбрать, удалить или прокомментировать большие части многоэкранного текста?

Выбор большого количества текста, который распространяется на многих экранах в среде IDE, например Eclipse, довольно просто, поскольку вы можете использовать мышь, но что является лучшим способом, например. выбирать и удалять многоэкранные блоки текста или записывать, например. три больших метода в другой файл, а затем удалить их для тестирования в Vim при использовании его с помощью putty/ssh, где вы не можете использовать мышь?

Я могу легко использовать yank-to-end-of-line или yank-to-end-code-block, но если текст распространяется на многие экраны или содержит много пустых строк, я чувствую, что мои руки связаны с Вимом. Любые решения?

И связанный с этим вопрос: есть ли способ как-то выбрать 40 строк, а затем прокомментировать их (с помощью "#" или "//" ), как это обычно бывает в большинстве IDE?

4b9b3361

Ответ 1

Ну, во-первых, вы можете установить vim на работу с мышью, что позволит вам выбирать текст так же, как в Eclipse.

Вы также можете использовать визуальный выбор - v, по умолчанию. После выбора вы можете yank, cut и т.д.

Что касается комментирования блока, я обычно выбираю его с помощью VISUAL, а затем

:'<,'>s/^/# /

Замена начала каждой строки на #. (Маркеры '< и '> - это начало и и визуальный выбор.

Ответ 2

Используйте маркеры.

Перейдите в верхнюю часть текстового блока, который вы хотите удалить, и введите

ma

в любом месте этой строки. Нет необходимости в толстой кишке.

Затем перейдите в конец блока и введите следующее:

:'a,.d

Ввод ma установил маркер a для символа под курсором.

Команда, введенная после перемещения в нижней части текстового блока, говорит "из строки, содержащей символ, обозначенный маркером a (' a), текущей строке (.) d далить".

Подобные вещи можно использовать и для других вещей.

:'a,.ya b     - yank from 'a to current line and put in buffer 'b'
:'a,.ya B     - yank from 'a to current line and append to buffer 'b'
:'a,.s/^/#/   - from 'a to current line, substitute '#' for line begin
(i.e. comment out in Perl)
:'s,.s#^#//#  - from 'a to current line, substitute '//' for line begin
(i.e. comment out in C++)

N.B. 'a (апостроф-а) относится к строке, содержащей символ, помеченный a. `` А (backtick-a) refers to the character marked by a`.

Ответ 3

Чтобы вставить комментарии, выберите начальные символы строк, используя CTRL - v (буквенно-визуальный, а не "v" символ мудрый-визуальный или "V" linquise-visual). Затем перейдите в режим вставки с помощью "I", введите свой символ комментария в первую строку (например, "#" ) и, наконец, выйдите в обычный режим, используя "Esc". Вуаля!

Чтобы удалить комментарии, используйте blockwise-visual для выбора комментариев и просто удалите их с помощью < x ".

Ответ 4

Используйте команду визуального блока v (или V для целых строк и C - V для прямоугольных блоков). В режиме визуального блока вы можете использовать любые команды движения, включая поиск; Я часто использую}, чтобы перейти к следующей пустой строке. После того, как блок отмечен, вы можете: w его в файл, удалить, yank или что угодно. Если вы выполните команду, а визуальный блок уйдет, повторите выбор того же блока с помощью gv. См.: help visual-change для более.

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

Ответ 5

Нажмите V (верхний регистр V), а затем нажмите 40j, чтобы выбрать 40 строк, а затем нажмите d, чтобы удалить их. Или, как ответил @zigdon, вы можете прокомментировать их.

Ответ 6

Визуальный режим - это решение вашей основной проблемы. Что касается комментирования разделов кода, для vim.org есть много плагинов, на данный момент я использую tComment.vim.

Существует также аккуратный способ прокомментировать блок без плагина. Допустим, вы работаете в python, а # - символ комментария. Сделайте визуальный выбор блока столбца, в который вы хотите ввести знак хэша, и введите я # ESCAPE. Чтобы войти в режим визуального блока, нажмите C-q на окнах или C-v на linux.

Ответ 8

Моя техника комментариев блока:

Ctrl + V, чтобы начать визуальный режим в блочном порядке.

Сделайте свой выбор.

При активном выборе Shift + I. Это помещает вас в режим вставки столбцов.

Введите комментарий: "#" или "//" или что-то еще.

ESC.

Ответ 9

Используйте Shift + V для перехода в визуальный режим, затем вы можете выбрать строки и удалить/изменить их.

Ответ 10

Если вы хотите выполнить действие в диапазоне строк и знаете номера строк, вы можете поместить диапазон в командной строке. Например, для удаления строк с 20 по 200 вы можете:

:20,200d

Чтобы переместить линии с 20 по 200 на линию 300, вы можете использовать:

:20,200m300

И так далее.

Ответ 11

Чтобы прокомментировать строки, я бы предложил один из этих плагинов:

EnhancedCommentify

Комментарий NERD

В наши дни я больше использую NERD, но в течение многих лет я использовал EnhancedCommentify.

Ответ 12

Мой обычный метод для комментирования 40 строк - поместить курсор в первую строку и ввести команду:

:., + 40s/^/#/

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

Ответ 13

Первый ответ в настоящее время не совсем прав? Чтобы прокомментировать выбор, нажмите ":" и введите команду : '<,' > s/^/#/g

('<,' > - будет там автоматически)

Ответ 14

v входит в режим визуального блока, где вы можете выбрать как бы со сдвигом в большинстве распространенных редакторов, позже вы можете делать все, что вы обычно можете делать с помощью обычных команд (подстановка: '<,' > s/^/#/to preend с комментарием, например), где '<,' > означает выделенный визуальный блок вместо всего текста.

Ответ 15

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

:'b,'ed

удаляет из маркера b маркер e

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

V40j:s/^/#/

будет комментировать 40 строк, из которых u начнет последовательность

Ответ 16

Вы должны знать команду нормального режима [count] CTRL - D. Он необязательно изменяет параметр "прокрутки" от 10 до [count], а затем прокручивает вниз столько строк. Повторное нажатие CTRL - D будет прокручивать вниз те же самые строки.

Итак, попробуйте ввести

V     "visual line selection mode
30    "optionally set scroll value to 30
CTRL-D  "jump down a screen, repeated as necessary
y      " yank your selection

CTRL-U работает так же, но прокручивается вверх.