Я хотел бы выдернуть один символ и вставить его в первую позицию последовательности строк. Например, мне нужно добавить "#" в начале 7 строк файла.
Кто-нибудь может мне помочь?
решение1
Это во многом зависит от того, что вы называете vi
. Если это действительно оригинальный vi, то вы можете сделать это
- нажатие ylклавиши «перетащить» символ, начиная с позиции курсора, на одну ячейку вправо.
- переместите курсор на первую строку, куда вы хотите поместить текст
- многократно набирая текст 0PEnter, проходя через семь строк.
В оригинальном vi можно было воздействовать только на диапазон строк, используябывшийРежим.бывшийрежим vi
принимает диапазон, но аналогичная команда
:1,7P
не будетput
ахарактер, но попытаться что-то сделать слинии. Вместо этого, используябывшийрежиме, вы бы сделализаменять, например,
:1,7s/^/X/
но нет возможности длярегистровое значение(персонаж(ы), которые выдернул) для использования при замене.
Дальнейшее чтение:
- бывший(POSIX)
- ви(POSIX)
- 4. РЕЖИМ EX-КОМАНДЫ(редактор Элвиса)
- 5. Знакомимся с бывшим редактором(отИзучение редактора vi)
решение2
Примечание: этот ответ работает только для VIM, но не для VI.
Вы можете вытащить его в столбец следующим образом:
- Запуск в обычном режиме (не вставка).
- Перейдите к первой строке и столбцу (куда вы хотите вставить текст).
- Нажмите Ctrl+ V, чтобы войти в режим вертикального выбора.
- Выделив все строки, перед которыми вы хотите вставить текст, нажмите Shift+ I.
- Теперь вы можете либо
- вставьте скопированный текст с помощью Ctrl+ R, 0(или другого регистра).
- или напишите любой текст.
- Закончив, нажмите Esc, и тот же текст появится во всех выбранных строках.
Примечание: вы также можете задать свои вопросы Vi(m) по адресу:vi.stackexchange.com