vim配置python3
Ⅰ vim 怎样新建python包及方法
1.先创建一个正常普通的文件夹a
2.然后进入文件夹,在里面用vim创建名字为__init__.py的空文件,文件里面什么都不用写
3.你再在a文件夹下,创建和编写你要执行代码的py文件b.py就可以了
4.此时a就可看做python的一个包了,如果你要执行代码文件就进入a目录,然后再a目录下运行python b.py就行
5.如果你要外部调用a,那么你要确保从你执行python命令的目录起,一直到a这个目录那里,每一个层级下都要有一个__init__.py文件,创建方法同2
Ⅱ 中"vim配置"到底有多强大
虽然我是 SpaceVim/NeoVim 党。如果你不准备用 SpaceVim 或者直接下载别人的 vimrc,那么有几点可以提示一下
首先是 text-object 这块,除了默认的以外你可以考虑 argtextobj 和 vim-surround 等等增强,但是可惜的一点是,虽然 text-obj 是 Vim 开始的,但是 Emacs/Spacemacs 这方面更会玩。
然后是 vim-slime 这一块,你可以考虑和一个 quake-like terminal 搭配,这样你可以很方便的在调试程序是打开,而在不调试程序的时候收起。
vim-sensible 一般是所有识大体的人的选择
熟悉 ultisnips 的 Vimmer 可能可以获得“身手不凡,身手不凡呐”的称号。(不过熟悉 Yas 或者类似的 emacser 也有高概率获得如此称号
另外稍微用得多了一点之后千万不要一个 .vimrc 写所有设置,最好还是分成几个然后再 source,否则你的 .vimrc 看起来想死
为了速度,你需要 dein 或者 vim-plug 之类支持 auto-load 的插件管理
另外虽然自己用插件比较多,大部分时候 nyaovim 除了显示代码的主窗口只有下面的 status line 和 cmd line,以及上面的 tab line;其他的窗口比如 nerdtree, neomake 之类的都是按需打开,于是你会发现 C-w 系列其实也是很重要的
应评论晒一下自己用了 SpaceVim 之后的 init.vim,其中 layer#lang#org 是自写的一个关于 vim-orgmode 的 layer
" Dark powered mode of SpaceVim, generated by SpaceVim automatically.
let g:spacevim_enable_debug = 0
let g:spacevim_realtime_leader_guide = 1
let g:spacevim_automatic_update = 1
call SpaceVim#layers#load('incsearch')
call SpaceVim#layers#load('autocomplete')
if has('nvim')
let g:deoplete#enable_at_startup = 1
end
set autochdir
let g:spacevim_filemanager = 'nerdtree'
call SpaceVim#layers#load('lang#c')
call SpaceVim#layers#load('lang#elixir')
call SpaceVim#layers#load('lang#go')
call SpaceVim#layers#load('lang#haskell')
call SpaceVim#layers#load('lang#java')
call SpaceVim#layers#load('lang#javascript')
call SpaceVim#layers#load('lang#lua')
call SpaceVim#layers#load('lang#perl')
call SpaceVim#layers#load('lang#edit')
" call SpaceVim#layers#load('lang#php')
call SpaceVim#layers#load('lang#python')
call SpaceVim#layers#load('lang#org')
call SpaceVim#layers#load('lang#rust')
call SpaceVim#layers#load('lang#swig')
call SpaceVim#layers#load('lang#tmux')
call SpaceVim#layers#load('lang#julia')
call SpaceVim#layers#load('lang#vim')
" call SpaceVim#layers#load('lang#latex')
call SpaceVim#layers#load('lang#xml')
call SpaceVim#layers#load('shell')
call SpaceVim#layers#load('tools#screensaver')
let g:spacevim_enable_vimfiler_welcome = 1
let g:spacevim_enable_debug = 1
let g:deoplete#auto_complete_delay = 150
let g:spacevim_enable_tabline_filetype_icon = 1
let g:spacevim_enable_os_fileformat_icon = 1
let g:spacevim_buffer_index_type = 1
let g:neomake_vim_enabled_makers = []
if executable('vimlint')
call add(g:neomake_vim_enabled_makers, 'vimlint')
endif
if executable('vint')
call add(g:neomake_vim_enabled_makers, 'vint')
endif
let g:neomake_tex_enabled_makers = ['chktex']
if has('python3')
let g:ctrlp_map = ''
nnoremap <silent> <C-p> :Denite file_rec<CR>
endif
let g:clang2_placeholder_next = ''
let g:clang2_placeholder_prev = ''
" set tabstop=2
set shiftwidth=2
" call dein#check_clean();
let g:spacevim_custom_plugins= [
\ ['tpope/vim-sensible'],
\ ['kana/vim-smartword'],
\ ['vim-scripts/argtextobj.vim'],
\ ['saihoooooooo/vim-textobj-space'],
\ ['zhujinxuan/snippets-tex-equations', {'on_ft' : 'tex'}],
\]
let g:spacevim_unite_leader = '<F6>'
let g:spacevim_denite_leader = 'h'
let g:spacevim_snippet_engine = 'ultisnips'
call SpaceVim#custom#SPC('nmap', ['c', 'c'], '<plug>NERDCommenterInvert', 'toggle comment lines', 0)
call SpaceVim#custom#SPC('nmap', ['c', 'C'], '<plug>NERDCommenterComment', 'comment lines', 0)
call SpaceVim#custom#SPC('nmap', ['c', 'l'], '<plug>NERDCommenterInvert', 'toggle comment lines', 0)
call SpaceVim#custom#SPC('nmap', ['c', 'L'], '<plug>NERDCommenterComment', 'comment lines', 0)
call SpaceVim#custom#SPC('nmap', ['c', 'p'], 'vip<Plug>NERDCommenterInvert', 'toggle comment paragraphs', 0)
call SpaceVim#custom#SPC('nmap', ['c', 'P'], 'vip<Plug>NERDCommenterComment', 'comment paragraphs', 0)
call SpaceVim#custom#SPC('nmap', ['b', '#'], ':b #<CR>', 'Previously active buffer(:b #)', 0)
call SpaceVim#layers#load('vim#slime')
" let g:spacevim_colorscheme = 'molokai'
let g:spacevim_enable_powerline_fonts = 1
let g:spacevim_guifont='DroidSansMonoForPowerline\ Nerd\ Font:h11'
let g:spacevim_enable_tabline_filetype_icon=0
let g:spacevim_buffer_index_type = 4
Ⅲ vim 如何设置 python 标准库的高亮和补全
可以代码添加到vim语法高亮:
将下面代码添加符合到的后面就可以了:
syn keyword pythonStatement False, None, True
syn keyword pythonStatement as assert break continue del exec global syn
keyword pythonStatement lambda nonlocal pass print return with yield syn keyword
pythonStatement class def nextgroup=pythonFunction skipwhite
syn keyword pythonConditional elif else if
syn keyword pythonRepeat for while
syn keyword pythonOperator and in is not or
syn keyword pythonException except finally raise try
syn keyword pythonInclude from import
可以代码添加到vim中vim语法补全:
1、修改_vimrc
2、在_vimrc文件中加入如下这几行:
let g:pydiction_location='C:/program
files/vim/vimfiles/ftplugin/pydiction/complete-dict'
filetype plugin on
set autoindent
syntax enable
set softtabstop=4
set shiftwidth=4
set number
使用:
如果是开新的python档案,尚未储存为 .py,VIM不知道目前编辑的是python,所以要在vim的命令列里面下这个指令 set
FileType=python ,之后,按tab就会列出method和attribute了
Ⅳ 如何使vim下开发python调试更方便
1. 一键执行
这个不是插件,而是一个自定义的vim配置。很多时候我们写python,都是写一些较为简单的脚本,那么,这个一键执行的功能就非常实用,我个人感觉最实用的是在写单元测试的时候,写完一个单元测试,都不用退出vim,立即执行就能看到结果。
将下面的配置放到.vimrc文件即可:
""""""""""""""""""""""
"Quickly Run
""""""""""""""""""""""
map <F5> :call CompileRunGcc()<CR>
func! CompileRunGcc()
exec "w"
if &filetype == 'c'
exec "!g++ % -o %<"
exec "!time ./%<"
elseif &filetype == 'cpp'
exec "!g++ % -o %<"
exec "!time ./%<"
elseif &filetype == 'java'
exec "!javac %"
exec "!time java %<"
elseif &filetype == 'sh'
:!time bash %
elseif &filetype == 'python'
exec "!time python2.7 %"
elseif &filetype == 'html'
exec "!firefox % &"
elseif &filetype == 'go'
" exec "!go build %<"
exec "!time go run %"
elseif &filetype == 'mkd'
exec "!~/.vim/markdown.pl % > %.html &"
exec "!firefox %.html &"
endif
endfunc
2. 代码补全(snipMate)
代码补全能够显着地减少你敲键的次数,并且将你从琐碎的语法中解放出来。说白了,就是帮你写代码!
如果使用snipMate插件,那么,当你输入ifmain以后按tab键,将会自动为你生成下面的代码:
if __name__ == '__main__':
main()
输入for,再按tab键,生成如下代码:
for needle in haystack:
# code...
代码补全有两款插件都比较不错,可以根据自己的需要进行选择:
snipMate
xptemplate
3. 语法检查(Syntastic)
syntastic是一款强大的语法检查插件,当你保存源文件时,它就会执行,并提示用户哪些代码存在语法错误,哪些代码风格不符合规范,并给出具体的提示。
例如,python代码风格默认设置为PEP8,即使你不知道PEP8的风格,只要你使用syntastic插件,并根据它给出的提示修改,那么,你就能写出完全符合PEP8风格的代码!
4. 编程提示(jedi-vim)
jedi-vim是基于jedi的自动补全插件,与Syntastic 不同的是,该插件更加智能,更贴切的称呼是”编程提示”,而不是代码补全插件。
如下图所示:
可以说,这个插件是写vim的标配,并且,真正让vim写python变成一件轻松愉快的事情。
注意: 安装惊jedi-vim插件,需要在电脑中安装jedi,根据jedi-vim给出的提示,正常按装即可。不过我之前遇到一个问题,在公司的虚拟机里面,安装以后不起作用,google了半天没有成功,最后更新了一下vim就可以了,希望遇到相同问题的人,能够看到。
sudo aptitude install vim-gnome vim vim-common vim-tiny
Ⅳ 如何让vim7.4 支持python3
1. 无 Python 支持 (-python、-python3)
2. 只有 Python 2 支持 (+python 或 +python/dyn、-python3)
3. 只有 Python 3 支持 (-python、+python3 或 +python3/dyn)
4. Python 2 和 3 支持 (+python/dyn、+python3/dyn)
Ⅵ 如何在VIM中指定Python解释器版本
你可能不想(或至少不应该) code> python3 作为vim的默认python解释器,因为你的插件的一些(大部分)将变得不兼容,例如 YouCompleteMe 和 clang_complete 本身,因为他们没有 python3 支持。通常,支持 python3 的插件可以让您决定是否要通过添加到 .vimrc
let g:syntastic_python_python_exec ='python3'
解决方案: :echo has('python')显示 0 实际上告诉你vim可能不是用 python2 编译的。所以首先检查 vim --version 的输出,你应该能够看到你的编译器构建vim的共享库列表。你看到以下? (例如对于python 2.7):
-L / usr / lib / python2.7 / config-x86_64-linux-gnu - lpython2.7
如果没有(或者如果你看到 -lpython2.x 和 -lpython3.x 我建议你从源代码编译vim,具体链接到 -lpython2.x
sudo apt-get remove --purge vim vim-runtime vim-gnome vim-tiny vim-common vim-gui-common
clone vim mercurial
hg clone htvim/
cd vim
,然后使用以下标志运行 ./ configure :
./configure --with-features = huge \
--enable-cscope \
--enable-pythoninterp \
--enable-largefile \
--with-python-config-dir = / usr / lib / python2.7 / config
您还可能想要链接 ruby 和 lua 如果需要,然后最后运行
make build
make install
这里是shell脚本,将自动执行整个过程为你。这可能有点过分,但我认为这是你应该如何处理这不与运行与您的未来包的兼容性问题。
Ⅶ 如何启用vim自带python自动补全功能
Python omni complete, 安装启用之后,是这个样子的:
1. 如何安装 'Python omni complete' plugin.
如果是VIM7.3,不需要再下载 pythoncomplete.vim 这个插件,因为安装时自带了。
但是, 必须保证编译安装 VIM 的时候启用了 Python 特性, 即
./configure --with-features=huge --enable-pythoninterp=yes
因为,pythoncomplete.vim 是用 python 写的。
我们可以在vim autoload 目录下看到
ls -la /usr/local/share/vim/vim73/autoload/
drwxr-xr-x 3 root root 4096 2011-02-16 16:29 .
drwxr-xr-x 17 root root 4096 2011-02-16 16:29 ..
-rw-r--r-- 1 root root 3669 2011-02-16 16:29 adacomplete.vim
-rw-r--r-- 1 root root 22439 2011-02-16 16:29 ada.vim
-rw-r--r-- 1 root root 16938 2011-02-16 16:29 ccomplete.vim
-rw-r--r-- 1 root root 15922 2011-02-16 16:29 csscomplete.vim
-rw-r--r-- 1 root root 2998 2011-02-16 16:29 decada.vim
-rw-r--r-- 1 root root 23804 2011-02-16 16:29 getscript.vim
-rw-r--r-- 1 root root 5331 2011-02-16 16:29 gnat.vim
-rw-r--r-- 1 root root 6093 2011-02-16 16:29 gzip.vim
-rw-r--r-- 1 root root 24253 2011-02-16 16:29 htmlcomplete.vim
-rw-r--r-- 1 root root 27028 2011-02-16 16:29 javascriptcomplete.vim
-rw-r--r-- 1 root root 10130 2011-02-16 16:29 netrwFileHandlers.vim
-rw-r--r-- 1 root root 8684 2011-02-16 16:29 netrwSettings.vim
-rw-r--r-- 1 root root 338720 2011-02-16 16:29 netrw.vim
-rw-r--r-- 1 root root 1232 2011-02-16 16:29 paste.vim
-rw-r--r-- 1 root root 293714 2011-02-16 16:29 phpcomplete.vim
-rw-r--r-- 1 root root 21507 2011-02-16 16:29 python3complete.vim
-rw-r--r-- 1 root root 22019 2011-02-16 16:29 pythoncomplete.vim
-rw-r--r-- 1 root root 773 2011-02-16 16:29 README.txt
-rw-r--r-- 1 root root 23443 2011-02-16 16:29 rubycomplete.vim
-rw-r--r-- 1 root root 6184 2011-02-16 16:29 spellfile.vim
-rw-r--r-- 1 root root 30201 2011-02-16 16:29 sqlcomplete.vim
-rw-r--r-- 1 root root 16839 2011-02-16 16:29 syntaxcomplete.vim
-rw-r--r-- 1 root root 21145 2011-02-16 16:29 tar.vim
-rw-r--r-- 1 root root 12646 2011-02-16 16:29 tohtml.vim
-rw-r--r-- 1 root root 23031 2011-02-16 16:29 vimball.vim
drwxr-xr-x 2 root root 4096 2011-02-16 16:29 xml
-rw-r--r-- 1 root root 14933 2011-02-16 16:29 xmlcomplete.vim
-rw-r--r-- 1 root root 11906 2011-02-16 16:29 zip.vim
如果没有,则下载 pythoncomplete.vim, 并复制到 ~/.vim/autoload/ 目录下。
2. 如何启用自动补全
在 ~/.vimrc 中添加这样两行
[plain] view plain
filetype plugin on
autocmd FileType python set omnifunc=pythoncomplete#Complete
此时,我们就完成了安装及配置工作。
3. 如何使用自动补全
例如我们输入
[python] view plain 在CODE上查看代码片派生到我的代码片
import sys
print sys.
此时, 按下 Ctrl+x, Ctrl+o, 就能看到提示列表框,以及对应的 docstring.
Ctrl+n, Ctrl+p 来上下选择
ESC 来取消提示框。
4. 不足之处
a. 属性没有 docstring, 只有函数有。
:( 这个似乎不好搞,因为属性似乎没有 docstring 这个概念。
b. 在没有下拉框的情况下,没有 docstring.
好在, pythoncomplete.vim 是 python 写的,有空大家可以自己完善一下。
Ⅷ vim哪个版本支持python3
vim可以同时支持Python和python3.
现在所有的插件调用python的时候,执行的判断是has(python'').
问题的冲突在于同时支持python,和python3的时候是动态调用的(可以用vim --version验证),导致了has('python')返回结果出了问题.
简单的说,就是vim编译的时候只编译python2.7即可.
Ⅸ 想用vim写Python3,有什么好用的插件推荐
vim有各种强大的插件,这不仅归功于其提供的用来编写插件的脚本语言vimL,还得益于它良好的接口实现,从而支持python等语言编写插件。当vim编译时带有+python特性时就能使用python2.x编写插件,+python3则支持python3.x,可以使用vim --version...