适合Python应用的Vim缩进调试方法,pythonvim缩进调试,我的.vimrc里设置的
适合Python应用的Vim缩进调试方法,pythonvim缩进调试,我的.vimrc里设置的
我的.vimrc里设置的是关于C++(.cpp)的缩进:
set tabstop=4set softtabstop=4set shiftwidth=4set autoindentset cindent
这样写C++程序时缩进就舒服多了。
但是我现在想用Python(.py)写程序,缩进没有C++方便,比如冒号的下一行就不能自动缩进一个Tab。
想请教一下如何配置才能让Vim的缩进适合Python与C++?谢谢!
我不清楚哪个选项起的作用,但我是这么设置的,而且有效。在冒号后面回车会自动缩进4个空格。
set shiftwidth=4set tabstop=4set softtabstop=4set expandtabset smarttabset autoindent
大概是因为我在windows下用的gvim?有个behave mswin,没有深究是什么意思。
source $VIMRUNTIME/vimrc_example.vimsource $VIMRUNTIME/mswin.vimbehave mswin"键盘映射map <F4> :!python % <CR>map <F5> :!tcc -run % <CR>"按F6 编译当前文件map <F6> :!gcc % -g -o %<.exe <CR> map <F7> :!%<.exe <CR>map <F8> :call Run() <CR>func Run() exec "w" exec "!gcc % -g -o %<.exe" exec "!%<.exe"endfunc" 插入匹配括号inoremap ( ()<LEFT>inoremap [ []<LEFT>inoremap { {}<LEFT>inoremap < <><LEFT>inoremap " ""<LEFT>inoremap ' ''<LEFT>"常用配置set nuset nocompatibleset fileencodings=utf-8,gbkset guifont=Courier_New:h10:cANSI"缩进定义set shiftwidth=4set tabstop=4set softtabstop=4set expandtabset smarttabset autoindentset nobackup"用了一个插件AutoComplPop,最长补全set completeopt=longest,menu
略显复杂些的配置
"自动缩进set autoindent"类似C语言风格的缩进set cindent"智能缩进:每一行都和前一行有相同的缩进量,"同时这种缩进形式能正确的识别出花括号,当遇到右花括号(}),"则取消缩进形式。此外还增加了识别C语言关键字的功能。"如果一行是以#开头的(比如宏),那么这种格式将会被特殊对待而不采用缩进格式set smartindent"For Python Programmersautocmd FileType python set textwidth=79 " PEP-8 Friendly"把输入的tab自动转换成空格,Python用户必用~set expandtab "一个tab键占据4个空格set tabstop=4"一开始,插入的就是4个空格,此时一旦你再按下一次tab,这次的四个空格就会和上次的四个空格组合起来变成一个制表符set softtabstop=4"每一级自动缩进的空格数set shiftwidth=4"根据文件类型设定缩进,覆盖掉默认的~autocmd FileType python setlocal tabstop=4 shiftwidth=4 softtabstop=4 textwidth=79
另外即使配置如此 ,Python的缩进也并不是很理想。
比较好的选择是再使用一个插件 hynek/vim-python-pep8-indent
编橙之家文章,
相关内容
- python list列表append方法的性能问题,pythonappend,作为客户
- Python有没有开源包处理GBK Unicode编码问题,pythonunicode
- 了解python flask.Response(generator())流内容处理的朋友请进,
- Ubuntu火狐浏览器可以用python脚本来控制吗?,ubuntupytho
- Python yield与斐波那契数列问题,pythonyield,def fib():
- Python函数无法运行源码有问题吗?,python源码,>>&g
- Python扩展包问调用C++扩展方式,python,对方只提供了.s
- 想用Python随机生成多个不重复坐标需要用到什么库或是
- 按照《flask web开发》书中方法操作,发不出确认邮件是
- Python动态调用其他模块函数操作问题,python动态模块函
评论关闭