Вставка vim из буфера обмена отсекает первые несколько строк

Я использую vim в терминале на OSX с пустым .vimrc файлом. Я пытаюсь вставить следующее из моего буфера обмена:

#!/bin/bash
set -e
set -o pipefail

npm run precommit

используя

:set paste

но в vim то, что вставлено (с использованием cmd-v), является

et -e
set -o pipefail

npm run precommit

Кто-нибудь знает, что случилось?

Ответ 1

Вам нужно войти в режим вставки, прежде чем вы сможете редактировать файл, вы можете сделать это, нажав клавишу i.

Ответ 2

Если вы используете vim в OSX, вы можете добавить следующее к своему .vimrc:

set clipboard+=unnamed

Как только вы это сделаете, vim будет использовать системный буфер обмена для чтения по умолчанию для вставки. Это означает, что вместо того, чтобы сначала вводить режим insert, вы можете просто использовать p для вставки. Это также означает, что если вы y ank внутри vim, он доступен для вставки в другое место.

Я не тестировал это на какой-либо другой ОС, поэтому, если у кого-то есть, пожалуйста, добавьте комментарий...

Ответ 3

У меня была та же проблема, трюк был для reset моего терминала, набрав 'reset' перед запуском vim.