自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

跟我學(xué)Ubuntu下將Vim 8.2打造成Python IDE

系統(tǒng) Linux
本文給大家介紹的是在Ubuntu 20.04 LTS系統(tǒng)下使用Vim配置Python開發(fā)環(huán)境的詳細(xì)步驟,對初學(xué)者非常實(shí)用,有需要的小伙伴可以參考下。

 本文給大家介紹的是在Ubuntu 20.04 LTS系統(tǒng)下使用Vim配置Python開發(fā)環(huán)境的詳細(xì)步驟,對初學(xué)者非常實(shí)用,有需要的小伙伴可以參考下。Vim是Linxu終端最方便的編輯器,有一定的通用性。下面就用Vim打造了屬于自己的Python IDE,然后進(jìn)行配置。

1、安裝 Python

Ubuntu 20.04 LTS 下安裝 Python 3.9。參考鏈接:https://www.linuxmi.com/ubuntu-20-04-python-3-9.html

2、安裝 Vim

Ubuntu 20.04 LTS Desktop初始安裝自帶了vi,未帶 vim 需要安裝,已安裝的略過。

Ubuntu及其衍生版 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ sudo add-apt-repository ppa:jonathonf/vim  
  2. linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt-get update  
  3. linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install vim  

Arch Linux及其衍生版本 

  1. linuxmi@linuxmi:~/www.linuxmi.com$ sudo pacman -S vim  
  2. linuxmi@linuxmi:~/www.linuxmi.com$ flatpak install flathub org.vim.Vim  

3、插件安裝

標(biāo)簽導(dǎo)航(tagbar和ctags)、語法檢測(syntastic)、文件搜索(ctrlp)、目錄樹導(dǎo)航(nerdtree)、狀態(tài)欄美化(vim-powerline)、主題風(fēng)格(solarized)、python相關(guān)(jedi-vim和python-mode)、括號匹配高亮(rainbow_parentheses)、可視化縮進(jìn)(vim-indent-guides)??芍^應(yīng)有盡有。

還有一個最重要的就是插件管理工具vundle。

安裝vundle 

  1. git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle 

安裝好了vundle,需要在~/.vimrc配置文件中添加vundle支持。配置 vim

vim的配置是在用戶主目錄下的 ~/.vimrc 文件中完成的,如果沒有的話,需要自己新建一下。

編輯 ~/.vimrc 文件,寫入以下內(nèi)容: 

  1. filetype off  
  2. set rtp+=~/.vim/bundle/vundle/  
  3. call vundle#rc()  
  4. if filereadable(expand("~/.vimrc.bundles"))  
  5.   source ~/.vimrc.bundles  
  6. endif 

為了防止配置文件太亂,我們可以通過~/.vimrc.bundles管理我們安裝的插件。

.vimrc.bundles配置文件

首先創(chuàng)建文件~/.vimrc.bundles,然后添加代碼如下: 

  1. if &compatible  
  2.   set nocompatible  
  3. end  
  4. filetype off  
  5. set rtp+=~/.vim/bundle/vundle/  
  6. call vundle#rc()  
  7. " Let Vundle manage Vundle  
  8. Bundle 'gmarik/vundle'  
  9. " Define bundles via Github repos  
  10. " 標(biāo)簽導(dǎo)航  
  11. Bundle 'majutsushi/tagbar'  
  12. Bundle 'vim-scripts/ctags.vim'  
  13. " 靜態(tài)代碼分析  
  14. Bundle 'scrooloose/syntastic'  
  15. " 文件搜索  
  16. Bundle 'kien/ctrlp.vim'  
  17. " 目錄樹導(dǎo)航  
  18. Bundle "scrooloose/nerdtree"  
  19. " 美化狀態(tài)欄  
  20. Bundle "Lokaltog/vim-powerline"  
  21. " 主題風(fēng)格  
  22. Bundle "altercation/vim-colors-solarized"  
  23. " python自動補(bǔ)全  
  24. Bundle 'davidhalter/jedi-vim'  
  25. Bundle "klen/python-mode"  
  26. " 括號匹配高亮  
  27. Bundle 'kien/rainbow_parentheses.vim'  
  28. " 可視化縮進(jìn)  
  29. Bundle 'nathanaelkane/vim-indent-guides'  
  30. if filereadable(expand("~/.vimrc.bundles.local"))  
  31.   source ~/.vimrc.bundles.local  
  32. endif  
  33. filetype on 

