Vim(Vi Improved的缩写)是一款功能强大的文本编辑器,常被作为Python开发环境的首选。本文将探讨Vim及其用于Python的自动补全功能。
Vim在全球开发者中一直存在,并以其持续不断的技术进步而闻名。Vim遵循一种关于功能的特定思想,最好用"键盘的效率"来解释。
这意味着Vim的设计理念是,就像一个用笔和纸的作家一样,软件开发者应该能够高效地编写代码,而不被其他琐事干扰,比如滚动或查找选项等。对于开发者来说,键盘就是他们的笔。
Vim采用结构化的命令语言,最初在其中操作可能会令人生畏。在真正掌握在像Vim这样的无干扰环境中进行编程的艺术之前,确实需要熟悉许多键盘命令。
然而,这些命令存在于一个逻辑且易于理解的堆栈中,这使得我们更快地适应它们。
Vim和Python组合起来是一个强大的工具,是许多软件开发者的首选。
Vim易于设置为一个集成开发环境(IDE),提供了许多插件。这些插件可以帮助软件开发者定制Vim,并创建最适合其开发需求的环境。
尽管本文无法涵盖所有可用功能来充分利用Vim作为IDE的功能,但我们可以列出一些最受欢迎的功能:
sp <文件名>
在当前文件下方打开一个新文件。au BufRead,BufNewFile *.py,*.pyw,*.c,*.h match BadWhitespace /\s\+$/
有时,当方法的定义超过一行时,自动缩进可能不起作用。我们可以通过设置indentpython.vim来解决这个问题:
Plugin 'vim-scripts/indentpython.vim'
Syntactic插件:
```bash Plugin 'vim-syntastic/syntastic' ```Flake8插件:
```bash Plugin 'nvie/vim-flake8' #添加pep8 ``` 1. PEP8: 我们可以设置Vim的pep8检查,以保持编码标准的审查。实现Python自动补全的最佳插件是YouCompleteMe。虽然YouCompleteMe使用了其他各种自动补全库(如Jedi),但它是目前最适合最新Python版本的插件。
我们可以使用Vundle在我们的环境中安装和设置YouCompleteMe,如下所示:
Bundle 'Valloric/YouCompleteMe'
关于所有操作系统类型的完整安装说明可以在详尽的文档中找到。
下面是在64位Linux系统上进行设置的步骤:
apt install build-essential cmake vim-nox python3-dev
apt install mono-complete golang nodejs default-jdk npm
cd ~/.vim/bundle/YouCompleteMe
python3 install.py --all
安装过程非常简单,但我们可以进行自定义配置,如下所示:
let g:ycm_autoclose_preview_window_after_completion=1
map <leader>g :YcmCompleter GoToDefinitionElseDeclaration<CR>
这个脚本确保一旦完成自动补全,窗口就会关闭,并在脚本的第二行创建一个GoTo定义的快捷方式。