Редактор VIM — это действительно мощный инструмент, но что меня расстроило в начале, так это копирование текста из системного буфера обмена, скажем, из Safari или Notes, и вставка его в VIM.
Я всегда заканчивал текст с отступом, странным форматированием или просто не вставкой, что довольно неприятно, если вы действительно пытаетесь что-то использовать.
Мне удалось исправить это с помощью пары хаков и нескольких настроек.
Обратите внимание, что я запускаю VIM внутри iTerm, а не версию MacVim. Это просто мое личное предпочтение, так как оно более низкоуровневое, и если вы установите его с помощью homebrew, вам не придется беспокоиться о включении поддержки Ruby, оно просто будет встроено.
Итак, сначала откройте файл .vimrc, который обычно находится в вашем домашнем каталоге с помощью:
=> vim ~/.vimrc
Теперь сразу после того, как вы определили свои плагины vundle, если они у вас есть, добавьте:
set clipboard=unnamed
Это сообщит VIM о доступе к системному буферу обмена.
Затем вставьте этот небольшой хак:
let &t_SI .= “\<Esc>[?2004h” let &t_EI .= “\<Esc>[?2004l” inoremap <special> <expr> <Esc>[200~ XTermPasteBegin() function! XTermPasteBegin() set pastetoggle=<Esc>[201~ set paste return “” endfunction
Это просто магия, и я очень благодарен Marcin Kulik за публикацию этого на coderwall.
Что это будет делать, так это автоматически отключать и снова включать режим автоматического отступа VIM, когда вы вставляете что-либо в VIM, поэтому, когда вы найдете этот отличный фрагмент кода, который спасет ваш день, вы можете просто скопировать и вставить его в VIM бесплатно. опасаясь, что это испортит форматирование.
Вы можете найти его статью здесь вместе с дополнительным фрагментом для вставки в сеанс TMUX.
Наслаждаться.