LINUX.ORG.RU

vim Shift+Ins и лесенки

 


2

2

Если в vim включены автоматические отступы, то при вставке текста с отступами - получаем лесенку, если подумать, то понятно почему так происходит(vim видит перенос строки и добавляет табуляцию в начало следующей), есть решение данной особенности(научить vim смотреть нет-ли в начале следующей строки табуляции)?

Deleted

Или просто добавь это в .vimrc

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

liathit ★★ ()
Ответ на: комментарий от liathit

Похоже на правду, но нужно отлавливать Shift+Ins, включать paste, возвращать управление системе, потом выключать paste, я в скриптинге vim не шарю, нет готового скрипта?

Deleted ()
Ответ на: комментарий от Deleted

Я себе забиндил на отдельную клавишу set paste, и на другую set nopaste. Но тут два момента. Я редко что вставляю в вим таким образом, поэтому мне достаточно и такого решения.

Второй же момент похуже. Дело в том, что при set nopaste он все табуляции заменит на пробелы, поэтому потом приходится делать что-то типа :%s/4 пробела/табуляция/g

shell-script ★★★★★ ()
Ответ на: комментарий от shell-script

Я себе забиндил на отдельную клавишу set paste, и на другую set nopaste.

по ссылки из первого поста так и предлагают

Я редко что вставляю в вим таким образом, поэтому мне достаточно и такого решения.

согласен, но всеравно хочется автоматизации, может есть возможность объединить vim'овый буфер обмена с X'овым?

при set nopaste он все табуляции заменит на пробелы

странно, у меня табуляции вставляет

Deleted ()

"+p, можешь синхронизировать p с этим.

x3al ★★★★★ ()
Ответ на: комментарий от Deleted

set clipboard=unnamed (или unnamedplus в зависимости от того, что хочешь)

x3al ★★★★★ ()
Ответ на: комментарий от x3al

Запомню набудущее, но:

vim --version|g clipboard
-clipboard       +iconv           +path_extra      -toolbar
+eval            +mouse_dec       +startuptime     -xterm_clipboard
В debian так и не научились собирать vim

Deleted ()
Ответ на: комментарий от Deleted

vim-gtk, можно не пользоваться собственно гуем.

x3al ★★★★★ ()

а я делаю :r!cat. наверное это глупо и неоптимально, но надежно и нужно нечасто.

t184256 ★★★★★ ()
Ответ на: комментарий от t184256

Тоже интересный способ записал себе

Deleted ()

В плагине unimpaired есть yo немного автоматизирующий включение/отключение 'paste'. Можно просто код скопировать.

salsa ()
Ответ на: комментарий от Deleted

Так примерно это и происходит, нет? Во всяком случае, для меня сработало.

salsa ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.