Я попытался использовать CTRL + V для вставки содержимого в документ редактора VI, но CTRL + V не интерпретируется как вставка.
Vi (и Vim) работает по-разному по сравнению с обычным текстовым редактором, таким как Gedit. Он также имеет довольно крутую кривую обучения. Если вы хотите изучить некоторые основные команды, начните с этого интерактивного учебника.
Однако, чтобы ответить на ваш вопрос. Доступ к содержимому системного буфера обмена возможен через регистр плюса. Поэтому, чтобы вставить что-то из системного буфера обмена из нормального режима, нажмите: «+ p (Не в одно и то же время, но один за другим).
$ vim --version | grep xterm
Если вы найдете -xterm_clipboard, у вас есть два варианта: 1) Скомпилируйте vim самостоятельно, с флагом xterm_clipboard на 2) Удалите vim, установите gvim (vim-gtk или vim-gnome). Вы можете придерживаться non-gui vim, вызывая vim из терминала, так же, как и раньше. На этот раз, когда вы проверите, вы должны найти + xterm_clipborad. Теперь, когда вы выдергиваете какой-либо текст в регистре + в своем редакторе vim (например, «+ yy»), он также копируется в системный буфер обмена, который вы можете получить из своей внешней программы, например, редактора gedit, с помощью Ctrl + V. Если вы хотите скопировать содержимое вставки из внешней программы в vim, сначала скопируйте текст в системный буфер обмена с помощью Ctrl + C, затем в режиме вставки редактора vim, щелкните среднюю кнопку мыши (обычно колесо) или нажмите Ctrl + Shift + V, чтобы вставить Это 4 основные условия копирования и вставки, связанные с vim. Надеюсь, это поможет. Я всегда использую Shift + Insert, когда хочу вставить текст в терминал, работает во всех терминальных программах.
(Это также причина, по которой я никогда не получаю ноутбук, на котором вы не можете нажать Сдвиг без нажатия вспомогательной клавиши)
Используйте центральную кнопку мыши, чтобы вставить текст, выделенный в другом месте.
Полезно, если у вас нет доступа к системному буферу (например, в удаленном сеансе ssh)
Должно быть в режиме редактирования / вставки для vim
Как только вы введете vi, нажмите i, чтобы войти в режим вставки, щелкните правой кнопкой мыши на терминале, нажмите «Вставить».
Подробные инструкции по копированию / вставке строк текста в vi с использованием yank и put
(используйте в командном режиме vi)
Чтобы скопировать одну строку в vi:
В командном режиме переместите курсор на строку, которую нужно скопировать, и введите yy или введите YЧтобы скопировать 2 строки в vi:
В командном режиме переместите курсор на строку, которую нужно скопировать, и введите yy или введите Y(аналогично, любое количество строк может быть скопировано)
Чтобы скопировать все строки из текущего местоположения в конец файла: [!d12 ] В командном режиме переместите курсор в первую строку, которую нужно скопировать, и введите yG
. Чтобы скопировать весь текст из текущего местоположения в конец текущего слова: [ ! d15] В командном режиме переместите курсор в первую строку, которую нужно скопировать, и введите yG
Чтобы скопировать весь текст из текущего местоположения до конца строки:
In t он переводит курсор в место, где текст нужно скопировать, и введите y$Вставить (PUT)
Вставить текст в буфер обмена - Вставить (PUT) местоположение курсора:
В командном режиме переместите курсор в место, где текст нужно скопировать, и введите y$ [ ! d25]Вставить текст в буфер обмена - перед расположением курсора:
В командном режиме введите PЕсли вы root: Ctrl + Shift + V
Если вы root : Центр щелкните мышью.
Просто хотелось заметить, что с помощью vim через git-bash на окнах вы можете просто использовать p или щелчок по центру мыши, не находясь в режиме вставки. Используя vim через замазку, вы можете просто щелкнуть правой кнопкой мыши.
Я заметил это, потому что я не заметил, что это SE для Ubuntu.
Другие полезные команды:
yy(# of lines ) - yank ( copy )
dd(# of lines ) - delete
p - paste line below current line
shift + p - paste line above current line
u - undo
r - redo
i - insert mode
v - visual mode