Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
vim从当前行中删除缩进_Vim - Fatal编程技术网

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