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...