如上述代碼所示,我們通過Bundle指定各個插件在Github的地址,填寫規(guī)則是"用戶名/倉庫名"。書寫規(guī)則有三種,這里使用的是最常見的一種,其它書寫方法這里就不說了。

安裝插件

我們已經(jīng)指定好了各個插件的路徑,接下里就是安裝各個插件了。在shell中輸入vim,進(jìn)入命令行模式輸入BundleInstall。 

運(yùn)行這個命令就開始自行安裝我們之前指定的各個插件了。這個過程需要連網(wǎng),下載并安裝好各個插件之后會提示Done!

注意:由于tagbar依賴于ctags,所以我們還需要用指令安裝ctags:

sudo apt-get install ctags

插件配置

1、基礎(chǔ)配置

已經(jīng)安裝好了各個插件,接下里就可以直接用了嗎?答案是否定的,我們還需要繼續(xù)對自己安裝的插件進(jìn)行配置。配置這里也很簡單,下面編寫~/.vimrc配置: 

  1. filetype off  
  2. set rtp+=~/.vim/bundle/vundle/  
  3. call vundle#rc()  
  4. if filereadable(expand("~/.vimrc.bundles"))  
  5.   source ~/.vimrc.bundles  
  6. endif  
  7. " tagbar標(biāo)簽導(dǎo)航  
  8. nmap <Leader>tb :TagbarToggle<CR>  
  9. let g:tagbar_ctags_bin='/usr/bin/ctags'  
  10. let g:tagbar_width=30  
  11. autocmd BufReadPost *.cpp,*.c,*.h,*.hpp,*.cc,*.cxx call tagbar#autoopen()  
  12. let g:jedi#auto_initialization = 1  
  13. " 主題 solarized  
  14. let g:solarized_termtrans=1  
  15. let g:solarized_contrast="normal"  
  16. let g:solarized_visibility="normal"  
  17. " 配色方案  
  18. set background=dark  
  19. set t_Co=256  
  20. colorscheme solarized  
  21. " 目錄文件導(dǎo)航NERD-Tree  
  22. " \nt 打開nerdree窗口,在左側(cè)欄顯示  
  23. nmap <leader>nt :NERDTree<CR>  
  24. let NERDTreeHighlightCursorline=1  
  25. let NERDTreeIgnore=[ '\.pyc$', '\.pyo$', '\.obj$', '\.o$', '\.so$', '\.egg$', '^\.git$', '^\.svn$', '^\.hg$' ]  
  26. let g:netrw_home='~/bak' 
  27. "close vim if the only window left open is a NERDTree  
  28. autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") && b:NERDTreeType == "primary") | q | end  
  29. " ctrlp文件搜索  
  30. " 打開ctrlp搜索  
  31. let g:ctrlp_map = '<leader>ff'  
  32. let g:ctrlp_cmd = 'CtrlP'  
  33. " 相當(dāng)于mru功能,show recently opened files  
  34. map <leader>fp :CtrlPMRU<CR>  
  35. " set wildignore+=*/tmp/*,*.so,*.swp,*.zip     " MacOSX/Linux"  
  36. let g:ctrlp_custom_ignore = {  
  37.     \ 'dir':  '\v[\/]\.(git|hg|svn|rvm)$',  
  38.     \ 'file': '\v\.(exe|so|dll|zip|tar|tar.gz)$',  
  39.     \ }  
  40. "\ 'link': 'SOME_BAD_SYMBOLIC_LINKS',  
  41. let g:ctrlp_working_path_mode=0  
  42. let g:ctrlp_match_window_bottom=1  
  43. let g:ctrlp_max_height=15  
  44. let g:ctrlp_match_window_reversed=0  
  45. let g:ctrlp_mruf_max=500  
  46. let g:ctrlp_follow_symlinks=1  
  47. " vim-powerline美化狀態(tài)  
  48. " let g:Powerline_symbols = 'fancy'  
  49. let g:Powerline_symbols = 'unicode'  
  50. " 括號匹配高亮  
  51. let g:rbpt_colorpairs = [  
  52.     \ ['brown',       'RoyalBlue3'],  
  53.     \ ['Darkblue',    'SeaGreen3'],  
  54.     \ ['darkgray',    'DarkOrchid3'],  
  55.     \ ['darkgreen',   'firebrick3'],  
  56.     \ ['darkcyan',    'RoyalBlue3'],  
  57.     \ ['darkred',     'SeaGreen3'],  
  58.     \ ['darkmagenta', 'DarkOrchid3'],  
  59.     \ ['brown',       'firebrick3'],  
  60.     \ ['gray',        'RoyalBlue3'],  
  61.     \ ['black',       'SeaGreen3'],  
  62.     \ ['darkmagenta', 'DarkOrchid3'],  
  63.     \ ['Darkblue',    'firebrick3'],  
  64.     \ ['darkgreen',   'RoyalBlue3'],  
  65.     \ ['darkcyan',    'SeaGreen3'],  
  66.     \ ['darkred',     'DarkOrchid3'],  
  67.     \ ['red',         'firebrick3'],  
  68.     \ ]  
  69. let g:rbpt_max = 40  
  70. let g:rbpt_loadcmd_toggle = 0  
  71. " 可視化縮進(jìn)  
  72. let g:indent_guides_enable_on_vim_startup = 0  " 默認(rèn)關(guān)閉  
  73. let g:indent_guides_guide_size            = 1  " 指定對齊線的尺寸  
  74. let g:indent_guides_start_level           = 2  " 從第二層開始可視化顯示縮進(jìn) 

