Dob*_*boy 59 python vim configuration editor indentation
我非常喜欢Python的Emacs编辑器,因为如果我有这样的东西,它就是智能标签
def foo():
if bar:
blah
[b]eep
Run Code Online (Sandbox Code Playgroud)
然后我按下光标上的标签(位于哔哔声b上),它不会插入新的标签,导致语法错误,但它会切换可能发出哔哔声的电平.反正有没有对Vim产生这种影响?
mva*_*een 92
一般来说,vim是一个非常强大的常规语言编辑器(宏扩展了这个,但我们暂时忽略它).这是因为vim是ed上面的一个薄层,而ed只不过是一个说正则表达式的行编辑器.Emacs的优势在于建立在ELisp之上; 使它能够轻松解析复杂的语法并执行缩进技巧,就像你上面分享的那样.
说实话,我从来没有能够深入到emacs的深处,因为它只是在我的vim洞穴里冥想.话虽如此,让我们跳进去吧.
杰纳斯
对于初学者,我强烈建议安装现成的Janus插件(fwiw,这个名字来自于由Janus Vim主演的星际迷航剧集).如果你想要一个快速的vim IDE快捷方式,这是你最好的收获.
我从来没有用过太多,但我见过其他人愉快地使用它,我现在的设置是从旧的Janus构建中大量借用的.
Vim病原体
否则,自己做一些探索!如果你想看到vim插件的世界,我强烈建议安装vim病原体.
它是各种各样的包管理器.安装后,您可以git clone打包到~/.vim/bundle目录并自动安装.没有更多的插件安装,维护或卸载头痛!
您可以从GitHub页面运行以下脚本来安装病原体:
mkdir -p ~/.vim/autoload ~/.vim/bundle; \
curl -so ~/.vim/autoload/pathogen.vim \
https://raw.github.com/tpope/vim-pathogen/HEAD/autoload/pathogen.vim
Run Code Online (Sandbox Code Playgroud)
以下是我发现和享受的扩展vim的一些链接:
小智 26
对于2013年夏天左右到达的人,我相信这个帖子有些过时了.
我按照这个方法推荐了Vundle over Pathogen.使用一天后,我发现安装插件很简单.
klen/python-mode插件值得特别提及.它提供pyflakes和pylint等功能.
我刚刚开始使用Valloric/YouCompleteMe,我喜欢它.它具有C-lang自动完成功能,并且由于jedi集成,python也非常有效.根据此讨论,它可能会取代jedi-vim/davidhalter/jedi-vim/issues/119
最后浏览提供的/ carlhuda/janus插件是一个很好的指南,你可能不知道你正在寻找的有用的脚本,如NerdTree,vim-fugitive,syntastic,powerline,ack.vim,snipmate ......
以上所有"{}/{}"都可以在github上找到,您可以通过Google轻松找到它们.
Kim*_*ais 15
把以下内容放入你的 .vimrc
autocmd BufRead *.py set smartindent cinwords=if,elif,else,for,while,try,except,finally,def,class
autocmd BufRead *.py set nocindent
autocmd BufWritePre *.py normal m`:%s/\s\+$//e ``
filetype plugin indent on
Run Code Online (Sandbox Code Playgroud)
另请参阅详细说明
我个人使用JetBrain的PyCharm和IdeaVIM插件做任何复杂的事情,简单编辑添加.vimrc似乎就足够了.