Vim Dumb Indenting? - PullRequest
       3

Vim Dumb Indenting?

3 голосов
/ 27 августа 2011

Есть ли способ просто заставить Vim скопировать отступ из строки выше, будь то пробелы или символы табуляции, не обращая внимания на типы файлов?

Ответы [ 4 ]

7 голосов
/ 27 августа 2011

:set ai

См. :help autoindent

2 голосов
/ 27 августа 2011

Полагаю, вы собираетесь вставить что-то и настроить отступ.

Попробуйте ]p

0 голосов
/ 09 декабря 2011

Кажется, то, что я хотел, на самом деле невозможно, поскольку Vim автоматически удаляет пробелы и использует параметры конфигурации для отступа.

Я избегал этого, вставляя эти слова в мой vimrc:

:inoremap <CR> x<BS><CR>x<BS>
:inoremap <up> x<BS><up>
:inoremap <down> x<BS><down>
:nnoremap o ox<BS>
:nnoremap O Ox<BS>

Он просто помещает символ на место, а затем удаляет его, прежде чем я выйду из режима редактирования, поэтому Vim не удаляет пустую строку. Если это так, то это может быть просто Vim, проверяющая, было ли какое-либо редактирование строки, автоматическое отступление не учитывается. Может быть, когда-нибудь я проверю источник и покопаюсь.

Я также хотел использовать отступ предыдущей строки (поэтому я получал разные отступы для разных файлов и не должен каждый раз вмешиваться в настройки), но мне удалось пойти на компромисс и использовать прекрасный плагин Vim .

0 голосов
/ 27 августа 2011

Если вы находитесь в начале строки и хотите скопировать все отступающие символы над строкой, в которой вы сейчас находитесь, вы можете использовать Ctrl + y.Он копирует символ из строки выше по одному за раз.Ctrl + e делает то же самое, но копирует из строки ниже.

...