VI - Вставить что-либо в первую позицию/символ последовательности строк

VI - Вставить что-либо в первую позицию/символ последовательности строк

Я хотел бы выдернуть один символ и вставить его в первую позицию последовательности строк. Например, мне нужно добавить "#" в начале 7 строк файла.

Кто-нибудь может мне помочь?

решение1

Это во многом зависит от того, что вы называете vi. Если это действительно оригинальный vi, то вы можете сделать это

  • нажатие ylклавиши «перетащить» символ, начиная с позиции курсора, на одну ячейку вправо.
  • переместите курсор на первую строку, куда вы хотите поместить текст
  • многократно набирая текст 0PEnter, проходя через семь строк.

В оригинальном vi можно было воздействовать только на диапазон строк, используябывшийРежим.бывшийрежим viпринимает диапазон, но аналогичная команда

:1,7P

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

:1,7s/^/X/

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

Дальнейшее чтение:

решение2

Примечание: этот ответ работает только для VIM, но не для VI.

Вы можете вытащить его в столбец следующим образом:

  1. Запуск в обычном режиме (не вставка).
  2. Перейдите к первой строке и столбцу (куда вы хотите вставить текст).
  3. Нажмите Ctrl+ V, чтобы войти в режим вертикального выбора.
  4. Выделив все строки, перед которыми вы хотите вставить текст, нажмите Shift+ I.
  5. Теперь вы можете либо
    1. вставьте скопированный текст с помощью Ctrl+ R, 0(или другого регистра).
    2. или напишите любой текст.
  6. Закончив, нажмите Esc, и тот же текст появится во всех выбранных строках.

Примечание: вы также можете задать свои вопросы Vi(m) по адресу:vi.stackexchange.com

Связанный контент