缩进在vim的新标签页中更改

时间:2015-05-27 04:20:21

标签: python vim

我正在使用vim 7.4。

我的python缩进设置是默认设置:setlocal expandtab shiftwidth = 4 softtabstop = 4 tabstop = 8

这一行取自/usr/share/vim/vim74/ftplugin/python.vim,我没有编辑。

当我使用命令“vim file1.py”打开vim时,tab键会按预期生成4个空格。但是当我在另一个带有cmd:“:tabe file2.py”的标签页中打开第二个文件时,tab键会产生8个空格。

我该如何解决?

我的.vimrc如下所示:

syntax on " Enable syntax highlighting

filetype on " Enable filetype detection
filetype indent on " Enable filetype-specific indenting
filetype plugin on " Enable filetype-specific plugins


set showmatch " Show matching brackets
set nu " Show line numbers

set expandtab " use spaces instead of tab chars

" open replace dialog for replacing selection
vnoremap <C-r> "hy:%s/<C-r>h//gc<left><left><left>

" With the following (for example, in vimrc), you can visually select text then press ~ to convert the text to UPPER CASE, then to lower case, then to Title Case. Keep pressing ~ until you get the case you want.
function! TwiddleCase(str)
  if a:str ==# toupper(a:str)
    let result = tolower(a:str)
  elseif a:str ==# tolower(a:str)
    let result = substitute(a:str,'\(\<\w\+\>\)', '\u\1', 'g')
  else
    let result = toupper(a:str)
  endif
  return result
endfunction
vnoremap ~ ygv"=TwiddleCase(@")<CR>Pgv

:let mapleader = "-"
:let maplocalleader = "\\"

2 个答案:

答案 0 :(得分:1)

:setlocal仅在当前缓冲区或窗口中生效。每个vim选项卡都有自己的窗口,因此它们有自己的本地设置。您可以将选项卡设置设置为全局(通过在vimrc中使用set而不是setlocal),或者修改python lib的编写器以修复该行为。

答案 1 :(得分:0)

set tabstop=4放入.vimrc并尝试一下。