Скопируйте и вставьте проблему с Mac OS X - PullRequest
3 голосов
/ 21 августа 2011

Когда я копирую текст из браузера и вставляю его в файл, который я открыл с помощью vi в Терминале, я получаю следующий неформатированный текст.Почему vi или Терминал игнорируют символы новой строки?

Вместо того, чтобы получать следующее:

" Restore cursor position to where it was before
augroup JumpCursorOnEdit
   au!
   autocmd BufReadPost *
            \ if expand("<afile>:p:h") !=? $TEMP |
            \   if line("'\"") > 1 && line("'\"") <= line("$") |
            \     let JumpCursorOnEdit_foo = line("'\"") |
            \     let b:doopenfold = 1 |
            \     if (foldlevel(JumpCursorOnEdit_foo) > foldlevel(JumpCursorOnEdit_foo - 1)) |
            \        let JumpCursorOnEdit_foo = JumpCursorO

Я получаю это:

" Restore cursor position to where it was before
augroup JumpCursorOnEdit
   au!
      autocmd BufReadPost *
                  \ if expand("<afile>:p:h") !=? $TEMP |
                              \   if line("'\"") > 1 && line("'\"") <= line("$") |
                                          \     let JumpCursorOnEdit_foo = line("'\"") |
                                                      \     let b:doopenfold = 1 |
                                                                  \     if (foldlevel(JumpCursorOnEdit_foo) > foldlevel(JumpCursorOnEdit_foo - 1)) |

Ответы [ 2 ]

4 голосов
/ 02 марта 2012

Даже лучше, чем :set paste, это только для нас буфер обмена Mac.

Если вы используете vim 7.3, вы можете добавить это в файл ~/.vimrc, чтобы получить yank (y) и вставить (p), чтобы использовать буфер вырезания и вставки Mac:

if has("macunix")
  if v:version >= 703
    " Default yank and paste go to Mac's clipboard
    set clipboard=unnamed
  endif
endif

Вы можете безопасно положить его в .vimrc, даже если у вас нет Vim 7.3 - он просто не будет работать.

Вы можете получить последнюю версию vim, используя репозитории homebrew и homebrew-alt . Я рекомендую это!

4 голосов
/ 21 августа 2011

Это вина vi, а не Mac OS X или терминала. Ви не игнорирует переводы строк; это просто накопление отступов. Вы можете исправить это, отключив автоиндентирование (:set noai) перед вставкой и включив его впоследствии, или, если вы используете Vim (который я считаю, что vi - просто символическая ссылка в Mac OS X), вы можете временно отключить paste опция включена, которая отключает автоиндентирование наряду с рядом других функций, которые могут вызвать проблемы при вставке текста.

...