So, 在Vim中部署powerline的体验不是那么好. 首先, powerline并不是单纯的Vim下的插件, 它还可以用在tmux, prompt等地方. 所以导致了它在Vim中部署不同于插件, which pissed me.
当然, 也能找到针对Vim插件版本的vim-powerline. 但是鉴于作者已经长期没有维护此项目, 所以不太推荐.
另一个点就是powerline fonts. powerline使用了一些额外的符号以美观, 而想要让这些符号正常显示, 需要安装并部署powerline fonts. 基于不同的环境和terminal, 都得区别设置, 这是令我非常烦恼的. 并且, 我并不是太喜欢这些美观的符号, 不抵触, 但是由于其自带的各种麻烦, 在我心中的评价并不高.
所以我尝试使用vim-airline替代powerline. vim-airline是Vim下的插件, 所以只需要正常安装Plug 'vim-airline/vim-airline'就能使用. vim-airline默认样式和powerline在Vim中的比较类似, 所以没有太高的熟悉成本, 并且多种自定义, 可以在Vim中:help airline查看详细设置.
设置tabline常驻, 并启用airline美化, 取消buffer在显示.
set showtabline=2
let g:airline#extensions#tabline#enabled = 1
let g:airline#extensions#tabline#show_buffers = 0
默认样式为下图所示.
可以看到, tabline的右侧默认带有: X关闭tab按键, 当前tab的split窗口文件名, 当前tab在总数的索引.
不需要右侧的这些功能, 使用以下设置关闭.
let g:airline#extensions#tabline#show_splits = 0
let g:airline#extensions#tabline#show_tab_count = 0
let g:airline#extensions#tabline#show_close_button = 0
Vim中tab的使用, 可以参考Using tab pages.
对于tab的切换, 我使用了J和K, 类似在浏览器中Vimium的使用.
这两个键默认的join和help功能并不多用, 所以目前没有太大影响.
nnoremap J :tabprevious<CR>
nnoremap K :tabnext<CR>
airline可以使用vim-fugitive在statusbar显示文件项目所处的branch.