Skip to content
Browse files

edits to help and vimrc files

  • Loading branch information...
1 parent 892cf23 commit edae918c7cf93fef6a138e9ac765816450b00ced @hsitz committed
Showing with 161 additions and 3,753 deletions.
  1. +150 −49 _vimrc
  2. +11 −44 help.txt
  3. +0 −3,660
199 _vimrc
@@ -1,74 +1,175 @@
" This is an example vimrc that should work for testing purposes.
" Integrate the VimOrganizer specific sections into your own
" vimrc if you wish to use VimOrganizer on a regular basis. . .
-" ---------------------------------------------------
-" generic non-VimOrganizer-related stuff used in
-" my Windows installation, comment out 3rd and 4th
-" lines below if not on Wndows. . . "
-"set nocompatible
-"source $VIMRUNTIME/vimrc_example.vim
-"source $VIMRUNTIME/mswin.vim
-"behave mswin
-" stuff below here is necessary for VimOrganizer to work right
+" THe three lines below are necessary for VimOrganizer to work right
+" =================================================================
filetype plugin indent on
-syntax on
-" use this colorscheme or integrate it into an existing colorscheme
-colorscheme org_dark
-" It is (or will be) helpful to see eol characters when using
-" VimOrganizer, since lines ending with a space are treated
-" as having soft returns, lines ending with non-space have
-" hard returns
-set list
-set listchars=tab:»\ ,eol:¬
-" guioption -L removes left scrollbar, which is especially
-" irritating when split vertical windows appear in VimOrganizer
-set guioptions-=L
-" g:org_agenda_dirs specify directories that, along with
+" and then put these lines in vimrc somewhere after the line above
+au! BufRead,BufWrite,BufWritePost,BufNewFile *.org
+au BufEnter *.org call org#SetOrgFileType()
+" Everything below here is a customization. None are needed.
+" vars below are used to define default Todo list and
+" default Tag list. Both of these can also be defined
+" on a document-specific basis by config lines in a file.
+" See :h vimorg-todo-metadata and/or :h vimorg-tag-metadata
+" 'TODO | DONE' is the default,so not really necessary to define it at all
+let g:org_todo_setup='TODO | DONE'
+" OR, e.g.,:
+"let g:org_todo_setup='TODO NEXT STARTED | DONE CANCELED'
+" include a tags setup string if you want:
+let g:org_tags_alist='{@home(h) @work(w) @tennisclub(t)} {easy(e) hard(d)} {computer(c) phone(p)}'
+" g:org_agenda_dirs specify directories that, along with
" their subtrees, are searched for list of .org files when
-" accessing EditAgendaFiles(). Specify your own here, otherwise
+" accessing EditAgendaFiles(). Specify your own here, otherwise
" default will be for g:org_agenda_dirs to hold single
" directory which is directory of the first .org file opened
" in current Vim instance:
" Below is line I use in my Windows install:
-"let g:org_agenda_dirs=["c:/users/herbert/documents/my\ dropbox","c:/users/herbert/desktop"]
+" NOTE: case sensitive even on windows.
+let g:org_agenda_select_dirs=["~/desktop/org_files"]
+let g:org_agenda_files = split(glob("~/desktop/org_files/org-mod*.org"),"\n")
-" vars below are used to define default Todo list and
-" default Tag list. In some cases they can be
-" overridden or supplemented with config lines
-" inserted into and specific to a .org document file.
-let g:org_todo_setup= 'TODO | DONE'
-" while g:org_tag_setup is itself a string
-let g:org_tag_setup='{@home(h) @work(w) @tennisclub(t)} \n {easy(e) hard(d)} \n {computer(c) phone(p)}'
-" leave these as is:
-au! BufRead,BufWrite,BufWritePost,BufNewFile *.org
-au BufRead,BufNewFile *.org call org#SetOrgFileType()
-au BufRead *.org :PreLoadTags
-au BufWrite *.org :PreWriteTags
-au BufWritePost *.org :PostWriteTags
+" ---------------------
+" Emacs setup
+" --------------------
+" To use Emacs you will need to define the client. On
+" Linux/OSX this is typically simple, just:
+"let g:org_command_for_emacsclient = 'emacsclient'
+"On Windows it is more complicated, and probably involves creating
+" a 'soft link' to the emacsclient executable (which is 'emacsclientw')
+" See :h vimorg-emacs-setup
+"let g:org_command_for_emacsclient = 'c:\users\herbert\emacsclientw.exe'
+" ---------------------
+" Custom Agenda Searches
+" --------------------
+" the assignment to g:org_custom_searches below defines searches that a
+" a user can then easily access from the Org menu or the Agenda Dashboard.
+" (Still need to add help on how to define them, assignment below
+" is hopefully illustrative for now. . . . )
+let g:org_custom_searches = [
+ \ { 'name':"Next week's agenda", 'type':'agenda',
+ \ 'agenda_date':'+1w','agenda_duration':'w'}
+ \, { 'name':"Next week's TODOS", 'type':'agenda',
+ \ 'agenda_date':'+1w','agenda_duration':'w','spec':'+UNFINISHED_TODOS'}
+ \, { 'name':'Home tags', 'type':'heading_list', 'spec':'+HOME'}
+ \, { 'name':'Home tags', 'type':'sparse_tree', 'spec':'+HOME'}
+ \ ]
+" --------------------------------
+" Custom colors
+" --------------------------------"
+" OrgCustomColors() allows a user to set highlighting for particular items
+function! OrgCustomColors()
+ " various text item "highlightings" are below
+ " these are the defaults. Uncomment and change a line if you
+ " want different highlighting for the element
+ "
+ " below are defaults for any TODOS you define. TODOS that
+ " come before the | in a definition will use 'NOTDONETODO'
+ " and those that come after are DONETODO
+ "hi! DONETODO guifg=green ctermfg=green
+ "hi! NOTDONETODO guifg=red ctermfg=lightred
+ " heading level highlighting is done in pairs, one for the
+ " heading when unfoled and one for folded. Default is to make
+ " them the same except for the folded version being bold:
+ " assign OL1 pair for level 1, OL2 pair for level 2, etc.
+ "hi! OL1 guifg=somecolor guibg=somecolor
+ "hi! OL1Folded guifg=somecolor guibg=somecolor gui=bold
+ " tags are lines below headings that have :colon:separated:tags:
+ "hi! Org_Tag guifg=lightgreen ctermfg=blue
+ " lines that begin with '#+' in column 0 are config lines
+ "hi! Org_Config_Line guifg=darkgray ctermfg=magenta
+ "drawers are :PROPERTIES: and :LOGBOOK: lines and their associated
+ " :END: lines
+ "hi! Org_Drawer guifg=pink ctermfg=magenta
+ "hi! Org_Drawer_Folded guifg=pink ctermfg=magenta gui=bold cterm=bold
+ " this applies to value names in :PROPERTIES: blocks
+ "hi! Org_Property_Value guifg=pink ctermfg=magenta
+ " three lines below apply to different kinds of blocks
+ "hi! Org_Block guifg=#555555 ctermfg=magenta
+ "hi! Org_Src_Block guifg=#555555 ctermfg=magenta
+ "hi! Org_Table guifg=#888888 guibg=#333333 ctermfg=magenta
+ " dates are date specs between angle brackets (<>) or square brackets ([])
+ "hi! Org_Date guifg=magenta ctermfg=magenta gui=underline cterm=underline
+ " Org_Star is used to "hide" initial asterisks in a heading
+ "hi! Org_Star guifg=#444444 ctermfg=darkgray
+ "hi! Props guifg=#ffa0a0 ctermfg=gray
+ " bold, itals, underline, and code are highlights applied
+ " to character formatting
+ "hi! Org_Code guifg=darkgray gui=bold ctermfg=14
+ "hi! Org_Itals gui=italic guifg=#aaaaaa ctermfg=lightgray
+ "hi! Org_Bold gui=bold guifg=#aaaaaa ctermfg=lightgray
+ "hi! Org_Underline gui=underline guifg=#aaaaaa ctermfg=lightgray
+ "hi! Org_Lnumber guifg=#999999 ctermfg=gray
+ " these lines apply to links: [[link]], and [[link][link desc]]
+ "if has("conceal")
+ " hi! default linkends guifg=blue ctermfg=blue
+ "endif
+ "hi! Org_Full_Link guifg=cyan gui=underline ctermfg=lightblue cterm=underline
+ "hi! Org_Half_Link guifg=cyan gui=underline ctermfg=lightblue cterm=underline
+ " applies to the Heading line that can be displayed in column view
+ "highlight OrgColumnHeadings guibg=#444444 guifg=#aaaaaa gui=underline
+ " Use g:org_todo_custom_highlights to set up highlighting for individual
+ " TODO items. Without this all todos that designate an uninished state
+ " will be highlighted using NOTDONETODO highlight (see above)
+ " and all todos that designate a finished state will be highlighted using
+ " the DONETODO highlight (see above).
+ let g:org_todo_custom_highlights =
+ \ { 'NEXT': { 'guifg':'#888888', 'guibg':'#222222',
+ \ 'ctermfg':'gray', 'ctermbg':'darkgray'},
+ \ 'WAITING': { 'guifg':'#aa3388',
+ \ 'ctermfg':'red' } }
" below are two examples of Org-mode "hook" functions
" These present opportunities for end-user customization
-" of how VimOrganizer works. For more info see the
+" of how VimOrganizer works. For more info see the
" documentation for hooks in Emacs' Org-mode documentation:
-" These two hooks are currently the only ones enabled in
+" These two hooks are currently the only ones enabled in
" the VimOrganizer codebase, but they are easy to add so if
" there's a particular hook you want go ahead and request it
-" or look for where these hooks are implemented in
+" or look for where these hooks are implemented in
" /ftplugin/org.vim and use them as example for placing your
" own hooks in VimOrganizer:
function! Org_property_changed_functions(line,key, val)
"call confirm("prop changed: ".a:line."--key:".a:key." val:".a:val)
function! Org_after_todo_state_change_hook(line,state1, state2)
- "call ConfirmDrawer("LOGBOOK")
- "let str = ": - State: " . Pad(a:state2,10) . " from: " . Pad(a:state1,10) .
- " \ ' [' . Timestamp() . ']'
+ "call confirm("changed: ".a:line."--key:".a:state1." val:".a:state2)
+ "call OrgConfirmDrawer("LOGBOOK")
+ "let str = ": - State: " . org#Pad(a:state2,10) . " from: " . Pad(a:state1,10) .
+ " \ ' [' . org#Timestamp() . ']'
"call append(line("."), repeat(' ',len(matchstr(getline(line(".")),'^\s*'))) . str)
55 help.txt
@@ -6,7 +6,7 @@ folded headings can have level-dependent highlighting,
patch for Vim73 is in contrib directory of the download. If you're on
Windows contact me and I should be able to provide you with an
executable. If I hadn't been able to make Vim do this I would have
-bitten the bullet and moved to Emacs, as much as I hate working in Emacs.)
+bitten the bullet and moved to Emacs, as much as I hate editing in Emacs.)
VimOrganizer is a Vim filetype plugin that attempts to clone Emacs' Org-mode.
It is currently (November 2011) in an alpha-stage, both in terms of (1) the
@@ -93,51 +93,14 @@ Org-babel information:
VimOrganizer help can be found here:
-Installation instructions:
-Install as you would any other ftplugin, with downloaded files going in their
-respective directories under your .vim (Linux/Mac) or vimfiles (Windows)
-directory. Run helptags to generate the helptags file so items can
-be accessed in the Vim help system.
-ALSO, make sure you have installed the plugins listed below:
-1. Make sure you have Calendar.vim installed.
- (Calendar.vim comes included in the /plugin/ directory as part of
- the Vim runtime in some Vim installs, otherwise available at:
-Second, here are two plugins that you will want to download to
-take advantage of Org-mode-like narrowing and link features that have been built
-into VimOrganizer:
-2. Christian Brabandt's NarrowRegion plugin. Find and install it from here:
-3. The Utl "Universal Text Linking" plugin. Find and install it from here:
-If you are running on Windows another plugin will be useful:
-4. If you're running on Windows then you may want to get Peter Rodding's
- shell.vim plugin. It's not necessary, but if you have installed
- it VimOrganizer will use it to ensure that you don't see
- the annoying Windows command prompt window pop up when VimOrganizer
- calls out to Emacs/Org-mode.
-FINALLY, install Emacs. Not necessary for basic outlining, agenda
-searches, and other basic stuff, but it is necessary to do exports
-to html and PDF (which you will definitely want) as well as other
-advanced stuff. Don't be afraid, install is simply and configuration
-is not hard. Find Emacs here:
-It's possible to use VimOrganizer productively without having any of the
-plugins above installed. Certain features will be unavailable, though, and
-(for now) you may see raw error messages if you try to access them rather than a
-friendly reminder that the feature depends on an uninstalled plugin.
Questions, comments, and suggestions regarding VimOrganizer are always
appreciated. The preferred place for those is in the VimOrganizer newsgroup
@@ -153,9 +116,13 @@ VimOrganizer script files. Do NOT download these plugins to use them
with VimOrganizer; since VimOrganizer does not call out to them in any way:
1. Charles Campbell's great calendar utilities
-2. Table editing routines from Maxim Kim's excellent vimwiki plugin. (If
+2. Table editing routines from Maxim Kim's excellent vimwiki plugin.
+ These are really quite nice (seem to be inspired by Org-mode's
+ own table-editing stuff) and deserve to be offered as a separate
+ plugin of their own, not dependent on any larger project. (If
VimOrganizer is not quite the sort of plugin you're looking for then
vimwiki may be.)
VimOrganizer page at
0 additions, 3,660 deletions not shown because the diff is too large. Please use a local Git client to view these changes.

0 comments on commit edae918

Please sign in to comment.
Something went wrong with that request. Please try again.