sponsor Vim development Vim logo Vim Book Ad

calendar.vim : Calendar

 script karma  Rating 1832/727, Downloaded by 48417  Comments, bugs, improvements  Vim wiki

created by
Yasuhiro Matsumoto
script type
This script create calender window.
This don't use the external program(cal).
install details
Copy calendar.vim to your plugin directory.

rate this script Life Changing Helpful Unfulfilling 
script versions (upload new version)

Click on the package to download.

package script version date Vim version user release notes
calendar-vim.zip 2.9 2013-03-26 7.2 Yasuhiro Matsumoto [fix] missing file
calendar.vim 2.8 2013-03-19 6.0 Yasuhiro Matsumoto [fix] fix keymap
calendar.vim 2.7 2013-03-19 6.0 Yasuhiro Matsumoto vim7ish, customizable key bindings
calendar.vim 2.5 2011-01-27 6.0 Yasuhiro Matsumoto [fix] 7.2 don't have relativenumber.
calendar.vim 2.4 2011-01-27 6.0 Yasuhiro Matsumoto Applied patch from SethMilliken: added g:calendar_options . default is 'fdc=0 nonu nornu' . you can overwrite default behavior of calendar window.
calendar.vim 2.3 2011-01-08 6.0 Yasuhiro Matsumoto Applied patch from bw1: fixed weeknum function.
calendar.vim 2.2 2010-05-06 6.0 Yasuhiro Matsumoto Applied patch:
calendar.vim 2.1 2010-03-24 6.0 Yasuhiro Matsumoto Applied patch from thinca. Thanks.
calendar.vim 2.0 2009-11-24 6.0 Yasuhiro Matsumoto Applied patch from Ingo Karkat. Thanks.

- ENH: Added a config setting g:calendar_datetime. This allows to remove the
display of the current date/time in the title (I don't like it), and offers the
window's statusline as an alternative.

- BUG: The checks for g:calendar_action and g:calendar_sign should also check
for an existing, but empty variable. Otherwise, it is not possible to disable it
in a .vimrc, because the sourcing of calendar.vim would initialize the variables.

- BUG: In s:CalendarDoAction(), the check for g:calendar_action must come after
the "navi" handling; otherwise "navi" breaks if g:calendar_action is disabled
(see above).

- ENH: The :set wrapscan is ugly, because it is a global setting. The search()
commands already pass the 'w' flag, so the only remaining issue were the
searches via /. I modified the 'G0/...' search to 'G$?' (i.e. backward from end
of buffer), so that 'wrapscan' isn't required any more. (Even better would be to
use search() for these jumps, too.) With this, I can also completely get rid of
the autocmds in case one does not want the date/time in the title, neither (see

- Using :setlocal buftype=nofile instead of =nowrite; this is more suitable for
this kind of scratch buffer, and avoids that the path may be shown in the title
/ statusline (depending on the customization).

- BUG: Replaced :setlocal nowrap with 'wrap'. Without this, the 'sidescrolloff'
setting may cause the left side of the calendar to disappear if the last
inserted element is near the right window border. 'wrap' shouldn't matter,
anyway, and 'sidescrolloff' is a global setting, unfortunately.
Try :set sidescrolloff=3 in combination with :let g:calendar_navi = 'bottom' to

- BUG: The :normal i... for the navi rendering causes a trailing space after the
"Next>" button. This way, I cannot quickly type "G$<CR>" to activate the next
button. Now using :normal a... to append. This causes the entire navi to shift
one character to the right, but you could fix this by decreasing the column

- ENH: Use :stopinsert in case we've gotten here from insert mode (via

- Using :wincmd w instead of :normal <C-w>; it's simpler. (And you should always
use :normal! (with a bang) to avoid interference with user remappings!)

- ENH: I noticed that <left> and <s-left> do the same thing, but in different
ways (one uses the navi and the latter is called by the former). I dropped the
unintuitive shift mappings and instead do the jumps consistently in the navi,
using the b:Calendar... variables instead of that ugly maparg() stuff.

- ENH: I noticed that <left> and <up> do the same thing. I changed <up>/<down>
to move an entire year, so one can quickly let the years pass...

- ENH: the 'q' mapping now returns to the previous window, not the first one.
calendar.vim 1.9 2009-11-20 6.0 Yasuhiro Matsumoto This is an upgrade for calendar.vim. use nnoremap.
calendar.vim 1.8 2009-10-08 6.0 Yasuhiro Matsumoto This is an upgrade for calendar.vim. fixed E382 while closing diary.
calendar.vim 1.7 2008-02-15 6.0 Yasuhiro Matsumoto This is a fixed version of calendar.vim. fixed problem of week number on 03/01/2008.
calendar.vim 1.6 2007-07-24 6.0 Yasuhiro Matsumoto Added new actions 'calendar_begin' and 'calenader_end'.
calendar.vim 1.5 2007-05-01 6.0 Yasuhiro Matsumoto This is an upgrade for calendar.vim. this include some bug fix.
calendar.vim 1.4a 2006-01-16 6.0 Yasuhiro Matsumoto This is an upgrade for calendar.vim. this include some bug fix and calendar_today action.
calendar.vim 1.4 2004-11-03 6.0 Yasuhiro Matsumoto This is an upgrade for Calendar.vim. this include 2 bug fixs and 1 improvement.
ip used for rating:

If you have questions or remarks about this site, visit the vimonline development pages. Please use this site responsibly.
Questions about Vim should go to the maillist. Help Bram help Uganda.