It used to be plain Vim, but finally introduced plugin management. Note of time
dein.vim https://github.com/Shougo/dein.vim NeoBundle seems to support only bug fixes, so use dein.vim.
$ curl https://raw.githubusercontent.com/Shougo/dein.vim/master/bin/installer.sh > installer.sh
$ sh ./installer.sh {Install Directory}
When you execute installer.sh, the following code will be displayed, so you can add vimrc.
Please add the following settings for dein to the top of your vimrc (Vim) or init.vim (NeoVim) file:
"dein Scripts-----------------------------
if &compatible
set nocompatible " Be iMproved
endif
" Required:
set runtimepath+=~/.vim/dein/repos/github.com/Shougo/dein.vim
" Required:
if dein#load_state('~/.vim/dein/')
call dein#begin('~/.vim/dein/')
" Let dein manage dein
" Required:
call dein#add('~/.vim/dein/repos/github.com/Shougo/dein.vim')
" Add or remove your plugins here:
call dein#add('Shougo/neosnippet.vim')
call dein#add('Shougo/neosnippet-snippets')
" You can specify revision/branch/tag.
call dein#add('Shougo/vimshell', { 'rev': '3787e5' })
" Required:
call dein#end()
call dein#save_state()
endif
" Required:
filetype plugin indent on
syntax enable
" If you want to install not installed plugins on startup.
"if dein#check_install()
" call dein#install()
"endif
"End dein Scripts-------------------------
Done.
Complete setup dein!
After that, comment on " Add or remove your plugins here:
as below
call dein # add ('plugin GitHub repository')
It seems OK if you write the plugin, but it seems that you can manage the plugin with a toml file, so I will create a file that manages the plugin separately from vimrc and load it.
This time, the installation directory of dein.vim is set to ~ / .vim / dein /
, so create ʻuserconfig` under this and write toml under it.
$ cd ~/.vim/dein
$ mkdir userconfig
plugins.toml
Specify the plug-in to be loaded at startup.
toml:~/.vim/dein/userconfig/plugins.toml
[[plugins]]
repo = 'Shougo/dein.vim'
[[plugins]]
repo = 'Shougo/vimproc.vim'
plugins_lazy.toml
Load the plugin under certain conditions.
For example, you can load a python plugin only when writing python.
toml:~/.vim/dein/userconfig/plugins_lazy.toml
[[plugins]]
repo = 'Shougo/unite.vim'
# unite.If you load vim, load it together
[[plugins]]
repo = 'Shougo/neomru.vim'
on_source = ['unite.vim']
[[plugins]]
repo = "davidhalter/jedi-vim"
on_ft = ['python']
[[plugins]]
repo = 'fatih/vim-go'
on_ft = ['go']
Details such as condition specification can be confirmed by starting vim and using : h dein-options
.
Fixed vimrc to be able to load plugins from toml. By the way, if you don't have dein.vim, you can install it automatically.
vimrc
"dein Scripts-----------------------------
if &compatible
set nocompatible " Be iMproved
endif
let s:dein_path = expand('~/.vim/dein')
let s:dein_repo_path = s:dein_path . '/repos/github.com/Shougo/dein.vim'
" dein.clone from github without vim
if &runtimepath !~# '/dein.vim'
if !isdirectory(s:dein_repo_path)
execute '!git clone https://github.com/Shougo/dein.vim' s:dein_repo_path
endif
execute 'set runtimepath^=' . fnamemodify(s:dein_repo_path, ':p')
endif
if dein#load_state(s:dein_path)
call dein#begin(s:dein_path)
let g:config_dir = expand('~/.vim/dein/userconfig')
let s:toml = g:config_dir . '/plugins.toml'
let s:lazy_toml = g:config_dir . '/plugins_lazy.toml'
"Read TOML
call dein#load_toml(s:toml, {'lazy': 0})
call dein#load_toml(s:lazy_toml, {'lazy': 1})
call dein#end()
call dein#save_state()
endif
" Required:
filetype plugin indent on
syntax enable
"Install any plugins that are not installed
" If you want to install not installed plugins on startup.
if dein#check_install()
call dein#install()
endif
"End dein Scripts-------------------------
Check the plugins installed on vim. Open test.py and
test.py
# -*- coding: utf-8 -*-
print('hello')
When you run : Unite dein
Shougo/dein.vim
# cespare/vim-toml
Shougo/vimproc.vim
# fatih/vim-go
Shougo/neomru.vim
Shougo/unite.vim
davidhalter/jedi-vim
The list is displayed like this
Plugins specified in specific conditions in plugins_lazy.toml are comments. Since I have a python file open, jedi-vim
is launched and vim-go
and vim-toml
are comments.
jedi-vim
If the following help screen is displayed with : h dedi
etc., you can confirm that it is installed.
jedi-vim.txt - For Vim version 7.3 - Last change: 2014/07/29
__ _______ _______ __ ____ ____ __ .___ ___.
| | | ____|| \ | | \ \ / / | | | \/ |
| | | |__ | .--. || | _____\ \/ / | | | \ / |
.--. | | | __| | | | || | |______\ / | | | |\/| |
| `--' | | |____ | '--' || | \ / | | | | | |
\______/ |_______||_______/ |__| \__/ |__| |__| |__|
jedi-vim - awesome Python autocompletion with Vim
==============================================================================
Contents jedi-vim-contents
1. Introduction jedi-vim-introduction
2. Installation jedi-vim-installation
2.0. Requirements jedi-vim-installation-requirements
2.1. Manually jedi-vim-installation-manually
2.2. Using Pathogen jedi-vim-installation-pathogen
2.3. Using Vundle jedi-vim-installation-vundle
2.4. Installing from Repositories jedi-vim-installation-repos
3. Supported Python features jedi-vim-support
4. Usage jedi-vim-usage
5. Mappings jedi-vim-keybindings
5.1. Start completion g:jedi#completions_command
5.2. Go to definition g:jedi#goto_command
5.3. Go to assignment g:jedi#goto_assignments_command
5.4 Go to definition (deprecated) g:jedi#goto_definitions_command
5.5. Show documentation g:jedi#documentation_command
davidhalter / jedi-vim / doc / jedi-vim.txt
, so put tags under doc.
You can see it by running : helptags ~ / .vim / dein / repos / github.com/davidhalter/jedi-vim/doc/
.Jedi-vim
didn't install properly when Vim started, probably because I was switching versions with pyenv.
After investigating, it seems that python needs to be recompiled
https://rcmdnk.com/blog/2014/12/25/computer-vim/
##Return python version to system
$ pyenv global system
$ pyenv versions
* system (set by /Users/suyong/.pyenv/version)
3.6.2
##Reinstall vim
$ brew reinstall vim --HEAD
The story of how fast it was when I switched from NeoBundle to dein.vim Moving to dein.vim [Python environment maintenance] De-NeoBundle. Prepare the environment of the super convenient complementary plug-in jedi-vim with dein and set it to be comfortable [Vim note: Python input completion with jedi-vim](http://wonderwall.hatenablog.com/entry/2017/01/29/213052#docstring pop-up disabled) Install and use Dein.vim. Vim plugin management with dein.vim Make vim a Python development environment on Mac.