vim从当前行中删除缩进

时间:2014-03-17 07:39:55

标签: vim

每次我使用A在vim中进入插入模式并按Enter进入下一行时,vim会自动删除当前行的所有缩进。例如,理想情况下,它应该是这样的 -

14   echo $sample;   
15   $ai = system("python ai.py " + $sample, $retVal);

如果我在第15行按A然后按<CR>,这就是我的vim的样子 -

14   echo $sample;   
15 $ai = system("python ai.py " + $sample, $retVal);
16

这是我的.vimrc -

"General
set nu      " Set line numbers
set hlsearch    " Set search highlight
set shiftwidth=2
set tabstop=2

"Pathogen
execute pathogen#infect()
call pathogen#helptags()
syntax on
filetype plugin indent on

"ConqueTerm
command Cterm split | ConqueTerm bash
nnoremap <silent> sh :Cterm<CR>

"NerdTree - 
"Fs open Nerdtree on the same tab. Nfs opens NerdTree in new tab.
command Fs NERDTree
command Nfs tabedit | NERDTree
nnoremap <silent> fs :Fs<CR>

"TagBar
nnoremap <silent> tt :TagbarToggle<CR>

"Omni Completion
filetype plugin on
filetype indent on
inoremap <C-Space> <C-X><C-o>

"Editor 
command Ide NERDTree | TagbarToggle

"Move between split windows
nmap <silent> <A-Up> :wincmd k<CR>
nmap <silent> <A-Down> :wincmd j<CR>
nmap <silent> <A-Left> :wincmd h<CR>
nmap <silent> <A-Right> :wincmd l<CR>

"Drag words like in Windows
nnoremap <C-Left> b
vnoremap <C-S-Left> b
nnoremap <C-S-Left> gh<C-O>b
inoremap <C-S-Left> <C-\><C-O>gh<C-O>b

nnoremap <C-Right> w
vnoremap <C-S-Right> w
nnoremap <C-S-Right> gh<C-O>w
inoremap <C-S-Right> <C-\><C-O>gh<C-O>wA

" Start Syntastic in passive mode
let g:syntastic_mode_map = { 'mode': 'passive' }
nnoremap <silent> ch :SyntasticCheck<CR>

知道发生了什么事吗?

1 个答案:

答案 0 :(得分:0)

您可能想在vimrc文件中设置autoindent:

:set ai

您还可以通过使用

检查其值来验证先前是否设置了 autoindent (例如通过文件类型插件)
:set ai?