摘要
本文介绍一个 Vim
日历插件 —— calendar.vim,除了最基本的日历查看功能,还支持日程管理、TODO List
、Google Calendar & Google Task
集成
简介
强大的日历插件,支持如下功能:
- 基本日历: 可以按年、月、周、日的粒度显示.
- 简单的时钟: 可以在
Vim
中显示一个ASCII
拼成的时钟(感觉不实用). - 时间表: 设定不同事件开始和结束时间,用作日程管理.
- 任务列表: 一个非常简单的
TODO List
. - Google Calendar/Task集成: 可以直接操纵
Google Calendar/Task
.
各种视图我这里就不给出了,大家可以去 calendar.vim 查看.
安装
Note: 请确保已经正确安装了 Pathogen
插件,如果没有安装,请参考 Hacking Vim: 插件管理器Pathogen(02)
本篇文章的代码在 https://github.com/NsLib/blog-vim-proj/tree/calendar
cd ~/.vim/bundle
git clone git@github.com:itchyny/calendar.vim.git --depth=1
rm -rf ~/.vim/bundle/calendar.vim/.git
配置
由于这个插件配置比较多,我只列出常用选项.
" 日期格式 year-month-day
let g:calendar_date_endian = "big"
" 日期分隔符
let g:calendar_date_separator = "-"
" 打开日历时的视图
let g:calendar_view = "day"
" 设置View布局
let g:calendar_views = ['year', 'day', 'month', 'week', 'clock', 'days']
" Google Calendar/Task 的配置就不给出了,不建议用,国内访问比较慢且不稳定.
使用
使用 Calendar
的一些示例:
" 打开日历
:Calendar
" 打开 2015-01-30 的日历
:Calendar 2015 01 30
" 打开年视图、竖直切分、宽度为27
:Calendar -view=year -split=vertical -width=27
" 打开年视图、水平切分、位置为底部、高度12
:Calendar -view=year -split=horizontal -position=below -height=12
" 显示时钟
:Calendar -view=clock
请看下面的演示(我用了Tab键补全):
日历中的一些操作:
视图:
< : 左视图
> : 右视图
事件窗口/任务窗口:
E : 打开/关闭事件窗口
T : 打开/关闭任务窗口
C : 修改事件/任务
D : 删除事件/完成任务
L : 清理所有已完成的任务
U : 将任务标识为未完成
其他:
t : 跳转到当前日期
? : 显示帮助
Q : 退出
添加、删除、修改事件/任务,请看演示(我用了Tab键补全):
结语
这个插件我用的比较基础,主要就是查看日历和一些重大纪念日备注. 至于时间表这个东西,我觉得不实用,毕竟在公司里,被中断的次数太多了. 我比较喜欢实用 TODO List
来做任务驱动,工具用 Clear 和 todo.txt 命令行版.