Linux下搭建基于python的VIM

2018年2月27日15:26:51 22 4,560 °C
摘要

不得不说,VIM大法好。

Linux下搭建基于python的VIM

一、前言

最近需要在AArch64下编写代码,sublime text3不支持ARM,支持的一些还用不惯。所以干脆直接用上了万能的VIM,用VIM打造了属于自己的python-IDE,根据自己的喜好进行配置,用起来真的很舒服。不得不说,VIM大法好。

1、一睹为快

先看下我配置好的基于python的VIM。标签导航、目录树导航、状态栏美化、代码提示和自动补全,可谓应有尽有。

Linux下搭建基于python的VIM

二、插件安装

我的配置有:

标签导航(tagbar和ctags)、语法检测(syntastic)、文件搜索(ctrlp)、目录树导航(nerdtree)、状态栏美化(vim-powerline)、主题风格(solarized)、python相关(jedi-vim和python-mode)、括号匹配高亮(rainbow_parentheses)、可视化缩进(vim-indent-guides)。

还有一个最重要的就是插件管理工具vundle。

1、安装vundle

2、.vimrc配置文件

~/.vimrc是VIM的配置文件,如果这个配置文件不存在,我们可以自行创建。安装好了vundle,需要在~/.vimrc配置文件中添加vundle支持。所以,在~/.vimrc中添加代码如下:

为了防止配置文件太乱,我们可以通过~/.vimrc.bundles管理我们安装的插件。

3、.vimrc.bundles配置文件

首先创建文件~/.vimrc.bundles,然后添加代码如下:

如上述代码所示,我们通过Bundle指定各个插件在Github的地址,填写规则是"用户名/仓库名"。书写规则有三种,这里使用的是最常见的一种,其它书写方法这里就不说了,可以自行百度。

4、安装插件

我们已经指定好了各个插件的路径,接下里就是安装各个插件了。在shell中输入vim,进入命令行模式输入BundleInstall。Linux下搭建基于python的VIM

运行这个命令就开始自行安装我们之前指定的各个插件了。这个过程需要连网,下载并安装好各个插件之后会提示Done!Linux下搭建基于python的VIM

注意:由于tagbar依赖于ctags,所以我们还需要用指令安装ctags:

三、插件配置

1、基础配置

已经安装好了各个插件,接下里就可以直接用了吗?答案是否定的,我们还需要继续对自己安装的插件进行配置。配置这里也很简单,下面是我的配置,编写~/.vimrc:

你可以根据自己的喜好设置快捷键,<leader>是按键\,根据我的配置。在VIM的正常模式下:

  • 依次按键\tb,就会调出标签导航;
  • 依次按键\ff,就会调出文件搜索;
  • 依次按键\nt,就会调出目录导航。

是不是很帅气?

2、运行配置

这些基础配置已经完成,但是我想在VIM下像在IDE中一样,按一个键就运行当前编辑的python文件,并查看运行结果,这可以做到吗?

没问题!

在~/.vimrc最后一行追击代码如下:

上述代码的意思就是,在VIM的正常模式下,按F5就会保存文件并使用python3运行当前文件,并将结果输出到当前界面。

注意,:!python3表示运行系统命令python3,如果你没有安装python2和python3共存,此处只写python即可。

这样我们就可以边编辑边查看运行结果了:

Linux下搭建基于python的VIM

运行完之后,依然可以在VIM的正常模式下按u,撤回这个输出操作,这样输出结果就撤回了,我们就可以继续编写自己的代码了。

四、总结

VIM很好用,很强大,用上了有种爱不释手的感觉。插件不用安装太多,适合自己的就行,根据自己的需求进行配置,编辑快捷键,真的很方便。

对于自己增加的需求,如果不知道安装什么插件,可以自行百度,度娘会告诉你想知道的东西,当然在github搜索也很方便。

快来配置一个属于自己的VIM吧!

