当前位置:Gxlcms > Python > 用Vim写Python的最佳实践是什么?

用Vim写Python的最佳实践是什么?

时间:2021-07-01 10:21:17 帮助过:41人阅读

是否需要自动提示、补全等功能,怎么去添加这些功能。我自己eclipse写java比较多,谢谢!

回复内容:

vim 3年,本身是python后端开发
链接是我的配置,github,支持一键安装

github.com/wklken/k-vim Vim上真正牛逼的地方不是代码补全提示功能这些功能(我不知道有没有提示,但是补全功能很多),而是快速定位,快速把想要的代码格式化。

我主要是在格式上配置了一些插件和设定。编译和调试还没有弄。下面所说的都是linux系统上的设定,win下有些地方不一样。

首先要在vimrc里针对python设置格式(这是我目前的最简设置):
"显示行数,设置软回车和缩进还有语法
set number
set expandtab
set tabstop=8
set shiftwidth=4
set softtabstop=4
set autoindent
:syntax on
"补全设置,不设也能用
let Tlist_Ctags_Cmd='/usr/bin/ctags'
filetype plugin indent on
filetype plugin on
set ofu=syntaxcomplete#Complete
"这个是我喜欢的,一旦一行的字符超出80个的话就把那些字符的背景设为红色
highlight OverLength ctermbg=red ctermfg=white guibg=#592929
match OverLength /\%81v.\+/

剩下的一些插件我装了:
VCS(版本控制,支持git,svn,hg等等)
Tabular(非常方便的排版工具)

剩下就是一些技巧了,只有慢慢练才可以
偷懒复制一下我在者也上的答案:
zheye.org/asks/4dc62cbb

  • 不按Esc而是按^[或者^c,速度快很多
  • 学会几个定位键的区别:0, $, {, }, g, G, w, e, b...
  • o, O分别是当前位置下面/上面插入一个新行并进入插入状态
  • Shift+V选定几行,然后用 一起移动
  • Ctrl+V选定行首或行尾的字符,然后用shift+i做插入,或者shift+x做删除
  • 学会用y,d 和p, P做粘贴剪切
  • 学会用^W的窗口操作。打开文件用sp或者vs
  • 学会记录宏的命令。用q加任意键开始录制,再按q保存。然后可用@加这个任意键回放,在@前加数字可定义回放次数。
  • "."重复上一个命令,"u"取消上一个命令,"^r"反取消
  • ^n, ^p用buf里的关键词补全。
  • 学会搜索替换":%s/要搜的东西/要换成的东西/g"
  • 任何时候移到一个单词上按#的话可以高亮这个文档里所有一样的单词
  • 用“/”做搜索, 按n或N 上一个/下一个
  • ":!命令 &"可直接运行这个命令,用":!命令 %&"如果你想让这个命令对当前所编辑文件做操作。
  • 任何时候可用":cd %:p:h"来切换目录到当前编辑文件所在目录。


剩下的我想起来再补充 说一个很多人可能忽略的:jedi-vim
set foldmethod=indent
set foldlevel=99
 
" press space to fold/unfold code
nnoremap <space> za
vnoremap <space> zf
更新,我已经放弃spf13-vim,原因是作者目前对这个项目持放羊态度,无节制的合并pull request,没有任何test, 在master branch上不停的引进bug,去年四月份引进的bug到现在也没有修复的迹象。 Issues 堆了几十页。

用这种发行版本来就是为了节省时间,结果还要我花很多时间去修bug,简直得不偿失。
==================

用spf13吧, 我自己原来也攒了300行左右的配置了。
发现spf13/spf13-vim · GitHub 以后,就完全投靠它了。 本来我很少用vim, 觉得配置起来太麻烦了。
看了这个问题及其答案之后挺受启发,自己花了2天学习怎么优化配置vim。写了个小小的vim distribution。基本满足补全、提示、查找文件、查错、Git等功能,界面也挺漂亮,Ubuntu上支持一条命令安装。连接学校的VM的时候终于可以摆脱龟速的Xming了。
rarezhang/simple_vim_setting · GitHub
感谢 @李继刚 和 @马伟伟 的答案,从这两个答案里学习到很多。
上个图吧。
直接空白Vim使用 John Anderson 的配置就行了
Turning Vim into a modern Python IDE
鏈接:sontek.net/turning-vim-
附上我的Vim截圖一張: 推荐spf13-vim,把你的vim升级到vim7.4,如果是mac可以直接使用macvim。然后spf13中的youcompleteme插件将会起作用,代码提示,变量函数跳转不要太方便! 私下认为PyCharm+IdeaVIM插件写Python才是最舒服的

PyCharm强大的搜索和代码跳转用起来真的很舒服,比ctags好用不知道多少。另外就是一个file explore,相比时不时出BUG的NERD-tree舒服多了。
当然IdeaVIM不是完美的, 比如不能支持sorround、EasyMotion等VIM插件,这是一件让人悲伤的事情。 我是个pythoner,也是vim的忠实用户,我认为我的配置文件写python是非常爽的,代码补全,错误提示,智能缩进,一键排版,一键执行,感兴趣的话可以试试,github上的项目是:ma6174/vim · GitHub,根据README的教程可以一条命名自动安装配置好

人气教程排行