我正在使用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 = "\\"
答案 0 :(得分:1)
:setlocal
仅在当前缓冲区或窗口中生效。每个vim选项卡都有自己的窗口,因此它们有自己的本地设置。您可以将选项卡设置设置为全局(通过在vimrc中使用set
而不是setlocal
),或者修改python lib的编写器以修复该行为。
答案 1 :(得分:0)
将set tabstop=4
放入.vimrc并尝试一下。