1.4.2 vim
vim是一款轻量级强大的文本编辑器,本身附带详细的英文帮助文档,初次使用Vim的读者可以多查看vim的帮助文档,对我们理解vim的快捷命令非常有帮助。vim的官方网站为https://www.vim.org/,这里以Ubuntu20.04为例介绍如何用vim打造为Python的编程工具,Windows系统请参照操作,并没有太大的区别。
(1)安装vim:许多UNIX衍生系统已经预装了vim,我们首先要确认编辑器是否成功安装。按Ctrl+Alt+T组合键启动Terminal,输入vim--version,如果看到如图1.22所示的“+python3”就不需要再手动安装了。如果没有,则运行以下命令手动安装:
sudo apt install vim
如果是其他版本的Linux系统,则可查阅相应的版本管理器文档;如果是Windows系统,则下载gvim80.exe进行安装,下载链接为ftp://ftp.vim.org/pub/vim/pc/gvim80-586.exe。
图1.22 vim安装验证
(2)vim模式:有两种模式,按下Esc键进入命令模式;按下i或insert键进入编辑模式(插入模式)。vim的基本操作,如移动、删除、复制、粘贴、查找、替换等可参考帮助文档,命令模式下输入:help可查看帮助文档学习基本操作。我们按下Esc键进入命令模式,输入如下:
:python3 import sys;print(sys.version)
如图1.23所示。
图1.23 命令模式查看Python版本
按下Enter键后得到的结果如图1.24所示。
图1.24 查看vim使用的Python版本
这行命令会输出编辑器当前的Python版本。如果报错,编辑器就不支持Python语言,需要重装或重新编译。Ubuntu操作系统可以使用“sudo update-alternatives --config vim”来切换vim对Python 2和Python 3的支持。
(3)vim扩展:vim本身能够满足开发人员的很多需求,其可扩展性也很强,并且已经有一些高级扩展,可以让vim拥有“现代”集成开发环境的特性。虽然vim有多个扩展管理器,但是笔者推荐Vundle,可以把它想象成vim的pip。有了Vundle,安装和更新包就变得容易多了。现在我们来安装Vundle:
git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim
该命令将下载Vundle插件管理器,并将其放置在vim编辑器bundles文件夹中。现在,可以通过.vimrc配置文件来管理所有扩展。将配置文件添加到home文件夹中:
touch ~/.vimrc
接下来,将下面的Vundle配置代码添加到配置文件~/.vimrc的顶部。
在vim配置文件中以"开头的行为注释行。上面的代码完成了使用Vundle前的设置,之后就可以在call vundle#end()之前添加希望安装的插件,打开vim编辑器,运行下面的命令:
:PluginInstall
这个命令告诉Vundle自动下载所有插件,表1.1列举了vim打造Python IDE的常用插件,可凭个人爱好选择安装某几个或全部。
表1.1 各种插件
举个例子:假如要安装自动补全插件Valloric/YouCompleteMe,可以在配置文件中Vundle的内部加入Plugin 'Valloric/YouCompleteMe',然后重新启动vim,并在命令模式下输入:PluginInstall(注意是英文冒号)回车,即可自动安装Valloric/YouCompleteMe。同样地,如果要安装多个,就在配置文件中配置多个,然后执行vim命令:PluginInstall,vim会自动安装配置文件中的插件,已安装的不会再次安装,重新启动vim即可体验插件的效果。
笔者在GitHub上面找到非常受欢迎的两款vim配置文件,可用于编写Python程序,供读者参考,熟悉vim配置语法后可以修改为自己喜欢的风格:
(1)https://github.com/axiaoxin/my-vimrc。编写Golang、Python、Markdown文件较多的读者,可以参考此进行配置,配置方法就是复制该项目的.vimrc文件到你的$HOME目录下,打开vim,执行:PlugInstall命令,等待插件安装完成,然后再次打开vim即可。最终的效果如图1.25所示。
图1.25 vim配置效果图
(2)https://vim.fisadev.com/。主要用于编写Python,具有代码调试、自动补全、模糊查找等功能,具体的安装配置方法和使用效果请访问https://vim.fisadev.com/查看视频。
开发工具总结:PyCharm适合新手使用,无须太多配置就可以实现贴心的自动补全、智能提示,打开即用,同时有跨平台的IDE。如果有一定的vim基础(之前一直是用vim来编写代码),就可以尝试将vim打造为Python IDE。vim的优势在于其小巧,系统资源占用少,启动速度快,完全可以量身定制,编写代码可以脱离低效的鼠标单击。