工欲善其事,必先利其器。
配置好了Django的环境,该把vim好好配置一下当做python的IDE来用。
在Windows下用惯了各种现成的工具,转到Linux下,一下没了头绪……好歹google出一些别人的心得,折腾来折腾去,也算是把开发环境配好了。
1. 安装完整的vim
# apt-get install vim-gnome
2. 安装ctags,ctags用于支持taglist,必需!
# apt-get install ctags
3. 安装taglist
#apt-get install vim-scripts
#apt-get install vim-addon-manager // 貌似我在安装vim-scripts的时候,已经附带安装了vim-addon-manager
# vim-addons install taglist
4. 安装pydiction(实现代码补全)
#wget http://www.pythonclub.org/_media/python-basic/pydiction-1.2.zip
#unzip pydiction-1.2.zip
// ~/.vim/after/ftplugin和~/.vim/tools/pydiction/目录默认不存在,需要自行创建
#cp pydiction-1.2/python_pydiction.vim ~/.vim/after/ftplugin
#cp pydiction-1.2/complete-dict ~/.vim/tools/pydiction/complete-dict
5. 编辑配置文件
# vim ~/.vimrc
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
|
let Tlist_Auto_Highlight_Tag=1 let Tlist_Auto_Open=1 let Tlist_Auto_Update=1 let Tlist_Display_Tag_Scope=1 let Tlist_Exit_OnlyWindow=1 let Tlist_Enable_Dold_Column=1 let Tlist_File_Fold_Auto_Close=1 let Tlist_Show_One_File=1 let Tlist_Use_Right_Window=1 let Tlist_Use_SingleClick=1 nnoremap <silent> <F8> :TlistToggle<CR> // 设定F8为taglist开关 filetype plugin on autocmd FileType python set omnifunc=pythoncomplete#Complete autocmd FileType javascrīpt set omnifunc=javascriptcomplete#CompleteJS autocmd FileType html set omnifunc=htmlcomplete#CompleteTags autocmd FileType css set omnifunc=csscomplete#CompleteCSS autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags autocmd FileType php set omnifunc=phpcomplete#CompletePHP autocmd FileType c set omnifunc=ccomplete#Complete let g:pydiction_location='~/.vim/tools/pydiction/complete-dict' set autoindent // 实现自动缩进 set tabstop=4 set shiftwidth=4 set expandtab set number |
至此,python IDE的环境就算是搭好了,来张完成图:
右边即为taglist窗口,按F8打开,使用Ctrl+w,再按w可以在code窗口和taglist窗口间切换。
附加:highlight
http://www.vim.org/scripts/script.php?script_id=1599Line mode Highlight current line Advance color for next line highlight Clear last line highlight Pattern mode Highlight word under cursor (whole word match) Highlight all lines having word under cursor (whole word match) Highlight word under cursor (partial word match) Highlight all lines having word under cursor (partial word match) Highlight last search pattern Highlight all lines having last search pattern Clear last pattern highlight Clear all highlights All above commands work in both normal & insert modes. also works in visual mode. (Select desired lines & hit ) python_fold自动折叠 http://vim.sourceforge.net/scripts/script.php?script_id=515 zo 展开 zc 收起 zn 全部展开 zN 全部折叠
安装NERD_TREE 目录树(文件浏览,强烈推荐)
1.下载插件文件
http://www.vim.org/scripts/script.php?script_id=1658
解压文件到~/.vim/目录下,如果没有此目录,则要自己创建。
2.添加配置文件
在~/.vimrc 或 /etc/vim/vimrc文件里添加如下配置
1
2
3
4
5
|
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " F7 NERDTree """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" map <F7> :NERDTreeToggle<CR> imap <F7> <ESC>:NERDTreeToggle<CR> |
则在VIM里按下F7就可打开关闭目录树。具体操作命令请查看插件doc目录下的帮助文件。
Auto Complete
http://www.vim.org/scripts/script.php?script_id=1879
过程同上。
最后,来张既有NERDTree,又有taglist的图。
【推荐】AI 的力量,开发者的翅膀:欢迎使用 AI 原生开发工具 TRAE
【推荐】2025 HarmonyOS 鸿蒙创新赛正式启动,百万大奖等你挑战
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 2025年:是时候重新认识System.Text.Json了
· 源码浅析:SpringBoot main方法结束为什么程序不停止
· C#性能优化:为何 x * Math.Sqrt(x) 远胜 Math.Pow(x, 1.5)
· 本可避免的P1事故:Nginx变更导致网关请求均响应400
· 还在手写JSON调教大模型?.NET 9有新玩法
· 2025年:是时候重新认识System.Text.Json了
· .NET 9 的免费午餐:GZip 性能提升38.3%
· 开源新旗舰 GLM-4.5:不想刷榜,只想干活儿
· 优雅的.net REST API之FastEndpoints
· .NET 10 中的新增功能系列文章1——运行时中的新增功能