你可以根據(jù)自己的喜好設(shè)置快捷鍵,<leader>是按鍵\,根據(jù)我的配置。在Vim的正常模式下:

  •  依次按鍵\tb,就會調(diào)出標(biāo)簽導(dǎo)航;
  •  依次按鍵\ff,就會調(diào)出文件搜索;
  •  依次按鍵\nt,就會調(diào)出目錄導(dǎo)航。

2、運(yùn)行配置

這些基礎(chǔ)配置已經(jīng)完成,但是我想在Vim下像在IDE中一樣,按一個鍵就運(yùn)行當(dāng)前編輯的Python文件,并查看運(yùn)行結(jié)果,這可以做到嗎?

如果出現(xiàn)vim插件報錯Error detected while processing /root/.vim/bundle/python-mode/autoload/pymode/lint.vim

那是因?yàn)槿鄙賞ylama模塊,安裝即可如下圖模塊即可

沒問題!

在~/.vimrc最后一行追擊代碼如下: 

  1. " 運(yùn)行文件  
  2. map <F5> :w<cr>:r!python3 %<cr> 

上述代碼的意思就是,在Vim的正常模式下,按F5就會保存文件并使用Python3運(yùn)行當(dāng)前文件,并將結(jié)果輸出到當(dāng)前界面。

注意,:!python3表示運(yùn)行系統(tǒng)命令Python3,如果你沒有安裝Python2和Python3共存,此處只寫python即可。

這樣我們就可以邊編輯邊查看運(yùn)行結(jié)果了,見本文最上面截圖。

運(yùn)行完之后,依然可以在Vim的正常模式下按u,撤回這個輸出操作,這樣輸出結(jié)果就撤回了,我們就可以繼續(xù)編寫自己的代碼了。

總結(jié)

Vim很好用,很強(qiáng)大,用上了有種愛不釋手的感覺。插件不用安裝太多,適合自己的就行,根據(jù)自己的需求進(jìn)行配置,編輯快捷鍵,真的很方便。

你也來配置一個屬于自己的Vim,趕緊試試吧。 

 

責(zé)任編輯:龐桂玉 來源: Linux公社
相關(guān)推薦

2014-07-04 10:12:09

VimIDE

2020-01-18 15:02:48

技術(shù)研發(fā)指標(biāo)

2017-05-05 15:20:03

VimBash腳本bash-suppor

2021-03-22 09:10:28

NginxNginx 簡介服務(wù)器

2016-09-30 10:16:39

sublimeswift

2010-05-18 10:46:46

2018-07-29 23:09:15

Google Go技術(shù)

2022-02-16 09:42:33

Linuxapt命令軟件包

2012-02-22 13:36:39

云計算微軟

2018-12-10 17:50:12

UCloudAIWeb

2018-12-10 17:55:35

UCloudAIWeb

2018-09-13 10:11:42

思科網(wǎng)絡(luò)平臺

2023-08-10 08:01:21

2009-08-02 09:01:24

Windows2008Windows7

2021-06-07 19:26:50

WindowsDocker工作站

2020-08-20 17:21:35

VimRust IDELinux

2021-11-20 17:11:43

工業(yè)互聯(lián)網(wǎng)5GF5G

2011-06-29 09:45:44

網(wǎng)頁設(shè)計

2014-04-15 10:16:03

VMware

2022-03-14 15:06:15

數(shù)據(jù)戰(zhàn)略Cloudera混合云
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號