Vim "yank", похоже, не работает

Я новичок в Vim. Сегодня вечером я узнал о команде "yank", но когда я пытаюсь использовать ее в MacVim, она ничего не делает. Ни Y, ни y{motion} ничего не делают. Я пробовал по умолчанию .vimrc, чтобы исключить любые странные проблемы с конфигурацией.

Google-fu терпит неудачу. Это похоже на проблему noobie. Мне что-то не хватает?

Ответ 1

y ank сам по себе просто копирует строку в буфер обмена - вам нужно будет p пронести ее на следующую строку или на p, отступая, чтобы использовать скопированную строку. Чтобы отрезать линию, используйте d elete.

Ответ 2

Он не делает ничего видимого - как и Ctrl-C (Edit/Copy) в других редакторах. Попробуйте выполнить команду p (вставить) после нее - что эквивалент Ctrl-V - поместить то, что было дернуто в документе.

Ответ 3

Команда yank выводит текст в буфер обмена. Например, yy просто захватывает текущую строку в общий буфер обмена. Вы можете "вставить" содержимое буфера обмена с помощью p. Вы также можете вставлять в именованные буферы, используя что-то вроде "ayw, чтобы вытащить текст из текущей позиции в конец слова в буфер с именем a. Соответствующий элемент put "ap.

Ответ 4

Если у вас есть настройка set clipboard=unnamedplus в .vimrc, тогда это не будет работать.

Для OSX вы должны использовать set clipboard=unnamed

Для Linux вам, вероятно, потребуется использовать set clipboard=unnamedplus

Вот фрагмент из моего личного .vimrc

if system('uname -s') == "Darwin\n"
  set clipboard=unnamed "OSX
else
  set clipboard=unnamedplus "Linux
endif

Ответ 5

Если вы используете Ubuntu или Mint, единственным решением, которое, казалось, сработало для меня, было удаление vim и установка пакета "vim-gnome". Затем добавив строку:

установить буфер обмена = unnamedplus

для моего .vimrc работал, как ожидалось.