Самый быстрый способ вставить блок текста в Vi Editor из внешнего источника - PullRequest
9 голосов
/ 09 декабря 2010

Например, скопировав раздел conf с веб-страницы и вставив его в файл .conf, который вы открыли в Vi.

Ответы [ 10 ]

16 голосов
/ 16 августа 2013
  1. Вход в режим вставки (Тип i )
  2. Тип: ctrl - shift - v
13 голосов
/ 10 декабря 2010

Или, если вы используете системный регистр, вы можете вставить, не находясь в режиме вставки:

"*p

Это вставит буфер обмена системы в точку курсора. Режим вставки не требуется.

12 голосов
/ 11 ноября 2015

Реальный ответ:

  1. :set paste

  2. Войдите в режим вставки: нажмите i

  3. Вставить: Команда + v или Управление + v

  4. ESC

  5. :set nopaste

11 голосов
/ 10 декабря 2010

Следует помнить одну вещь, иногда текст Vim автоматически отступает. В основном это нормально, но иногда это портит текст, который вы вставляете в документ.

Если ваши отступы не верны, удалите вставленный текст, введите :set paste, вставьте текст снова, а когда вы закончите, введите :set nopaste.

4 голосов
/ 28 апреля 2016

Самый простой способ - просто скопировать текст и щелкнуть правой кнопкой мыши там, где вы хотите вставить его в VIM в режиме INSERT.

1 голос
/ 09 декабря 2010

Если вы используете gvim, нажмите CTRL-R, затем либо *, либо + в режиме вставки. Будет вставлен последний скопированный текст.

0 голосов
/ 04 августа 2012

Самый быстрый способ - вставить его, используя любой ключ вставки, который использует ваша система (например, ⌘-v для Mac, Ctrl-V для Windows и т. Д.) В режиме вставки. Некоторые терминалы требуют использования Shift-Ctrl-V . Однако вы можете вставить в командную строку, как вы должны вставить в Vim. Тем не менее, это может вызвать некоторые проблемы с отступом, поэтому :set paste входит. Самый быстрый способ войти и выйти из этого - установить pastetoggle (см. :help pastetoggle). Например, я использую

set pastetoggle=<leader>p

Причина использования pastetoggle вместо сопоставления заключается в том, что если вы установите режим вставки сопоставления, он будет считываться буквально в режиме вставки. Таким образом, если вы :set paste войдете в режим вставки и введете любой imap, сопоставление не будет завершено, а вместо этого будут вставлены буквенные символы. С pastetoggle вы можете обойти это, поскольку это встроенная функция.

Как уже говорили другие, если вы находитесь в режиме вставки, вы также можете использовать <C-r>*, но почему? Ваш нормальный поток вставки, скорее всего, лучше. Понимание регистра * и <C-r>, однако, является важным навыком. Вы можете прочитать больше о них в :help registers и :help i_CTRL-R. Вы также можете использовать "*p, но если вы быстрее наберете это, то ваша обычная паста меня впечатлит. Конечно, вы можете сопоставить это с чем-то другим, но опять же ... почему? Вы должны привыкнуть к быстрому переходу в режим вставки с помощью i, I, a, A, o, O, s, S, c, and C, чтобы быть точным.

0 голосов
/ 10 декабря 2010

Самый простой способ для * nix - выбрать его с помощью мыши и вставить его в vim с помощью среднего щелчка, после перевода vi в режим вставки.

Средний щелчок может быть левой и правой клавишамивы используете тачпад

0 голосов
/ 09 декабря 2010

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

0 голосов
/ 09 декабря 2010

Ctrl-V / Apple-V? Просто убедитесь, что вы находитесь в режиме вставки в vi (i)

...