vim 功能强大,oh-my-zsh 界面优雅。感慨 vscode下python开发各种奇葩问题,太不稳定了。于是在windows7上装了虚拟机,采用homestead+vagrant+vmbox(借laravel社区东风)。python开发存在最大的问题是代码跳转,补全极不方便,找到了一款方便python开发的vim插件 jedi-vim。
酷炫
使用了vim主题插件,jedi-vim 代码补全,目录菜单呼出。下面是使用定义溯源后的效果图
虚拟机
下面工具,请自行安装
vitrual box 虚拟机环境
homestead laravel开发集成环境,vmbox
vagrant 管理虚拟机的工具
gitbash git 在window下的客户端,充当如 xshell,putty 等远程登录角色
oh-my-zsh
宿主机是linux走正常流程,问题项主要是解决远程登录出现的异常表现。
前置条件
Zsh 必须是 v4.3.9+ ,可 执行zsh --version验证。未安装,则进入安装zsh
curl 或 wget ,git 必须被安装,这一点不用担心 homestead 已经集成了
安装
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
配置主题
主要是选择主题插件,详情参阅地址
vi ~/.zshrc
ZSH_THEME="robbyrussell"
ZSH_THEME_RANDOM_CANDIDATES=(
"robbyrussell"
"agnoster"
)
问题
官方安装完毕,发现在window下有字符呈现为空方框。基本原因:字体符编码与字体文件,若此二者排除,你需要考虑,使用gitbash远程登录虚拟机,你所看到的界面,是宿主机的资源所提供的。换句话来说,即window7缺少powerline字体文件,到github官网下载,将字体 文件拖入以下文件夹即可。
c:/windows/fonts
oh-my-zsh效果
当然gitbash本身字符编码最好也设置为utf-8,其字体文件选择powerline,否则还是会看到讨厌的方框。同样的道理,你用puty远程登录也会出现这种情况,亦需作相应变更操作。至于本机系统本身是linux就不用考虑了。
jedi-vim
该插件是专门针对Python语言的代码补全,十分好用。
插件管理器
套路满满,装插件首先要得有插件管理器。通过它来管理插件安装,vim也不例外。
下展示对vim状态栏不同的管理器安装方式差异
Plugin Manager
Install with...git clone https://github.com/vim-airline/vim-airline ~/.vim/bundle/vim-airline 需要手动执行 :Helptags 生成tags
NeoBundle 'vim-airline/vim-airline'
Plugin 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline'
call vam#ActivateAddons([ 'vim-airline' ])
call dein#add('vim-airline/vim-airline')
call minpac#add('vim-airline/vim-airline')
manual
copy all of the files into your ~/.vim directory
建议选用plug安装插件最省事,tags它会帮你自动生成,安装使用,在给出的官方链接内有详细描述。
vim-airline字体补丁
用过bootstrap的同学都知道,它将一些小图形做成了字形。字体补丁,就是在不影响原字形的情况下,加入一些箭头,星星,闪电,桃形等小图标,将其转为字体,且追加集成到字形集中。这种技巧,惯用于命令行界面,给人以图形的效果。
装 vim-airline 也有一个坑,这是需要打补丁的字体(正常字体是不会打的),powerline只保证你的oh-my-zsh正常显示,vim的状态条就呵呵了。不过办法总是有的,所不同的是需要 下载打过补丁的字体,注意是patched-fonts。若你使用powerline字体(该类型字体只少量打过补丁)会发现有的可用有的不可用,同样道理gitbash终端,换成打过补丁的字体就ok了。
补全
跳转
下面是jedi-vim 的一些默认配置,leader 是前缀键操作,vimrc若未配置默认为\,
本人vimrc基本配置之前被配为了,, 所以在vim 正常模式下,你按K,可以查看光标所指变量文档(若存在)
,d 查看光标所指向的源码定义 等等
let g:jedi#goto_command = "d"
let g:jedi#goto_assignments_command = "g"
let g:jedi#goto_definitions_command = ""
let g:jedi#documentation_command = "K"
let g:jedi#usages_command = "n"
let g:jedi#completions_command = ""
let g:jedi#rename_command = "r"
更多技巧请参阅 地址,或在vim命令行下呼出
:h jedi-vim
小技巧
截图
win7 自带截图工具,但不幸的是我的电脑点击后,有了如下表示。如果你碰到了,换个打开方式
直接Alt + PrtSc(F12右边那个)键截取,然后粘贴到文章编辑器即可。想裁剪,粘贴到画图处理。
终端
vim8.1 内置终端,输入:ter 横向窗口, :vert ter 纵向,效果如下
本作品采用《CC 协议》,转载必须注明作者和本文链接