Intro Take notes only brief notes should be necessary I'll provide detailed notes and examples Interrupt me until I ask you to stop ask questions, ask me to slow down and repeat stuff Plugin management I'm new to plugin management Nothing built-in, but several decent community solutions Most of Vim is likely "community" stuff since it is so extendable vim-addon-manager debian-specific version sudo apt-get install vim-addon-manager vim-addons [help|show|install|remove] demonstrate tab completion Mark Weber's version uses source control systems directly http://www.vim.org/scripts/script.php?script_id=2905 howto install clone git://github.com/MarcWeber/vim-addon-manager.git see ~/dist/vim-addon-manager/doc/vim-addon-manager.txt editing runtimepath recommended install method for UltiSnips pathogen I haven't tried this, but it looks interesting http://vimcasts.org/episodes/synchronizing-plugins-with-git-submodules-and-pathogen/ http://tammersaleh.com/posts/the-modern-vim-config-with-pathogen http://www.vim.org/scripts/script.php?script_id=2332 snippets ultisnips I liked this snippets solution the best easy to install, seems to work well preserves default placeholder text start with , jump with although I make it so is always used every jump see manual this conflicts with supertab install via bzr, add to runtimepath http://www.vim.org/scripts/script.php?script_id=2715 demo script disable supertab vim-addons remove supertab editing HTML type 'make' to open demo.html clear doc: ggdG add doctype declaration use HTML 4... XHTML seems to break snippets next bufload add html, header, body, p(aragraph) add some filler text lorem make a hyperlink a to skip to class=... delete class=... with to skip to link name enter a link name CTRL-c to return to normal mode enhance hyperlink snippet :UltiSnipsEdit use "enhanced a" snippet from comment :UltiSnipsReset unordered list (ordered list works too) ol li, etc. generic tag (with mirrored closing tag) t, etc. see :help UltiSnips-mirrors editing C code make c clear doc: ggdG import stdio Incstdio main declare int i for (1-5, etc.) printf snippet twice Hello, world! iter: %d see :help UltiSnips-transformations make comment block above main() box, bbox snippets snipmate maintainer: Michael Sanders http://www.vim.org/scripts/script.php?script_id=2540 can call functions in-between tabbing to next cursor position xml declaration? see http://thread.gmane.org/gmane.editors.vim/95931 doctype snipmate fork maintainer: Marc Weber http://www.vim.org/scripts/script.php?script_id=3432 much cleaner syntax than original snipmate movie is a fun example from http://vimeo.com/3535418 can't Tab past defaults http://thread.gmane.org/gmane.editors.vim/95939 stuff to demo for - C for loop c) - copyright lorem - filler text movie - HTML 5 movie element digression: Ask for Help! use the "vim_use" mailing list and #vim IRC channel most folks are beginners looking for help search first I usually use http://news.gmane.org/gmane.editors.vim to browse/search home is http://groups.google.com/forum/#!forum/vim_use surround vim-addons install surround http://www.vim.org/scripts/script.php?script_id=1697 surround something visual, then s
    delete surrounding tag dst (on line w/tag) create new tag (using surround something, above) reformat with = demo script clear doc: ggdG type in "hi there" Vs
      yss
    1. add 3 more lines of text: blah, foo, bar yss
    2. on each reformat with =ap remove all tags with dst paragraphize: ysap

      whoops, make it: cst

      
      	vim-addons remove surround
      vim 7.3-specific features
      	conceal
      		:set cole=2
      		Replaces markup with rendered output, reducing clutter
      		LaTeX hints
      			http://b4winckler.wordpress.com/2010/08/07/using-the-conceal-vim-feature-with-latex/
      		HTML hints
      			see "html.vim" on http://christianrobinson.name/vim/
      			download/install http://christianrobinson.name/vim/syntax/html.vim in /after/syntax/
      		vim73/conceal
      	relative line numbers
      		:set rnu
      		helps with "counting" commands (5j, etc.)
      		vim73/relativenumber
      	highlight/color column
      		:set cc=72
      		vim73/undofile
      	persistent undo
      		:set udf
      		vim73/undofile
      	Gundo.vim - visualize undo branches
      		http://sjl.bitbucket.org/gundo.vim/
      		http://vimcasts.org/episodes/undo-branching-and-gundo-vim/
      		demo script
      			make
      			add a line: "bye"
      			exit insert mode
      			undo
      			add a line: "there"
      			:GundoToggle
      calendar
      	vim-addons install calendar
      	start with :Calendar or :CalendarH (horizontal)
      	demo script
      		:CalendarH
      		hit Enter to navigate via Prev, Today, Next
      		hit Enter on a day to view that day's diary
      	vim-addons remove calendar
      using tags for note-taking
      	~/personal/code/vim/tags/cornell_notes
      		make
      		position cursor over tectonic
      		CTRL-]
      		CTRL-t to jump back
      		position cursor over alluvial
      		g] to choose a match
      	~/personal/code/vim/tags/cornell_notes_helptags
      		make
      		position cursor over a word in |pipes|
      		CTRL-]
      		CTRL-t to jump back
      	I usually just use vimoutliner-formatted files to take notes
      taglist
      	vim-addons install taglist
      	navigating vimrc
      		open ~/.vimrc
      		:Tlist
      	navigating C code
      		~/git/class/umn.edu/CSCI_5103/assignment_04/problem2
      			ctags -R .
      			open main.c
      			:Tlist
      			use taglist to navigate to forkConsumer
      			g] on runConsumer
      			also see cscope
      				start cscope
      				find things calling insert()
      				quit cscope with CTRL-d
      	TODO: asciidoc
      		http://stackoverflow.com/questions/979359/vim-and-custom-tagging/980051#980051
      		also asked on vim_use: http://thread.gmane.org/gmane.editors.vim/95995
      		http://vim.wikia.com/wiki/Browsing_programs_with_tags
      	vim-addons remove taglist
      XML omni-completion for particular DTDs
      	":help ft-xml-omni"
      	I had to do sudo apt-get install perlsgml
      	file:///usr/share/doc/vim-scripts/html/dtd2vim.html
      	Java deployment descriptors (web.xml)
      		~/.vim/autoload/xml/webxml23.vim
      		also, add something to ~/.vimrc to do :XMLns webxml23
      random tips
      	pastebinit
      		select text
      		hit colon... :'<,'>!pastebinit
      	auto-closing HTML tags in insert mode using an abbreviation
      		:iabbrev te
      	http://www.vim.org/scripts/script.php?script_id=172
      	vim-addons remove tetris
      more HTML editing tips
      	open an HTML file with an error or two
      	:compiler tidy
      	:make
      	:copen
      backup slides
      	stream editing with Vim
      		vim -b -c '%s/foo/bar/ge' -c 'wq' sample.txt
      		much slower than sed, but get to use Vim syntax
      		also possible to use normal-mode commands (instead of Ex-mode)
      			ie: exactly as if you typed them in Vim
      			see :help -s
      		might want a few more options, like noswapfile
      			http://thread.gmane.org/gmane.editors.vim/96907/focus=96957
      	vimcasts
      		http://vimcasts.org
      	Tabular.vim
      		http://vimcasts.org/episodes/aligning-text-with-tabular-vim/
      		https://github.com/godlygeek/tabular
      		especially Tim Pope's plugin to realign | tables on-the-fly
      	filename completion
      		CTRL-x CTRL-f
      	edit thunderbird emails with vim using "External Editor" plugin
      		http://www.thegeekstuff.com/2009/04/thunderbird-vi-and-vim-editor-to-compose-email/
      		http://globs.org/download.php?lng=en
      	vmail
      		Vim interface to Gmail
      		http://danielchoi.com/software/vmail.html
      	walk through my vimrc
      	advanced Vim search operators
      		http://www.adp-gmbh.ch/vim/searching.html
      	editexisting
      		vim-addons install editexisting
      		http://vim.wikia.com/wiki/Edit_file_in_existing_vim_automatically
      	debPlugin
      	pitfalls
      		vrapper - no support for plugins
      		plugin compatibility
      			snipmate & supertab?
      				http://stackoverflow.com/questions/944624/vim-snipmate-and-supertab-together
      	vrapper
      		http://vrapper.sourceforge.net/home/
      		see Jesse Keating's talk on this
      			http://linuxfestnorthwest.org/sessions/eclipse-and-python-and-vim-and-git-oh-my-tour-integrated-development-environment
      	vimperator
      		http://vimperator.org/vimperator
      	muttator
      		http://vimperator.org/muttator
      	pentadactyl
      		http://dactyl.sourceforge.net/pentadactyl/
      	supertab
      		doesn't work very well... chosen completion mode is "sticky"
      		conflicts with UltiSnips
      		vim-addons install supertab
      		http://www.vim.org/scripts/script.php?script_id=1643
      		supertab picks omnicompletion or keyword completion, whatever is best
      			confirm this
      		demo editing HTML/XML
      			start with an HTML file which already has the  thing
      				no omnicompletion for this, for some reason
      					see http://thread.gmane.org/gmane.editors.vim/95931
      			... 
      blah foo compare with closetag.vim compare with "auto-closing" abbreviation, below compare with snippets vim-addons remove supertab talk title ideas Beyond :wq ... Life-Changing Vim Plugins You Can't Do That With Vim! Vim: It's Not Just For Breakfast Anymore printing this for use as speaker notes a2ps -1 --truncate-lines=yes --tabsize=4 notes.otl