2016-04-05 4 views
0
let mapleader = "," 

set number 

set textwidth=79 " lines longer than 79 columns will be broken 
set shiftwidth=4 " operation >> indents 4 columns; << unindents 4 columns 
set tabstop=4  " a hard TAB displays as 4 columns 
set expandtab  " insert spaces when hitting TABs 
set softtabstop=4 " insert/delete 4 spaces when hitting a TAB/BACKSPACE 
set shiftround " round indent to multiple of 'shiftwidth' 
set cindent  " align the new line indent with the previous line 

set nobackup 
set nowritebackup 
set noswapfile 

vnoremap < <gv " continue visual selecting after shiftwidh 
vnoremap > >gv 

nnoremap <C-h> <C-w>h 
nnoremap <C-j> <C-w>j 
nnoremap <C-k> <C-w>k 
nnoremap <C-l> <C-w>l 

nnoremap j gj 
nnoremap k gk 

nnoremap <Leader>r :w \| !clear && ./%<CR> 
command W w !sudo tee % > /dev/null 
noremap <silent><Leader>/ :nohls<CR> 

set clipboard=unnamedplus 
set paste 
set ignorecase 

Как-то после переустановки моей Arch Linux, ВИМ купировались работы poperly. После того, как я сделал пару дней назад со старой системой, теперь python жалуется на отступы.ВИМ expandtab не работает после установки нового

У меня нет установленных плагинов или что-то еще, почему это сломалось?

P.S. уже просматривали те же самые quiestions, но они были о плагинах, которых у меня нет. P.S. Замечено, что после : vim не запустит новую строку в соответствии с cindent

По-прежнему отступающие броски после :set paste. Почему это происходит?

+0

Что делает ': verbose set expandtab?' Say? Это должно сказать вам, где была установлена ​​установка. – Carpetsmoker

+0

'noexpandtab последний набор из ~/.vim/vimrc' Я в замешательстве, о том, что именно это означает? почему это 'noexpandtab', если в config есть только' expandtab'. А что на самом деле означает «последний набор»? Vim читает конфигурационный файл ситуационно? – kAldown

+0

OMG! удаление 'set paste' решает проблему. Зачем? и почему он работает с той же конфигурацией, но без 'set ignorecase' в предыдущем config? – kAldown

ответ

1

set paste "перерывает" отступы. Это все, что он делает. Вот почему он работает. Вставка текста в Vim, как правило, была бы такой же, как просто написание каждой буквы. Например, откройте файл, в котором есть текст (в Vim), и убедитесь, что Vim находится в нормальном режиме. Скопируйте следующий текст: d4dAhowdy. Вставьте его в Вим. Вы увидите, что он удаляет четыре строки (d4d), переходит в режим вставки в конце строки (A) и типы howdy. Вставка в Вим - это то же самое, что печатать буквы; это не обязательно просто вставить все точно, как это происходит. Допустим, вы набираете:

if this: 
that 

После того, как вы нажмете Enter после if this:, Vim будет отступа строки, так что код будет фактически выглядеть следующим образом:

if this: 
    that 

Использование set paste получается, что от так, что при вставке этот код в (с включенным отступом), Vim не автоиндексирован, и все нормально отображается. Если вы были в set nopaste, а затем вставьте выше un с отступом кода, Vim отступом его для вас.

Смежные вопросы