vim从当前行中删除缩进
每次我使用vim从当前行中删除缩进,vim,Vim,每次我使用A在vim中进入插入模式并按enter键转到下一行时,vim自动删除当前行的所有缩进。例如,理想情况下,它应该是这样的- 14 echo $sample; 15 $ai = system("python ai.py " + $sample, $retVal); 如果我在第15行按A,然后按,这就是我的vim的样子- 14 echo $sample; 15 $ai = system("python ai.py " + $sample, $retVal); 16
A
在vim中进入插入模式并按enter键转到下一行时,vim
自动删除当前行的所有缩进。例如,理想情况下,它应该是这样的-
14 echo $sample;
15 $ai = system("python ai.py " + $sample, $retVal);
如果我在第15行按A
,然后按
,这就是我的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>
“概述
设置nu“设置行号
设置hlsearch“设置搜索突出显示
设置shiftwidth=2
设置tabstop=2
“病原体
执行病原体#感染()
调用病原体#helptags()
语法高亮
文件类型插件缩进
“征服
命令字符分割|征服项bash
nnoremap-sh:Cterm
“书呆子树-
“Fs在同一选项卡上打开Nerdtree。Nfs在新选项卡上打开Nerdtree。
命令Fs NERDTree
命令Nfs选项卡编辑| NERDTree
nnoremap fs:fs
“标语栏
nnoremap tt:TagbarToggle
“全方位完成
上的文件类型插件
文件类型缩进
inoremap
“编辑
命令Ide NERDTree | TagbarToggle
“在拆分窗口之间移动
nmap:winck
nmap:wincmd j
nmap:winch
nmap:wincmd l
“像在Windows中一样拖动单词
nnoremap b
vnoremap b
nnoremap ghb
inoremap ghb
nnoremap w
vnoremap w
nnoremap ghw
inoremap ghwA
“在被动模式下启动Syntastic
设g:syntastic_mode_map={'mode':'passive'}
nnoremap ch:SyntasticCheck
知道发生了什么吗?您可能想在vimrc文件中设置自动缩进:
:set ai
您还可以通过使用检查其值来验证以前是否设置了自动缩进(例如,通过文件类型插件)
:set ai?
这是出于设计。相反,不要担心行是空的。当你开始编辑行时,让vim为你恢复缩进位置:你正在编辑什么类型的文件?如果是PHP,你是否有一个开头
@benjifisher是的,是PHP,我有标签。这也发生在HTML/JS文件中。这是commmand-fil的输出etype=php从/usr/share/vim/vim/vim73/filetype.vim indentexpr=GetPhpIndent()最后设置最后一组来自/usr/share/vim/vim73/indent/php.vim您是在php标记附近还是稍后才发现问题?也许vim对它是否在php块中感到困惑。让我们只使用一种类型的文件。@benjifisher它在文件中随处可见。他已经在他的vimrc文件中有:filetype plugin indent on
ites文件类型特定的缩进插件,以覆盖其vimrc文件中设置的'ai'
和相关选项。有关介绍,请参阅vim用户手册中的:help 30.3
。