简体   繁体   中英

Enable python autocompletion in Vim without any install

I am coding Python3 in Vim and would like to enable autocompletion.

I must use different computers without internet access. Every computer is running Linux with Vim preinstalled.

I dont want to have something to install, I just want the simplest way to enable python3 completion (even if it is not the best completion), just something easy to enable from scratch on a new Linux computer.

Many thanks

Unfortunately Vim, by default doesn't do what you want, you are pretty much limited to the Ctrl-P style, which is better than it seems once you get used to it.

However i also often find myself working on machines that are not allowed to access the internet or have other files placed on them and When i find myself in this situation and i am using an unfamiliar language i sometimes use Vim's dictionary completion: http://vim.wikia.com/wiki/VimTip91

To populate this dictionary i cat / trim / filter the man pages for the language to get a variety of keywords. I ram these into a filetype specific dictionary: au FileType * execute 'setlocal dict+=~/.vim/words/'.&filetype.'.txt'

Obviously this isn't the greatest solution and it is a bit heavy handed but it does provide a certain degree of "What is that function called" type stuff.

默认情况下,插入模式下的Ctrl-P会使用您正在编辑的文件中已存在的所有单词进行自动完成

If you have compiled vim with +python3 , you can try omnifunc. Add following to your ~/.vimrc :

au FileType python setl ofu=python3complete#Complete

Then in insert mode, just type Ctrl X + Ctrl O .

See :help omnifunc .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM