用VIM写Python代码缩进问题的解决方法
脚本之家
谁知道啊?!?!?!
有的文件缩进竟然是8个!!
但在vim中显示的都是一个tab,对齐的很工整,
一运行就出错“unindent does not match any outer indentation level”,
这叫一个烦啊,
搞了半天就是缩进不统一啊,
python又把缩进作为语法之一(的确挺好)。
解决办法:
set tabstop=8
其他关于缩进的:
set shiftwidth=4
set tabstop=4
set expandtab
set softtabstop=4
set pastetoggle=<f7>
set autoindent
autocmd BufRead *.py set smartindent cinwords=if,elif,else,for,while,try,except,finally,def,class
如何拷贝代码而不破坏缩进?
开始拷贝前按F7,拷贝结束后再按一次F7。
如何改变整段代码的缩进?
按”v”进入视图模式,选中要移动的代码块。然后用“<”左缩进,或用“>”右缩进。缩进宽度默认为1个shiftwidth宽。如果要缩进多个shiftwidth宽,在按“<”或”>”之前先按相应数字。
ChangeLog:
Mon Aug 4 10:46:30 CST 2008,修正“如何”写成“如果”的笔误。
Sun Jul 8 CST 2007,添加改变整段代码缩进的方法。
Tue Jul 3 CST 2007,加入pastetoggle设置。
有的文件缩进竟然是8个!!
但在vim中显示的都是一个tab,对齐的很工整,
一运行就出错“unindent does not match any outer indentation level”,
这叫一个烦啊,
搞了半天就是缩进不统一啊,
python又把缩进作为语法之一(的确挺好)。
解决办法:
set tabstop=8
其他关于缩进的:
set shiftwidth=4
set tabstop=4
set expandtab
set softtabstop=4
set pastetoggle=<f7>
set autoindent
autocmd BufRead *.py set smartindent cinwords=if,elif,else,for,while,try,except,finally,def,class
如何拷贝代码而不破坏缩进?
开始拷贝前按F7,拷贝结束后再按一次F7。
如何改变整段代码的缩进?
按”v”进入视图模式,选中要移动的代码块。然后用“<”左缩进,或用“>”右缩进。缩进宽度默认为1个shiftwidth宽。如果要缩进多个shiftwidth宽,在按“<”或”>”之前先按相应数字。
ChangeLog:
Mon Aug 4 10:46:30 CST 2008,修正“如何”写成“如果”的笔误。
Sun Jul 8 CST 2007,添加改变整段代码缩进的方法。
Tue Jul 3 CST 2007,加入pastetoggle设置。