weinxin
微信公众号
分享技术,乐享生活:微信公众号搜索「JackCui-AI」关注一个在互联网摸爬滚打的潜行者。
Jack Cui

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:22   其中:访客  11   博主  11

    • avatar 珍妮1 来自天朝的朋友 谷歌浏览器 Windows 7 上海市 电信 0

      请问对vim版本有要求吗

        • avatar Jack Cui Admin 来自天朝的朋友 火狐浏览器 Windows 7 北京市 百度网讯科技联通节点

          @珍妮1 系统默认的,还有安装最新版本的应该都是支持的。

        • avatar hello 来自天朝的朋友 谷歌浏览器 Windows 10 浙江省杭州市 电信 1

          博主 我想问一下 我在linux下安装了sklearn的包后,为什么vim识别不到啊

            • avatar Jack Cui Admin 这家伙可能用了美佬的代理 谷歌浏览器 Windows 10 美国 弗吉尼亚州

              @hello vim得需要配置下python路径,同时也要下载python提示插件。

            • avatar daniel 来自天朝的朋友 谷歌浏览器 Mac OS X 10_12_2 广东省深圳市 联通 0

              为什么不能补全python代码呀?按tab键跳空格

                • avatar Jack Cui Admin 来自天朝的朋友 谷歌浏览器 Windows 7 辽宁省沈阳市 东北大学三舍南(研究生)

                  @daniel 我当时也是这样的,可能是显示的问题。

                • avatar zee 来自天朝的朋友 火狐浏览器 Ubuntu Linux 山东省青岛市 中国海洋大学(崂山校区) 0

                  请问,怎么解决python自动缩进?像在IDE写那样

                    • avatar Jack Cui Admin 来自天朝的朋友 谷歌浏览器 Windows 7 辽宁省沈阳市 东北大学三舍南(研究生)

                      @zee 这个没有用过,可以去github搜搜有没有相关插件,也可以是显示问题。把编辑好的文件拷贝到本地看看,如果是tab就是显示问题,如果不是,看看有没有啥插件用下。

                    • avatar 谁与争锋、战 来自天朝的朋友 谷歌浏览器 Windows 10 贵州省黔南州 电信 2

                      你好 .vimrc.bundles配置文件 如何把代码添加进去?,能解答一下吗

                        • avatar Jack Cui Admin 来自天朝的朋友 谷歌浏览器 Windows 7 辽宁省沈阳市 东北大学三舍南(研究生)

                          @谁与争锋、战 使用vim编辑就可以了,或者保存到本地使用notepad++打开。

                            • avatar 谁与争锋、战 来自天朝的朋友 谷歌浏览器 Windows 10 贵州省黔南州 电信 2

                              @Jack Cui https://ww4.sinaimg.cn/large/0072Lfvtly1fxb6fuhsakj30sg0fsac8.jpg
                              您好,感谢您之前对我问题的回答,我用 vim打开.vimrc.bundles

                              出现如上图的情况,请问那些代码直接复制放进去,就可以了吗?

                                • avatar Jack Cui Admin 来自天朝的朋友 谷歌浏览器 Windows 7 辽宁省沈阳市 东北大学三舍南(研究生)

                                  @谁与争锋、战 你这个.vimrc.bundles是文件夹还是文件啊?如果是文件应该不是这样的。

                                • avatar 谁与争锋、战 来自天朝的朋友 谷歌浏览器 Windows 10 贵州省黔南州 电信 2

                                  @Jack Cui 系统提示:~/.vimrc.bundles 是一个目录 是在目录里面创建文件来保存代码吗?

                                    • avatar Jack Cui Admin 来自天朝的朋友 谷歌浏览器  Android 8.0.0 MIX 2 Build/OPR1.170623.027 辽宁省沈阳市 联通GSM/WCDMA/LTE共用出口

                                      @谁与争锋、战 把目录删掉,使用vim创建文件。建议去学习下了linux基础。

                                        • avatar 谁与争锋、战 来自天朝的朋友 谷歌浏览器 Windows 10 贵州省黔南州 电信 2

                                          @Jack Cui https://ww3.sinaimg.cn/large/0072Lfvtly1fxc7u2hi6jj30me0kvag8.jpg
                                          好的 谢谢,但是我今天安装vundle 出现上图的错误,提示:服务器证书验证失败。
                                          这是哪里有问题啊

                                        • avatar Jack Cui Admin 来自天朝的朋友 谷歌浏览器  Android 8.0.0 MIX 2 Build/OPR1.170623.027 辽宁省沈阳市 联通

                                          @谁与争锋、战 你这个错误百度一下就有,记得加一个不验证的参数即可。

                                            • avatar 谁与争锋、战 来自天朝的朋友 谷歌浏览器 Windows 10 贵州省黔南州都匀市 联通 2

                                              @Jack Cui 感谢 您的耐心回复 按照您的方法我配置了那些文件创建一个.py还是报错
                                              Error: jedi-vim failed to initialize Python: jedi#setup_python_imports: ImportError: No module named ‘jedi’ (in function jedi#init_python[4]..70_init_python[27]..jedi#se
                                              tup_python_imports,第 27 行). See :messages and/or :JediDebugInfo for more information. 不知道有没有其他人经历过

                                            • avatar Jack Cui Admin 来自天朝的朋友 谷歌浏览器 Windows 7 辽宁省沈阳市 东北大学三舍南(研究生)

                                              @谁与争锋、战 这个问题依然可以百度解决,错误在那写着呢。缺啥补啥。

                                                • avatar 谁与争锋、战 来自天朝的朋友 谷歌浏览器 Windows 10 贵州省黔南州都匀市 联通 2

                                                  @Jack Cui 你好 昨晚我已经解决了我自己的问题。问您问题给您带来不便,十分抱歉,我在安装ctags时提示如下问题:
                                                  https://ww4.sinaimg.cn/large/0072Lfvtly1fxd9xu9qimj30bg05qdgq.jpg
                                                  是因为那个ctags改变名字了吗?

                                                • avatar Jack Cui Admin 来自天朝的朋友 谷歌浏览器 Windows 7 辽宁省沈阳市 东北大学三舍南(研究生)

                                                  @谁与争锋、战 你这应该是已经安装了。

                                            • avatar fat_caaat 来自天朝的朋友 谷歌浏览器 Windows 10 上海市浦东新区 电信 2

                                              6就一个字!刚在Windows的gvim上面试了一下,那个nerd tree,标签导航和目录导航好炫酷啊!!!尤其是标签导航,自动存储了所有的class names,好方便啊!

                                                • avatar Jack Cui Admin 来自天朝的朋友 Safari浏览器 Mac OS X 10_14_4 北京市 百度网讯科技联通节点

                                                  @fat_caaat vim大法好,哈哈。