迁移vim-python开发环境
概述
之前配置好了自己的 vim python 开发环境,为了方便在其他主机上面迁移之前的开发环境,所以将所有的插件包都打包压缩了一份,和 vim 配置文件 .vimrc 一起上传到了百度云盘(下载链接:vim插件包 密码:neio)。通过下载这个文件夹就可以在新的主机上部署 vim 的 python 开发环境了。
步骤
下载插件包与配置文件
先使用百度云盘下载这两个文件,然后再通过 ftp 上传到你的 Linux 主机上。我也试过直接在 Linux 里面通过 wget 来下载百度云盘的文件,但是这个要使用浏览器来生成下载链接,挺麻烦的,所以我就不在这里说明了。
将 .vimrc 放到用户主目录下,即
~/
目录.vimrc 文件里面主要记录需要安装哪些插件,我的 vim python 开发环境安装的插件有:
VundleVim/Vundle.vim
Valloric/YouCompleteMe
Lokaltog/vim-powerline
scrooloose/nerdtree
Yggdroot/indentLine
jiangmiao/auto-pairs
tell-k/vim-autopep8
scrooloose/nerdcommenter
altercation/vim-colors-solarized
w0rp/ale
scrooloose/syntastic
nvie/vim-flake8
以及一些常用的配置信息,具体如下所示
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149$ vi ~/.vimrc
"去掉vi的一致性"
set nocompatible
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
Plugin 'Valloric/YouCompleteMe'
Plugin 'Lokaltog/vim-powerline'
Plugin 'scrooloose/nerdtree'
Plugin 'Yggdroot/indentLine'
Plugin 'jiangmiao/auto-pairs'
Plugin 'tell-k/vim-autopep8'
Plugin 'scrooloose/nerdcommenter'
Plugin 'altercation/vim-colors-solarized'
"Plugin 'w0rp/ale'
Plugin 'scrooloose/syntastic'
Plugin 'nvie/vim-flake8'
call vundle#end()
filetype plugin indent on
"显示行号"
set number
" 隐藏滚动条"
"set guioptions-=r
"set guioptions-=L
"set guioptions-=b
"隐藏顶部标签栏"
"set showtabline=0
"设置字体"
set guifont=Monaco:h13
set nowrap "设置不折行"
"set fileformat=unix "设置以unix的格式保存文件"
"set cindent "设置C样式的缩进格式"
set tabstop=4 "设置table长度"
set shiftwidth=4 "同上"
set showmatch "显示匹配的括号"
set scrolloff=5 "距离顶部和底部5行"
set laststatus=2 "命令行为两行"
set fenc=utf-8 "文件编码"
set backspace=2
set mouse=v "启用鼠标"
set selection=exclusive
set selectmode=mouse,key
set matchtime=5
set ignorecase "忽略大小写"
set incsearch
set hlsearch "高亮搜索项"
set noexpandtab "不允许扩展table"
set whichwrap+=<,>,h,l
set autoread
set cursorline "突出显示当前行"
"set cursorcolumn "突出显示当前列"
syntax on "开启语法高亮"
"set background=dark "设置背景色"
"colorscheme solarized
"let g:solarized_termcolors=256 "solarized主题设置在终端下的设置"
"syntastic
let python_highlight_all=1
"设置error和warning的标志
let g:syntastic_enable_signs=1
let g:syntastic_error_symbol='✗'
let g:syntastic_warning_symbol='►'
"总是打开Location
"List(相当于QuickFix)窗口,如果你发现syntastic因为与其他插件冲突而经常崩溃,将下面选项置0
let g:syntastic_always_populate_loc_list = 0
"自动打开LocatonList,默认值为2,表示发现错误时不自动打开,当修正以后没有再发现错误时自动关闭,置1表示自动打开自动关闭,0表示关闭自动打开和自动关闭,3表示自动打开,但不自动关闭
let g:syntastic_auto_loc_list = 2
"修改Locaton List窗口高度
let g:syntastic_loc_list_height = 3
"打开文件时自动进行检查
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 1
"自动跳转到发现的第一个错误或警告处
let g:syntastic_auto_jump = 1
"高亮错误
let g:syntastic_enable_highlighting=0
"设置pyflakes为默认的python语法检查工具
let g:syntastic_python_checkers = ['pyflakes']
"按F5运行python"
map <F5> :call RunPython()<CR>
function RunPython()
exec "W"
if &filetype == 'python'
exec "!time python %"
endif
endfunction
"默认配置文件路径"
let g:ycm_global_ycm_extra_conf = '~/.ycm_extra_conf.py'
"打开vim时不再询问是否加载ycm_extra_conf.py配置"
let g:ycm_confirm_extra_conf=0
set completeopt=longest,menu
"python解释器路径"
let g:ycm_path_to_python_interpreter='/usr/bin/python'
"是否开启语义补全"
let g:ycm_seed_identifiers_with_syntax=1
"是否在注释中也开启补全"
let g:ycm_complete_in_comments=1
let g:ycm_collect_identifiers_from_comments_and_strings = 0
"开始补全的字符数"
let g:ycm_min_num_of_chars_for_completion=2
"补全后自动关机预览窗口"
let g:ycm_autoclose_preview_window_after_completion=1
" 禁止缓存匹配项,每次都重新生成匹配项"
let g:ycm_cache_omnifunc=0
"字符串中也开启补全"
let g:ycm_complete_in_strings = 1
"离开插入模式后自动关闭预览窗口"
autocmd InsertLeave * if pumvisible() == 0|pclose|endif
"回车即选中当前项"
"inoremap <expr> <CR> pumvisible() ? '<C-y>' : '\<CR>'
"上下左右键行为"
inoremap <expr> <Down> pumvisible() ? '\<C-n>' : '\<Down>'
inoremap <expr> <Up> pumvisible() ? '\<C-p>' : '\<Up>'
inoremap <expr> <PageDown> pumvisible() ? '\<PageDown>\<C-p>\<C-n>' : '\<PageDown>'
inoremap <expr> <PageUp> pumvisible() ? '\<PageUp>\<C-p>\<C-n>' : '\<PageUp>'
"F2开启和关闭树"
map <F2> :NERDTreeToggle<CR>
let NERDTreeChDirMode=1
"显示书签"
let NERDTreeShowBookmarks=1
"设置忽略文件类型"
let NERDTreeIgnore=['\~$', '\.pyc$', '\.swp$']
"窗口大小"
let NERDTreeWinSize=25
"split navigations
nnoremap <C-J> <C-W><C-J>
nnoremap <C-K> <C-W><C-K>
nnoremap <C-L> <C-W><C-L>
nnoremap <C-H> <C-W><C-H>
"缩进指示线"
let g:indentLine_char='┆'
let g:indentLine_enabled = 1
"autopep8设置"
let g:autopep8_disable_show_diff=1
let mapleader=','
map <F4> <leader>ci <CR>在用户主目录下新建一个 .vim 文件夹,并将插件包解压缩至该文件夹
1
2$ mkdir ~/.vim
$ tar -jxv -f bundle.tar.bz2 -C ~/.vim到这里,除了自动补全的插件 YouCompleteMe ,其实大部分的插件都已经起作用了,我们的插件包有几百兆主要就是因为 YouCompleteMe 这个插件比较大,这也是因为这个插件的功能太强大了,这个插件在下载完成后还需要编译安装,接下来就来完成这个步骤。
安装 python 和 python 库
1
$ sudo apt install python python-dev
这一步没有完成在安装的时候可能会碰到下面的问题:
1
2
3WARNING: this script is deprecated. Use the install.py script instead.
Searching Python 2.7 libraries...
ERROR: unable to find an appropriate Python library.安装编译环境
1
$ sudo apt install cmake gcc build-essential
未完成这步可能会遇到的问题:
1
2WARNING: this script is deprecated. Use the install.py script instead.
ERROR: Unable to find executable 'cmake'. CMake is required to build ycmd1
No CMAKE_CXX_COMPILER could be found.
执行 YouCompleteMe 安装脚本
1
2$ cd ~/.vim/bundle/YouCompleteMe
$ ./install.sh完成上面的过程就实现了 YouCompleteMe 的安装,接下来就可以体验 vim 强大的功能啦!