diff options
author | Ryan Kavanagh <rak@rak.ac> | 2021-12-13 16:55:42 -0500 |
---|---|---|
committer | Ryan Kavanagh <rak@rak.ac> | 2021-12-13 16:58:10 -0500 |
commit | e5dfb045b994e1ab8fef9ef5d3f02ce20ea6b685 (patch) | |
tree | ba74287d80e46c70dab8c4311a1dc933fbfbdea1 /.vim | |
parent | fix pager again (diff) |
many more renames
Diffstat (limited to '.vim')
332 files changed, 0 insertions, 63041 deletions
diff --git a/.vim/README.csupport b/.vim/README.csupport deleted file mode 100644 index 27ca4a9..0000000 --- a/.vim/README.csupport +++ /dev/null @@ -1,188 +0,0 @@ -README for c.vim (Version 5.0.5) / November 21 2007 - - * DESCRIPTION - * INSTALLATION - * RELEASE NOTES - * FILES - * ADDITIONAL TIPS - * CREDITS - -======================================================================================= - DESCRIPTION -======================================================================================= -C/C++-IDE for Vim/gVim. It is written to considerably speed up writing code in -a consistent style. This is done by inserting complete statements, idioms, -code snippets, templates, and comments. Syntax checking, compiling, running a -program, running indent or code checkers can be done with a keystroke. There -are many additional hints and options which can improve speed and comfort when -writing C/C++. See the help file csupport.txt for more information. - -======================================================================================= - INSTALLATION -======================================================================================= -The subdirectories in the zip archive cvim.zip mirror the directory structure -which is needed below the local installation directory $HOME/.vim/ for LINUX/UNIX -($VIM/vimfiles/ for Windows; find the value of $VIM with ":echo $VIM" from inside Vim). - -(0) Save the template files in '$HOME/.vim/c-support/templates/Templates' if - you have changed any of them. - -(1) Copy the zip archive cvim.zip to $HOME/.vim and run - - unzip cvim.zip - - If you have already an older version of cvim and you have modified the template - files you may want to save your templates first or copy the files from the - archive by hand. - -(2) Loading of plugin files must be enabled. If not use - - :filetype plugin on - - This is the minimal content of the file '$HOME/.vimrc'. Create one if there - is none. - -(3) Set at least some personal details in the file '$HOME/.vim/c-support/templates/Templates' - (file '$VIM\/c-support/templates/Templates' under Windows). - Here is the minimal personalization (my settings as an example, of course): - - |AUTHOR| = Dr. Fritz Mehner - |AUTHORREF| = mn - |EMAIL| = mehner@fh-swf.de - |COMPANY| = FH Südwestfalen, Iserlohn - |COPYRIGHT| = Copyright (c) |YEAR|, |AUTHOR| - - (Read more about the template system in the plugin documentation) - -(4) Consider additional settings in the file '$HOME/.vimrc'. - The files customization.vimrc and customization.gvimrc are replacements or - extensions for your .vimrc and .gvimrc ( _vimrc and _gvimrc under Windows). - You may want to use parts of them. The files are documented. - -There are a lot of features and options which can be used and influenced: - - * use of template files and tags - * surround marked blocks with statements - * using and managing personal code snippets - * generate/remove multiline comments - * picking up prototypes - * C/C++ dictionaries for keyword completion - * (re)moving the root menu - -Restart gVim/Vim generate the help tags - - :helptags ~/.vim/doc - -and look at csupport help with - - :help csupport - -or use the 'help' entry in the root menu of this plug-in. - - +-----------------------------------------------+ - | +-------------------------------------------+ | - | | ** PLEASE READ THE DOCUMENTATION ** | | - | | Actions differ for different modes! | | - | +-------------------------------------------+ | - +-----------------------------------------------+ - -Any problems ? See the TROUBLESHOOTING section at the end of the help file -'doc/csupport.txt'. - -======================================================================================= - RELEASE NOTES FOR VERSION 5.0.5 -======================================================================================= -+ Bugfix: on a few systems doubling of path components in the run command (F9). - Skip this upgrade if you do not have this problem. - - OLDER RELEASE NOTES : see file 'ChangeLog' -======================================================================================= - -======================================================================================= - FILES -======================================================================================= - -README.csupport This file. - -doc/csupport.txt The help file for the local on-line help. - -ftplugin/c.vim A file type plug-in. Define hotkeys, creates a local - dictionary for each C/C++ file. - -plugin/c.vim The C/C++ plug-in for GVIM. - -c-support/scripts/wrapper.sh The wrapper script for the use of an xterm. -c-support/templates/* C-style and C++-style template files (see csupport.txt). - - -c-support/wordlists/c-c++-keywords.list All C and C++ keywords (already in word.list). -c-support/wordlists/k+r.list K&R-Book: Words from the table of content. - They appear frequently in comments. -c-support/wordlists/stl_index.list STL: method and type names. - - ------------------------ ------------------------------------------------------------- - The following files and extensions are for convenience only. - c.vim will work without them. - ------------------------------------------------------------- -c-support/doc/c-hotkeys.pdf Hotkey reference card. -c-support/doc/ChangeLog The change log. - -rc/customization.ctags Additional settings I use in .ctags to enable navigation - through makefiles ans qmake files with the plug-in taglist.vim. - -rc/costumization.gvimrc Additional settings I use in .gvimrc : - hot keys, mouse settings, ... - The file is commented. Append it to your .gvimrc if you like. - -rc/costumization.indent.pro Additional settings I use in .indent.pro : - See the indent manual. - -rc/costumization.vimrc Additional settings I use in .vimrc : incremental search, - tabstop, hot keys, font, use of dictionaries, ... - The file is commented. Append it to your .vimrc if you like. - -======================================================================================= - ADDITIONAL TIPS -======================================================================================= - -(1) gVim. Toggle 'insert mode' <--> 'normal mode' with the right mouse button - (see mapping in file costumization.gvimrc). - -(2) gVim. Use tear off menus. - -(3) Try 'Focus under mouse' as window behavior (No mouse click when the mouse pointer - is back from the menu entry). - -(4) Use Emulate3Buttons "on" (X11) even for a 3-button mouse. Pressing left and right - button at the same time without moving your fingers is faster then moving a finger - to the middle button (often a wheel). - -======================================================================================= - CREDITS -======================================================================================= - - Some ideas are taken from the following documents: - - 1. Recommended C Style and Coding Standards (Indian Hill Style Guide) - www.doc.ic.ac.uk/lab/secondyear/cstyle/cstyle.html - 2. Programming in C++, Ellemtel Telecommunication Systems Laboratories - www.it.bton.ac.uk/burks/burks/language/cpp/cppstyle/ellhome.htm - 3. C++ Coding Standard, Todd Hoff - www.possibility.com/Cpp/CppCodingStandard.html - - The splint error format is taken from the file splint.vim (Vim standard distribution). - ------------------- - - ... finally - - Johann Wolfgang von Goethe (1749-1832), the greatest of the German poets, - about LINUX, Vim/gVim and other great tools (Ok, almost.) : - - Ein Mann, der recht zu wirken denkt, Who on efficient work is bent, - Muß auf das beste Werkzeug halten. Must choose the fittest instrument. - - Faust, Teil 1, Vorspiel auf dem Theater Faust, Part 1, Prologue for the Theatre - -======================================================================================= diff --git a/.vim/autoload/haskellmode.vim b/.vim/autoload/haskellmode.vim deleted file mode 100644 index ce20a67..0000000 --- a/.vim/autoload/haskellmode.vim +++ /dev/null @@ -1,155 +0,0 @@ -" -" utility functions for haskellmode plugins -" -" (Claus Reinke; last modified: 23/04/2009) -" -" part of haskell plugins: http://projects.haskell.org/haskellmode-vim -" please send patches to <claus.reinke@talk21.com> - - - -" find start/extent of name/symbol under cursor; -" return start, symbolic flag, qualifier, unqualified id -" (this is used in both haskell_doc.vim and in GHC.vim) -function! haskellmode#GetNameSymbol(line,col,off) - let name = "[a-zA-Z0-9_']" - let symbol = "[-!#$%&\*\+/<=>\?@\\^|~:.]" - "let [line] = getbufline(a:buf,a:lnum) - let line = a:line - - " find the beginning of unqualified id or qualified id component - let start = (a:col - 1) + a:off - if line[start] =~ name - let pattern = name - elseif line[start] =~ symbol - let pattern = symbol - else - return [] - endif - while start > 0 && line[start - 1] =~ pattern - let start -= 1 - endwhile - let id = matchstr(line[start :],pattern.'*') - " call confirm(id) - - " expand id to left and right, to get full id - let idPos = id[0] == '.' ? start+2 : start+1 - let posA = match(line,'\<\(\([A-Z]'.name.'*\.\)\+\)\%'.idPos.'c') - let start = posA>-1 ? posA+1 : idPos - let posB = matchend(line,'\%'.idPos.'c\(\([A-Z]'.name.'*\.\)*\)\('.name.'\+\|'.symbol.'\+\)') - let end = posB>-1 ? posB : idPos - - " special case: symbolic ids starting with . - if id[0]=='.' && posA==-1 - let start = idPos-1 - let end = posB==-1 ? start : end - endif - - " classify full id and split into qualifier and unqualified id - let fullid = line[ (start>1 ? start-1 : 0) : (end-1) ] - let symbolic = fullid[-1:-1] =~ symbol " might also be incomplete qualified id ending in . - let qualPos = matchend(fullid, '\([A-Z]'.name.'*\.\)\+') - let qualifier = qualPos>-1 ? fullid[ 0 : (qualPos-2) ] : '' - let unqualId = qualPos>-1 ? fullid[ qualPos : -1 ] : fullid - " call confirm(start.'/'.end.'['.symbolic.']:'.qualifier.' '.unqualId) - - return [start,symbolic,qualifier,unqualId] -endfunction - -function! haskellmode#GatherImports() - let imports={0:{},1:{}} - let i=1 - while i<=line('$') - let res = haskellmode#GatherImport(i) - if !empty(res) - let [i,import] = res - let prefixPat = '^import\s*\(qualified\)\?\s\+' - let modulePat = '\([A-Z][a-zA-Z0-9_''.]*\)' - let asPat = '\(\s\+as\s\+'.modulePat.'\)\?' - let hidingPat = '\(\s\+hiding\s*\((.*)\)\)\?' - let listPat = '\(\s*\((.*)\)\)\?' - let importPat = prefixPat.modulePat.asPat.hidingPat.listPat ".'\s*$' - - let ml = matchlist(import,importPat) - if ml!=[] - let [_,qualified,module,_,as,_,hiding,_,explicit;x] = ml - let what = as=='' ? module : as - let hidings = split(hiding[1:-2],',') - let explicits = split(explicit[1:-2],',') - let empty = {'lines':[],'hiding':hidings,'explicit':[],'modules':[]} - let entry = has_key(imports[1],what) ? imports[1][what] : deepcopy(empty) - let imports[1][what] = haskellmode#MergeImport(deepcopy(entry),i,hidings,explicits,module) - if !(qualified=='qualified') - let imports[0][what] = haskellmode#MergeImport(deepcopy(entry),i,hidings,explicits,module) - endif - else - echoerr "haskellmode#GatherImports doesn't understand: ".import - endif - endif - let i+=1 - endwhile - if !has_key(imports[1],'Prelude') - let imports[0]['Prelude'] = {'lines':[],'hiding':[],'explicit':[],'modules':[]} - let imports[1]['Prelude'] = {'lines':[],'hiding':[],'explicit':[],'modules':[]} - endif - return imports -endfunction - -function! haskellmode#ListElem(list,elem) - for e in a:list | if e==a:elem | return 1 | endif | endfor - return 0 -endfunction - -function! haskellmode#ListIntersect(list1,list2) - let l = [] - for e in a:list1 | if index(a:list2,e)!=-1 | let l += [e] | endif | endfor - return l -endfunction - -function! haskellmode#ListUnion(list1,list2) - let l = [] - for e in a:list2 | if index(a:list1,e)==-1 | let l += [e] | endif | endfor - return a:list1 + l -endfunction - -function! haskellmode#ListWithout(list1,list2) - let l = [] - for e in a:list1 | if index(a:list2,e)==-1 | let l += [e] | endif | endfor - return l -endfunction - -function! haskellmode#MergeImport(entry,line,hiding,explicit,module) - let lines = a:entry['lines'] + [ a:line ] - let hiding = a:explicit==[] ? haskellmode#ListIntersect(a:entry['hiding'], a:hiding) - \ : haskellmode#ListWithout(a:entry['hiding'],a:explicit) - let explicit = haskellmode#ListUnion(a:entry['explicit'], a:explicit) - let modules = haskellmode#ListUnion(a:entry['modules'], [ a:module ]) - return {'lines':lines,'hiding':hiding,'explicit':explicit,'modules':modules} -endfunction - -" collect lines belonging to a single import statement; -" return number of last line and collected import statement -" (assume opening parenthesis, if any, is on the first line) -function! haskellmode#GatherImport(lineno) - let lineno = a:lineno - let import = getline(lineno) - if !(import=~'^import\s') | return [] | endif - let open = strlen(substitute(import,'[^(]','','g')) - let close = strlen(substitute(import,'[^)]','','g')) - while open!=close - let lineno += 1 - let linecont = getline(lineno) - let open += strlen(substitute(linecont,'[^(]','','g')) - let close += strlen(substitute(linecont,'[^)]','','g')) - let import .= linecont - endwhile - return [lineno,import] -endfunction - -function! haskellmode#UrlEncode(string) - let pat = '\([^[:alnum:]]\)' - let code = '\=printf("%%%02X",char2nr(submatch(1)))' - let url = substitute(a:string,pat,code,'g') - return url -endfunction - diff --git a/.vim/autoload/pythoncomplete.vim b/.vim/autoload/pythoncomplete.vim deleted file mode 120000 index 2b8df41..0000000 --- a/.vim/autoload/pythoncomplete.vim +++ /dev/null @@ -1 +0,0 @@ -../ftplugin/pythoncomplete.vim
\ No newline at end of file diff --git a/.vim/c-support/codesnippets/Makefile b/.vim/c-support/codesnippets/Makefile deleted file mode 100644 index 2208944..0000000 --- a/.vim/c-support/codesnippets/Makefile +++ /dev/null @@ -1,178 +0,0 @@ -#======================================================================================= -# -# Filename: Makefile -# Description: -# -# Usage: make (generate executable ) -# make clean (remove objects, executable, prerequisits ) -# make tarball (generate compressed archive ) -# make zip (generate compressed archive ) -# -# Version: 1.0 -# Created: -# Revision: --- -# -# Author: -# Company: -# Email: -# -# Notes: C extension : c -# C++ extensions : cc cpp C -# C and C++ sources can be mixed. -# Prerequisites are generated automatically; makedepend is not -# needed (see documentation for GNU make Version 3.80, July 2002, -# section 4.13). The utility sed is used. -# -#============================================== makefile template version 1.6 ========== - -# ------------ name of the executable ------------------------------------------------ -EXECUTABLE = main - -# ------------ list of all source files ---------------------------------------------- -SOURCES = main.c - -# ------------ compiler -------------------------------------------------------------- -CC = gcc -CXX = g++ - -# ------------ compiler flags -------------------------------------------------------- -CFLAGS = -Wall -O0 -g # Do not optimize. Produce debugging information. - -# ------------ linker-Flags ---------------------------------------------------------- -LFLAGS = -g - -# ------------ additional system include directories --------------------------------- -GLOBAL_INC_DIR = - -# ------------ private include directories ------------------------------------------- -LOCAL_INC_DIR = $(HOME)/include - -# ------------ system libraries (e.g. -lm ) ----------------------------------------- -SYS_LIBS = -lm - -# ------------ additional system library directories --------------------------------- -GLOBAL_LIB_DIR = - -# ------------ additional system libraries ------------------------------------------- -GLOBAL_LIBS = - -# ------------ private library directories ------------------------------------------- -LOCAL_LIB_DIR = $(HOME)/lib - -# ------------ private libraries (e.g. libxyz.a ) ----------------------------------- -LOCAL_LIBS = - -# ------------ archive generation ----------------------------------------------------- -TARBALL_EXCLUDE = *.{o,gz,zip} -ZIP_EXCLUDE = *.{o,gz,zip} - -# ------------ run executable out of this Makefile (yes/no) ------------------------- -# ------------ cmd line parameters for this executable ------------------------------- -EXE_START = no -EXE_CMDLINE = - -#======================================================================================= -# The following statements usually need not to be changed -#======================================================================================= - -C_SOURCES = $(filter %.c, $(SOURCES)) -CPP_SOURCES = $(filter-out %.c, $(SOURCES)) -ALL_INC_DIR = $(addprefix -I, $(LOCAL_INC_DIR) $(GLOBAL_INC_DIR)) -ALL_LIB_DIR = $(addprefix -L, $(LOCAL_LIB_DIR) $(GLOBAL_LIB_DIR)) -GLOBAL_LIBSS = $(addprefix $(GLOBAL_LIB_DIR)/, $(GLOBAL_LIBS)) -LOCAL_LIBSS = $(addprefix $(LOCAL_LIB_DIR)/, $(LOCAL_LIBS)) -ALL_CFLAGS = $(CFLAGS) $(ALL_INC_DIR) -ALL_LFLAGS = $(LFLAGS) $(ALL_LIB_DIR) -BASENAMES = $(basename $(SOURCES)) - -# ------------ generate the names of the object files -------------------------------- -OBJECTS = $(addsuffix .o,$(BASENAMES)) - -# ------------ generate the names of the hidden prerequisite files ------------------- -PREREQUISITES = $(addprefix .,$(addsuffix .d,$(BASENAMES))) - -# ------------ make the executable --------------------------------------------------- -$(EXECUTABLE): $(OBJECTS) -ifeq ($(strip $(CPP_SOURCES)),) - $(CC) $(ALL_LFLAGS) -o $(EXECUTABLE) $(OBJECTS) $(LOCAL_LIBSS) $(GLOBAL_LIBSS) $(SYS_LIBS) -else - $(CXX) $(ALL_LFLAGS) -o $(EXECUTABLE) $(OBJECTS) $(LOCAL_LIBSS) $(GLOBAL_LIBSS) $(SYS_LIBS) -endif -ifeq ($(EXE_START),yes) - ./$(EXECUTABLE) $(EXE_CMDLINE) -endif - -# ------------ include the automatically generated prerequisites --------------------- -# ------------ if target is not clean, tarball or zip --------------------- -ifneq ($(MAKECMDGOALS),clean) -ifneq ($(MAKECMDGOALS),tarball) -ifneq ($(MAKECMDGOALS),zip) -include $(PREREQUISITES) -endif -endif -endif - -# ------------ make the objects ------------------------------------------------------ -%.o: %.c - $(CC) -c $(ALL_CFLAGS) $< - -%.o: %.cc - $(CXX) -c $(ALL_CFLAGS) $< - -%.o: %.cpp - $(CXX) -c $(ALL_CFLAGS) $< - -%.o: %.C - $(CXX) -c $(ALL_CFLAGS) $< - -# ------------ make the prerequisites ------------------------------------------------ -# -.%.d: %.c - @$(make-prerequisite-c) - -.%.d: %.cc - @$(make-prerequisite-cplusplus) - -.%.d: %.cpp - @$(make-prerequisite-cplusplus) - -.%.d: %.C - @$(make-prerequisite-cplusplus) - -# canned command sequences -# echoing of the sed command is suppressed by the leading @ - -define make-prerequisite-c - @$(CC) -MM $(ALL_CFLAGS) $< > $@.$$$$; \ - sed 's/\($*\)\.o[ :]*/\1.o $@ : /g' < $@.$$$$ > $@; \ - rm -f $@.$$$$; -endef - -define make-prerequisite-cplusplus - @$(CXX) -MM $(ALL_CFLAGS) $< > $@.$$$$; \ - sed 's/\($*\)\.o[ :]*/\1.o $@ : /g' < $@.$$$$ > $@; \ - rm -f $@.$$$$; -endef - -# ------------ remove generated files ------------------------------------------------ -# ------------ remove hidden backup files -------------------------------------------- -clean: - rm --force $(EXECUTABLE) $(OBJECTS) $(PREREQUISITES) *~ - -# ------------ tarball generation ------------------------------------------------------ -tarball: - @lokaldir=`pwd`; lokaldir=$${lokaldir##*/}; \ - rm --force $$lokaldir.tar.gz; \ - tar --exclude=$(TARBALL_EXCLUDE) \ - --create \ - --gzip \ - --verbose \ - --file $$lokaldir.tar.gz * - -# ------------ zip --------------------------------------------------------------------- -zip: - @lokaldir=`pwd`; lokaldir=$${lokaldir##*/}; \ - zip -r $$lokaldir.zip * -x $(ZIP_EXCLUDE) - -# ====================================================================================== -# vim: set tabstop=2: set shiftwidth=2: diff --git a/.vim/c-support/codesnippets/Makefile.multi-target.template b/.vim/c-support/codesnippets/Makefile.multi-target.template deleted file mode 100644 index 75da8dd..0000000 --- a/.vim/c-support/codesnippets/Makefile.multi-target.template +++ /dev/null @@ -1,70 +0,0 @@ -#=============================================================================== -# -# File: Makefile -# Description: -# -# Usage: make (generate executable(s) ) -# make clean (remove objects, executables, prerequisits ) -# make tarball (generate compressed archive ) -# make zip (generate compressed archive ) -# -# Author: Dr.-Ing. Fritz Mehner -# Email: mehner@mfh-iserlohn.de -# Created: -# -#=============================================================================== - - -CC = gcc -CCP = g++ -CFLAGS = -c -g -Wall -LFLAGS = -g -SYS_LIBS = -lm -TARBALL_EXCLUDE = "*.{o,gz,zip}" -ZIP_EXCLUDE = *.o *.gz *.zip - -TARGETS = target_1 target_2 - -#---------- targets -------------------------------------- -all: $(TARGETS) - -%.o: %.c - $(CC) $(CFLAGS) $*.c - -%.o: %.cc - $(CCP) $(CFLAGS) $*.cc - -#---------- target 1 ------------------------------------- -# C target -target_1: target_1.o - $(CC) $(LFLAGS) -o $@ $@.o $(SYS_LIBS) - -#---------- target 2 ------------------------------------- -# C++ target -target_2: target_2.o - $(CCP) $(LFLAGS) -o $@ $@.o $(SYS_LIBS) - - -#---------- target 3 ------------------------------------- - - - -#---------- tarball -------------------------------------- -tarball: - lokaldir=`pwd`; lokaldir=$${lokaldir##*/}; \ - rm --force $$lokaldir.tar.gz; \ - tar --exclude=$(TARBALL_EXCLUDE) \ - --create \ - --gzip \ - --verbose \ - --file $$lokaldir.tar.gz * - -#---------- zip ------------------------------------------ -zip: - lokaldir=`pwd`; lokaldir=$${lokaldir##*/}; \ - zip -r $$lokaldir.zip * -x $(ZIP_EXCLUDE) - -#---------- clear up ------------------------------------- -clean: - rm --force $(EXECUTABLE) $(OBJECTS) $(PREREQUISITES) - diff --git a/.vim/c-support/codesnippets/calloc_double_matrix.c b/.vim/c-support/codesnippets/calloc_double_matrix.c deleted file mode 100644 index ec71658..0000000 --- a/.vim/c-support/codesnippets/calloc_double_matrix.c +++ /dev/null @@ -1,36 +0,0 @@ - -/* - * === FUNCTION ====================================================================== - * Name: calloc_double_matrix - * Description: Allocate a dynamic double-matrix of size rows*columns; - * return a pointer. - * ===================================================================================== - */ - double** -calloc_double_matrix ( int rows, int columns ) -{ - int i; - double **m; - m = calloc ( rows, sizeof(double*) ); /* allocate pointer array */ - assert( m != NULL); /* abort if allocation failed */ - *m = calloc ( rows*columns, sizeof(double) );/* allocate data array */ - assert(*m != NULL); /* abort if allocation failed */ - for ( i=1; i<rows; i+=1 ) /* set pointers */ - m[i] = m[i-1] + columns; - return m; -} /* ---------- end of function calloc_double_matrix ---------- */ - -/* - * === FUNCTION ====================================================================== - * Name: free_matrix_double - * Description: Free a dynamic double-matrix. - * ===================================================================================== - */ - void -free_double_matrix ( double **m ) -{ - free(*m); /* free data array */ - free( m); /* free pointer array */ - return ; -} /* ---------- end of function free_double_matrix ---------- */ - diff --git a/.vim/c-support/codesnippets/calloc_int_matrix.c b/.vim/c-support/codesnippets/calloc_int_matrix.c deleted file mode 100644 index e21215b..0000000 --- a/.vim/c-support/codesnippets/calloc_int_matrix.c +++ /dev/null @@ -1,35 +0,0 @@ - -/* - * === FUNCTION ====================================================================== - * Name: calloc_int_matrix - * Description: Allocate a dynamic int-matrix of size rows*columns; return a pointer. - * ===================================================================================== - */ -int** -calloc_int_matrix ( int rows, int columns ) -{ - int i; - int **m; - m = calloc ( rows, sizeof(int*) ); /* allocate pointer array */ - assert( m != NULL ); /* abort if allocation failed */ - *m = calloc ( rows*columns, sizeof(int) ); /* allocate data array */ - assert(*m != NULL ); /* abort if allocation failed */ - for ( i=1; i<rows; i+=1 ) /* set pointers */ - m[i] = m[i-1] + columns; - return m; -} /* ---------- end of function calloc_int_matrix ---------- */ - -/* - * === FUNCTION ====================================================================== - * Name: free_int_matrix - * Description: Free a dynamic int-matrix. - * ===================================================================================== - */ -void -free_int_matrix ( int **m ) -{ - free(*m); /* free data array */ - free( m); /* free pointer array */ - return ; -} /* ---------- end of function free_int_matrix ---------- */ - diff --git a/.vim/c-support/codesnippets/main.c b/.vim/c-support/codesnippets/main.c deleted file mode 100644 index 770f5d5..0000000 --- a/.vim/c-support/codesnippets/main.c +++ /dev/null @@ -1,20 +0,0 @@ -#include <errno.h> -#include <math.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -/* - * === FUNCTION ====================================================================== - * Name: main - * Description: main function - * ===================================================================================== - */ - int -main ( int argc, char *argv[] ) -{ - printf ("\nProgram %s\n\n", argv[0] ); - - return EXIT_SUCCESS; -} /* ---------- end of function main ---------- */ - diff --git a/.vim/c-support/codesnippets/main.cc b/.vim/c-support/codesnippets/main.cc deleted file mode 100644 index d87f891..0000000 --- a/.vim/c-support/codesnippets/main.cc +++ /dev/null @@ -1,18 +0,0 @@ -#include <fstream> -#include <iomanip> -#include <iostream> - -using namespace std; - -// === FUNCTION ====================================================================== -// Name: main -// Description: main function -// ===================================================================================== - int -main ( int argc, char *argv[] ) -{ - cout << "\nProgram " << argv[0] << endl << endl; - - return EXIT_SUCCESS; -} // ---------- end of function main ---------- - diff --git a/.vim/c-support/codesnippets/print_double_array.c.noindent b/.vim/c-support/codesnippets/print_double_array.c.noindent deleted file mode 100644 index 6ced53a..0000000 --- a/.vim/c-support/codesnippets/print_double_array.c.noindent +++ /dev/null @@ -1,30 +0,0 @@ - -/* - * === FUNCTION ====================================================================== - * Name: print_double_array - * Description: Print a double-array with one dimension. - * Use - * print_int_array( *matrix, n1*n2, n2, "matrix" ); - * for - * double matrix[n1][n2]; - * ===================================================================================== - */ -static void -print_double_array ( double array[], /* array to print */ - int n, /* number of elements to print */ - int nrow, /* number of elements per row */ - char *arrayname /* array name */ - ) -{ - int i; - printf ("\n\n array \"%s\", length %d\n", arrayname, n ); - for ( i=0; i<n; i+=1 ) - { - if( i%nrow == 0 ) - printf ("\n%6d : ", i ); - printf (" %8.2f", array[i] ); - } - printf ("\n\n"); - return ; -} /* ---------- end of function print_double_array ---------- */ - diff --git a/.vim/c-support/codesnippets/print_int_array.c.noindent b/.vim/c-support/codesnippets/print_int_array.c.noindent deleted file mode 100644 index 02d53c0..0000000 --- a/.vim/c-support/codesnippets/print_int_array.c.noindent +++ /dev/null @@ -1,30 +0,0 @@ - -/* - * === FUNCTION ====================================================================== - * Name: print_int_array - * Description: Print an int-array with one dimension. - * Use - * print_int_array( *matrix, n1*n2, n2, "matrix" ); - * for - * int matrix[n1][n2]; - * ===================================================================================== - */ -static void -print_int_array ( int array[], /* array to print */ - int n, /* number of elements to print */ - int nrow, /* number of elements per row */ - char *arrayname /* array name */ - ) -{ - int i; - printf ("\n\n array \"%s\", length %d\n", arrayname, n ); - for ( i=0; i<n; i+=1 ) - { - if( i%nrow == 0 ) - printf ("\n%6d : ", i ); - printf (" %6d", array[i] ); - } - printf ("\n\n"); - return ; -} /* ---------- end of function print_int_array ---------- */ - diff --git a/.vim/c-support/doc/ChangeLog b/.vim/c-support/doc/ChangeLog deleted file mode 100644 index d0d4fd4..0000000 --- a/.vim/c-support/doc/ChangeLog +++ /dev/null @@ -1,304 +0,0 @@ -======================================================================================= - RELEASE NOTES FOR VERSION 5.0.4 -======================================================================================= -+ Format for the macros |DATE|, |TIME|, and |YEAR| can be defined by the user. -+ Help text improved. - -======================================================================================= - RELEASE NOTES FOR VERSION 5.0.3 -======================================================================================= -+ Code snippets can now be used in the console mode (Vim without GUI). -+ Bugfix: Possible conflict with 'indent' removed when inserting templates. - -======================================================================================= - RELEASE NOTES FOR VERSION 5.0.2 -======================================================================================= -+ Bugfix: Prototype picker did not alway delete no longer used prototypes. -+ Bugfix: Prototype picker removed template specializations from parameter lists. - -======================================================================================= - RELEASE NOTES FOR VERSION 5.0.1 -======================================================================================= -+ Bugfix: autocmd setting can influence autocmd settings of OTHER plugins. - -======================================================================================= - RELEASE NOTES FOR VERSION 5.0 -======================================================================================= -+ Completely new template system. Now every menu item is user definable. -+ Changes to allow a system-wide installation. -+ A few hotkeys added and renamed. - -======================================================================================= - RELEASE NOTES FOR VERSION 4.6.1 -======================================================================================= -+ New global variable to control the filetype of *.h header files (default is now 'cpp'). -+ Bugfix: properly resetting 'compiler' after using make, splint, and CodeCheck. - -======================================================================================= - RELEASE NOTES FOR VERSION 4.6 -======================================================================================= -+ New insert mode mappings (comments, statements, preprocessing, idioms, C++). -+ Some mappings renamed (easier to remember). -+ New tag (basename of a file reduced to characters allowed in names). - -======================================================================================= - RELEASE NOTES FOR VERSION 4.5 -======================================================================================= -+ New menu item and hotkey for the (re)alignement of end-of-line comments. -+ Hotkey \cn removed. Only one menu item for end-of-line comments left. -+ Changed hotkeys: \ce -> \cl and \cl -> \cs . -+ Three new tags (giving the basename of a file) for writing template files. -+ Prototype picker handles template methods. -+ Bugfix: splint works now under Windows. -+ Minor improvements. - -======================================================================================= - RELEASE NOTES FOR VERSION 4.4 -======================================================================================= -+ Plugin directories rearranged. -+ main- and for-idiom have a visual mode now. -+ Four new commands (command line) to control the comment style. -+ Comment style (C/C++) can automatically follow the filetype. -+ Bugfix: empty new file after removing the header template can't be closed. -+ Bugfix : Tools entry missing when root menu not shown from the start. -+ Minor improvements. - -======================================================================================= - RELEASE NOTES FOR VERSION 4.3 -======================================================================================= -+ CodeCheck (TM) integrated (source code analysing tool). -+ New key mappings for preprocessor statements. -+ New preprocessor menu. -+ Bugfix: indent under Windows. -+ Minor improvements. - -======================================================================================= - RELEASE NOTES FOR VERSION 4.2.1 -======================================================================================= -+ Bugfix: change needed for some menu names after patch 7.0.054 . - -======================================================================================= - RELEASE NOTES FOR VERSION 4.2 -======================================================================================= -+ Setting the starting column for trailing comments improved. -+ Small bug in block uncommenting fixed. -+ Mac OS X : circumvent a Vim bug which caused a crash when loading plugin version 4.1. -+ File syntax/c.vim removed (but see help in csupport.txt). - -======================================================================================= - RELEASE NOTES FOR VERSION 4.1 -======================================================================================= -+ A complete switch statement can be made from a list of labels. -+ Additional cases can be made from a list of labels. -+ Small bug in line end commenting fixed. -+ Some minor improvements. - -======================================================================================= - RELEASE NOTES FOR VERSION 4.0 -======================================================================================= - -+ Kernighan & Ritchie style for block statements can be enabled. -+ Changes to make it compatible with Vim 7. -+ Set C/C++ file type for source files which should not be preprocessed (*.i, *.ii). -+ Some minor improvements. - -======================================================================================= - RELEASE NOTES FOR VERSION 3.11 -======================================================================================= - -+ Hotkeys and an accompanying reference card added. -+ Preparation for syntax based folding. -+ Some minor improvements. - -======================================================================================= - RELEASE NOTES FOR VERSION 3.10 -======================================================================================= - -+ Remove "#if 0 ... #endif" from the inside. -+ Change C comments to C++ comments and vice versa. -+ try..catch / catch / catch(...) now can be set surround a marked area. -+ Prototype picking improved (for C++). -+ A hardcopy shows the localized date and time in the header line. -+ New help menu entry in the main menu of this plugin (shows the plugin documentation). -+ Switch between corresponding source and header files with <S-F2> if the plugin a.vim - is present. -+ Plugin can be used with autocompletion for (, [, and { . - -======================================================================================= - RELEASE NOTES FOR VERSION 3.9.1 -======================================================================================= - -+ Doubling of file header for new c- and h-files under Windows fixed (Thanks to - Fabricio C A Oliveira). -+ Tiny bug in the file open idioms fixed. - -======================================================================================= - RELEASE NOTES FOR VERSION 3.9 -======================================================================================= - -+ Formatter 'indent' integrated. -+ Bugfix in the automatic header insertion. -+ Assert idiom added. -+ #if 0 ... #endif statement for blocking out code added. -+ Minor stylistic improvements in some idioms. - -======================================================================================= - RELEASE NOTES FOR VERSION 3.8.2 -======================================================================================= - -+ Screen update problem solved: color inversion under FC4 (Thanks to Bernie Barton). -+ RTTI menu : additional v-mode. -+ Statement menu and C++ menu rearranged. -+ Include guard : name generation improved. -+ File header templates will be included for additional file extensions (cp, cxx, c++, ...). - -======================================================================================= - RELEASE NOTES FOR VERSION 3.8.1 -======================================================================================= - -+ More C++ output manipulators, manipulator insertion more intuitive. -+ Output into buffer: cursor goes to top of file. -+ Makefile template improved (code snippet). -+ Some internal improvements. - -======================================================================================= - RELEASE NOTES FOR VERSION 3.8 -======================================================================================= - -+ Windows support. Most features are now available under Windows. - -======================================================================================= - RELEASE NOTES FOR VERSION 3.7.2 -======================================================================================= - -+ Run buffer through splint (A tool for statically checking C programs; see - http://www.splint.org). An error window will be opened; quickfix commands can be used. -+ Set buffer related command line arguments for splint. -+ Line end comments start in a fixed column (can be set from the menu). -+ Spaces in path names and file names are now possible. -+ Template files and snippet files are no longer kept in the list of alternate files. -+ Some minor improvements. - -======================================================================================= - RELEASE NOTES FOR VERSION 3.7.1 -======================================================================================= - -+ Bug fixed (command line arguments not passed to the executable). -+ File extension for executables can be set. -+ Minor improvements. - -======================================================================================= - RELEASE NOTES FOR VERSION 3.7 -======================================================================================= - -+ Running a program: - (1) Run program from the gVim command line. - (2) Run program and direct the output into a window with name "C-Output". - This buffer and its content will disappear when closing the window. - The buffer is reused when still open. - (3) Run program in an xterm (adjustable). -+ Command line arguments are now buffer related (each buffer can have its own arguments). -+ Code snippets can be protected from being indented during insertion. -+ Picked up prototypes will be deleted after insertion. -+ A code snippet with the file name extension "ni" or "noindent" will not be - indented on insertion. -+ for- and calloc-/malloc-idioms improved. -+ Bug fixed (word list handling). - - -======================================================================================= - RELEASE NOTES FOR VERSION 3.6 -======================================================================================= - -+ Installation simplified. -+ for-loop-idiom asks for control variable, initial value, ... -+ malloc-idiom asks for pointer variable and size. -+ Toggling the comment style works correct again. -+ Empty error windows will be closed. -+ Prototype picker removes trailing parts of the function body if marked. -+ The dialog windows (GUI) have been replaced by more flexible command line inputs. -+ The undocumented and unnecessary hot key F12 has been removed. -+ Extension to ctags + taglist shows makefile targets and qmake targets. - -======================================================================================= - RELEASE NOTES FOR VERSION 3.5 -======================================================================================= - -+ Aligned line end comments for consecutive lines. -+ Improved prototype picker removes comments. -+ Picked up prototypes can be shown. -+ Uncomment more than one block at once. -+ 3 new idioms. -+ Help file improved . - -======================================================================================= - RELEASE NOTES FOR VERSION 3.4 -======================================================================================= - -+ Two new global variables: C_Dictionary_File, C_MenuHeader . -+ The preprocessor statements #if... and the function idiom include marked - lines when invoked in visual mode. - -======================================================================================= - RELEASE NOTES FOR VERSION 3.3 -======================================================================================= - -+ The C/C++ root menu can be disabled. - -======================================================================================= - RELEASE NOTES FOR VERSION 3.2 -======================================================================================= - -+ Only one C/C++ entry in the gVim root menu. -+ All hotkeys are only defined for C/C++ files (file type plugin added). -+ The following constructs are now read as templates from files: - class, class using new, - template class, template class using new, - error class -+ Install script added. -+ Customization improved. -+ Documentation improved (help file added). -+ Bug fix (template file handling) - -======================================================================================= - RELEASE NOTES FOR VERSION 3.1 -======================================================================================= - -+ When the comment style "C" is active the menu entry "Comments.code->comment" - turns a marked region in one multiline C-comment. -+ The menu entry "Comments.comment->code" turns marked multiline C-comment - back into code. -+ A marked region can be surrounded by a for-, if, if-else, while-, do-while-statement - (with indentation). -+ The menu entry "Snippets.make prototype" makes a C- or C++-prototype from - the current line or marked region and puts it in an internal buffer. -+ The menu entry "Snippets.add prototype" also makes a C- or C++-prototype from - the current line or a marked region and adds it to the internal buffer. -+ The menu entry "Snippets.put prototype" inserts all gathered prototypes - below the current line. -+ Tag substitution rewritten (Some characters in a substitution text for a tag - prevented the tag from being substituted). - -======================================================================================= - RELEASE NOTES FOR VERSION 3.0 -======================================================================================= - -+ C-style comments AND C++-style comments are supported now. -+ The menu entry 'Comments->Comment style ..' switches the styles (toggle). -+ Block comments are now read as templates or skeletons from files: - Frame Block, Function Description, Method Description, - Class Description, H+file header, C/C++-file header -+ These templates can contain tags like |FILENAME|, |AUTHOR| etc. which are replaced - after reading (KDevelop templates can be used without any change). -+ indentation: multiline inserts and code snippets will be indented after insertion. -+ Most menu entries are now also active in normal mode. -+ new menu items: - includes for the C99 header, - includes for the standard C++ header, - includes for the C++ version of the Standard C Library header, - multiline C comment - vim modeline -+ Reading the templates is done in one function which can be called in an autocmd. -+ Code cleanup: register z no longer used. Most function calls are silent now. - - diff --git a/.vim/c-support/doc/c-hotkeys.pdf b/.vim/c-support/doc/c-hotkeys.pdf Binary files differdeleted file mode 100644 index 07a6c7c..0000000 --- a/.vim/c-support/doc/c-hotkeys.pdf +++ /dev/null diff --git a/.vim/c-support/rc/customization.ctags b/.vim/c-support/rc/customization.ctags deleted file mode 100644 index 75ccd5a..0000000 --- a/.vim/c-support/rc/customization.ctags +++ /dev/null @@ -1,7 +0,0 @@ - ---regex-make=/^([^:# \t]+)[ \t]*[:]{1,2}/\1/t,targets/ - ---langdef=qmake ---langmap=qmake:+.pro ---regex-qmake=/^([[:upper:]_]+)/\1/t,SystemVariables/ - diff --git a/.vim/c-support/rc/customization.gvimrc b/.vim/c-support/rc/customization.gvimrc deleted file mode 100644 index ff3d690..0000000 --- a/.vim/c-support/rc/customization.gvimrc +++ /dev/null @@ -1,44 +0,0 @@ -" -"=============================================================================== -"========== example gvimrc from the distribution ============================== -"=============================================================================== -" -runtime gvimrc_example.vim -" -" -"=============================================================================== -"========== CUSTOMIZATION (gvimrc) =========================================== -"=============================================================================== -" -"------------------------------------------------------------------------------- -" Moving cursor to other windows -" -" shift down : change window focus to lower one (cyclic) -" shift up : change window focus to upper one (cyclic) -" shift left : change window focus to one on left -" shift right : change window focus to one on right -"------------------------------------------------------------------------------- -" -nmap <s-down> <c-w>w -nmap <s-up> <c-w>W -nmap <s-left> <c-w>h -nmap <s-right> <c-w>l -" -" -"------------------------------------------------------------------------------- -" some additional hot keys -"------------------------------------------------------------------------------- -" S-F3 - call gvim file browser -"------------------------------------------------------------------------------- -" - map <silent> <s-F3> :silent browse confirm e<CR> -imap <silent> <s-F3> <Esc>:silent browse confirm e<CR> -" -" -"------------------------------------------------------------------------------- -" toggle insert mode <--> 'normal mode with the <RightMouse>-key -"------------------------------------------------------------------------------- -" -nmap <RightMouse> <Insert> -imap <RightMouse> <ESC> -" diff --git a/.vim/c-support/rc/customization.indent.pro b/.vim/c-support/rc/customization.indent.pro deleted file mode 100644 index 95f6081..0000000 --- a/.vim/c-support/rc/customization.indent.pro +++ /dev/null @@ -1,8 +0,0 @@ ---blank-lines-after-procedures ---brace-indent0 ---comment-indentation49 ---declaration-comment-column49 ---declaration-indentation10 ---space-after-parentheses ---swallow-optional-blank-lines ---tab-size2 diff --git a/.vim/c-support/rc/customization.vimrc b/.vim/c-support/rc/customization.vimrc deleted file mode 100644 index f9ab5a7..0000000 --- a/.vim/c-support/rc/customization.vimrc +++ /dev/null @@ -1,149 +0,0 @@ -" -"=============================================================================== -"========== load example vimrc from the distribution ========================= -"=============================================================================== -" -runtime vimrc_example.vim -" -filetype plugin on -" -"=============================================================================== -"========== CUSTOMIZATION (vimrc) ============================================ -"=============================================================================== -" -" Platform specific items: -" - central backup directory (has to be created) -" - default dictionary -" Uncomment your choice. -if has("win16") || has("win32") || has("win64") || - \ has("win95") || has("win32unix") - " -" runtime mswin.vim -" set backupdir =$VIM\vimfiles\backupdir -" set dictionary=$VIM\vimfiles\wordlists/german.list -else -" set backupdir =$HOME/.vim.backupdir -" set dictionary=$HOME/.vim/wordlists/german.list -endif -" -" Using a backupdir under UNIX/Linux: you may want to include a line similar to -" find $HOME/.vim.backupdir -name "*" -type f -mtime +60 -exec rm -f {} \; -" in one of your shell startup files (e.g. $HOME/.profile) -" -"------------------------------------------------------------------------------- -" Use of dictionaries -"------------------------------------------------------------------------------- -" -set complete+=k " scan the files given with the 'dictionary' option -" -"------------------------------------------------------------------------------- -" Various settings -"------------------------------------------------------------------------------- -" -set autoread " read open files again when changed outside Vim -set autowrite " write a modified buffer on each :next , ... -set browsedir =current " which directory to use for the file browser -set incsearch " use incremental search -set nowrap " do not wrap lines -set shiftwidth =2 " number of spaces to use for each step of indent -set tabstop =2 " number of spaces that a <Tab> in the file counts for -set visualbell " visual bell instead of beeping -" -" -"------------------------------------------------------------------------------- -" some additional hot keys -"------------------------------------------------------------------------------- -" F2 - write file without confirmation -" F3 - call file explorer Ex -" F4 - show tag under curser in the preview window (tagfile must exist!) -" F5 - open quickfix error window -" F6 - close quickfix error window -" F7 - display previous error -" F8 - display next error -" S-Tab - Fast switching between buffers (see below) -" C-q - Leave the editor with Ctrl-q (see below) -"------------------------------------------------------------------------------- -" -map <silent> <F2> :write<CR> -map <silent> <F3> :Explore<CR> -nmap <silent> <F4> :exe ":ptag ".expand("<cword>")<CR> -map <silent> <F5> :copen<CR> -map <silent> <F6> :cclose<CR> -map <silent> <F7> :cp<CR> -map <silent> <F8> :cn<CR> -" -imap <silent> <F2> <Esc>:write<CR> -imap <silent> <F3> <Esc>:Explore<CR> -imap <silent> <F4> <Esc>:exe ":ptag ".expand("<cword>")<CR> -imap <silent> <F5> <Esc>:copen<CR> -imap <silent> <F6> <Esc>:cclose<CR> -imap <silent> <F7> <Esc>:cp<CR> -imap <silent> <F8> <Esc>:cn<CR> -" -"------------------------------------------------------------------------------- -" Fast switching between buffers -" The current buffer will be saved before switching to the next one. -" Choose :bprevious or :bnext -"------------------------------------------------------------------------------- -" - map <silent> <s-tab> <Esc>:if &modifiable && !&readonly && - \ &modified <CR> :write<CR> :endif<CR>:bprevious<CR> -imap <silent> <s-tab> <Esc>:if &modifiable && !&readonly && - \ &modified <CR> :write<CR> :endif<CR>:bprevious<CR> -" -"------------------------------------------------------------------------------- -" Leave the editor with Ctrl-q : Write all changed buffers and exit Vim -"------------------------------------------------------------------------------- -nmap <C-q> :wqa<CR> -" -"------------------------------------------------------------------------------- -" autocomplete parenthesis, brackets and braces -"------------------------------------------------------------------------------- -inoremap ( ()<Left> -inoremap [ []<Left> -inoremap { {}<Left> -" -vnoremap ( s()<Esc>P<Right>% -vnoremap [ s[]<Esc>P<Right>% -vnoremap { s{}<Esc>P<Right>% -" -"------------------------------------------------------------------------------- -" Change the working directory to the directory containing the current file -"------------------------------------------------------------------------------- -if has("autocmd") - autocmd BufEnter * :lchdir %:p:h -endif " has("autocmd") -" -"------------------------------------------------------------------------------- -" Filename completion -" -" wildmenu : command-line completion operates in an enhanced mode -" wildignore : A file that matches with one of these -" patterns is ignored when completing file or directory names. -"------------------------------------------------------------------------------- -" -set wildmenu -set wildignore=*.bak,*.o,*.e,*~ -" -"------------------------------------------------------------------------------- -" print options (pc = percentage of the media size) -"------------------------------------------------------------------------------- -set printoptions=left:8pc,right:3pc -" -"------------------------------------------------------------------------------- -" taglist.vim : toggle the taglist window -" taglist.vim : define the title texts for make -" taglist.vim : define the title texts for qmake -"------------------------------------------------------------------------------- - noremap <silent> <F11> <Esc><Esc>:Tlist<CR> -inoremap <silent> <F11> <Esc><Esc>:Tlist<CR> - -let tlist_make_settings = 'make;m:makros;t:targets' - -let tlist_qmake_settings = 'qmake;t:SystemVariables' - -if has("autocmd") - " ---------- qmake : set filetype for *.pro ---------- - autocmd BufNewFile,BufRead *.pro set filetype=qmake -endif " has("autocmd") - diff --git a/.vim/c-support/scripts/wrapper.sh b/.vim/c-support/scripts/wrapper.sh deleted file mode 100644 index 55d9961..0000000 --- a/.vim/c-support/scripts/wrapper.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/bash -#=============================================================================== -# FILE: wrapper.sh -# USAGE: ./wrapper.sh executable [cmd-line-args] -# DESCRIPTION: Wraps the execution of a programm or script. -# Use with xterm: xterm -e wrapper.sh executable cmd-line-args -# This script is used by several plugins: -# bash-support.vim, c.vim and perl-support.vim -# OPTIONS: --- -# REQUIREMENTS: which(1) - shows the full path of (shell) commands. -# BUGS: --- -# NOTES: --- -# AUTHOR: Dr.-Ing. Fritz Mehner (Mn), mehner@fh-swf.de -# COMPANY: Fachhochschule Südwestfalen, Iserlohn -# CREATED: 23.11.2004 18:04:01 CET -# REVISION: $Id: wrapper.sh,v 1.3 2007/10/03 09:06:09 mehner Exp $ -#=============================================================================== - -command=${@} # the complete command line -executable=${1} # name of the executable; may be quoted - -fullname=$(which $executable) -[ $? -eq 0 ] && executable=$fullname - -if [ ${#} -ge 1 ] && [ -x "$executable" ] -then - shift - "$executable" ${@} - echo -e "> \"${command}\" returned ${?}" -else - echo -e "\n !! file \"${executable}\" does not exist or is not executable !!" -fi -echo -e " ... press return key ... " -read dummy diff --git a/.vim/c-support/syntax/c.vim b/.vim/c-support/syntax/c.vim deleted file mode 100644 index 395e0d9..0000000 --- a/.vim/c-support/syntax/c.vim +++ /dev/null @@ -1,21 +0,0 @@ -"=================================================================================== -" -" FILE: c.vim -" DESCRIPTION: syntax file -" enable syntax based folding -" part of the c-support plugin -" -" AUTHOR: Dr.-Ing. Fritz Mehner -" EMAIL: mehner@fh-swf.de -" COMPANY: FH Südwestfalen, Iserlohn -" VERSION: 1.0 -" CREATED: 11.03.2006 -" REVISION: --- -"=================================================================================== -" -" fold C blocks -" -syn region cBlock start="{" end="}" transparent fold -set foldmethod=syntax -set foldlevel=999 - diff --git a/.vim/c-support/templates/Templates b/.vim/c-support/templates/Templates deleted file mode 100644 index 9aa86fc..0000000 --- a/.vim/c-support/templates/Templates +++ /dev/null @@ -1,26 +0,0 @@ -$ -$ ============================================================= -$ ========== USER MACROS ====================================== -$ ============================================================= -$ -|AUTHOR| = Ryan Kavanagh -|AUTHORREF| = ryanakca -|EMAIL| = ryanakca@kubuntu.org -|COPYRIGHT| = Copyright (c) 2008 Ryan Kavanagh -|LICENSE| = GNU GPL v2 -$ -$ ============================================================= -$ ========== FILE INCLUDES ==================================== -$ ============================================================= -$ -|includefile| = c.comments.template -|includefile| = c.cpp.template -|includefile| = c.idioms.template -|includefile| = c.preprocessor.template -|includefile| = c.statements.template - -$|includefile| = cpp.comments.template -$|includefile| = cpp.cpp.template -$|includefile| = cpp.idioms.template -$|includefile| = cpp.preprocessor.template -$|includefile| = cpp.statements.template diff --git a/.vim/c-support/templates/c.comments.template b/.vim/c-support/templates/c.comments.template deleted file mode 100644 index 8080968..0000000 --- a/.vim/c-support/templates/c.comments.template +++ /dev/null @@ -1,147 +0,0 @@ -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.end-of-line-comment == append == -/* <CURSOR> */ -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.frame == -/*-------------------------------------------------------------------------- - * <CURSOR> - *------------------------------------------------------------------------*/ -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.function == -/* - * === FUNCTION ========================================================== - * Name: |?FUNCTION_NAME| - * Description: <CURSOR> - * ========================================================================= - */ -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.method == -/* - *-------------------------------------------------------------------------- - * Class: |?CLASSNAME| - * Method: |?METHODNAME| - * Description: <CURSOR> - *-------------------------------------------------------------------------- - */ -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.class == -/* - * ========================================================================= - * Class: |?CLASSNAME| - * Description: <CURSOR> - * ========================================================================= - */ -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.file-description == start == -/* - * ========================================================================= - * - * Filename: |FILENAME| - * - * Description: <CURSOR> - * - * Version: 1.0 - * Created: |DATE| |TIME| - * Revision: none - * Compiler: gcc - * - * Author: |AUTHOR| (|AUTHORREF|), |EMAIL| - * License: |LICENSE| - * - * ========================================================================= - */ - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.keyword-bug == append == - /* :BUG:|DATE| |TIME|:|AUTHORREF|: <CURSOR> */ -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.keyword-compiler == append == - /* :COMPILER:|DATE| |TIME|:|AUTHORREF|: <CURSOR> */ -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.keyword-todo == append == - /* :TODO:|DATE| |TIME|:|AUTHORREF|: <CURSOR> */ -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.keyword-tricky == append == - /* :TRICKY:|DATE| |TIME|:|AUTHORREF|: <CURSOR> */ -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.keyword-warning == append == - /* :WARNING:|DATE| |TIME|:|AUTHORREF|: <CURSOR> */ -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.keyword-workaround == append == - /* :WORKAROUND:|DATE| |TIME|:|AUTHORREF|: <CURSOR> */ -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.keyword-keyword == append == - /* :|?KEYWORD:u|:|DATE| |TIME|:|AUTHORREF|: <CURSOR> */ -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.file-section-cpp-header-includes == -/* ##### HEADER FILE INCLUDES ################################################### */ - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.file-section-cpp-macros == -/* ##### MACROS - LOCAL TO THIS SOURCE FILE ################################### */ - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.file-section-cpp-typedefs == -/* ##### TYPE DEFINITIONS - LOCAL TO THIS SOURCE FILE ######################### */ - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.file-section-cpp-data-types == -/* ##### DATA TYPES - LOCAL TO THIS SOURCE FILE ############################### */ - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.file-section-cpp-class-defs == -/* ##### CLASS DEFINITIONS - LOCAL TO THIS SOURCE FILE ######################## */ - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.file-section-cpp-local-variables == -/* ##### VARIABLES - LOCAL TO THIS SOURCE FILE ################################ */ - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.file-section-cpp-prototypes == -/* ##### PROTOTYPES - LOCAL TO THIS SOURCE FILE ############################### */ - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.file-section-cpp-function-defs-exported == -/* ##### FUNCTION DEFINITIONS - EXPORTED FUNCTIONS ############################ */ - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.file-section-cpp-function-defs-local == -/* ##### FUNCTION DEFINITIONS - LOCAL TO THIS SOURCE FILE ##################### */ - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.file-section-cpp-class-implementations-exported == -/* ##### CLASS IMPLEMENTATIONS - EXPORTED CLASSES ############################# */ - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.file-section-cpp-class-implementations-local == -/* ##### CLASS IMPLEMENTATIONS - LOCAL CLASSES ################################ */ - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.file-section-hpp-header-includes == -/* ##### HEADER FILE INCLUDES ################################################### */ - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.file-section-hpp-macros == -/* ##### EXPORTED MACROS ######################################################## */ - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.file-section-hpp-exported-typedefs == -/* ##### EXPORTED TYPE DEFINITIONS ############################################## */ - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.file-section-hpp-exported-data-types == -/* ##### EXPORTED DATA TYPES #################################################### */ - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.file-section-hpp-exported-class-defs == -/* ##### EXPORTED CLASS DEFINITIONS ############################################# */ - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.file-section-hpp-exported-variables == -/* ##### EXPORTED VARIABLES ##################################################### */ - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.file-section-hpp-exported-function-declarations == -/* ##### EXPORTED FUNCTION DECLARATIONS ######################################### */ - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/.vim/c-support/templates/c.cpp.template b/.vim/c-support/templates/c.cpp.template deleted file mode 100644 index ce15421..0000000 --- a/.vim/c-support/templates/c.cpp.template +++ /dev/null @@ -1,353 +0,0 @@ -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== cpp.method-implementation == -<CURSOR>void -|?CLASSNAME|::|?METHODNAME| ( ) -{ - return ; -} /* ----- end of method |CLASSNAME|::|?METHODNAME| ----- */ -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== cpp.class == -/* - * ===================================================================================== - * Class: |?CLASSNAME:c| - * Description: <CURSOR> - * ===================================================================================== - */ -class |CLASSNAME| -{ - public: - /* ==================== LIFECYCLE ======================================= */ - |CLASSNAME| (); /* constructor */ - - /* ==================== OPERATORS ======================================= */ - - /* ==================== OPERATIONS ======================================= */ - - /* ==================== ACCESS ======================================= */ - - /* ==================== INQUIRY ======================================= */ - - /* ==================== DATA MEMBERS ======================================= */ - protected: - - private: - -}; /* ----- end of class |CLASSNAME| ----- */ - -/* - *-------------------------------------------------------------------------------------- - * Class: |CLASSNAME| - * Method: |CLASSNAME| - * Description: constructor - *-------------------------------------------------------------------------------------- - */ -|CLASSNAME|::|CLASSNAME| () -{ -} /* ----- end of method |CLASSNAME|::|CLASSNAME| (constructor) ----- */ - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== cpp.class-using-new == -/* - * ===================================================================================== - * Class: |?CLASSNAME:c| - * Description: <CURSOR> - * ===================================================================================== - */ -class |CLASSNAME| -{ - public: - - /* ==================== LIFECYCLE ======================================= */ - |CLASSNAME| (); /* constructor */ - |CLASSNAME| ( const |CLASSNAME| &other ); /* copy constructor */ - ~|CLASSNAME| (); /* destructor */ - - /* ==================== OPERATORS ======================================= */ - const |CLASSNAME|& operator = ( const |CLASSNAME| &other ); /* assignment operator */ - - /* ==================== OPERATIONS ======================================= */ - - /* ==================== ACCESS ======================================= */ - - /* ==================== INQUIRY ======================================= */ - - /* ==================== DATA MEMBERS ======================================= */ - protected: - - private: - -}; /* ----- end of class |CLASSNAME| ----- */ - -/* - *-------------------------------------------------------------------------------------- - * Class: |CLASSNAME| - * Method: |CLASSNAME| - * Description: constructor - *-------------------------------------------------------------------------------------- - */ -|CLASSNAME|::|CLASSNAME| () -{ -} /* ----- end of method |CLASSNAME|::|CLASSNAME| (constructor) ----- */ - -/* - *-------------------------------------------------------------------------------------- - * Class: |CLASSNAME| - * Method: |CLASSNAME| - * Description: copy constructor - *-------------------------------------------------------------------------------------- - */ -|CLASSNAME|::|CLASSNAME| ( const |CLASSNAME| &other ) -{ -} /* ----- end of method |CLASSNAME|::|CLASSNAME| (copy constructor) ----- */ - -/* - *-------------------------------------------------------------------------------------- - * Class: |CLASSNAME| - * Method: ~|CLASSNAME| - * Description: destructor - *-------------------------------------------------------------------------------------- - */ -|CLASSNAME|::~|CLASSNAME| () -{ -} /* ----- end of method |CLASSNAME|::~|CLASSNAME| (destructor) ----- */ - -/* - *-------------------------------------------------------------------------------------- - * Class: |CLASSNAME| - * Method: operator = - * Description: assignment operator - *-------------------------------------------------------------------------------------- - */ -const |CLASSNAME|& -|CLASSNAME|::operator = ( const |CLASSNAME| &other ) -{ - if ( this != &other ) { - } - return *this; -} /* ----- end of method |CLASSNAME|::operator = (assignment operator) ----- */ - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== cpp.error-class == -/* - * ===================================================================================== - * Class: |?CLASSNAME:c| - * Description: <CURSOR> - * ===================================================================================== - */ -class |CLASSNAME| -{ - public: |CLASSNAME| ( char *msg ):message(msg) { } - virtual ~|CLASSNAME| ( ) { } - virtual const char* what ( ) const throw ( ) { return message; } - protected: char *message; -}; /* ----- end of class |CLASSNAME| ----- */ - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== cpp.template-method-implementation == -template < class T > -void<CURSOR> |?CLASSNAME|<T>::|?METHODNAME| ( ) -{ - return ; -} /* ----- end of method |CLASSNAME|<T>::|METHODNAME| ----- */ -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== cpp.template-class == -/* - * ===================================================================================== - * Class: |?CLASSNAME:c| - * Description: <CURSOR> - * ===================================================================================== - */ -template < class T > -class |CLASSNAME| -{ - public: - - /* ==================== LIFECYCLE ======================================= */ - |CLASSNAME| (); /* constructor */ - - /* ==================== OPERATORS ======================================= */ - - /* ==================== OPERATIONS ======================================= */ - - /* ==================== ACCESS ======================================= */ - - /* ==================== INQUIRY ======================================= */ - - /* ==================== DATA MEMBERS ======================================= */ - protected: - - private: - -}; /* ---------- end of template class |CLASSNAME| ---------- */ - -/* - *-------------------------------------------------------------------------------------- - * Class: |CLASSNAME| - * Method: |CLASSNAME| - * Description: - *-------------------------------------------------------------------------------------- - */ -template < class T > -|CLASSNAME| < T >::|CLASSNAME| () -{ -} /* ---------- end of constructor of template class |CLASSNAME| ---------- */ - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== cpp.template-class-using-new == -/* - * ===================================================================================== - * Class: |?CLASSNAME:c| - * Description: <CURSOR> - * ===================================================================================== - */ -template < class T > -class |CLASSNAME| -{ - public: - - /* ==================== LIFECYCLE ======================================= */ - |CLASSNAME| (); /* constructor */ - |CLASSNAME| (const |CLASSNAME| &other); /* copy constructor */ - ~|CLASSNAME| (); /* destructor */ - - /* ==================== OPERATORS ======================================= */ - const |CLASSNAME|& operator = ( const |CLASSNAME| &other ); /* assignment operator */ - - /* ==================== OPERATIONS ======================================= */ - - /* ==================== ACCESS ======================================= */ - - /* ==================== INQUIRY ======================================= */ - - /* ==================== DATA MEMBERS ======================================= */ - protected: - - private: - -}; /* ---------- end of template class |CLASSNAME| ---------- */ - -/* - *-------------------------------------------------------------------------------------- - * Class: |CLASSNAME| - * Method: |CLASSNAME| - * Description: constructor - *-------------------------------------------------------------------------------------- - */ -template < class T > -|CLASSNAME|< T >::|CLASSNAME| () -{ -} /* ---------- end of constructor of template class |CLASSNAME| ---------- */ - -/* - *-------------------------------------------------------------------------------------- - * Class: |CLASSNAME| - * Method: |CLASSNAME| - * Description: copy constructor - *-------------------------------------------------------------------------------------- - */ -template < class T > -|CLASSNAME|< T >::|CLASSNAME| ( const |CLASSNAME| &other ) -{ -} /* ---------- end of copy constructor of template class |CLASSNAME| ---------- */ - -/* - *-------------------------------------------------------------------------------------- - * Class: |CLASSNAME| - * Method: ~|CLASSNAME| - * Description: destructor - *-------------------------------------------------------------------------------------- - */ -template < class T > -|CLASSNAME|< T >::~|CLASSNAME| () -{ -} /* ---------- end of destructor of template class |CLASSNAME| ---------- */ - -/* - *-------------------------------------------------------------------------------------- - * Class: |CLASSNAME| - * Method: operator = - * Description: assignment operator - *-------------------------------------------------------------------------------------- - */ -template < class T > -const |CLASSNAME|< T >& |CLASSNAME|< T >::operator = ( const |CLASSNAME| &other ) -{ - return *this; -} /* ---------- end of assignment operator of template class |CLASSNAME| ---------- */ - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== cpp.template-function == -template <class T> -<CURSOR>void |?TEMPALTE_FUNCTION_NAME| ( T param ) -{ - return ; -} /* ----- end of template function |?TEMPALTE_FUNCTION_NAME| ----- */ -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== cpp.operator-in == -ostream & -operator << ( ostream & os, const |?CLASSNAME| & obj ) -{ - os << obj.<CURSOR> ; - return os; -} /* ----- end of function operator << ----- */ -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== cpp.operator-out == -istream & -operator >> ( istream & is, |?CLASSNAME| & obj ) -{ - is >> obj.<CURSOR> ; - return is; -} /* ----- end of function operator >> ----- */ -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== cpp.try-catch == -try {<CURSOR> -<SPLIT>} -catch ( const &ExceptObj ) { /* handle exception: */ -} -catch (...) { /* handle exception: unspezified */ -} - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== cpp.catch == -catch ( <CURSOR>const &ExceptObj ) { /* handle exception: */ -<SPLIT>} -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== cpp.catch-points == -catch (...) { /* handle exception: */ -<SPLIT>} -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== cpp.extern == -extern "C" {<CURSOR> -<SPLIT>} -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== cpp.open-input-file == -char *ifs_file_name = "<CURSOR>"; /* input file name */ -ifstream ifs; /* create ifstream object */ - -ifs.open (ifs_file_name); /* open ifstream */ -if (!ifs) { - cerr << "\nERROR : failed to open input file " << ifs_file_name << endl; - exit (EXIT_FAILURE); -} - - -ifs.close (); /* close ifstream */ -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== cpp.open-output-file == -char *ofs_file_name = "<CURSOR>"; /* output file name */ -ofstream ofs; /* create ofstream object */ - -ofs.open (ofs_file_name); /* open ofstream */ -if (!ofs) { - cerr << "\nERROR : failed to open output file " << ofs_file_name << endl; - exit (EXIT_FAILURE); -} - - -ofs.close (); /* close ofstream */ -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== cpp.namespace == -namespace |?NAMESPACE| -{<CURSOR> -<SPLIT>} /* ----- end of |NAMESPACE| name ----- */ -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/.vim/c-support/templates/c.idioms.template b/.vim/c-support/templates/c.idioms.template deleted file mode 100644 index 09bc0b7..0000000 --- a/.vim/c-support/templates/c.idioms.template +++ /dev/null @@ -1,98 +0,0 @@ -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== idioms.function == -void<CURSOR> -|?FUNCTION_NAME| ( ) -{ -<SPLIT> return ; -} /* ----- end of function |FUNCTION_NAME| ----- */ -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== idioms.function-static == -static void<CURSOR> -|?FUNCTION_NAME| ( ) -{ -<SPLIT> return ; -} /* ----- end of static function |FUNCTION_NAME| ----- */ -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== idioms.main == -int -main ( int argc, char *argv[] ) -{<CURSOR> -<SPLIT> return EXIT_SUCCESS; -} /* ---------- end of function main ---------- */ -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== idioms.enum == -enum |?ENUM_NAME| {<CURSOR> -<SPLIT>}; /* ---------- end of enum |ENUM_NAME| ---------- */ -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== idioms.struct == -struct |?STRUCT_NAME| {<CURSOR> -<SPLIT>}; /* ---------- end of struct |STRUCT_NAME| ---------- */ -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== idioms.union == -union |?UNION_NAME| {<CURSOR> -<SPLIT>}; /* ---------- end of union |UNION_NAME| ---------- */ -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== idioms.calloc == -|?POINTER| = (<CURSOR>TYPE*)calloc ( (size_t)(COUNT), sizeof(TYPE) ); -if ( |POINTER|==NULL ) { - fprintf ( stderr, "\ndynamic memory allocation failed\n" ); - exit (EXIT_FAILURE); -} - -free (|POINTER|); - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== idioms.malloc == -|?POINTER| = (<CURSOR>TYPE*)malloc ( sizeof(TYPE) ); -if ( |POINTER|==NULL ) { - fprintf ( stderr, "\ndynamic memory allocation failed\n" ); - exit (EXIT_FAILURE); -} - -free (|POINTER|); - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== idioms.open-input-file == -FILE *|?FILEPOINTER|; /* input-file pointer */ -char *|FILEPOINTER|_file_name = "<CURSOR>"; /* input-file name */ - -|FILEPOINTER| = fopen( |FILEPOINTER|_file_name, "r" ); -if ( |FILEPOINTER| == NULL ) { - fprintf ( stderr, "couldn't open file '%s'; %s\n", - |FILEPOINTER|_file_name, strerror(errno) ); - exit (EXIT_FAILURE); -} - - -if( fclose(|FILEPOINTER|) == EOF ) { /* close input file */ - fprintf ( stderr, "couldn't close file '%s'; %s\n", - |FILEPOINTER|_file_name, strerror(errno) ); - exit (EXIT_FAILURE); -} - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== idioms.open-output-file == -FILE *|?FILEPOINTER|; /* output-file pointer */ -char *|FILEPOINTER|_file_name = "<CURSOR>"; /* output-file name */ - -|FILEPOINTER| = fopen( |FILEPOINTER|_file_name, "w" ); -if ( |FILEPOINTER| == NULL ) { - fprintf ( stderr, "couldn't open file '%s'; %s\n", - |FILEPOINTER|_file_name, strerror(errno) ); - exit (EXIT_FAILURE); -} - - -if( fclose(|FILEPOINTER|) == EOF ) { /* close output file */ - fprintf ( stderr, "couldn't close file '%s'; %s\n", - |FILEPOINTER|_file_name, strerror(errno) ); - exit (EXIT_FAILURE); -} - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== idioms.fprintf == -fprintf ( |?FILEPOINTER|, "<CURSOR>\n", ); -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== idioms.fscanf == -fscanf ( |?FILEPOINTER|, "<CURSOR>", & ); -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/.vim/c-support/templates/c.preprocessor.template b/.vim/c-support/templates/c.preprocessor.template deleted file mode 100644 index 3ec674a..0000000 --- a/.vim/c-support/templates/c.preprocessor.template +++ /dev/null @@ -1,34 +0,0 @@ -$------------------------------------------------------------------------- -== preprocessor.define == -#define <CURSOR> /* */ -$------------------------------------------------------------------------- -== preprocessor.undefine == -#undef <CURSOR> /* */ -$------------------------------------------------------------------------- -== preprocessor.if-else-endif == -#if |?CONDITION:u| -<CURSOR><SPLIT> -#else /* ----- not |CONDITION| ----- */ - -#endif /* ----- not |CONDITION| ----- */ -$------------------------------------------------------------------------- -== preprocessor.ifdef-else-endif == -#ifdef |?CONDITION:u| -<CURSOR><SPLIT> -#else /* ----- not |CONDITION| ----- */ - -#endif /* ----- not |CONDITION| ----- */ -$------------------------------------------------------------------------- -== preprocessor.ifndef-else-endif == -#ifndef |?CONDITION:u| -<CURSOR><SPLIT> -#else /* ----- not |CONDITION| ----- */ - -#endif /* ----- not |CONDITION| ----- */ -$------------------------------------------------------------------------- -== preprocessor.ifndef-def-endif == -#ifndef |?BASENAME:L|_INC -#define |BASENAME|_INC -<CURSOR><SPLIT> -#endif /* ----- #ifndef |BASENAME|_INC ----- */ -$------------------------------------------------------------------------- diff --git a/.vim/c-support/templates/c.statements.template b/.vim/c-support/templates/c.statements.template deleted file mode 100644 index 966ae3a..0000000 --- a/.vim/c-support/templates/c.statements.template +++ /dev/null @@ -1,62 +0,0 @@ -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== statements.do-while == -do { -<SPLIT>} while ( <CURSOR> ); /* ----- end do-while ----- */ -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== statements.for == -for ( <CURSOR>; ; ) -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== statements.for-block == -for ( <CURSOR>; ; ) { -<SPLIT>} -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== statements.if == -if ( <CURSOR> ) -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== statements.if-block == -if ( <CURSOR> ) { -<SPLIT>} -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== statements.if-else == -if ( <CURSOR> ) -<SPLIT>else -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== statements.if-block-else == -if ( <CURSOR> ) { -<SPLIT>} else { -} -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== statements.while == -while ( <CURSOR> ) -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== statements.while-block == -while ( <CURSOR> ) { -<SPLIT>} -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== statements.switch == -switch ( <CURSOR> ) { - case : - <SPLIT>break; - - case : - break; - - case : - break; - - case : - break; - - default: - break; -} /* ----- end switch ----- */ -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== statements.case == -case <CURSOR>: -break; - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== statements.block == -{<CURSOR> -<SPLIT>} -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/.vim/c-support/templates/cpp.comments.template b/.vim/c-support/templates/cpp.comments.template deleted file mode 100644 index 9929eab..0000000 --- a/.vim/c-support/templates/cpp.comments.template +++ /dev/null @@ -1,139 +0,0 @@ -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.end-of-line-comment == append == -// <CURSOR> -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.frame == -//---------------------------------------------------------------------- -// <CURSOR> -//---------------------------------------------------------------------- -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.function == -// === FUNCTION =========================================================== -// Name: |?FUNCTION_NAME| -// Description: <CURSOR> -// ========================================================================== -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.method == -//--------------------------------------------------------------------------- -// Class: |?CLASSNAME| -// Method: |?METHODNAME| -// Description: <CURSOR> -//--------------------------------------------------------------------------- -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.class == -// ========================================================================== -// Class: |?CLASSNAME| -// Description: <CURSOR> -// ========================================================================== -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.file-description == start == -// ========================================================================== -// -// Filename: |FILENAME| -// -// Description: <CURSOR> -// -// Version: 1.0 -// Created: |DATE| |TIME| -// Revision: none -// Compiler: g++ -// -// Author: |AUTHOR| (|AUTHORREF|), |EMAIL| -// License: |LICENSE| -// -// ========================================================================== - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.keyword-bug == append == - // :BUG:|DATE| |TIME|:|AUTHORREF|: <CURSOR> -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.keyword-compiler == append == - // :COMPILER:|DATE| |TIME|:|AUTHORREF|: <CURSOR> -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.keyword-todo == append == - // :TODO:|DATE| |TIME|:|AUTHORREF|: <CURSOR> -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.keyword-tricky == append == - // :TRICKY:|DATE| |TIME|:|AUTHORREF|: <CURSOR> -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.keyword-warning == append == - // :WARNING:|DATE| |TIME|:|AUTHORREF|: <CURSOR> -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.keyword-workaround == append == - // :WORKAROUND:|DATE| |TIME|:|AUTHORREF|: <CURSOR> -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.keyword-keyword == append == - // :|?KEYWORD:u|:|DATE| |TIME|:|AUTHORREF|: <CURSOR> -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.file-section-cpp-header-includes == -// ##### HEADER FILE INCLUDES ################################################### - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.file-section-cpp-macros == -// ##### MACROS - LOCAL TO THIS SOURCE FILE ################################### - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.file-section-cpp-typedefs == -// ##### TYPE DEFINITIONS - LOCAL TO THIS SOURCE FILE ######################### - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.file-section-cpp-data-types == -// ##### DATA TYPES - LOCAL TO THIS SOURCE FILE ############################### - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.file-section-cpp-class-defs == -// ##### CLASS DEFINITIONS - LOCAL TO THIS SOURCE FILE ######################## - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.file-section-cpp-local-variables == -// ##### VARIABLES - LOCAL TO THIS SOURCE FILE ################################ - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.file-section-cpp-prototypes == -// ##### PROTOTYPES - LOCAL TO THIS SOURCE FILE ############################### - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.file-section-cpp-function-defs-exported == -// ##### FUNCTION DEFINITIONS - EXPORTED FUNCTIONS ############################ - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.file-section-cpp-function-defs-local == -// ##### FUNCTION DEFINITIONS - LOCAL TO THIS SOURCE FILE ##################### - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.file-section-cpp-class-implementations-exported == -// ##### CLASS IMPLEMENTATIONS - EXPORTED CLASSES ############################# - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.file-section-cpp-class-implementations-local == -// ##### CLASS IMPLEMENTATIONS - LOCAL CLASSES ################################ - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.file-section-hpp-header-includes == -// ##### HEADER FILE INCLUDES ################################################### - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.file-section-hpp-macros == -// ##### EXPORTED MACROS ######################################################## - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.file-section-hpp-exported-typedefs == -// ##### EXPORTED TYPE DEFINITIONS ############################################## - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.file-section-hpp-exported-data-types == -// ##### EXPORTED DATA TYPES #################################################### - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.file-section-hpp-exported-class-defs == -// ##### EXPORTED CLASS DEFINITIONS ############################################# - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.file-section-hpp-exported-variables == -// ##### EXPORTED VARIABLES ##################################################### - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== comment.file-section-hpp-exported-function-declarations == -// ##### EXPORTED FUNCTION DECLARATIONS ######################################### - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/.vim/c-support/templates/cpp.cpp.template b/.vim/c-support/templates/cpp.cpp.template deleted file mode 100644 index 7773989..0000000 --- a/.vim/c-support/templates/cpp.cpp.template +++ /dev/null @@ -1,329 +0,0 @@ -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== cpp.method-implementation == -<CURSOR>void -|?CLASSNAME|::|?METHODNAME| ( ) -{ - return ; -} // ----- end of method |CLASSNAME|::|METHODNAME| ----- -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== cpp.class == -// ===================================================================================== -// Class: |?CLASSNAME:c| -// Description: <CURSOR> -// ===================================================================================== -class |CLASSNAME| -{ - public: - - // ==================== LIFECYCLE ======================================= - |CLASSNAME| (); // constructor - - // ==================== OPERATORS ======================================= - - // ==================== OPERATIONS ======================================= - - // ==================== ACCESS ======================================= - - // ==================== INQUIRY ======================================= - - // ==================== DATA MEMBERS ======================================= - protected: - - private: - -}; // ----- end of class |CLASSNAME| ----- - -//-------------------------------------------------------------------------------------- -// Class: |CLASSNAME| -// Method: |CLASSNAME| -// Description: constructor -//-------------------------------------------------------------------------------------- -|CLASSNAME|::|CLASSNAME| () -{ -} // ----- end of method |CLASSNAME|::|CLASSNAME| (constructor) ----- - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== cpp.class-using-new == -// ===================================================================================== -// Class: |?CLASSNAME:c| -// Description: <CURSOR> -// ===================================================================================== -class |CLASSNAME| -{ - public: - - // ==================== LIFECYCLE ======================================= - |CLASSNAME| (); // constructor - |CLASSNAME| ( const |CLASSNAME| &other ); // copy constructor - ~|CLASSNAME| (); // destructor - - // ==================== OPERATORS ======================================= - const |CLASSNAME|& operator = ( const |CLASSNAME| &other ); // assignment operator - - // ==================== OPERATIONS ======================================= - - // ==================== ACCESS ======================================= - - // ==================== INQUIRY ======================================= - - // ==================== DATA MEMBERS ======================================= - protected: - - private: - -}; // ----- end of class |CLASSNAME| ----- - -//-------------------------------------------------------------------------------------- -// Class: |CLASSNAME| -// Method: |CLASSNAME| -// Description: constructor -//-------------------------------------------------------------------------------------- -|CLASSNAME|::|CLASSNAME| () -{ -} // ----- end of method |CLASSNAME|::|CLASSNAME| (constructor) ----- - -//-------------------------------------------------------------------------------------- -// Class: |CLASSNAME| -// Method: |CLASSNAME| -// Description: copy constructor -//-------------------------------------------------------------------------------------- -|CLASSNAME|::|CLASSNAME| ( const |CLASSNAME| &other ) -{ -} // ----- end of method |CLASSNAME|::|CLASSNAME| (copy constructor) ----- - -//-------------------------------------------------------------------------------------- -// Class: |CLASSNAME| -// Method: ~|CLASSNAME| -// Description: destructor -//-------------------------------------------------------------------------------------- -|CLASSNAME|::~|CLASSNAME| () -{ -} // ----- end of method |CLASSNAME|::~|CLASSNAME| (destructor) ----- - -//-------------------------------------------------------------------------------------- -// Class: |CLASSNAME| -// Method: operator = -// Description: assignment operator -//-------------------------------------------------------------------------------------- -const |CLASSNAME|& -|CLASSNAME|::operator = ( const |CLASSNAME| &other ) -{ - if ( this != &other ) { - } - return *this; -} // ----- end of method |CLASSNAME|::operator = (assignment operator) ----- - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== cpp.error-class == -// ===================================================================================== -// Class: |?CLASSNAME:c| -// Description: <CURSOR> -// ===================================================================================== -class |CLASSNAME| -{ - public: |CLASSNAME| ( char *msg ):message(msg) { } - virtual ~|CLASSNAME| ( ) { } - virtual const char* what ( ) const throw ( ) { return message; } - protected: char *message; -}; // ---------- end of class |CLASSNAME| ---------- - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== cpp.template-method-implementation == -template < class T > -void<CURSOR> |?CLASSNAME|<T>::|?METHODNAME| ( ) -{ - return ; -} // ----- end of method |CLASSNAME|<T>::|METHODNAME| ----- -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== cpp.template-class == -// ===================================================================================== -// Class: |?CLASSNAME:c| -// Description: <CURSOR> -// ===================================================================================== - -template < class T > -class |CLASSNAME| -{ - public: - - // ==================== LIFECYCLE ======================================= - |CLASSNAME| (); // constructor - - // ==================== OPERATORS ======================================= - - // ==================== OPERATIONS ======================================= - - // ==================== ACCESS ======================================= - - // ==================== INQUIRY ======================================= - - // ==================== DATA MEMBERS ======================================= - protected: - - private: - -}; // ----- end of template class |CLASSNAME| ----- - -//-------------------------------------------------------------------------------------- -// Class: |CLASSNAME| -// Method: |CLASSNAME| -// Description: constructor -//-------------------------------------------------------------------------------------- -template < class T > -|CLASSNAME| <T>:: |CLASSNAME| () -{ -} // ----- end of constructor of template class |CLASSNAME| ----- - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== cpp.template-class-using-new == -// ===================================================================================== -// Class: |?CLASSNAME:c| -// Description: <CURSOR> -// ===================================================================================== - -template < class T > -class |CLASSNAME| -{ - public: - - // ==================== LIFECYCLE ======================================= - |CLASSNAME| (); // constructor - |CLASSNAME| ( const |CLASSNAME| &other ); // copy constructor - ~|CLASSNAME| (); // destructor - - // ==================== OPERATORS ======================================= - - const |CLASSNAME|& operator = ( const |CLASSNAME| &other ); // assignment operator - - // ==================== OPERATIONS ======================================= - - // ==================== ACCESS ======================================= - - // ==================== INQUIRY ======================================= - - // ==================== DATA MEMBERS ======================================= - protected: - - private: - -}; // ----- end of template class |CLASSNAME| ----- - -//-------------------------------------------------------------------------------------- -// Class: |CLASSNAME| -// Method: |CLASSNAME| -// Description: constructor -//-------------------------------------------------------------------------------------- -template < class T > -|CLASSNAME|<T>::|CLASSNAME| () -{ -} // ----- end of constructor of template class |CLASSNAME| ----- - -//-------------------------------------------------------------------------------------- -// Class: |CLASSNAME| -// Method: |CLASSNAME| -// Description: copy constructor -//-------------------------------------------------------------------------------------- -template < class T > -|CLASSNAME|<T>::|CLASSNAME| ( const |CLASSNAME| &other ) -{ -} // ----- end of copy constructor of template class |CLASSNAME| ----- - -//-------------------------------------------------------------------------------------- -// Class: |CLASSNAME| -// Method: ~|CLASSNAME| -// Description: destructor -//-------------------------------------------------------------------------------------- -template < class T > -|CLASSNAME|<T>::~|CLASSNAME| () -{ -} // ----- end of destructor of template class |CLASSNAME| ----- - -//-------------------------------------------------------------------------------------- -// Class: |CLASSNAME| -// Method: operator = -// Description: assignment operator -//-------------------------------------------------------------------------------------- -template < class T > -const |CLASSNAME|<T>& |CLASSNAME|<T>::operator = ( const |CLASSNAME| &other ) -{ - if ( this != &other ) { - } - return *this; -} // ----- end of assignment operator of template class |CLASSNAME| ----- - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== cpp.template-function == -template <class T> -<CURSOR>void |?TEMPALTE_FUNCTION_NAME| ( T param ) -{ - return ; -} // ----- end of template function |?TEMPALTE_FUNCTION_NAME| ----- -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== cpp.operator-in == -ostream & -operator << ( ostream & os, const |?CLASSNAME| & obj ) -{ - os << obj.<CURSOR> ; - return os; -} // ----- end of function operator << ----- -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== cpp.operator-out == -istream & -operator >> ( istream & is, |?CLASSNAME| & obj ) -{ - is >> obj.<CURSOR> ; - return is; -} // ----- end of function operator >> ----- -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== cpp.try-catch == -try {<CURSOR> -<SPLIT>} -catch ( const &ExceptObj ) { // handle exception: -} -catch (...) { // handle exception: unspezified -} - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== cpp.catch == -catch ( <CURSOR>const &ExceptObj ) { // handle exception: -<SPLIT>} -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== cpp.catch-points == -catch (...) { // handle exception: -<SPLIT>} -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== cpp.extern == -extern "C" {<CURSOR> -<SPLIT>} -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== cpp.open-input-file == -char *ifs_file_name = "<CURSOR>"; // input file name -ifstream ifs; // create ifstream object - -ifs.open (ifs_file_name); // open ifstream -if (!ifs) { - cerr << "\nERROR : failed to open input file " << ifs_file_name << endl; - exit (EXIT_FAILURE); -} - - -ifs.close (); // close ifstream -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== cpp.open-output-file == -char *ofs_file_name = "<CURSOR>"; // output file name -ofstream ofs; // create ofstream object - -ofs.open (ofs_file_name); // open ofstream -if (!ofs) { - cerr << "\nERROR : failed to open output file " << ofs_file_name << endl; - exit (EXIT_FAILURE); -} - - -ofs.close (); // close ofstream -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== cpp.namespace == -namespace |?NAMESPACE| -{<CURSOR> -<SPLIT>} // ----- end of |NAMESPACE| name ----- -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/.vim/c-support/templates/cpp.idioms.template b/.vim/c-support/templates/cpp.idioms.template deleted file mode 100644 index febc375..0000000 --- a/.vim/c-support/templates/cpp.idioms.template +++ /dev/null @@ -1,98 +0,0 @@ -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== idioms.function == -void<CURSOR> -|?FUNCTION_NAME| ( ) -{ -<SPLIT> return ; -} // ----- end of function |FUNCTION_NAME| ----- -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== idioms.function-static == -static void<CURSOR> -|?FUNCTION_NAME| ( ) -{ -<SPLIT> return ; -} // ----- end of static function |FUNCTION_NAME| ----- -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== idioms.main == -int -main ( int argc, char *argv[] ) -{<CURSOR> -<SPLIT> return EXIT_SUCCESS; -} // ---------- end of function main ---------- -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== idioms.enum == -enum |?ENUM_NAME| {<CURSOR> -<SPLIT>}; // ---------- end of enum |ENUM_NAME| ---------- -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== idioms.struct == -struct |?STRUCT_NAME| {<CURSOR> -<SPLIT>}; // ---------- end of struct |STRUCT_NAME| ---------- -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== idioms.union == -union |?UNION_NAME| {<CURSOR> -<SPLIT>}; // ---------- end of union |UNION_NAME| ---------- -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== idioms.calloc == -|?POINTER| = (<CURSOR>TYPE*)calloc ( (size_t)(COUNT), sizeof(TYPE) ); -if ( |POINTER|==NULL ) { - fprintf ( stderr, "\ndynamic memory allocation failed\n" ); - exit (EXIT_FAILURE); -} - -free (|POINTER|); - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== idioms.malloc == -|?POINTER| = (<CURSOR>TYPE*)malloc ( sizeof(TYPE) ); -if ( |POINTER|==NULL ) { - fprintf ( stderr, "\ndynamic memory allocation failed\n" ); - exit (EXIT_FAILURE); -} - -free (|POINTER|); - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== idioms.open-input-file == -FILE *|?FILEPOINTER|; // input-file pointer -char *|FILEPOINTER|_file_name = "<CURSOR>"; // input-file name - -|FILEPOINTER| = fopen( |FILEPOINTER|_file_name, "r" ); -if ( |FILEPOINTER| == NULL ) { - fprintf ( stderr, "couldn't open file '%s'; %s\n", - |FILEPOINTER|_file_name, strerror(errno) ); - exit (EXIT_FAILURE); -} - - -if( fclose(|FILEPOINTER|) == EOF ) { // close input file - fprintf ( stderr, "couldn't close file '%s'; %s\n", - |FILEPOINTER|_file_name, strerror(errno) ); - exit (EXIT_FAILURE); -} - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== idioms.open-output-file == -FILE *|?FILEPOINTER|; // output-file pointer -char *|FILEPOINTER|_file_name = "<CURSOR>"; // output-file name - -|FILEPOINTER| = fopen( |FILEPOINTER|_file_name, "w" ); -if ( |FILEPOINTER| == NULL ) { - fprintf ( stderr, "couldn't open file '%s'; %s\n", - |FILEPOINTER|_file_name, strerror(errno) ); - exit (EXIT_FAILURE); -} - - -if( fclose(|FILEPOINTER|) == EOF ) { // close output file - fprintf ( stderr, "couldn't close file '%s'; %s\n", - |FILEPOINTER|_file_name, strerror(errno) ); - exit (EXIT_FAILURE); -} - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== idioms.fprintf == -fprintf ( |?FILEPOINTER|, "<CURSOR>\n", ); -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== idioms.fscanf == -fscanf ( |?FILEPOINTER|, "<CURSOR>", & ); -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/.vim/c-support/templates/cpp.preprocessor.template b/.vim/c-support/templates/cpp.preprocessor.template deleted file mode 100644 index dbf8abb..0000000 --- a/.vim/c-support/templates/cpp.preprocessor.template +++ /dev/null @@ -1,34 +0,0 @@ -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== preprocessor.define == -#define <CURSOR> // -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== preprocessor.undefine == -#undef <CURSOR> // -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== preprocessor.if-else-endif == -#if |?CONDITION:u| -<CURSOR><SPLIT> -#else // ----- not |CONDITION| ----- - -#endif // ----- not |CONDITION| ----- -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== preprocessor.ifdef-else-endif == -#ifdef |?CONDITION:u| -<CURSOR><SPLIT> -#else // ----- not |CONDITION| ----- - -#endif // ----- not |CONDITION| ----- -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== preprocessor.ifndef-else-endif == -#ifndef |?CONDITION:u| -<CURSOR><SPLIT> -#else // ----- not |CONDITION| ----- - -#endif // ----- not |CONDITION| ----- -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== preprocessor.ifndef-def-endif == -#ifndef |?BASENAME:L|_INC -#define |BASENAME|_INC -<CURSOR><SPLIT> -#endif // ----- #ifndef |BASENAME|_INC ----- -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/.vim/c-support/templates/cpp.statements.template b/.vim/c-support/templates/cpp.statements.template deleted file mode 100644 index 8018334..0000000 --- a/.vim/c-support/templates/cpp.statements.template +++ /dev/null @@ -1,62 +0,0 @@ -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== statements.do-while == -do { -<SPLIT>} while ( <CURSOR> ); // ----- end do-while ----- -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== statements.for == -for ( <CURSOR>; ; ) -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== statements.for-block == -for ( <CURSOR>; ; ) { -<SPLIT>} -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== statements.if == -if ( <CURSOR> ) -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== statements.if-block == -if ( <CURSOR> ) { -<SPLIT>} -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== statements.if-else == -if ( <CURSOR> ) -<SPLIT>else -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== statements.if-block-else == -if ( <CURSOR> ) { -<SPLIT>} else { -} -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== statements.while == -while ( <CURSOR> ) -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== statements.while-block == -while ( <CURSOR> ) { -<SPLIT>} -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== statements.switch == -switch ( <CURSOR> ) { - case : - <SPLIT>break; - - case : - break; - - case : - break; - - case : - break; - - default: - break; -} // ----- end switch ----- -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== statements.case == -case <CURSOR>: -break; - -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -== statements.block == -{<CURSOR> -<SPLIT>} -$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/.vim/c-support/wordlists/c-c++-keywords.list b/.vim/c-support/wordlists/c-c++-keywords.list deleted file mode 100644 index 5a97dd6..0000000 --- a/.vim/c-support/wordlists/c-c++-keywords.list +++ /dev/null @@ -1,209 +0,0 @@ -adjustfield -basefield -boolalpha -floatfield -internal -scientific -setbase -setiosflags -setprecision -showbase -showpoint -showpos -uppercase - -auto -break -case -char -const -continue -default -double -else -enum -extern -float -goto -inline -long -register -restrict -return -short -signed -sizeof -static -struct -switch -typedef -union -unsigned -void -volatile -while -_Bool -_Complex -_Imaginary -EXIT_FAILURE -EXIT_SUCCESS - -bool -catch -class -const_cast -delete -dynamic_cast -explicit -export -false -friend -mutable -namespace -operator -private -protected -public -reinterpret_cast -static_cast -template -this -throw -true -typeid -typename -using -virtual -wchar_t - -and_eq -bitand -bitor -compl -not_eq -or_eq -xor_eq - -define -defined -elif -endif -error -ifdef -ifndef -include -pragma -undef - -exception -bad_alloc -bad_exception -bad_cast -bad_typeid -ios_base::failure -logic_error -domain_error -invalid_argument -length_error -out_of_range -runtime_error -range_error -overflow_error -underflow_error -uncaught_exception - -__DATE__ -__FILE__ -__LINE__ -__STDC__ -__STDC_HOSTED__ -__STDC_IEC_559__ -__STDC_IEC_559_COMPLEX__ -__STDC_ISO_10646__ -__STDC_VERSION__ -__TIME__ -__func__ -__cplusplus - -__BORLANDC__ -__CYGWIN__ -__CYGWIN32__ -__GNUC__ -__WIN32__ -__WINDOWS__ - -assert -ctype -errno -float -limits -locale -math -setjmp -signal -stdarg -stddef -stdio -stdlib -string -time - -complex -fenv -inttypes -iso646 -stdbool -stdint -tgmath -wchar -wctype - -algorithm -bitset -complex -deque -exception -fstream -functional -iomanip -ios -iosfwd -iostream -istream -iterator -limits -list -locale - -map -memory -new -numeric -ostream -queue -set -sstream -stack -stdexcept -streambuf -string -typeinfo -utility -valarray -vector - -cassert -cctype -cerrno -cfloat -climits -clocale -cmath -csetjmp -csignal -cstdarg -cstddef -cstdio -cstdlib -cstring -ctime diff --git a/.vim/c-support/wordlists/k+r.list b/.vim/c-support/wordlists/k+r.list deleted file mode 100644 index 805756a..0000000 --- a/.vim/c-support/wordlists/k+r.list +++ /dev/null @@ -1,108 +0,0 @@ -address -allocator -allocation -argument -arithmetic -array -assignement -bitwise -block -character -command -condition -conditional -constant -conversion -declaration -decrement -defined -definition -descriptor -description -dimension -evaluation -expression -external -format -formatted -function -global -handling -identifier -implementation -increment -initialization -input -interface -label -lexical -local -logical -lookup -loop -lvalue -miscellaneous -notation -numerical -operator -operation -output -pointer -precedence -preprocessor -preprocessing -program -random -recursion -recursive -reference -referential -relational -scope -standard -statement -string -structure -system -undefined -variable - -abstract -algorithm -alignment -application -assignment -asynchronous -binary -buffer -component -constructor -container -destructor -difference -enumeration -exception -floating-point -horizontal -inheritance -instantiation -integer -internal -invariant -iterator -localization -overflow -overload -override -overwrite -polymorphic -portability -position -postcondition -precision -precondition -prototype -subscript -underflow -vertical -whitespace diff --git a/.vim/c-support/wordlists/stl_index.list b/.vim/c-support/wordlists/stl_index.list deleted file mode 100644 index b5d98a3..0000000 --- a/.vim/c-support/wordlists/stl_index.list +++ /dev/null @@ -1,202 +0,0 @@ -accumulate -adjacent_difference -adjacent_find -advance -append -assign -auto_ptr -back -back_inserter -basic_string -bidirectional_iterator -bidirectional_iterator_tag -binary_compose -binary_function -binary_negate -binary_search -bind1st -bind2nd -bit_vector -bitset -capacity -char_producer -char_traits -char_type -compare -construct -copy -copy_backward -copy_n -count -count_if -deque -destroy -distance -distance_type -divides -equal -equal_range -equal_to -erase -fill -fill_n -find -find_end -find_first_not_of -find_first_of -find_if -find_last_not_of -find_last_of -for_each -forward_iterator -forward_iterator_tag -front -front_inserter -generate -generate_n -get_temporary_buffer -greater -greater_equal -hash -hash_map -hash_multimap -hash_multiset -hash_set -identity -includes -inner_product -inplace_merge -input_iterator -input_iterator_tag -insert -insert_iterator -inserter -int_type -iota -is_heap -is_sorted -istream_iterator -istream_type -istreambuf_iterator -iter_swap -iterator_category -iterator_traits -less -less_equal -lexicographical_compare -lexicographical_compare_3way -list -logical_and -logical_not -logical_or -lower_bound -make_heap -make_pair -map -max -max_element -mem_fun1_ref_t -mem_fun1_t -mem_fun_ref_t -mem_fun_t -merge -min -min_element -minus -mismatch -modulus -multimap -multiplies -multiset -negate -next_permutation -not_equal_to -nth_element -operator -ostream_iterator -ostreambuf_iterator -output_iterator -output_iterator_tag -pair -partial_sort -partial_sort_copy -partial_sum -partition -plus -pointer_to_binary_function -pointer_to_unary_function -pop_back -pop_front -pop_heap -power -prev_permutation -priority_queue -project1st -project2nd -ptr_fun -push_back -push_front -push_heap -queue -random_access_iterator -random_access_iterator_tag -random_sample -random_sample_n -random_shuffle -raw_storage_iterator -release -remove -remove_copy -remove_copy_if -remove_if -replace -replace_copy -replace_copy_if -replace_if -reset -resize -return_temporary_buffer -reverse -reverse_bidirectional_iterator -reverse_copy -reverse_iterator -rfind -rope -rotate -rotate_copy -search -search_n -select1st -select2nd -sequence_buffer -set -set_difference -set_intersection -set_symmetric_difference -set_union -slist -sort -sort_heap -stable_partition -stable_sort -stack -streambuf_type -substr -subtractive_rng -swap -swap_ranges -temporary_buffer -transform -unary_compose -unary_function -unary_negate -uninitialized_copy -uninitialized_copy_n -uninitialized_fill -uninitialized_fill_n -unique -unique_copy -upper_bound -value_comp -value_type -vector diff --git a/.vim/colors/adam.vim b/.vim/colors/adam.vim deleted file mode 100644 index 748ca7f..0000000 --- a/.vim/colors/adam.vim +++ /dev/null @@ -1,48 +0,0 @@ -" local syntax file - set colors on a per-machine basis: -" vim: tw=0 ts=4 sw=4 -" Vim color file -" -" Based on an original vim color file by -" Ron Aaron <ron@mossbayeng.com> (2001 Jul 28) -" -" Maintainer: Adam Krouskop -" Last Change: 2003 Jul 3 - - -set background=light -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name = "adam" -hi Normal guifg=#008844 guibg=#002244 -hi NonText guifg=brown -hi comment guifg=#D80033 -hi constant guifg=#CCCCCC -hi identifier guifg=#0033FF gui=NONE -hi statement guifg=white gui=NONE -hi preproc guifg=#009999 -hi type guifg=#0033FF gui=NONE -hi special guifg=#FFFF00 gui=NONE -hi ErrorMsg guifg=Black guibg=Red -hi WarningMsg guifg=Black guibg=Green -hi Error guibg=Red -hi Todo guifg=Black guibg=orange -hi Cursor guibg=#ffffff guifg=#cac2ff -hi Search guibg=#103F5F gui=bold -hi IncSearch gui=bold guibg=#285f7f -hi LineNr guifg=darkgrey -hi title guifg=darkgrey -hi StatusLineNC gui=NONE guifg=lightblue guibg=darkblue -hi StatusLine gui=bold guifg=cyan guibg=blue -hi label guifg=gold2 -hi operator guifg=orange -hi clear Visual -hi Visual term=reverse cterm=reverse gui=reverse -hi DiffChange guibg=darkgreen -hi DiffText guibg=olivedrab -hi DiffAdd guibg=slateblue -hi DiffDelete guibg=coral -hi Folded guibg=gray30 -hi FoldColumn guibg=gray30 guifg=white -hi cIf0 guifg=gray diff --git a/.vim/colors/adaryn.vim b/.vim/colors/adaryn.vim deleted file mode 100644 index 1b17f22..0000000 --- a/.vim/colors/adaryn.vim +++ /dev/null @@ -1,72 +0,0 @@ -" Vim color file -" Maintainer: Glenn T. Norton <gtnorton@adaryn.com> -" Last Change: 2003-04-11 - -" adaryn - A color scheme named after my daughter, Adaryn. (A-da-rin) -" I like deep, sharp colors and this scheme is inspired by -" Bohdan Vlasyuk's darkblue. -" The cterm background is black since the dark blue was just too light. -" Also the cterm colors are very close to an old Borland C++ color setup. - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif - -let colors_name = "adaryn" - -hi Normal guifg=#fffff0 guibg=#00003F ctermfg=white ctermbg=Black -hi ErrorMsg guifg=#ffffff guibg=#287eff ctermfg=white ctermbg=red -hi Visual guifg=#8080ff guibg=fg gui=reverse ctermfg=blue ctermbg=fg cterm=reverse - -hi VisualNOS guifg=#8080ff guibg=fg gui=reverse,underline ctermfg=lightblue ctermbg=fg cterm=reverse,underline - -hi Todo guifg=#d14a14 guibg=#1248d1 ctermfg=red ctermbg=darkblue - -hi Search guifg=#90fff0 guibg=#2050d0 ctermfg=white ctermbg=darkblue cterm=underline term=underline - -hi IncSearch guifg=#b0ffff guibg=#2050d0 ctermfg=darkblue ctermbg=gray - -hi SpecialKey guifg=cyan ctermfg=darkcyan -hi Directory guifg=cyan ctermfg=cyan -hi Title guifg=#BDD094 gui=none ctermfg=magenta cterm=bold -hi WarningMsg guifg=red ctermfg=red -hi WildMenu guifg=yellow guibg=black ctermfg=yellow ctermbg=black cterm=none term=none -hi ModeMsg guifg=#22cce2 ctermfg=lightblue -hi MoreMsg ctermfg=darkgreen ctermfg=darkgreen -hi Question guifg=green gui=none ctermfg=green cterm=none -hi NonText guifg=#0030ff ctermfg=darkblue - -hi StatusLine guifg=blue guibg=darkgray gui=none ctermfg=blue ctermbg=gray term=none cterm=none - -hi StatusLineNC guifg=black guibg=darkgray gui=none ctermfg=black ctermbg=gray term=none cterm=none - -hi VertSplit guifg=black guibg=darkgray gui=none ctermfg=black ctermbg=gray term=none cterm=none - -hi Folded guifg=#808080 guibg=#000040 ctermfg=darkgrey ctermbg=black cterm=bold term=bold - -hi FoldColumn guifg=#808080 guibg=#000040 ctermfg=darkgrey ctermbg=black cterm=bold term=bold - -hi LineNr guifg=#90f020 ctermfg=green cterm=none - -hi DiffAdd guibg=darkblue ctermbg=darkblue term=none cterm=none -hi DiffChange guibg=darkmagenta ctermbg=magenta cterm=none -hi DiffDelete ctermfg=blue ctermbg=cyan gui=bold guifg=Blue guibg=DarkCyan -hi DiffText cterm=bold ctermbg=red gui=bold guibg=Red - -hi Cursor guifg=#000020 guibg=#ffaf38 ctermfg=bg ctermbg=brown -hi lCursor guifg=#ffffff guibg=#000000 ctermfg=bg ctermbg=darkgreen - - -hi Comment guifg=yellow ctermfg=Yellow -hi Constant ctermfg=green guifg=green cterm=none -hi Special ctermfg=White guifg=#FFFFFF cterm=none gui=none -hi Identifier ctermfg=DarkRed guifg=#BDD094 cterm=none -hi Statement ctermfg=LightCyan cterm=none guifg=#A9A900 gui=none -hi PreProc ctermfg=DarkRed guifg=#ffffff gui=none cterm=none -hi type ctermfg=LightCyan guifg=LightBlue gui=none cterm=none -hi Underlined cterm=underline term=underline -hi Ignore guifg=bg ctermfg=bg - - diff --git a/.vim/colors/adrian.vim b/.vim/colors/adrian.vim deleted file mode 100644 index ba830cd..0000000 --- a/.vim/colors/adrian.vim +++ /dev/null @@ -1,97 +0,0 @@ -" Vim colorscheme file -" Maintainer: Adrian Nagle <vim@naglenet.org> -" Last Change: 2001-09-25 07:48:15 Mountain Daylight Time -" URL: http://www.naglenet.org/vim/syntax/adrian.vim -" MAIN URL: http://www.naglenet.org/vim - -" This is my custom syntax file to override the defaults provided with Vim. -" This file should be located in $HOME/vimfiles/colors. - -" This file should automatically be sourced by $RUNTIMEPATH. - -" NOTE(S): -" *(1) -" The color definitions assumes and is intended for a black or dark -" background. - -" *(2) -" This file is specifically in Unix style EOL format so that I can simply -" copy this file between Windows and Unix systems. VIM can source files in -" with the UNIX EOL format (only <NL> instead of <CR><NR> for DOS) in any -" operating system if the 'fileformats' is not empty and there is no <CR> -" just before the <NL> on the first line. See ':help :source_crnl' and -" ':help fileformats'. -" -" *(3) -" Move this file to adrian.vim for vim6.0aw. -" - - - -hi clear -set background=dark -if exists("syntax_on") - syntax reset -endif -let g:colors_name = "adrian" - -" Normal is for the normal (unhighlighted) text and background. -" NonText is below the last line (~ lines). -highlight Normal guibg=Black guifg=Green -highlight Cursor guibg=Grey70 guifg=White -highlight NonText guibg=Grey80 -highlight StatusLine gui=bold guibg=DarkGrey guifg=Orange -highlight StatusLineNC guibg=DarkGrey guifg=Orange - -highlight Comment term=bold ctermfg=LightGrey guifg=#d1ddff -highlight Constant term=underline ctermfg=White guifg=#ffa0a0 -"highlight Number term=underline ctermfg=Yellow guifg=Yellow -highlight Identifier term=underline ctermfg=Cyan guifg=#40ffff -highlight Statement term=bold ctermfg=Yellow gui=bold guifg=#ffff60 -highlight PreProc term=underline ctermfg=Blue guifg=#ff4500 -highlight Type term=underline ctermfg=DarkGrey gui=bold guifg=#7d96ff -highlight Special term=bold ctermfg=Magenta guifg=Orange -highlight Ignore ctermfg=black guifg=bg -highlight Error ctermfg=White ctermbg=Red guifg=White guibg=Red -highlight Todo ctermfg=Blue ctermbg=Yellow guifg=Blue guibg=Yellow - -" Change the highlight of search matches (for use with :set hls). -highlight Search ctermfg=Black ctermbg=Yellow guifg=Black guibg=Yellow - -" Change the highlight of visual highlight. -highlight Visual cterm=NONE ctermfg=Black ctermbg=LightGrey gui=NONE guifg=Black guibg=Grey70 - -highlight Float ctermfg=Blue guifg=#88AAEE -highlight Exception ctermfg=Red ctermbg=White guifg=Red guibg=White -highlight Typedef ctermfg=White ctermbg=Blue gui=bold guifg=White guibg=Blue -highlight SpecialChar ctermfg=Black ctermbg=White guifg=Black guibg=White -highlight Delimiter ctermfg=White ctermbg=Black guifg=White guibg=Black -highlight SpecialComment ctermfg=Black ctermbg=Green guifg=Black guibg=Green - -" Common groups that link to default highlighting. -" You can specify other highlighting easily. -highlight link String Constant -highlight link Character Constant -highlight link Number Constant -highlight link Boolean Statement -"highlight link Float Number -highlight link Function Identifier -highlight link Conditional Type -highlight link Repeat Type -highlight link Label Type -highlight link Operator Type -highlight link Keyword Type -"highlight link Exception Type -highlight link Include PreProc -highlight link Define PreProc -highlight link Macro PreProc -highlight link PreCondit PreProc -highlight link StorageClass Type -highlight link Structure Type -"highlight link Typedef Type -"highlight link SpecialChar Special -highlight link Tag Special -"highlight link Delimiter Special -"highlight link SpecialComment Special -highlight link Debug Special - diff --git a/.vim/colors/af.vim b/.vim/colors/af.vim deleted file mode 100644 index d85e7d3..0000000 --- a/.vim/colors/af.vim +++ /dev/null @@ -1,99 +0,0 @@ -" Vim color file -" Maintainer: Stanislav Lechev [AngelFire] <af@mis.bg> -" Last Change: 2004/03/31 -" URL: http://af.mis.bg/vim/af.vim -" ICQ: 2924004 -" Info: based on desert and a little bit of gothic -" Version: 1.1 - -set background=dark -if version > 580 - hi clear - if exists("syntax_on") - syntax reset - endif -endif -let g:colors_name="af" - -hi User1 guibg=darkblue guifg=yellow -hi User2 guibg=darkblue guifg=lightblue -hi User3 guibg=darkblue guifg=red -hi User4 guibg=darkblue guifg=cyan -hi User5 guibg=darkblue guifg=lightgreen -set statusline=%<%1*===\ %5*%f%1*%(\ ===\ %4*%h%1*%)%(\ ===\ %4*%m%1*%)%(\ ===\ %4*%r%1*%)\ ===%====\ %2*%b(0x%B)%1*\ ===\ %3*%l,%c%V%1*\ ===\ %5*%P%1*\ ===%0* laststatus=2 - - -hi Normal guifg=#dfdfdf guibg=#000000 -"hi Normal guifg=#87dee0 guibg=#000000 -"hi Normal guifg=#98fb98 guibg=#000000 -hi Cursor guibg=khaki guifg=slategrey -hi Comment guifg=#808080 -"hi Identifier guifg=#98FB98 -hi Identifier guifg=#87def0 -hi Constant guifg=#FF99FF -"hi String guifg=#87cee0 -hi String guifg=lightred -hi Character guifg=#87cee0 -hi Statement guifg=khaki -hi PreProc guifg=red -"hi Type guifg=#a0a0ff gui=none -hi Type guifg=lightgreen gui=none -hi Todo guifg=orangered guibg=yellow2 -hi Special guifg=Orange -hi Visual guifg=SkyBlue guibg=grey60 gui=none -hi IncSearch guifg=#ffff60 guibg=#0000ff gui=none -hi Search guifg=khaki guibg=slategrey gui=none -hi Ignore guifg=grey40 - -hi VertSplit guibg=#c2bfa5 guifg=grey50 gui=none -hi Folded guibg=grey30 guifg=gold -hi FoldColumn guibg=grey30 guifg=tan -hi ModeMsg guifg=goldenrod -hi MoreMsg guifg=SeaGreen -hi NonText guifg=LightBlue guibg=#000000 -hi Question guifg=springgreen -hi SpecialKey guifg=yellowgreen -hi StatusLineNC guibg=#c2bfa5 guifg=grey50 gui=none -hi Title guifg=indianred -hi WarningMsg guifg=salmon - - -" these are from desert ... i didn't change it -" color terminal definitions -hi SpecialKey ctermfg=darkgreen -hi NonText cterm=bold ctermfg=darkblue -hi Directory ctermfg=darkcyan -hi ErrorMsg cterm=bold ctermfg=7 ctermbg=1 -hi IncSearch cterm=NONE ctermfg=yellow ctermbg=green -hi Search cterm=NONE ctermfg=grey ctermbg=blue -hi MoreMsg ctermfg=darkgreen -hi ModeMsg cterm=NONE ctermfg=brown -hi LineNr ctermfg=3 -hi Question ctermfg=green -hi StatusLine cterm=bold,reverse -hi StatusLineNC cterm=reverse -hi VertSplit cterm=reverse -hi Title ctermfg=5 -hi Visual cterm=reverse -hi VisualNOS cterm=bold,underline -hi WarningMsg ctermfg=1 -hi WildMenu ctermfg=0 ctermbg=3 -hi Folded ctermfg=darkgrey ctermbg=NONE -hi FoldColumn ctermfg=darkgrey ctermbg=NONE -hi DiffAdd ctermbg=4 -hi DiffChange ctermbg=5 -hi DiffDelete cterm=bold ctermfg=4 ctermbg=6 -hi DiffText cterm=bold ctermbg=1 -hi Comment ctermfg=darkcyan -hi Constant ctermfg=brown -hi Special ctermfg=5 -hi Identifier ctermfg=6 -hi Statement ctermfg=3 -hi PreProc ctermfg=5 -hi Type ctermfg=2 -hi Underlined cterm=underline ctermfg=5 -hi Ignore cterm=bold ctermfg=7 -hi Error cterm=bold ctermfg=7 ctermbg=1 - - -"vim: sw=4 diff --git a/.vim/colors/aiseered.vim b/.vim/colors/aiseered.vim deleted file mode 100644 index 7e71108..0000000 --- a/.vim/colors/aiseered.vim +++ /dev/null @@ -1,37 +0,0 @@ -" gVim color file for working with files in GDL/VCG format. -" Works nice in conjunction with gdl.vim -" (see www.vim.org or www.aisee.com) -" Works fine for C/C++, too. - -" Author : Alexander A. Evstyugov-Babaev <alex@absint.com> -" Version: 0.2 for gVim/Linux, -" tested with gVim 6.3.25 under Ubuntu Linux (Warty) -" by Jo Vermeulen <jo@lumumba.luc.ac.be> -" Date : January 25th 2005 - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif - -let g:colors_name="aiseered" - -hi Normal guifg=lightred guibg=#600000 -hi Cursor guifg=bg guibg=fg -hi ErrorMsg guibg=red ctermfg=1 -hi Search term=reverse ctermfg=darkred ctermbg=lightred guibg=lightred guifg=#060000 - -hi Comment guifg=#ffffff -hi Constant guifg=#88ddee -hi String guifg=#ffcc88 -hi Character guifg=#ffaa00 -hi Number guifg=#88ddee -hi Identifier guifg=#cfcfcf -hi Statement guifg=#eeff99 gui=bold -hi PreProc guifg=firebrick1 gui=italic -hi Type guifg=#88ffaa gui=none -hi Special guifg=#ffaa00 -hi SpecialChar guifg=#ffaa00 -hi StorageClass guifg=#ddaacc -hi Error guifg=red guibg=white diff --git a/.vim/colors/aqua.vim b/.vim/colors/aqua.vim deleted file mode 100644 index 483b6ac..0000000 --- a/.vim/colors/aqua.vim +++ /dev/null @@ -1,44 +0,0 @@ -" Vim color file -" Maintainer: tranquility@portugalmail.pt -" Last Change: 6 Apr 2002 - - -" cool help screens -" :he group-name -" :he highlight-groups -" :he cterm-colors - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name="aqua" - -hi Normal guibg=steelblue guifg=linen -hi Cursor guibg=lightblue3 guifg=black gui=bold -hi VertSplit guifg=white guibg=navyblue gui=none -hi Folded guibg=darkblue guifg=white -hi FoldColumn guibg=lightgray guifg=navyblue -hi ModeMsg guifg=black guibg=steelblue1 -hi MoreMsg guifg=black guibg=steelblue1 -hi NonText guifg=white guibg=steelblue4 gui=none -hi Question guifg=snow -hi Search guibg=#FFFFFF guifg=midnightblue gui=bold -hi SpecialKey guifg=navyblue -hi StatusLine guibg=skyblue3 guifg=black gui=none -hi StatusLineNC guibg=skyblue1 guifg=black gui=none -hi Title guifg=bisque3 -hi Subtitle guifg=black -hi Visual guifg=white guibg=royalblue4 gui=none -hi WarningMsg guifg=salmon4 guibg=gray60 gui=bold -hi Comment guifg=lightskyblue -hi Constant guifg=turquoise gui=bold -hi Identifier guifg=lightcyan -hi Statement guifg=royalblue4 -hi PreProc guifg=black gui=bold -hi Type guifg=lightgreen -hi Special guifg=navajowhite -hi Ignore guifg=grey29 -hi Todo guibg=black guifg=white -hi WildMenu guibg=aquamarine diff --git a/.vim/colors/astronaut.vim b/.vim/colors/astronaut.vim deleted file mode 100644 index ae1dbf2..0000000 --- a/.vim/colors/astronaut.vim +++ /dev/null @@ -1,160 +0,0 @@ -" astronaut.vim: a colorscheme -" Maintainer: Charles E. Campbell, Jr. <charles.e.campbell.1@gsfc.nasa.gov> -" Date: Sep 01, 2004 -" Version: 6 NOT RELEASED -" -" Usage: -" Put into your <.vimrc> file: -" color astronaut -" -" Optional Modifiers: -" let g:astronaut_bold=1 : term, cterm, and gui receive bold modifier -" let g:astronaut_dark=1 : dark colors used (otherwise some terminals -" make everything bold, which can be all one -" color) -" let g:astronaut_underline=1 : assume that underlining works on your terminal -" let g:astronaut_italic=1 : allows italic to be used in gui -" Examples: -" iris : let astronaut_dark=1 -" Linux xterm: no modifiers needed -" -" GetLatestVimScripts: 122 1 :AutoInstall: astronaut.vim - -set background=dark -hi clear -if exists( "syntax_on" ) - syntax reset -endif -let g:colors_name = "astronaut" -let g:loaded_astronaut = "v6" - -" --------------------------------------------------------------------- -" Default option values -if !exists("g:astronaut_bold") - " on some machines, notably SGIs, a bold qualifier means everything is - " one color (SGIs: yellow) - let g:astronaut_bold= 0 -endif -if !exists("g:astronaut_dark") - " this option, if true, means darkcolor (ex. darkred, darkmagenta, etc) - " is understood and wanted - let g:astronaut_dark= 0 -endif -if !exists("g:astronaut_underline") - let g:astronaut_underline= 1 -endif -if !exists("g:astronaut_italic") - let g:astronaut_italic= 0 -endif - -" --------------------------------------------------------------------- -" Settings based on options -if g:astronaut_bold != 0 - let s:usebold=",bold" -else - let s:usebold="" -endif - -if g:astronaut_italic != 0 - " only affects Alt* in gvim - let s:useitalic= ",italic" -else - let s:useitalic= "" -endif - -if g:astronaut_dark != 0 - let s:black = "black" - let s:red = "darkred" - let s:green = "darkgreen" - let s:yellow = "darkyellow" - let s:blue = "darkblue" - let s:magenta = "darkmagenta" - let s:cyan = "darkcyan" - let s:white = "white" -else - let s:black = "black" - let s:red = "red" - let s:green = "green" - let s:yellow = "yellow" - let s:blue = "blue" - let s:magenta = "magenta" - let s:cyan = "cyan" - let s:white = "white" -endif - -if g:astronaut_underline != 0 - let s:underline= ",underline" - let s:ulbg = "" -else - let s:underline= "none" - if exists("g:astronaut_dark") - let s:ulbg = "ctermbg=darkmagenta guibg=magenta4" - else - let s:ulbg = "ctermbg=magenta guibg=magenta" - endif -endif - -" --------------------------------------------------------------------- -exe "hi Blue start=[m[34m stop=[m[32m ctermfg=".s:blue." guifg=blue guibg=navyblue term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi Comment start=[m[37m stop=[m[32m ctermfg=".s:white." guifg=white term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi Conceal ctermfg=".s:blue." ctermbg=".s:black." guifg=Blue guibg=Black term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi Constant start=[m[33m stop=[m[32m ctermfg=".s:yellow." guifg=yellow guibg=navyblue term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi Cursor guifg=blue guibg=green term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi Cyan start=[m[36m stop=[m[32m ctermfg=".s:cyan." guifg=cyan guibg=navyblue term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi Debug start=[m[31m stop=[m[32m ctermfg=".s:red." guifg=magenta guibg=navyblue term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi Delimiter start=[m[37m stop=[m[32m ctermfg=".s:white." guifg=white guibg=navyblue term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi DiffAdd ctermfg=".s:white." ctermbg=".s:magenta." guifg=White guibg=Magenta term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi DiffChange ctermfg=".s:black." ctermbg=".s:green." guifg=Black guibg=Green term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi DiffDelete ctermfg=".s:white." ctermbg=".s:blue." guifg=White guibg=Blue term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi DiffText ctermfg=".s:white." ctermbg=".s:red." guifg=White guibg=Red term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi Directory start=[m[37m stop=[m[32m ctermfg=".s:white." guifg=white term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi Error start=[m[37;41m stop=[m[32m ctermfg=".s:white." ctermbg=".s:red." guifg=white guibg=red term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi ErrorMsg ctermfg=".s:white." ctermbg=".s:red." guifg=White guibg=Red term=standout".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi FoldColumn start=[m[36;40m stop=[m[32m ctermfg=".s:cyan." ctermbg=".s:black." guifg=Cyan guibg=Brown term=standout".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi Folded start=[m[35;40m stop=[m[32m ctermfg=".s:magenta." ctermbg=".s:black." guifg=magenta guibg=black term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi Function start=[m[36m stop=[m[32m ctermfg=".s:cyan." guifg=cyan guibg=navyblue term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi Green start=[m[32m stop=[m[32m ctermfg=".s:green." guifg=green guibg=navyblue term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi Identifier start=[m[45m stop=[m[32m ctermfg=".s:magenta." guifg=magenta guibg=navyblue term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi Ignore ctermfg=".s:black ." guifg=bg term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi IncSearch start=[m[30;42m stop=[m[32m ctermfg=".s:black ." ctermbg=".s:green." guifg=black guibg=green term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi LineNr ctermfg=".s:yellow." ".s:ulbg." guifg=Yellow term=none".s:underline.s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi Magenta start=[m[35m stop=[m[32m ctermfg=".s:magenta." guifg=magenta guibg=navyblue term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi Menu guifg=black guibg=gray75 term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi ModeMsg ctermfg=".s:green." guifg=SeaGreen term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi MoreMsg ctermfg=".s:green." guifg=SeaGreen term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi NonText ctermfg=".s:blue." guifg=Blue term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi Normal start=[m[32m stop=[m[32m ctermfg=".s:green." guifg=green guibg=navyblue term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi PreProc start=[m[37;44m stop=[m[32m ctermfg=".s:white." ctermbg=".s:blue." guifg=white guibg=blue3 term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi Question start=[m[33m stop=[m[32m ctermfg=".s:yellow." guifg=yellow term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi Red start=[m[31m stop=[m[32m ctermfg=".s:red." guifg=red guibg=navyblue term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi Scrollbar guifg=gray80 guibg=gray70 term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi Search start=[m[33;44m stop=[m[32m ctermfg=".s:yellow." ctermbg=".s:blue." guifg=yellow guibg=blue term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi Special start=[m[32;44m stop=[m[32m ctermfg=".s:green." ctermbg=".s:blue." guifg=green guibg=blue term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi SpecialKey start=[m[30;45m stop=[m[32m ctermfg=".s:black." ctermbg=".s:magenta." guifg=black guibg=magenta term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi Statement start=[m[36m stop=[m[32m ctermfg=".s:cyan." guifg=cyan guibg=navyblue term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi StatusLine start=[m[30;46m stop=[m[32m ctermfg=".s:black." ctermbg=".s:cyan." guifg=black guibg=cyan term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi StatusLineNC start=[m[30;42m stop=[m[32m ctermfg=".s:black." ctermbg=".s:green." guifg=black guibg=green term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi String start=[m[33m stop=[m[32m ctermfg=".s:yellow." guifg=yellow guibg=navyblue term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi Subtitle start=[m[35m stop=[m[32m ctermfg=".s:magenta." guifg=magenta guibg=navyblue term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi Tags start=[m[33;44m stop=[m[32m ctermfg=".s:yellow." ctermbg=".s:blue." guifg=yellow guibg=blue3 term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi Title start=[m[37m stop=[m[32m ctermfg=".s:white." guifg=white term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi Todo start=[m[37;45m stop=[m[32m ctermfg=".s:white." ctermbg=".s:magenta." guifg=white guibg=magenta term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi Type start=[m[4;32m stop=[m[32m ctermfg=".s:green." ".s:ulbg." guifg=seagreen1 term=none".s:underline.s:usebold." cterm=none".s:usebold.s:underline." gui=none".s:usebold.s:underline -exe "hi Underlined ctermfg=".s:green." ".s:ulbg." guifg=green term=none".s:underline.s:usebold." cterm=none".s:usebold.s:underline." gui=none".s:usebold.s:underline -exe "hi Unique start=[m[34;47m stop=[m[32m ctermfg=".s:blue." ctermbg=".s:white." guifg=blue3 guibg=white term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi AltUnique start=[m[35;47m stop=[m[32m ctermfg=".s:magenta." ctermbg=".s:white." guifg=magenta guibg=white term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi AltAltUnique start=[m[30;47m stop=[m[32m ctermfg=".s:black." ctermbg=".s:white." guifg=black guibg=white term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi VertSplit start=[m[30;42m stop=[m[32m ctermfg=".s:black." ctermbg=".s:green." guifg=black guibg=green term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi Visual start=[m[40;32m stop=[m[32m ctermfg=black ctermbg=green guifg=Grey guibg=fg term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi VisualNOS ".s:ulbg." term=none".s:underline.s:usebold." cterm=none".s:usebold.s:underline." gui=none".s:usebold.s:underline -exe "hi WarningMsg start=[m[30;43m stop=[m[32m ctermfg=".s:black." ctermbg=".s:yellow." guifg=black guibg=yellow term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi White start=[m[37m stop=[m[32m ctermfg=".s:white." guifg=white guibg=navyblue term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi WildMenu ctermfg=".s:black." ctermbg=".s:yellow." guifg=Black guibg=Yellow term=standout".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi Yellow start=[m[33m stop=[m[32m ctermfg=".s:yellow." guifg=yellow guibg=navyblue term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi lCursor guifg=bg guibg=fg term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold -exe "hi AltConstant start=[m[33;40m stop=[m[32m ctermfg=".s:yellow." ctermbg=".s:black." guifg=yellow guibg=black term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold.s:useitalic -exe "hi AltFunction start=[m[32;40m stop=[m[32m ctermfg=".s:green." ctermbg=".s:black." guifg=green guibg=black term=none".s:usebold." cterm=none".s:usebold." gui=none".s:usebold.s:useitalic -exe "hi AltType start=[m[4;32;40m stop=[m[32m ctermfg=".s:green." ctermbg=".s:black." guifg=seagreen1 guibg=black term=none".s:underline.s:usebold." cterm=none".s:usebold.s:underline." gui=none".s:usebold.s:underline.s:useitalic -exe "hi User1 ctermfg=".s:white." ctermbg=".s:blue." guifg=white guibg=blue" -exe "hi User2 ctermfg=".s:yellow." ctermbg=".s:blue." guifg=yellow guibg=blue" -" vim: nowrap diff --git a/.vim/colors/asu1dark.vim b/.vim/colors/asu1dark.vim deleted file mode 100644 index ce5f90f..0000000 --- a/.vim/colors/asu1dark.vim +++ /dev/null @@ -1,59 +0,0 @@ -" Vim color file -" Maintainer: A. Sinan Unur -" Last Change: 2001/10/04 - -" Dark color scheme - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name="asu1dark" - -" Console Color Scheme -hi Normal term=NONE cterm=NONE ctermfg=LightGray ctermbg=Black -hi NonText term=NONE cterm=NONE ctermfg=Brown ctermbg=Black -hi Function term=NONE cterm=NONE ctermfg=DarkCyan ctermbg=Black -hi Statement term=BOLD cterm=BOLD ctermfg=DarkBlue ctermbg=Black -hi Special term=NONE cterm=NONE ctermfg=DarkGreen ctermbg=Black -hi SpecialChar term=NONE cterm=NONE ctermfg=Cyan ctermbg=Black -hi Constant term=NONE cterm=NONE ctermfg=Blue ctermbg=Black -hi Comment term=NONE cterm=NONE ctermfg=DarkGray ctermbg=Black -hi Preproc term=NONE cterm=NONE ctermfg=DarkGreen ctermbg=Black -hi Type term=NONE cterm=NONE ctermfg=DarkMagenta ctermbg=Black -hi Identifier term=NONE cterm=NONE ctermfg=Cyan ctermbg=Black -hi StatusLine term=BOLD cterm=NONE ctermfg=Yellow ctermbg=DarkBlue -hi StatusLineNC term=NONE cterm=NONE ctermfg=Black ctermbg=Gray -hi Visual term=NONE cterm=NONE ctermfg=White ctermbg=DarkCyan -hi Search term=NONE cterm=NONE ctermbg=Yellow ctermfg=DarkBlue -hi VertSplit term=NONE cterm=NONE ctermfg=Black ctermbg=Gray -hi Directory term=NONE cterm=NONE ctermfg=Green ctermbg=Black -hi WarningMsg term=NONE cterm=NONE ctermfg=Blue ctermbg=Yellow -hi Error term=NONE cterm=NONE ctermfg=DarkRed ctermbg=Gray -hi Cursor ctermfg=Black ctermbg=Cyan -hi LineNr term=NONE cterm=NONE ctermfg=Red ctermbg=Black - -" GUI Color Scheme -hi Normal gui=NONE guifg=White guibg=#110022 -hi NonText gui=NONE guifg=#ff9999 guibg=#444444 -hi Function gui=NONE guifg=#7788ff guibg=#110022 -hi Statement gui=BOLD guifg=Yellow guibg=#110022 -hi Special gui=NONE guifg=Cyan guibg=#110022 -hi Constant gui=NONE guifg=#ff9900 guibg=#110022 -hi Comment gui=NONE guifg=#99cc99 guibg=#110022 -hi Preproc gui=NONE guifg=#33ff66 guibg=#110022 -hi Type gui=NONE guifg=#ff5577 guibg=#110022 -hi Identifier gui=NONE guifg=Cyan guibg=#110022 -hi StatusLine gui=BOLD guifg=White guibg=#336600 -hi StatusLineNC gui=NONE guifg=Black guibg=#cccccc -hi Visual gui=NONE guifg=White guibg=#00aa33 -hi Search gui=BOLD guibg=Yellow guifg=DarkBlue -hi VertSplit gui=NONE guifg=White guibg=#666666 -hi Directory gui=NONE guifg=Green guibg=#110022 -hi WarningMsg gui=STANDOUT guifg=#0000cc guibg=Yellow -hi Error gui=NONE guifg=White guibg=Red -hi Cursor guifg=White guibg=#00ff33 -hi LineNr gui=NONE guifg=#cccccc guibg=#334444 -hi ModeMsg gui=NONE guifg=Blue guibg=White -hi Question gui=NONE guifg=#66ff99 guibg=#110022 diff --git a/.vim/colors/automation.vim b/.vim/colors/automation.vim deleted file mode 100644 index b449145..0000000 --- a/.vim/colors/automation.vim +++ /dev/null @@ -1,59 +0,0 @@ -" Vim color file (automation.vim) -" Maintainer: Ken McConnell <nacer@yahoo.com> -" Last Change: 2004 Jan 15 -" -" This color scheme uses a light grey background. It was created to simulate -" the look of an IDE. It is named after the MFP Automation Team at HP Boise. -" - -" First remove all existing highlighting. -set background=light -hi clear -if exists("syntax_on") - syntax reset -endif - -let colors_name = "automation" - -hi Normal ctermbg=Black ctermfg=LightGrey guifg=Black guibg=Grey96 - -" Groups used in the 'highlight' and 'guicursor' options default value. -hi ErrorMsg term=standout ctermbg=DarkRed ctermfg=White guibg=Red guifg=White -hi IncSearch term=reverse cterm=bold gui=bold -hi ModeMsg term=bold cterm=bold gui=bold -hi StatusLine term=bold cterm=bold gui=bold -hi StatusLineNC term=bold cterm=bold gui=bold -hi VertSplit term=bold cterm=bold gui=bold -hi Visual term=bold cterm=bold gui=bold guifg=Grey guibg=fg -hi VisualNOS term=underline,bold cterm=underline,bold gui=underline,bold -hi DiffText term=reverse cterm=bold ctermbg=Red gui=bold guibg=Red -hi Cursor guibg=Black guifg=Black -hi lCursor guibg=Cyan guifg=Black -hi Directory term=bold ctermfg=LightCyan guifg=DarkBlue -hi LineNr term=underline ctermfg=DarkGrey guifg=DarkGrey guibg=LightGrey -hi MoreMsg term=bold ctermfg=LightGreen gui=bold guifg=SeaGreen -hi NonText term=bold ctermfg=LightBlue gui=bold guifg=DarkGreen guibg=grey80 -hi Question term=standout ctermfg=LightGreen gui=bold guifg=Green -hi Search term=reverse ctermbg=Yellow ctermfg=Black guibg=Yellow guifg=Black -hi SpecialKey term=bold ctermfg=DarkBlue guifg=DarkBlue -hi Title term=bold ctermfg=LightMagenta gui=bold guifg=DarkBlue -hi WarningMsg term=standout ctermfg=LightRed guifg=Red -hi WildMenu term=standout ctermbg=Yellow ctermfg=Black guibg=Yellow guifg=Black -hi Folded term=standout ctermbg=LightGrey ctermfg=DarkBlue guibg=LightGrey guifg=DarkBlue -hi FoldColumn term=standout ctermbg=LightGrey ctermfg=DarkBlue guibg=Grey guifg=DarkBlue -hi DiffAdd term=bold ctermbg=DarkBlue guibg=DarkBlue -hi DiffChange term=bold ctermbg=DarkMagenta guibg=DarkMagenta -hi DiffDelete term=bold ctermfg=Blue ctermbg=DarkCyan gui=bold guifg=Blue guibg=DarkCyan -hi Comment guifg=Blue guibg=Grey90 ctermfg=DarkGreen -hi String guifg=DarkGreen ctermfg=DarkGreen -hi Statement guifg=DarkBlue ctermfg=Blue -hi Label gui=bold guifg=DarkBlue -" Groups for syntax highlighting -hi Constant term=underline ctermfg=DarkBlue guifg=DarkBlue guibg=Grey96 -hi Special term=bold ctermfg=LightRed guifg=DarkBlue guibg=Grey96 -if &t_Co > 8 - hi Statement term=bold cterm=bold ctermfg=DarkBlue guifg=DarkBlue -endif -hi Ignore ctermfg=LightGrey guifg=grey90 - -" vim: sw=2 diff --git a/.vim/colors/autumn.vim b/.vim/colors/autumn.vim deleted file mode 100644 index f269b35..0000000 --- a/.vim/colors/autumn.vim +++ /dev/null @@ -1,69 +0,0 @@ -" Vim color file -" Maintainer: Tiza -" Last Change: 2002/10/14 Mon 16:41. -" version: 1.0 -" This color scheme uses a light background. - -set background=light -hi clear -if exists("syntax_on") - syntax reset -endif - -let colors_name = "autumn" - -hi Normal guifg=#404040 guibg=#fff4e8 - -" Search -hi IncSearch gui=UNDERLINE guifg=#404040 guibg=#e0e040 -hi Search gui=NONE guifg=#544060 guibg=#f0c0ff - -" Messages -hi ErrorMsg gui=BOLD guifg=#f8f8f8 guibg=#4040ff -hi WarningMsg gui=BOLD guifg=#f8f8f8 guibg=#4040ff -hi ModeMsg gui=NONE guifg=#d06000 guibg=NONE -hi MoreMsg gui=NONE guifg=#0090a0 guibg=NONE -hi Question gui=NONE guifg=#8000ff guibg=NONE - -" Split area -hi StatusLine gui=BOLD guifg=#f8f8f8 guibg=#904838 -hi StatusLineNC gui=BOLD guifg=#c0b0a0 guibg=#904838 -hi VertSplit gui=NONE guifg=#f8f8f8 guibg=#904838 -hi WildMenu gui=BOLD guifg=#f8f8f8 guibg=#ff3030 - -" Diff -hi DiffText gui=NONE guifg=#2850a0 guibg=#c0d0f0 -hi DiffChange gui=NONE guifg=#208040 guibg=#c0f0d0 -hi DiffDelete gui=NONE guifg=#ff2020 guibg=#eaf2b0 -hi DiffAdd gui=NONE guifg=#ff2020 guibg=#eaf2b0 - -" Cursor -hi Cursor gui=NONE guifg=#ffffff guibg=#0080f0 -hi lCursor gui=NONE guifg=#ffffff guibg=#8040ff -hi CursorIM gui=NONE guifg=#ffffff guibg=#8040ff - -" Fold -hi Folded gui=NONE guifg=#804030 guibg=#ffc0a0 -hi FoldColumn gui=NONE guifg=#a05040 guibg=#f8d8c4 - -" Other -hi Directory gui=NONE guifg=#7050ff guibg=NONE -hi LineNr gui=NONE guifg=#e0b090 guibg=NONE -hi NonText gui=BOLD guifg=#a05040 guibg=#ffe4d4 -hi SpecialKey gui=NONE guifg=#0080ff guibg=NONE -hi Title gui=BOLD guifg=fg guibg=NONE -hi Visual gui=NONE guifg=#804020 guibg=#ffc0a0 -" hi VisualNOS gui=NONE guifg=#604040 guibg=#e8dddd - -" Syntax group -hi Comment gui=NONE guifg=#ff5050 guibg=NONE -hi Constant gui=NONE guifg=#00884c guibg=NONE -hi Error gui=BOLD guifg=#f8f8f8 guibg=#4040ff -hi Identifier gui=NONE guifg=#b07800 guibg=NONE -hi Ignore gui=NONE guifg=bg guibg=NONE -hi PreProc gui=NONE guifg=#0090a0 guibg=NONE -hi Special gui=NONE guifg=#8040f0 guibg=NONE -hi Statement gui=BOLD guifg=#80a030 guibg=NONE -hi Todo gui=BOLD,UNDERLINE guifg=#0080f0 guibg=NONE -hi Type gui=BOLD guifg=#b06c58 guibg=NONE -hi Underlined gui=UNDERLINE guifg=blue guibg=NONE diff --git a/.vim/colors/autumn2.vim b/.vim/colors/autumn2.vim deleted file mode 100644 index f269b35..0000000 --- a/.vim/colors/autumn2.vim +++ /dev/null @@ -1,69 +0,0 @@ -" Vim color file -" Maintainer: Tiza -" Last Change: 2002/10/14 Mon 16:41. -" version: 1.0 -" This color scheme uses a light background. - -set background=light -hi clear -if exists("syntax_on") - syntax reset -endif - -let colors_name = "autumn" - -hi Normal guifg=#404040 guibg=#fff4e8 - -" Search -hi IncSearch gui=UNDERLINE guifg=#404040 guibg=#e0e040 -hi Search gui=NONE guifg=#544060 guibg=#f0c0ff - -" Messages -hi ErrorMsg gui=BOLD guifg=#f8f8f8 guibg=#4040ff -hi WarningMsg gui=BOLD guifg=#f8f8f8 guibg=#4040ff -hi ModeMsg gui=NONE guifg=#d06000 guibg=NONE -hi MoreMsg gui=NONE guifg=#0090a0 guibg=NONE -hi Question gui=NONE guifg=#8000ff guibg=NONE - -" Split area -hi StatusLine gui=BOLD guifg=#f8f8f8 guibg=#904838 -hi StatusLineNC gui=BOLD guifg=#c0b0a0 guibg=#904838 -hi VertSplit gui=NONE guifg=#f8f8f8 guibg=#904838 -hi WildMenu gui=BOLD guifg=#f8f8f8 guibg=#ff3030 - -" Diff -hi DiffText gui=NONE guifg=#2850a0 guibg=#c0d0f0 -hi DiffChange gui=NONE guifg=#208040 guibg=#c0f0d0 -hi DiffDelete gui=NONE guifg=#ff2020 guibg=#eaf2b0 -hi DiffAdd gui=NONE guifg=#ff2020 guibg=#eaf2b0 - -" Cursor -hi Cursor gui=NONE guifg=#ffffff guibg=#0080f0 -hi lCursor gui=NONE guifg=#ffffff guibg=#8040ff -hi CursorIM gui=NONE guifg=#ffffff guibg=#8040ff - -" Fold -hi Folded gui=NONE guifg=#804030 guibg=#ffc0a0 -hi FoldColumn gui=NONE guifg=#a05040 guibg=#f8d8c4 - -" Other -hi Directory gui=NONE guifg=#7050ff guibg=NONE -hi LineNr gui=NONE guifg=#e0b090 guibg=NONE -hi NonText gui=BOLD guifg=#a05040 guibg=#ffe4d4 -hi SpecialKey gui=NONE guifg=#0080ff guibg=NONE -hi Title gui=BOLD guifg=fg guibg=NONE -hi Visual gui=NONE guifg=#804020 guibg=#ffc0a0 -" hi VisualNOS gui=NONE guifg=#604040 guibg=#e8dddd - -" Syntax group -hi Comment gui=NONE guifg=#ff5050 guibg=NONE -hi Constant gui=NONE guifg=#00884c guibg=NONE -hi Error gui=BOLD guifg=#f8f8f8 guibg=#4040ff -hi Identifier gui=NONE guifg=#b07800 guibg=NONE -hi Ignore gui=NONE guifg=bg guibg=NONE -hi PreProc gui=NONE guifg=#0090a0 guibg=NONE -hi Special gui=NONE guifg=#8040f0 guibg=NONE -hi Statement gui=BOLD guifg=#80a030 guibg=NONE -hi Todo gui=BOLD,UNDERLINE guifg=#0080f0 guibg=NONE -hi Type gui=BOLD guifg=#b06c58 guibg=NONE -hi Underlined gui=UNDERLINE guifg=blue guibg=NONE diff --git a/.vim/colors/autumnleaf.vim b/.vim/colors/autumnleaf.vim deleted file mode 100644 index f7af59f..0000000 --- a/.vim/colors/autumnleaf.vim +++ /dev/null @@ -1,154 +0,0 @@ -" Vim color file -" Maintainer: Anders Korte -" Last Change: 17 Oct 2004 - -" AutumnLeaf color scheme 1.0 - -set background=light - -hi clear - -if exists("syntax_on") - syntax reset -endif - -let colors_name="AutumnLeaf" - - -" Colors for the User Interface. - -hi Cursor guibg=#aa7733 guifg=#ffeebb gui=bold -hi Normal guibg=#fffdfa guifg=black gui=none -hi NonText guibg=#eafaea guifg=#000099 gui=bold -hi Visual guibg=#fff8cc guifg=black gui=none -" hi VisualNOS - -hi Linenr guibg=bg guifg=#999999 gui=none - -" Uncomment these if you use Diff...?? -" hi DiffText guibg=#cc0000 guifg=white gui=none -" hi DiffAdd guibg=#0000cc guifg=white gui=none -" hi DiffChange guibg=#990099 guifg=white gui=none -" hi DiffDelete guibg=#888888 guifg=#333333 gui=none - -hi Directory guibg=bg guifg=#337700 gui=none - -hi IncSearch guibg=#c8e8ff guifg=black gui=none -hi Search guibg=#c8e8ff guifg=black gui=none -hi SpecialKey guibg=bg guifg=fg gui=none -hi Titled guibg=bg guifg=fg gui=none - -hi ErrorMsg guibg=bg guifg=#cc0000 gui=bold -hi ModeMsg guibg=bg guifg=#003399 gui=none -hi link MoreMsg ModeMsg -hi link Question ModeMsg -hi WarningMsg guibg=bg guifg=#cc0000 gui=bold - -hi StatusLine guibg=#ffeebb guifg=black gui=bold -hi StatusLineNC guibg=#aa8866 guifg=#f8e8cc gui=none -hi VertSplit guibg=#aa8866 guifg=#ffe0bb gui=none - -" hi Folded -" hi FoldColumn -" hi SignColumn - - -" Colors for Syntax Highlighting. - -hi Comment guibg=#ddeedd guifg=#002200 gui=none - -hi Constant guibg=bg guifg=#003399 gui=bold -hi String guibg=bg guifg=#003399 gui=italic -hi Character guibg=bg guifg=#003399 gui=italic -hi Number guibg=bg guifg=#003399 gui=bold -hi Boolean guibg=bg guifg=#003399 gui=bold -hi Float guibg=bg guifg=#003399 gui=bold - -hi Identifier guibg=bg guifg=#003399 gui=none -hi Function guibg=bg guifg=#0055aa gui=bold -hi Statement guibg=bg guifg=#003399 gui=none - -hi Conditional guibg=bg guifg=#aa7733 gui=bold -hi Repeat guibg=bg guifg=#aa5544 gui=bold -hi link Label Conditional -hi Operator guibg=bg guifg=#aa7733 gui=bold -hi link Keyword Statement -hi Exception guibg=bg guifg=#228877 gui=bold - -hi PreProc guibg=bg guifg=#aa7733 gui=bold -hi Include guibg=bg guifg=#558811 gui=bold -hi link Define Include -hi link Macro Include -hi link PreCondit Include - -hi Type guibg=bg guifg=#007700 gui=bold -hi link StorageClass Type -hi link Structure Type -hi Typedef guibg=bg guifg=#009900 gui=italic - -hi Special guibg=bg guifg=fg gui=none -hi SpecialChar guibg=bg guifg=fg gui=bold -hi Tag guibg=bg guifg=#003399 gui=bold -hi link Delimiter Special -hi SpecialComment guibg=#dddddd guifg=#aa0000 gui=none -hi link Debug Special - -hi Underlined guibg=bg guifg=blue gui=underline - -hi Title guibg=bg guifg=fg gui=bold -hi Ignore guibg=bg guifg=#999999 gui=none -hi Error guibg=red guifg=white gui=none -hi Todo guibg=bg guifg=#aa0000 gui=none - - - -" The same in cterm colors. -hi Cursor ctermbg=6 ctermfg=14 -hi Normal ctermbg=15 ctermfg=0 -hi NonText ctermbg=10 ctermfg=1 -hi Visual ctermbg=14 ctermfg=0 -" hi VisualNOS -hi Linenr ctermbg=bg ctermfg=7 -" hi DiffText ctermbg=4 ctermfg=15 -" hi DiffAdd ctermbg=1 ctermfg=15 -" hi DiffChange ctermbg=5 ctermfg=15 -" hi DiffDelete ctermbg=7 ctermfg=8 -hi Directory ctermbg=bg ctermfg=2 -hi IncSearch ctermbg=9 ctermfg=0 -hi Search ctermbg=9 ctermfg=0 -hi SpecialKey ctermbg=bg ctermfg=fg -hi Titled ctermbg=bg ctermfg=fg -hi ErrorMsg ctermbg=bg ctermfg=12 -hi ModeMsg ctermbg=bg ctermfg=9 -hi WarningMsg ctermbg=bg ctermfg=12 -hi StatusLine ctermbg=14 ctermfg=0 -hi StatusLineNC ctermbg=6 ctermfg=14 -hi VertSplit ctermbg=6 ctermfg=14 -" hi Folded -" hi FoldColumn -" hi SignColumn -hi Comment ctermbg=10 ctermfg=2 -hi Constant ctermbg=bg ctermfg=9 -hi String ctermbg=bg ctermfg=9 cterm=italic -hi Character ctermbg=bg ctermfg=9 cterm=italic -hi Number ctermbg=bg ctermfg=9 cterm=bold -hi Boolean ctermbg=bg ctermfg=9 cterm=bold -hi Float ctermbg=bg ctermfg=9 cterm=bold -hi Function ctermbg=bg ctermfg=9 cterm=bold -hi Statement ctermbg=bg ctermfg=9 cterm=bold -hi Conditional ctermbg=bg ctermfg=6 cterm=bold -hi Repeat ctermbg=bg ctermfg=6 cterm=bold -hi Operator ctermbg=bg ctermfg=6 cterm=bold -hi Exception ctermbg=bg ctermfg=2 cterm=bold -hi PreProc ctermbg=bg ctermfg=6 -hi Include ctermbg=bg ctermfg=2 cterm=bold -hi Type ctermbg=bg ctermfg=2 cterm=bold -hi Typedef ctermbg=bg ctermfg=2 cterm=italic -hi Special ctermbg=bg ctermfg=fg cterm=bold -hi Tag ctermbg=bg ctermfg=9 cterm=bold -hi SpecialComment ctermbg=7 ctermfg=4 -hi Underlined ctermbg=bg ctermfg=9 cterm=underline -hi Title ctermbg=bg ctermfg=fg cterm=bold -hi Ignore ctermbg=bg ctermfg=7 -hi Error ctermbg=12 ctermfg=15 -hi Todo ctermbg=bg ctermfg=15 diff --git a/.vim/colors/billw.vim b/.vim/colors/billw.vim deleted file mode 100644 index 740642f..0000000 --- a/.vim/colors/billw.vim +++ /dev/null @@ -1,99 +0,0 @@ -" vim: set tw=0 sw=4 sts=4 et: - -" Vim color file -" Maintainer: Datila Carvalho <datila@saci.homeip.net> -" Last Change: November, 3, 2003 -" Version: 0.1 - -" This is a VIM's version of the emacs color theme -" _Billw_ created by Bill White. - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif - -let g:colors_name = "billw" - - -""" Colors - -" GUI colors -hi Cursor guifg=fg guibg=cornsilk -hi CursorIM guifg=NONE guibg=cornsilk -"hi Directory -"hi DiffAdd -"hi DiffChange -"hi DiffDelete -"hi DiffText -hi ErrorMsg gui=bold guifg=White guibg=Red -"hi VertSplit -"hi Folded -"hi FoldColumn -"hi IncSearch -"hi LineNr -hi ModeMsg gui=bold -"hi MoreMsg -"hi NonText -hi Normal guibg=black guifg=cornsilk -"hi Question -hi Search gui=bold guifg=Black guibg=cornsilk -"hi SpecialKey -hi StatusLine guifg=orange1 -hi StatusLineNC guifg=yellow4 -"hi Title -hi Visual guifg=gray35 guibg=fg -hi VisualNOS gui=bold guifg=black guibg=fg -hi WarningMsg guifg=White guibg=Tomato -"hi WildMenu - -" Colors for syntax highlighting -hi Comment guifg=gold - -hi Constant guifg=mediumspringgreen - hi String guifg=orange - hi Character guifg=orange - hi Number guifg=mediumspringgreen - hi Boolean guifg=mediumspringgreen - hi Float guifg=mediumspringgreen - -hi Identifier guifg=yellow - hi Function guifg=mediumspringgreen - -hi Statement gui=bold guifg=cyan1 - hi Conditional gui=bold guifg=cyan1 - hi Repeat gui=bold guifg=cyan1 - hi Label guifg=cyan1 - hi Operator guifg=cyan1 - "hi Keyword - "hi Exception - -hi PreProc guifg=LightSteelBlue - hi Include guifg=LightSteelBlue - hi Define guifg=LightSteelBlue - hi Macro guifg=LightSteelBlue - hi PreCondit guifg=LightSteelBlue - -hi Type guifg=yellow - hi StorageClass guifg=cyan1 - hi Structure gui=bold guifg=cyan1 - hi Typedef guifg=cyan1 - -"hi Special - ""Underline Character - "hi SpecialChar gui=underline - "hi Tag gui=bold,underline - ""Statement - "hi Delimiter gui=bold - ""Bold comment (in Java at least) - "hi SpecialComment gui=bold - "hi Debug gui=bold - -hi Underlined gui=underline - -hi Ignore guifg=bg - -hi Error gui=bold guifg=White guibg=Red - -"hi Todo diff --git a/.vim/colors/biogoo.vim b/.vim/colors/biogoo.vim deleted file mode 100644 index cec72b1..0000000 --- a/.vim/colors/biogoo.vim +++ /dev/null @@ -1,85 +0,0 @@ -" Vim color File -" Name: biogoo -" Maintainer: Benjamin Esham <bdesham@iname.com> -" Last Change: 2004-02-03 -" Version: 1.2 -" -" A fairly simple gray-background scheme. Feedback is greatly appreciated! -" -" Installation: -" Copy to ~/.vim/colors; do :color biogoo -" -" Customization Options: -" Use a 'normal' cursor color: -" let g:biogoo_normal_cursor = 1 -" -" Props: -" Jani Nurminen's zenburn.vim as an example file. -" Scott and Matt for feature suggestions. -" -" Version History: -" 1.2: added `SpellErrors' group for use with vimspell. -" 1.1: added `IncSearch' group for improved visibility in incremental searches. -" 1.0: minor tweaks -" 0.95: initial release -" -" TODO: Possibly add some more groups -- please email me if I've left any out. - -set background=light -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name = "biogoo" - -hi Comment guifg=#0000c3 -hi Constant guifg=#0000ff -hi Delimiter guifg=#00007f -hi DiffAdd guifg=#007f00 guibg=#e5e5e5 -hi DiffChange guifg=#00007f guibg=#e5e5e5 -hi DiffDelete guifg=#7f0000 guibg=#e5e5e5 -hi DiffText guifg=#ee0000 guibg=#e5e5e5 -hi Directory guifg=#b85d00 -hi Error guifg=#d6d6d6 guibg=#7f0000 -hi ErrorMsg guifg=#ffffff guibg=#ff0000 gui=bold -hi Float guifg=#b85d00 -hi FoldColumn guifg=#00007f guibg=#e5e5e5 -hi Folded guifg=#00007f guibg=#e5e5e5 -hi Function guifg=#7f0000 -hi Identifier guifg=#004000 -hi Include guifg=#295498 gui=bold -hi IncSearch guifg=#ffffff guibg=#0000ff gui=bold -hi LineNr guifg=#303030 guibg=#e5e5e5 gui=underline -hi Keyword guifg=#00007f -hi Macro guifg=#295498 -hi ModeMsg guifg=#00007f -hi MoreMsg guifg=#00007f -hi NonText guifg=#007f00 -hi Normal guifg=#000000 guibg=#d6d6d6 -hi Number guifg=#b85d00 -hi Operator guifg=#00007f -hi PreCondit guifg=#295498 gui=bold -hi PreProc guifg=#0c3b6b gui=bold -hi Question guifg=#00007f -hi Search guibg=#ffff00 -hi Special guifg=#007f00 -hi SpecialKey guifg=#00007f -hi SpellErrors guifg=#7f0000 gui=underline -hi Statement guifg=#00007f gui=none -hi StatusLine guifg=#00007f guibg=#ffffff -hi StatusLineNC guifg=#676767 guibg=#ffffff -hi String guifg=#d10000 -hi Title guifg=#404040 gui=bold -hi Todo guifg=#00007f guibg=#e5e5e5 gui=underline -hi Type guifg=#540054 gui=bold -hi Underlined guifg=#b85d00 -hi VertSplit guifg=#676767 guibg=#ffffff -hi Visual guifg=#7f7f7f guibg=#ffffff -hi VisualNOS guifg=#007f00 guibg=#e5e5e5 -hi WarningMsg guifg=#500000 -hi WildMenu guifg=#540054 - -if !exists("g:biogoo_normal_cursor") - " use a gray-on-blue cursor - hi Cursor guifg=#ffffff guibg=#00007f -endif diff --git a/.vim/colors/black_angus.vim b/.vim/colors/black_angus.vim deleted file mode 100644 index 145b639..0000000 --- a/.vim/colors/black_angus.vim +++ /dev/null @@ -1,115 +0,0 @@ -" Vim color file -" Maintainer: Angus Salkeld -" Last Change: 14 September 2004 -" Version: 1.0 -" mainly green on black - -set background=dark -highlight clear -if exists("syntax_on") - syntax reset -endif - -let g:colors_name = "black_angus" - -" GUI -" ----------------------------------------------------------------------- -highlight Normal guifg=Grey80 guibg=Black -highlight Search guifg=brown gui=reverse -highlight Visual guifg=Grey25 gui=bold -highlight Cursor guifg=Yellow guibg=DarkGreen gui=bold -highlight DiffAdd guibg=#000080 gui=NONE -highlight DiffChange guibg=#800080 gui=NONE -highlight DiffDelete guifg=#80c0e0 guibg=#404040 gui=NONE -highlight DiffText guifg=Black guibg=#c0e080 gui=NONE - -" Console -" ----------------------------------------------------------------------- -highlight Normal ctermfg=LightGrey ctermbg=Black -highlight Search ctermfg=Brown cterm=reverse -highlight Visual cterm=reverse -highlight Cursor ctermfg=Yellow ctermbg=Green cterm=bold - -" both -" ----------------------------------------------------------------------- -highlight StatusLine guifg=LightGreen guibg=#003300 gui=none ctermfg=LightGreen ctermbg=DarkGreen term=none -highlight VertSplit guifg=LightGreen guibg=#003300 gui=none ctermfg=LightGreen ctermbg=DarkGreen term=none -highlight Folded guifg=#aaDDaa guibg=#333333 gui=none ctermfg=LightGray ctermbg=DarkGray term=none -highlight FoldColumn guifg=LightGreen guibg=#003300 gui=none ctermfg=LightGreen ctermbg=DarkGreen term=none -highlight SignColumn guifg=LightGreen guibg=#003300 gui=none ctermfg=LightGreen ctermbg=DarkGreen term=none -highlight WildMenu guifg=LightGreen guibg=#003300 gui=none ctermfg=LightGreen ctermbg=DarkGreen term=none - -highlight LineNr guifg=DarkGreen guibg=Black gui=none ctermfg=DarkGreen ctermbg=Black term=none -highlight Directory guifg=LightGreen ctermfg=LightGreen -highlight Comment guifg=DarkGrey ctermfg=DarkGray - -highlight Special guifg=Orange ctermfg=Brown -highlight Title guifg=Orange ctermfg=Brown -highlight Tag guifg=DarkRed ctermfg=DarkRed -highlight link Delimiter Special -highlight link SpecialChar Special -highlight link SpecialComment Special -highlight link SpecialKey Special -highlight link NonText Special - -highlight Error guifg=White guibg=DarkRed gui=none ctermfg=White ctermbg=DarkRed cterm=none -highlight Debug guifg=White guibg=DarkGreen gui=none ctermfg=White ctermbg=DarkRed cterm=none -highlight ErrorMsg guifg=White guibg=DarkBlue gui=none ctermfg=White ctermbg=DarkRed cterm=none -highlight WarningMsg guifg=White guibg=DarkBlue gui=none ctermfg=White ctermbg=DarkBlue cterm=none -highlight Todo guifg=White guibg=DarkYellow gui=none ctermfg=White ctermbg=DarkBlue cterm=none -highlight link cCommentStartError WarningMsg -highlight link cCommentError Debug - -" Preprocesor -highlight PreCondit guifg=Cyan3 ctermfg=Cyan -highlight PreProc guifg=Magenta ctermfg=Magenta -highlight Include guifg=DarkCyan ctermfg=DarkCyan -highlight ifdefIfOut guifg=DarkGray ctermfg=DarkGray -highlight link Macro Include -highlight link Define Include - -" lang -highlight Function guifg=#AAEEAA gui=none ctermfg=LightGreen -highlight Identifier guifg=#bbccbb gui=none ctermfg=Grey -highlight Statement guifg=LightGreen gui=underline ctermfg=LightGreen -highlight Operator guifg=Yellow gui=none ctermfg=Yellow -highlight Conditional guifg=lightslateblue gui=none ctermfg=LightBlue - -highlight link Exception Statement -highlight link Label Statement -highlight link Repeat Conditional - -highlight link Keyword Label - -highlight Constant guifg=LightGreen ctermfg=LightGreen gui=none -highlight link Character Constant -highlight link Number Constant -highlight link Boolean Constant -highlight link String Constant -highlight link Float Constant - -highlight Type guifg=DarkGreen ctermfg=DarkGreen gui=none -highlight link StorageClass Type -highlight link Structure Type -highlight link Typedef Type - -" ------------------------------------------------------------------------------ -" Common groups that link to other highlighting definitions. -highlight link Search IncSearch -highlight link Question Statement -highlight link VisualNOS Visual -" ------------------------------------------------------------------------------ - -" only for vim 5 -if has("unix") - if v:version<600 - highlight Normal ctermfg=Grey ctermbg=Black cterm=NONE guifg=Grey80 guibg=Black gui=NONE - highlight Search ctermfg=Black ctermbg=Red cterm=bold guifg=Black guibg=Red gui=bold - highlight Visual ctermfg=Black ctermbg=yellow cterm=bold guifg=Grey25 gui=bold - highlight Special ctermfg=LightBlue cterm=NONE guifg=LightBlue - highlight Comment ctermfg=Cyan cterm=NONE guifg=LightBlue - endif -endif - - - diff --git a/.vim/colors/blackbeauty.vim b/.vim/colors/blackbeauty.vim deleted file mode 100644 index a824ea3..0000000 --- a/.vim/colors/blackbeauty.vim +++ /dev/null @@ -1,66 +0,0 @@ -" Vim color file -" Maintainer: Surya -" Last Change: 12/23/2003 10:32:41 . -" version: 1.0 -" This color scheme uses a dark background. -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif - -let g:colors_name = "koehler" -hi Normal guifg=white guibg=black -hi Scrollbar guibg=darkgray guifg=darkgray -hi Menu guifg=black guibg=gray -hi SpecialKey term=bold cterm=bold ctermfg=darkred guifg=Blue -hi NonText term=bold cterm=bold ctermfg=darkred gui=bold guifg=Blue -hi Directory term=bold cterm=bold ctermfg=brown guifg=Blue -hi ErrorMsg term=standout cterm=bold ctermfg=grey ctermbg=blue gui=bold guifg=White guibg=brown -hi Search term=reverse ctermfg=white ctermbg=red gui=bold guifg=#000000 guibg=Magenta -hi MoreMsg term=bold cterm=bold ctermfg=darkgreen gui=bold guifg=SeaGreen -hi ModeMsg term=bold cterm=bold gui=bold guifg=White guibg=Blue -hi LineNr term=underline cterm=bold ctermfg=darkcyan guibg=brown guifg=white -hi Question term=standout cterm=bold ctermfg=darkgreen gui=bold guifg=Green -hi StatusLine term=bold,reverse cterm=bold ctermfg=lightblue ctermbg=white gui=bold guibg=white guifg=brown -hi StatusLineNC term=reverse ctermfg=white ctermbg=lightblue guifg=white guibg=blue -hi Title term=bold cterm=bold ctermfg=darkmagenta gui=bold guifg=Magenta -hi Visual term=reverse cterm=reverse gui=reverse -hi WarningMsg term=standout cterm=bold ctermfg=darkblue gui=bold guifg=cyan guibg=Black -hi Cursor guifg=bg guibg=cyan -hi Comment term=bold cterm=bold ctermfg=cyan guifg=#80a0ff -hi Constant term=underline cterm=bold ctermfg=magenta guifg=#ffa0a0 -hi String term=underline cterm=bold ctermfg=magenta gui=bold guifg=brown guibg=darkgray -hi Number term=underline cterm=bold ctermfg=magenta guifg=#00ffff -hi Special term=bold gui=bold cterm=bold ctermfg=red guifg=Orange -hi Identifier term=underline ctermfg=brown guifg=#40ffff -hi Statement term=bold cterm=bold ctermfg=yellow gui=bold guifg=#ffff60 -hi PreProc term=underline ctermfg=darkblue guifg=#ff80ff -hi Type term=underline cterm=bold ctermfg=lightgreen gui=bold guifg=#60ff60 -hi Error gui=bold guifg=Yellow guibg=Black -hi Todo term=standout ctermfg=black ctermbg=darkcyan guifg=Blue guibg=Yellow -"hi VertSplit guifg=#00FFFF guibg=#000000 gui=bold -hi link IncSearch Visual -hi link Character Constant -hi link Boolean Constant -hi link Float Number -hi link Function Identifier -hi link Conditional Statement -hi link Repeat Statement -hi link Label Statement -hi link Operator Statement -hi link Keyword Statement -hi link Exception Statement -hi link Include PreProc -hi link Define PreProc -hi link Macro PreProc -hi link PreCondit PreProc -hi link StorageClass Type -hi link Structure Type -hi link Typedef Type -hi link Tag Special -hi link SpecialChar Special -hi link Delimiter Special -hi link SpecialComment Special -hi link Debug Special - diff --git a/.vim/colors/blackdust.vim b/.vim/colors/blackdust.vim deleted file mode 100644 index 0eb20a7..0000000 --- a/.vim/colors/blackdust.vim +++ /dev/null @@ -1,62 +0,0 @@ -set background=dark -hi clear - -hi Boolean guifg=#dca3a3 gui=bold -hi Character guifg=#dca3a3 gui=bold -hi Comment guifg=#7f7f7f -hi Condtional guifg=#8fffff -hi Constant guifg=#dca3a3 gui=bold -hi Cursor guifg=#000000 guibg=#aeaeae -hi Debug guifg=#dca3a3 gui=bold -hi Define guifg=#ffcfaf gui=bold -hi Delimiter guifg=#8f8f8f -hi DiffAdd guibg=#613c46 -hi DiffChange guibg=#333333 -hi DiffDelete guifg=#333333 guibg=#464646 gui=none -hi DiffText guifg=#ffffff guibg=#1f1f1f gui=bold -hi Directory guifg=#ffffff gui=bold -hi Error guifg=#000000 guibg=#00ffff -hi ErrorMsg guifg=#000000 guibg=#00c0cf -hi Exception guifg=#8fffff gui=underline -hi Float guifg=#9c93b3 -hi FoldColumn guifg=#dca3a3 guibg=#464646 -hi Folded guifg=#dca3a3 guibg=#333333 -hi Function guifg=#ffff8f -hi Identifier guifg=#ffffff -hi Include guifg=#ffcfaf gui=bold -hi IncSearch guifg=#000000 guibg=#c15c66 -hi Keyword guifg=#ffffff gui=bold -hi Label guifg=#8fffff gui=underline -hi LineNr guifg=#7f7f7f guibg=#464646 -hi Macro guifg=#ffcfaf gui=bold -hi ModeMsg guifg=#dca3a3 gui=bold -hi MoreMsg guifg=#ffffff gui=bold -hi NonText guifg=#1f1f1f -hi Normal guifg=#cccccc guibg=#3f3f3f -hi Number guifg=#aca0a3 -hi Operator guifg=#ffffff -hi PreCondit guifg=#dfaf8f gui=bold -hi PreProc guifg=#ffcfaf gui=bold -hi Question guifg=#ffffff gui=bold -hi Repeat guifg=#8fffff gui=underline -hi Search guifg=#000000 guibg=#c15c66 -hi SpecialChar guifg=#dca3a3 gui=bold -hi SpecialComment guifg=#dca3a3 gui=bold -hi Special guifg=#7f7f7f -hi SpecialKey guifg=#7e7e7e -hi Statement guifg=#8fffff -hi StatusLine guifg=#333333 guibg=#f18c96 -hi StatusLineNC guifg=#333333 guibg=#cccccc -hi StorageClass guifg=#ffffff gui=bold -hi String guifg=#cc9393 -hi Structure guifg=#ffffff gui=bold,underline -hi Tag guifg=#dca3a3 gui=bold -hi Title guifg=#ffffff guibg=#333333 gui=bold -hi Todo guifg=#ffffff guibg=#000000 gui=bold -hi Typedef guifg=#ffffff gui=bold,underline -hi Type guifg=#ffffff gui=bold -hi VertSplit guifg=#333333 guibg=#cccccc -hi Visual guifg=#333333 guibg=#f18c96 gui=reverse -hi VisualNOS guifg=#333333 guibg=#f18c96 gui=bold,underline -hi WarningMsg guifg=#ffffff guibg=#333333 gui=bold -hi WildMenu guifg=#000000 guibg=#dca3a3 diff --git a/.vim/colors/blacksea.vim b/.vim/colors/blacksea.vim deleted file mode 100644 index 5cd38a3..0000000 --- a/.vim/colors/blacksea.vim +++ /dev/null @@ -1,32 +0,0 @@ -" Vim color file -" Maintainer: Gerald S. Williams -" Last Change: 2003 Mar 20 - -" This is a dark version/opposite of "seashell". The cterm version of this is -" very similar to "evening". -" -" Only values that differ from defaults are specified. - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name = "BlackSea" - -hi Normal guibg=Black guifg=seashell ctermfg=White -hi NonText guifg=LavenderBlush ctermfg=LightMagenta -hi DiffDelete guibg=DarkRed guifg=Black ctermbg=DarkRed ctermfg=White -hi DiffAdd guibg=DarkGreen ctermbg=DarkGreen ctermfg=White -hi DiffChange guibg=Gray30 ctermbg=DarkCyan ctermfg=White -hi DiffText gui=NONE guibg=DarkCyan ctermbg=DarkCyan ctermfg=Yellow -hi Comment guifg=LightBlue -hi Constant guifg=DeepPink -hi PreProc guifg=Magenta ctermfg=Magenta -hi StatusLine guibg=#1f001f guifg=DarkSeaGreen cterm=NONE ctermfg=White ctermbg=DarkGreen -hi StatusLineNC guifg=Gray -hi VertSplit guifg=Gray -hi Type gui=NONE -hi Identifier guifg=Cyan -hi Statement guifg=brown3 ctermfg=DarkRed -hi Search guibg=Gold3 ctermfg=White diff --git a/.vim/colors/blue.vim b/.vim/colors/blue.vim deleted file mode 100644 index 220700f..0000000 --- a/.vim/colors/blue.vim +++ /dev/null @@ -1,41 +0,0 @@ -" Vim color file -" Maintainer: TaQ <taq@taq.cjb.net> -" Last Change: 10 October 2001 - 0.2 -" URL: http://taq.cjb.net - -" cool help screens -" :he group-name -" :he highlight-groups -" :he cterm-colors - -set background=dark " or light -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name="blue" - -hi Normal ctermfg=Gray ctermbg=Black guifg=#CCCCCC guibg=#000040 -hi NonText ctermfg=Gray ctermbg=Black guifg=#0050EE guibg=#000040 - -hi Statement ctermfg=White ctermbg=Black guifg=#007FFF guibg=#000040 gui=BOLD -hi Comment ctermfg=Blue ctermbg=Black guifg=#00A0FF guibg=#000090 gui=NONE -hi Constant ctermfg=White ctermbg=Black guifg=#0050EE guibg=#000040 gui=NONE -hi Identifier ctermfg=Cyan ctermbg=Black guifg=#FFFFFF guibg=#000040 gui=NONE -hi Type ctermfg=Cyan ctermbg=Black guifg=#5050FF guibg=#000040 gui=NONE -hi Folded ctermfg=White ctermbg=Blue guifg=#00A0FF guibg=#000050 gui=BOLD -hi Special ctermfg=Blue ctermbg=Black guifg=#00A0FF guibg=#000090 gui=NONE -hi PreProc ctermfg=Blue ctermbg=Black guifg=#00FF00 guibg=#000040 gui=BOLD -hi Scrollbar ctermfg=Blue ctermbg=Black guifg=#00C0FF guibg=#000040 -hi Cursor ctermfg=white ctermbg=Black guifg=#FFFFFF guibg=#5050FF -hi ErrorMsg ctermfg=white ctermbg=Red guifg=#FFFFFF guibg=#FF0000 -hi WarningMsg ctermfg=Black ctermbg=Yellow guifg=#000000 guibg=#FFFF00 -hi VertSplit ctermfg=White ctermbg=Blue guifg=#000090 guibg=#000090 -hi Directory ctermfg=Cyan ctermbg=DarkBlue guifg=#00A0F0 guibg=#000040 -hi Visual ctermfg=Black ctermbg=Cyan guifg=#5050FF guibg=#FFFFFF -hi Title ctermfg=White ctermbg=Blue guifg=#FFFFFF guibg=#0050EE gui=NONE - -hi StatusLine term=bold cterm=bold ctermfg=White ctermbg=Blue gui=bold guifg=#FFFFFF guibg=#0050EE -hi StatusLineNC term=bold cterm=bold ctermfg=Gray ctermbg=Blue gui=bold guifg=#AAAAAA guibg=#000090 -hi LineNr term=bold cterm=bold ctermfg=White ctermbg=DarkBlue gui=bold guifg=#00A0FF guibg=#000050 - diff --git a/.vim/colors/bluegreen.vim b/.vim/colors/bluegreen.vim deleted file mode 100644 index 0b23dcd..0000000 --- a/.vim/colors/bluegreen.vim +++ /dev/null @@ -1,52 +0,0 @@ - - -" Vim color file -" Maintainer: -" Last Change: -" URL: - - -" cool help screens -" :he group-name -" :he highlight-groups -" :he cterm-colors - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name="mine" - -hi Normal guifg=White guibg=#061A3E - -" highlight groups -hi Cursor guibg=#D74141 guifg=#e3e3e3 -hi VertSplit guibg=#C0FFFF guifg=#075554 gui=none -hi Folded guibg=#FFC0C0 guifg=black -hi FoldColumn guibg=#800080 guifg=tan -"hi IncSearch cterm=none ctermbg=blue ctermfg=grey guifg=slategrey guibg=khaki -hi ModeMsg guifg=#404040 guibg=#C0C0C0 -hi MoreMsg guifg=darkturquoise guibg=#188F90 -hi NonText guibg=#334C75 guifg=#9FADC5 -hi Question guifg=#F4BB7E -hi Search guibg=fg guifg=bg -hi SpecialKey guifg=#BF9261 -hi StatusLine guibg=#004443 guifg=#c0ffff gui=none -hi StatusLineNC guibg=#067C7B guifg=#004443 gui=bold -hi Title guifg=#8DB8C3 -hi Visual gui=bold guifg=black guibg=#C0FFC0 -hi WarningMsg guifg=#F60000 gui=underline - -" syntax highlighting groups -hi Comment guifg=#DABEA2 -hi Constant guifg=#72A5E4 gui=bold -hi Identifier guifg=#ADCBF1 -hi Statement guifg=#7E75B5 -hi PreProc guifg=#14F07C -hi Type guifg=#A9EE8A -hi Special guifg=#EEBABA -hi Ignore guifg=grey60 -hi Todo guibg=#9C8C84 guifg=#244C0A - -"vim: ts=4 diff --git a/.vim/colors/blugrine.vim b/.vim/colors/blugrine.vim deleted file mode 100644 index 6ba6330..0000000 --- a/.vim/colors/blugrine.vim +++ /dev/null @@ -1,42 +0,0 @@ -" author Helder Correia < helder (dot) correia (at) netcabo (dot) pt> -" version 2004.0 -" based on bluegreen colorscheme by Joao Estevao -" feel free to modify / redistribute this file - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name="blugrine" - -hi Normal guifg=White guibg=#000000 - -" highlight groups -hi Cursor guibg=#D74141 guifg=#e3e3e3 -hi VertSplit guibg=#C0FFFF guifg=#075554 gui=none -hi Folded guibg=#FFC0C0 guifg=black -hi FoldColumn guibg=#800080 guifg=tan -hi ModeMsg guifg=#404040 guibg=#C0C0C0 -hi MoreMsg guifg=darkturquoise guibg=#188F90 -hi NonText guibg=#334C75 guifg=#9FADC5 -hi Question guifg=#F4BB7E -hi Search guibg=fg guifg=bg -hi SpecialKey guifg=#BF9261 -hi StatusLine guibg=#004443 guifg=#c0ffff gui=none -hi StatusLineNC guibg=#067C7B guifg=#004443 gui=bold -hi Title guifg=#8DB8C3 -hi Visual gui=bold guifg=black guibg=#C0FFC0 -hi WarningMsg guifg=#F60000 gui=underline - -" syntax highlighting groups -hi Comment guifg=#DABEA2 -hi Constant guifg=#72A5E4 gui=bold -hi Identifier guifg=#ADCBF1 -hi Statement guifg=#7E75B5 -hi PreProc guifg=#14F07C -hi Type guifg=#A9EE8A -hi Special guifg=#EEBABA -hi Ignore guifg=grey60 -hi Todo guibg=#9C8C84 guifg=#244C0A - diff --git a/.vim/colors/bmichaelsen.vim b/.vim/colors/bmichaelsen.vim deleted file mode 100644 index b63f65c..0000000 --- a/.vim/colors/bmichaelsen.vim +++ /dev/null @@ -1,55 +0,0 @@ -" local syntax file - set colors on a per-machine basis: -" vim: tw=0 ts=4 sw=4 -" Vim color file -" Maintainer: Björn Michaelsen <bmichaelsen@gmx.de> -" based on: Zellner maintained by Ron Aaron <ronaharon@yahoo.com> -" Last Change: 2003 Sep 09 - -set background=light -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name = "bmichaelsen" - -hi Comment term=bold ctermfg=Red guifg=Red -hi Normal guifg=black guibg=#dee2ee -hi Constant term=underline ctermfg=Magenta guifg=Magenta -hi Special term=bold ctermfg=Magenta guifg=Magenta -hi Identifier term=underline ctermfg=Blue guifg=Blue -hi Statement term=bold ctermfg=DarkRed gui=NONE guifg=Brown -hi PreProc term=underline ctermfg=Magenta guifg=Purple -hi Type term=underline ctermfg=Blue gui=NONE guifg=Blue -hi Visual term=reverse ctermfg=Yellow ctermbg=Red gui=NONE guifg=Black guibg=#5a5d6a -hi Search term=reverse ctermfg=Black ctermbg=Cyan gui=NONE guifg=Black guibg=Cyan -hi Tag term=bold ctermfg=DarkGreen guifg=DarkGreen -hi Error term=reverse ctermfg=15 ctermbg=9 guibg=Red guifg=White -hi Todo term=standout ctermbg=Yellow ctermfg=Black guifg=Blue guibg=#5a5d6a -hi StatusLine term=bold,reverse cterm=NONE ctermfg=Yellow ctermbg=DarkGray gui=NONE guifg=Black guibg=#a4b2c5 -hi! link MoreMsg Comment -hi! link ErrorMsg Visual -hi! link WarningMsg ErrorMsg -hi! link Question Comment -hi link String Constant -hi link Character Constant -hi link Number Constant -hi link Boolean Constant -hi link Float Number -hi link Function Identifier -hi link Conditional Statement -hi link Repeat Statement -hi link Label Statement -hi link Operator Statement -hi link Keyword Statement -hi link Exception Statement -hi link Include PreProc -hi link Define PreProc -hi link Macro PreProc -hi link PreCondit PreProc -hi link StorageClass Type -hi link Structure Type -hi link Typedef Type -hi link SpecialChar Special -hi link Delimiter Special -hi link SpecialComment Special -hi link Debug Special diff --git a/.vim/colors/bog.vim b/.vim/colors/bog.vim deleted file mode 100644 index 542262d..0000000 --- a/.vim/colors/bog.vim +++ /dev/null @@ -1,87 +0,0 @@ -" Vim color file -" Maintainer: [smeagol] <webmaster@quantumz.net> -" Last Change: -" URL: - -" cool help screens -" :he group-name -" :he highlight-groups -" :he cterm-colors - -" your pick: -set background=light " or light -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name="bog" - -hi Normal guifg=#3a3a3d guibg=white ctermfg=darkgrey ctermbg=white - -" OR - -" highlight clear Normal -" set background& -" highlight clear -" if &background == "light" -" highlight Error ... -" ... -" else -" highlight Error ... -" ... -" endif - -" A good way to see what your colorscheme does is to follow this procedure: -" :w -" :so % -" -" Then to see what the current setting is use the highlight command. -" For example, -" :hi Cursor -" gives -" Cursor xxx guifg=bg guibg=fg - -" Uncomment and complete the commands you want to change from the default. - -hi Cursor guifg=#04ae6c guibg=#0056a0 ctermfg=darkgreen ctermbg=darkblue -"hi CursorIM -hi Directory guifg=green ctermfg=green -"hi DiffAdd -"hi DiffChange -"hi DiffDelete -"hi DiffText -hi ErrorMsg guibg=#004a8a guifg=white ctermfg=white ctermbg=darkblue -hi VertSplit guibg=#04ae6c guifg=#0056a0 -hi Folded guibg=#0a62c4 guifg=#60abff ctermfg=lightgrey ctermbg=blue -hi FoldColumn guibg=#0a62c4 guifg=#60abff ctermfg=lightgrey ctermbg=blue -hi IncSearch guifg=white guibg=#ffdc34 ctermfg=white ctermbg=lightred gui=underline -hi LineNr guifg=#3669e8 guibg=white ctermfg=lightblue ctermbg=white -hi ModeMsg guifg=orange guibg=white ctermfg=lightred ctermbg=white -hi MoreMsg guifg=orange guibg=white ctermfg=lightred ctermbg=white -hi NonText gui=bold -hi Question guifg=white guibg=orange ctermfg=white ctermbg=lightred -hi Search guifg=white guibg=#ffdc34 ctermfg=white ctermbg=lightred gui=underline -"hi SpecialKey -hi StatusLine guifg=#04ae6c guibg=white ctermfg=darkgreen ctermbg=white -hi StatusLineNC guifg=#04ae6c guibg=white ctermfg=darkgreen ctermbg=white -hi Title guifg=#02233f gui=bold -hi Visual guifg=darkblue guibg=white ctermfg=darkblue ctermbg=white -"hi VisualNOS -hi WarningMsg guifg=white guibg=orange ctermfg=white ctermbg=lightblue -hi WildMenu guifg=#75dc34 guibg=white ctermfg=lightgreen ctermbg=white -"hi Menu -"hi Scrollbar -"hi Tooltip - -" syntax highlighting groups -hi Comment guifg=orange guibg=white ctermbg=white ctermfg=blue -hi Constant guifg=#5b8f8d guibg=white ctermfg=grey ctermbg=white -hi Identifier guifg=#aad2ff guibg=white ctermfg=grey ctermbg=white -hi Statement guifg=#808283 guibg=white ctermfg=lightgrey ctermbg=white -hi PreProc guifg=#023a6a gui=bold guibg=white ctermfg=darkblue ctermbg=white -hi Type guifg=#0e9152 guibg=white ctermfg=darkgreen ctermbg=white -hi Special guifg=white guibg=skyblue ctermfg=white ctermbg=blue -hi Underlined guifg=#00d0e8 ctermbg=blue -hi Ignore guifg=black guibg=white ctermfg=black ctermbg=white -"hi Error -hi Todo guibg=lightblue guifg=white ctermbg=lightblue ctermfg=white diff --git a/.vim/colors/borland.vim b/.vim/colors/borland.vim deleted file mode 100644 index c39c101..0000000 --- a/.vim/colors/borland.vim +++ /dev/null @@ -1,60 +0,0 @@ -" Vim color file -" Maintainer: Yegappan Lakshmanan -" Last Change: 2001 Sep 9 - -" Color settings similar to that used in Borland IDE's. - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name="borland" - -hi Normal term=NONE cterm=NONE ctermfg=Yellow ctermbg=DarkBlue -hi Normal gui=NONE guifg=Yellow guibg=DarkBlue -hi NonText term=NONE cterm=NONE ctermfg=White ctermbg=DarkBlue -hi NonText gui=NONE guifg=White guibg=DarkBlue - -hi Statement term=NONE cterm=NONE ctermfg=White ctermbg=DarkBlue -hi Statement gui=NONE guifg=White guibg=DarkBlue -hi Special term=NONE cterm=NONE ctermfg=Cyan ctermbg=DarkBlue -hi Special gui=NONE guifg=Cyan guibg=DarkBlue -hi Constant term=NONE cterm=NONE ctermfg=Magenta ctermbg=DarkBlue -hi Constant gui=NONE guifg=Magenta guibg=DarkBlue -hi Comment term=NONE cterm=NONE ctermfg=Gray ctermbg=DarkBlue -hi Comment gui=NONE guifg=Gray guibg=DarkBlue -hi Preproc term=NONE cterm=NONE ctermfg=Green ctermbg=DarkBlue -hi Preproc gui=NONE guifg=Green guibg=DarkBlue -hi Type term=NONE cterm=NONE ctermfg=White ctermbg=DarkBlue -hi Type gui=NONE guifg=White guibg=DarkBlue -hi Identifier term=NONE cterm=NONE ctermfg=White ctermbg=DarkBlue -hi Identifier gui=NONE guifg=White guibg=DarkBlue - -hi StatusLine term=bold cterm=bold ctermfg=Black ctermbg=White -hi StatusLine gui=bold guifg=Black guibg=White - -hi StatusLineNC term=NONE cterm=NONE ctermfg=Black ctermbg=White -hi StatusLineNC gui=NONE guifg=Black guibg=White - -hi Visual term=NONE cterm=NONE ctermfg=Black ctermbg=DarkCyan -hi Visual gui=NONE guifg=Black guibg=DarkCyan - -hi Search term=NONE cterm=NONE ctermbg=Gray -hi Search gui=NONE guibg=Gray - -hi VertSplit term=NONE cterm=NONE ctermfg=Black ctermbg=White -hi VertSplit gui=NONE guifg=Black guibg=White - -hi Directory term=NONE cterm=NONE ctermfg=Green ctermbg=DarkBlue -hi Directory gui=NONE guifg=Green guibg=DarkBlue - -hi WarningMsg term=standout cterm=NONE ctermfg=Red ctermbg=DarkBlue -hi WarningMsg gui=standout guifg=Red guibg=DarkBlue - -hi Error term=NONE cterm=NONE ctermfg=White ctermbg=Red -hi Error gui=NONE guifg=White guibg=Red - -hi Cursor ctermfg=Black ctermbg=Yellow -hi Cursor guifg=Black guibg=Yellow - diff --git a/.vim/colors/breeze.vim b/.vim/colors/breeze.vim deleted file mode 100644 index 21cf417..0000000 --- a/.vim/colors/breeze.vim +++ /dev/null @@ -1,70 +0,0 @@ -" Vim color file -" Maintainer: Tiza -" Last Change: 2002/10/30 Wed 00:08. -" version: 1.0 -" This color scheme uses a dark background. - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif - -let colors_name = "breeze" - -hi Normal guifg=#ffffff guibg=#005c70 - -" Search -hi IncSearch gui=UNDERLINE guifg=#60ffff guibg=#6060ff -hi Search gui=NONE guifg=#ffffff guibg=#6060ff - -" Messages -hi ErrorMsg gui=BOLD guifg=#ffffff guibg=#ff40a0 -hi WarningMsg gui=BOLD guifg=#ffffff guibg=#ff40a0 -hi ModeMsg gui=NONE guifg=#60ffff guibg=NONE -hi MoreMsg gui=NONE guifg=#ffc0ff guibg=NONE -hi Question gui=NONE guifg=#ffff60 guibg=NONE - -" Split area -hi StatusLine gui=NONE guifg=#000000 guibg=#d0d0e0 -hi StatusLineNC gui=NONE guifg=#606080 guibg=#d0d0e0 -hi VertSplit gui=NONE guifg=#606080 guibg=#d0d0e0 -hi WildMenu gui=NONE guifg=#000000 guibg=#00c8f0 - -" Diff -hi DiffText gui=UNDERLINE guifg=#ffff00 guibg=#000000 -hi DiffChange gui=NONE guifg=#ffffff guibg=#000000 -hi DiffDelete gui=NONE guifg=#60ff60 guibg=#000000 -hi DiffAdd gui=NONE guifg=#60ff60 guibg=#000000 - -" Cursor -hi Cursor gui=NONE guifg=#ffffff guibg=#d86020 -hi lCursor gui=NONE guifg=#ffffff guibg=#e000b0 -hi CursorIM gui=NONE guifg=#ffffff guibg=#e000b0 - -" Fold -hi Folded gui=NONE guifg=#ffffff guibg=#0088c0 -" hi Folded gui=NONE guifg=#ffffff guibg=#2080d0 -hi FoldColumn gui=NONE guifg=#60e0e0 guibg=#006c7f - -" Other -hi Directory gui=NONE guifg=#00e0ff guibg=NONE -hi LineNr gui=NONE guifg=#60a8bc guibg=NONE -hi NonText gui=BOLD guifg=#00c0c0 guibg=#006276 -hi SpecialKey gui=NONE guifg=#e0a0ff guibg=NONE -hi Title gui=BOLD guifg=#ffffff guibg=NONE -hi Visual gui=NONE guifg=#ffffff guibg=#6060d0 -" hi VisualNOS gui=NONE guifg=#ffffff guibg=#6060d0 - -" Syntax group -hi Comment gui=NONE guifg=#c8d0d0 guibg=NONE -hi Constant gui=NONE guifg=#60ffff guibg=NONE -hi Error gui=BOLD guifg=#ffffff guibg=#ff40a0 -hi Identifier gui=NONE guifg=#cacaff guibg=NONE -hi Ignore gui=NONE guifg=#006074 guibg=NONE -hi PreProc gui=NONE guifg=#ffc0ff guibg=NONE -hi Special gui=NONE guifg=#ffd074 guibg=NONE -hi Statement gui=NONE guifg=#ffff80 guibg=NONE -hi Todo gui=BOLD,UNDERLINE guifg=#ffb0b0 guibg=NONE -hi Type gui=NONE guifg=#80ffa0 guibg=NONE -hi Underlined gui=UNDERLINE guifg=#ffffff guibg=NONE diff --git a/.vim/colors/brookstream.vim b/.vim/colors/brookstream.vim deleted file mode 100644 index ee907c6..0000000 --- a/.vim/colors/brookstream.vim +++ /dev/null @@ -1,83 +0,0 @@ -"-------------------------------------------------------------------- -" Name Of File: brookstream.vim. -" Description: Gvim colorscheme, works best with version 6.1 GUI . -" Maintainer: Peter Bäckström. -" Creator: Peter Bäckström. -" URL: http://www.brookstream.org (Swedish). -" Credits: Inspiration from the darkdot scheme. -" Last Change: Friday, April 13, 2003. -" Installation: Drop this file in your $VIMRUNTIME/colors/ directory. -"-------------------------------------------------------------------- - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name="brookstream" - -"-------------------------------------------------------------------- - -hi Normal gui=none guibg=#000000 guifg=#bbbbbb -hi Cursor guibg=#44ff44 guifg=#000000 -hi Directory guifg=#44ffff -hi DiffAdd guibg=#080808 guifg=#ffff00 -hi DiffDelete guibg=#080808 guifg=#444444 -hi DiffChange guibg=#080808 guifg=#ffffff -hi DiffText guibg=#080808 guifg=#bb0000 -hi ErrorMsg guibg=#880000 guifg=#ffffff -hi Folded guifg=#000088 -hi IncSearch guibg=#000000 guifg=#bbcccc -hi LineNr guibg=#050505 guifg=#4682b4 -hi ModeMsg guifg=#ffffff -hi MoreMsg guifg=#44ff44 -hi NonText guifg=#4444ff -hi Question guifg=#ffff00 -hi SpecialKey guifg=#4444ff -hi StatusLine gui=none guibg=#2f4f4f guifg=#ffffff -hi StatusLineNC gui=none guibg=#bbbbbb guifg=#000000 -hi Title guifg=#ffffff -hi Visual gui=none guibg=#bbbbbb guifg=#000000 -hi WarningMsg guifg=#ffff00 - -" syntax highlighting groups ---------------------------------------- - -hi Comment guifg=#696969 -hi Constant guifg=#00aaaa -hi Identifier guifg=#00e5ee -hi Statement guifg=#00ffff -hi PreProc guifg=#8470ff -hi Type guifg=#ffffff -hi Special gui=none guifg=#87cefa -hi Underlined gui=bold guifg=#4444ff -hi Ignore guifg=#444444 -hi Error guibg=#000000 guifg=#bb0000 -hi Todo guibg=#aa0006 guifg=#fff300 -hi Operator gui=none guifg=#00bfff -hi Function guifg=#1e90ff -hi String gui=None guifg=#4682b4 -hi Boolean guifg=#9bcd9b - -"hi link Character Constant -"hi link Number Constant -"hi link Boolean Constant -"hi link Float Number -"hi link Conditional Statement -"hi link Label Statement -"hi link Keyword Statement -"hi link Exception Statement -"hi link Repeat Statement -"hi link Include PreProc -"hi link Define PreProc -"hi link Macro PreProc -"hi link PreCondit PreProc -"hi link StorageClass Type -"hi link Structure Type -"hi link Typedef Type -"hi link Tag Special -"hi link Delimiter Special -"hi link SpecialComment Special -"hi link Debug Special -"hi link FoldColumn Folded - -"- end of colorscheme ----------------------------------------------- diff --git a/.vim/colors/brown.vim b/.vim/colors/brown.vim deleted file mode 100644 index aecfe4e..0000000 --- a/.vim/colors/brown.vim +++ /dev/null @@ -1,32 +0,0 @@ -hi comment guifg=#fef8ff ctermfg=red -hi constant guifg=#aa712f ctermfg=white -hi cursor guibg=#5e3807 guifg=#deb887 -hi diffadd ctermbg=green ctermfg=black -hi diffchange ctermbg=green ctermfg=white -hi diffdelete ctermbg=none ctermfg=darkyellow -hi difftext ctermbg=black ctermfg=green -hi directory guifg=#3e1807 ctermfg=green -hi error guibg=#cc3807 guifg=#deb887 -hi errormsg guifg=#cc3807 guibg=#f9d7a6 -hi identifier guifg=#5e3807 ctermfg=green -hi incsearch guifg=#f9d7a6 guibg=#8e6837 -hi modemsg guifg=#793807 ctermbg=none ctermfg=cyan gui=none -hi moremsg guifg=#793807 gui=none -hi nontext guifg=#ffffff ctermfg=darkgrey -hi normal guibg=#deb887 guifg=#846037 -hi preproc guifg=#7e6f27 ctermfg=white -hi question guifg=#793807 gui=none -hi scrollbar guibg=#deb887 guifg=#ae8857 -hi search guifg=#f9d7a6 ctermbg=cyan ctermfg=yellow guibg=#8e6837 -hi special guifg=#000000 ctermfg=yellow -hi specialkey guifg=#ffffff ctermfg=white -hi statement guifg=#7e5827 ctermfg=cyan -hi statusline guibg=#fee8b7 ctermbg=black ctermfg=darkgreen guifg=#793807 gui=none -hi statuslinenc guibg=#ae8857 ctermbg=black ctermfg=darkcyan guifg=#deb887 gui=none -hi title guifg=#793807 ctermfg=darkgreen gui=none -hi todo guibg=#995827 guifg=#fed8a7 -hi type guifg=#7e5827 ctermfg=yellow gui=none -hi vertsplit guibg=#ae8857 ctermbg=green ctermfg=black guifg=#ae8857 gui=none -hi visual guifg=#f9d7a6 guibg=#8e6837 ctermbg=black ctermfg=darkcyan -hi warningmsg guifg=#cc3807 -hi wildmenu guifg=#f9d7a6 guibg=#8e6837 diff --git a/.vim/colors/buttercream.vim b/.vim/colors/buttercream.vim deleted file mode 100644 index 30fb10d..0000000 --- a/.vim/colors/buttercream.vim +++ /dev/null @@ -1,59 +0,0 @@ -" Vim color file -" vim: tw=0 ts=8 sw=4 -" Scriptname: buttercream -" Maintainer: Håkan Wikström <hakan@wikstrom.st> -" Version: 1.0 (initial release) -" Last Change: 20040126 -" As of now only gui is supported -" Based on the theme fog theme by Thomas R. Kimpton <tomk@emcity.net> - -set background=light -hi clear -if exists("syntax_on") - syntax reset -endif -let colors_name = "buttercream" - -" Highlight Foreground Background Extras - -hi Normal guifg=#213a58 guibg=#f3edbb -hi NonText guifg=LightBlue guibg=#f4df8b gui=bold -hi Comment guifg=#2f8e99 -hi Constant guifg=#7070a0 -hi Statement guifg=DarkGreen gui=bold -hi identifier guifg=DarkGreen -hi preproc guifg=#408040 -hi type guifg=DarkBlue -hi label guifg=#c06000 -hi operator guifg=DarkGreen gui=bold -hi StorageClass guifg=#a02060 gui=bold -hi Number guifg=Blue -hi Special guifg=#aa8822 -hi Cursor guifg=LightGrey guibg=#880088 -hi lCursor guifg=Black guibg=Cyan -hi ErrorMsg guifg=White guibg=DarkRed -hi DiffText guibg=DarkRed gui=bold -hi Directory guifg=DarkGrey gui=underline -hi LineNr guifg=#ccaa22 -hi MoreMsg guifg=SeaGreen gui=bold -hi Question guifg=DarkGreen gui=bold -hi Search guifg=Black guibg=#887722 -hi SpecialKey guifg=Blue -hi SpecialChar guifg=DarkGrey gui=bold -hi Title guifg=DarkMagenta gui=underline -hi WarningMsg guifg=DarkBlue guibg=#9999cc -hi WildMenu guifg=Black guibg=Yellow gui=underline -hi Folded guifg=DarkBlue guibg=LightGrey -hi FoldColumn guifg=DarkBLue guibg=Grey -hi DiffAdd guibg=DarkBlue -hi DiffChange guibg=DarkMagenta -hi DiffDelete guifg=Blue guibg=DarkCyan gui=bold -hi Ignore guifg=grey90 -hi IncSearch gui=reverse -hi ModeMsg gui=bold -hi StatusLine gui=reverse,bold -hi StatusLineNC gui=reverse -hi VertSplit gui=reverse -hi Visual guifg=LightGrey gui=reverse -hi VisualNOS gui=underline,bold -hi Todo guibg=#ccaa22 gui=bold,underline diff --git a/.vim/colors/bw.vim b/.vim/colors/bw.vim deleted file mode 100644 index 4c97e57..0000000 --- a/.vim/colors/bw.vim +++ /dev/null @@ -1,55 +0,0 @@ -" Vim color file -" Maintainer: Hans Fugal <hans@fugal.net> -" Last Change: 5 Oct 2001 -" URL: http://fugal.net/vim/colors/bw.vim - -" cool help screens -" :he group-name -" :he highlight-groups -" :he cterm-colors -" -if version > 580 - " no guarantees for version 5.8 and below, but this makes it stop - " complaining - hi clear - if exists("syntax_on") - syntax reset - endif -endif -let g:colors_name="bw" - -hi SpecialKey cterm=bold ctermfg=NONE -hi NonText cterm=bold ctermfg=NONE -hi Directory cterm=bold ctermfg=NONE -hi ErrorMsg cterm=standout ctermfg=NONE -hi IncSearch cterm=reverse ctermfg=NONE -hi Search cterm=reverse ctermfg=NONE -hi MoreMsg cterm=bold ctermfg=NONE -hi ModeMsg cterm=bold ctermfg=NONE -hi LineNr cterm=underline ctermfg=NONE -hi Question cterm=standout ctermfg=NONE -hi StatusLine cterm=bold,reverse ctermfg=NONE -hi StatusLineNC cterm=reverse ctermfg=NONE -hi VertSplit cterm=reverse ctermfg=NONE -hi Title cterm=bold ctermfg=NONE -hi Visual cterm=reverse ctermfg=NONE -hi VisualNOS cterm=bold,underline ctermfg=NONE -hi WarningMsg cterm=standout ctermfg=NONE -hi WildMenu cterm=standout ctermfg=NONE -hi Folded cterm=standout ctermfg=NONE -hi FoldColumn cterm=standout ctermfg=NONE -hi DiffAdd cterm=bold ctermfg=NONE -hi DiffChange cterm=bold ctermfg=NONE -hi DiffDelete cterm=bold ctermfg=NONE -hi DiffText cterm=reverse ctermfg=NONE -hi Comment cterm=bold ctermfg=NONE -hi Constant cterm=underline ctermfg=NONE -hi Special cterm=bold ctermfg=NONE -hi Identifier cterm=underline ctermfg=NONE -hi Statement cterm=bold ctermfg=NONE -hi PreProc cterm=underline ctermfg=NONE -hi Type cterm=underline ctermfg=NONE -hi Underlined cterm=underline ctermfg=NONE -hi Ignore cterm=bold ctermfg=NONE -hi Error cterm=reverse ctermfg=NONE -hi Todo cterm=standout ctermfg=NONE diff --git a/.vim/colors/c.vim b/.vim/colors/c.vim deleted file mode 100644 index 6109c22..0000000 --- a/.vim/colors/c.vim +++ /dev/null @@ -1,32 +0,0 @@ -" Vim Syntax Highlighting File -" -" Language: C -" -" Extra: This is to copy the vi clone elvis on its -" syntax highlighting. -" -" Maintainer: Dean Jones<dean@cleancode.org> -" -" Comment: This works well with the default c.vim -" that comes with vim6.x. It basically -" overrides the very bright colors it uses -" and uses simple white for highlighting -" key words and types in the C language. -" If you're using Eterm, uncomment the -" Normal line specified below. - -hi clear - -" Eterm users, uncomment the line below -" hi Normal ctermfg=grey - -hi PreProc ctermfg=white -hi Type ctermfg=white -hi Statement ctermfg=white -hi Comment ctermfg=grey -hi Constant cterm=NONE ctermfg=NONE -hi Number cterm=NONE ctermfg=NONE -hi String cterm=NONE ctermfg=NONE -hi Special cterm=NONE ctermfg=NONE - -" EOF for Dean's Elvis like highlighting diff --git a/.vim/colors/camo.vim b/.vim/colors/camo.vim deleted file mode 100644 index 059af42..0000000 --- a/.vim/colors/camo.vim +++ /dev/null @@ -1,76 +0,0 @@ -" Vim color file -" Maintainer: Tim Aldrich <aldy0169@yahoo.com> -" Last Change: 19 January 2002 - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name="camo" -hi Normal guifg=bisque guibg=grey15 -hi Cursor guifg=snow guibg=bisque3 -hi CursorIM guifg=OliveDrab4 guibg=bisque -hi Directory guifg=OliveDrab4 guibg=grey15 -hi DiffAdd guifg=DarkOliveGreen1 guibg=grey15 -hi DiffChange guifg=PaleGreen guibg=grey15 -hi DiffDelete guifg=red guibg=grey15 -hi DiffText guifg=grey15 guibg=red -hi ErrorMsg guifg=snow guibg=red -hi VertSplit guifg=bisque4 guibg=DarkOliveGreen1 -hi Folded guifg=DarkOliveGreen2 guibg=grey30 -hi FoldColumn guifg=DarkOliveGreen2 guibg=grey30 -hi IncSearch guifg=bisque guibg=red -hi LineNr guifg=OliveDrab4 guibg=grey15 -hi ModeMsg guifg=khaki3 guibg=grey15 -hi MoreMsg guifg=khaki3 guibg=grey15 -hi NonText guifg=DarkSalmon guibg=grey10 -hi Question guifg=IndianRed guibg=grey10 -hi Search guifg=DarkSalmon guibg=grey15 -hi SpecialKey guifg=yellow guibg=grey15 -hi StatusLine guifg=bisque4 guibg=DarkOliveGreen1 -hi StatusLineNC guifg=bisque4 guibg=DarkOliveGreen3 -hi Title guifg=IndianRed guibg=grey15 -hi Visual guifg=OliveDrab4 guibg=bisque1 -hi WarningMsg guifg=bisque guibg=red -hi WildMenu guifg=LightBlue guibg=DarkViolet - - -"Syntax hilight groups - -hi Comment guifg=tan -hi Constant guifg=khaki -hi String guifg=moccasin -hi Character guifg=chocolate -hi Number guifg=chocolate -hi Boolean guifg=OliveDrab3 -hi Float guifg=chocolate -hi Identifier guifg=khaki4 -hi Function guifg=OliveDrab4 -hi Statement guifg=khaki -hi Conditional guifg=khaki -hi Repeat guifg=khaki -hi Label guifg=khaki -hi Operator guifg=DarkKhaki -hi Keyword guifg=DarkKhaki -hi Exception guifg=khaki -hi PreProc guifg=khaki4 -hi Include guifg=khaki4 -hi Define guifg=khaki1 -hi Macro guifg=khaki2 -hi PreCondit guifg=khaki3 -hi Type guifg=khaki3 -hi StorageClass guifg=tan -hi Structure guifg=DarkGoldenrod -hi Typedef guifg=khaki3 -hi Special guifg=IndianRed -hi SpecialChar guifg=DarkGoldenrod -hi Tag guifg=DarkKhaki -hi Delimiter guifg=DarkGoldenrod -hi SpecialComment guifg=cornsilk -hi Debug guifg=brown -hi Underlined guifg=IndianRed -hi Ignore guifg=grey30 -hi Error guifg=bisque guibg=red -hi Todo guifg=red guibg=bisque - diff --git a/.vim/colors/campfire.vim b/.vim/colors/campfire.vim deleted file mode 100644 index b77c3fc..0000000 --- a/.vim/colors/campfire.vim +++ /dev/null @@ -1,57 +0,0 @@ -" Vim color file
-" Maintainer: Alexander Timmermans <alexandertimmermans@orange.nl>
-" Last Change: 28 september 2006
-
-set bg=dark
-hi clear
-if exists("syntax_on")
- syntax reset
-endif
-
-let colors_name = "campfire"
-
-hi Normal guifg=#c0c0c0 guibg=#000040 ctermfg=gray ctermbg=black
-hi ErrorMsg guifg=#ffffff guibg=#287eff ctermfg=white ctermbg=lightblue
-hi Visual guifg=#8080ff guibg=fg gui=reverse ctermfg=lightblue ctermbg=fg cterm=reverse
-hi VisualNOS guifg=#8080ff guibg=fg gui=reverse,underline ctermfg=lightblue ctermbg=fg cterm=reverse,underline
-hi Todo guifg=#d14a14 guibg=#1248d1 ctermfg=red ctermbg=darkblue
-hi Search guifg=#90fff0 guibg=#2050d0 ctermfg=white ctermbg=darkblue cterm=underline term=underline
-hi IncSearch guifg=#b0ffff guibg=#2050d0 ctermfg=darkblue ctermbg=gray
-
-hi SpecialKey guifg=cyan ctermfg=darkcyan
-hi Directory guifg=cyan ctermfg=cyan
-hi Title guifg=magenta gui=none ctermfg=magenta cterm=bold
-hi WarningMsg guifg=red ctermfg=red
-hi WildMenu guifg=yellow guibg=black ctermfg=yellow ctermbg=black cterm=none term=none
-hi ModeMsg guifg=#22cce2 ctermfg=lightblue
-hi MoreMsg ctermfg=darkgreen ctermfg=darkgreen
-hi Question guifg=green gui=none ctermfg=green cterm=none
-hi NonText guifg=#0030ff ctermfg=darkblue
-
-hi StatusLine guifg=blue guibg=darkgray gui=none ctermfg=blue ctermbg=gray term=none cterm=none
-hi StatusLineNC guifg=black guibg=darkgray gui=none ctermfg=black ctermbg=gray term=none cterm=none
-hi VertSplit guifg=black guibg=darkgray gui=none ctermfg=black ctermbg=gray term=none cterm=none
-
-hi Folded guifg=#808080 guibg=#000040 ctermfg=darkgrey ctermbg=black cterm=bold term=bold
-hi FoldColumn guifg=#808080 guibg=#000040 ctermfg=darkgrey ctermbg=black cterm=bold term=bold
-hi LineNr guifg=#90f020 ctermfg=green cterm=none
-
-hi DiffAdd guibg=darkblue ctermbg=darkblue term=none cterm=none
-hi DiffChange guibg=darkmagenta ctermbg=magenta cterm=none
-hi DiffDelete ctermfg=blue ctermbg=cyan gui=bold guifg=Blue guibg=DarkCyan
-hi DiffText cterm=bold ctermbg=red gui=bold guibg=Red
-
-hi lCursor guifg=#ffffff guibg=#000000 ctermfg=bg ctermbg=darkgreen
-
-
-hi Comment guifg=#80a0ff ctermfg=darkred
-hi Constant ctermfg=magenta guifg=#ffa0a0 cterm=none
-hi Special ctermfg=brown guifg=Orange cterm=none gui=none
-hi Identifier ctermfg=cyan guifg=seagreen1 cterm=none
-hi Statement ctermfg=yellow cterm=none guifg=#ffff60 gui=none
-hi PreProc ctermfg=magenta guifg=gold gui=none cterm=none
-hi type ctermfg=green guifg=seagreen1 gui=none cterm=none
-hi Underlined cterm=underline term=underline
-hi Ignore guifg=bg ctermfg=bg
-hi String term=NONE cterm=NONE gui=NONE start=^[[m^[[33m stop=^[[m^[[32m ctermfg=3 guifg=LightGrey
-hi Constant term=NONE cterm=NONE gui=NONE start=^[[m^[[33m stop=^[[m^[[32m ctermfg=3 guifg=LightGrey
diff --git a/.vim/colors/candy.vim b/.vim/colors/candy.vim deleted file mode 100644 index 545ff7c..0000000 --- a/.vim/colors/candy.vim +++ /dev/null @@ -1,78 +0,0 @@ -" Vim color file -" Maintainer: Tiza -" Last Change: 2002/04/28 Sun 19:35. -" version: 1.0 -" This color scheme uses a dark background. - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif - -let colors_name = "candy" - -hi Normal guifg=#f0f0f8 guibg=#000000 - -" Search -hi IncSearch gui=UNDERLINE guifg=#80ffff guibg=#0060c0 -hi Search gui=NONE guifg=#f0f0f8 guibg=#0060c0 - -" Messages -hi ErrorMsg gui=BOLD guifg=#ffa0ff guibg=NONE -hi WarningMsg gui=BOLD guifg=#ffa0ff guibg=NONE -hi ModeMsg gui=BOLD guifg=#40f0d0 guibg=NONE -hi MoreMsg gui=BOLD guifg=#00ffff guibg=#008070 -hi Question gui=BOLD guifg=#e8e800 guibg=NONE - -" Split area -hi StatusLine gui=NONE guifg=#000000 guibg=#c8c8d8 -hi StatusLineNC gui=NONE guifg=#707080 guibg=#c8c8d8 -hi VertSplit gui=NONE guifg=#606080 guibg=#c8c8d8 -hi WildMenu gui=NONE guifg=#000000 guibg=#a0a0ff - -" Diff -hi DiffText gui=NONE guifg=#ff78f0 guibg=#a02860 -hi DiffChange gui=NONE guifg=#e03870 guibg=#601830 -hi DiffDelete gui=NONE guifg=#a0d0ff guibg=#0020a0 -hi DiffAdd gui=NONE guifg=#a0d0ff guibg=#0020a0 - -" Cursor -hi Cursor gui=NONE guifg=#00ffff guibg=#008070 -hi lCursor gui=NONE guifg=#ffffff guibg=#8800ff -hi CursorIM gui=NONE guifg=#ffffff guibg=#8800ff - -" Fold -hi Folded gui=NONE guifg=#40f0f0 guibg=#005080 -hi FoldColumn gui=NONE guifg=#40c0ff guibg=#00305c - -" Other -hi Directory gui=NONE guifg=#40f0d0 guibg=NONE -hi LineNr gui=NONE guifg=#9090a0 guibg=NONE -hi NonText gui=BOLD guifg=#4080ff guibg=NONE -hi SpecialKey gui=BOLD guifg=#8080ff guibg=NONE -hi Title gui=BOLD guifg=#f0f0f8 guibg=NONE -hi Visual gui=NONE guifg=#e0e0f0 guibg=#707080 - -" Syntax group -hi Comment gui=NONE guifg=#c0c0d0 guibg=NONE -hi Constant gui=NONE guifg=#90d0ff guibg=NONE -hi Error gui=BOLD guifg=#ffffff guibg=#ff0088 -hi Identifier gui=NONE guifg=#40f0f0 guibg=NONE -hi Ignore gui=NONE guifg=#000000 guibg=NONE -hi PreProc gui=NONE guifg=#40f0a0 guibg=NONE -hi Special gui=NONE guifg=#e0e080 guibg=NONE -hi Statement gui=NONE guifg=#ffa0ff guibg=NONE -hi Todo gui=BOLD,UNDERLINE guifg=#ffa0a0 guibg=NONE -hi Type gui=NONE guifg=#ffc864 guibg=NONE -hi Underlined gui=UNDERLINE guifg=#f0f0f8 guibg=NONE - -" HTML -hi htmlLink gui=UNDERLINE -hi htmlBold gui=BOLD -hi htmlBoldItalic gui=BOLD,ITALIC -hi htmlBoldUnderline gui=BOLD,UNDERLINE -hi htmlBoldUnderlineItalic gui=BOLD,UNDERLINE,ITALIC -hi htmlItalic gui=ITALIC -hi htmlUnderline gui=UNDERLINE -hi htmlUnderlineItalic gui=UNDERLINE,ITALIC diff --git a/.vim/colors/caramel.vim b/.vim/colors/caramel.vim deleted file mode 100644 index 81f6fd5..0000000 --- a/.vim/colors/caramel.vim +++ /dev/null @@ -1,67 +0,0 @@ -" Vim color file -" Maintainer : Brian Gant -" Email : gantbd@muohio.edu -" Last Change : 2/15/03 -" Version : 0.1 -" -" TODO : add colors for diff and other non-implemented -" stuff -" -" LICENCE (heh) : Emailware. Basically it means use it, -" abuse it, change it, love it, leave it, whatever! I -" do however make the simple request that if you use the -" scheme, drop me an email and let me know what you think -" about it, especially if you modify it! I don't use -" the non-implemented features on a regular enough basis -" to get a feel for how they flesh out. -" -" Designed for use with COBOL, but looks pretty good with -" Perl, PHP, and C/C++ too (at least I think so). -" -" Brian -" -" --------------------------------------------------------- - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name="caramel" - -" --------------------------------------------------------- - -hi Normal guifg=#dca454 guibg=#5c5094 - -" --------------------------------------------------------- - -hi Cursor guifg=#303030 guibg=#dca454 -hi CursorIM guifg=#303030 guibg=#dca454 -hi ErrorMsg guifg=#b4a8a8 guibg=bg -hi IncSearch guifg=#e0d070 guibg=#303030 -hi LineNr guifg=#b4a8a8 guibg=#39325d -hi ModeMsg guifg=#b4a8a8 guibg=bg -hi MoreMsg guifg=#b4a8a8 guibg=bg -hi NonText guifg=#b4a8a8 guibg=#39325d -hi Question guifg=#b4a8a8 guibg=bg -hi Search guifg=#303030 guibg=#e0d070 -hi StatusLine guifg=#e0d070 guibg=#303030 -hi StatusLineNC guifg=#dca454 guibg=#303030 -hi Title guifg=#b4a8a8 guibg=#39325d -hi Visual guifg=#b4a8a8 guibg=#303030 -hi VisualNOS guifg=#b4a8a8 guibg=#303030 -hi WarningMsg guifg=#b4a8a8 guibg=#39325d - -" --------------------------------------------------------- - -hi Comment guifg=#b4a8a8 guibg=bg -hi Constant guifg=#9cd464 guibg=bg -hi Identifier guifg=#e8c47c guibg=bg -hi Statement guifg=#8088bc guibg=bg -hi PreProc guifg=#e0d070 guibg=bg -hi Type guifg=#e0d070 guibg=bg -hi Special guifg=#e0d070 guibg=bg -hi Underlined guifg=#9cd464 guibg=bg -hi Ignore guifg=fg guibg=bg -hi Error guifg=#cc74a8 guibg=#9cd464 -hi Todo guifg=bg guibg=#e0d070 diff --git a/.vim/colors/chela_light.vim b/.vim/colors/chela_light.vim deleted file mode 100644 index 3fd8d95..0000000 --- a/.vim/colors/chela_light.vim +++ /dev/null @@ -1,89 +0,0 @@ -" Vim color file -" -" Maintainer: Stefan Karlsson <stefan.74@comhem.se> -" Last Change: 29 September 2004 -" - -set background=light - -hi clear -if exists("syntax_on") - syntax reset -endif - -let g:colors_name="chela_light" - - -"= Syntax Groups ============================================= - -hi comment guibg=#fafafa guifg=#339900 gui=none - -hi constant guibg=#fafafa guifg=#dd3333 gui=none -hi specialchar guibg=#fafafa guifg=#ff3333 gui=underline - -hi identifier guibg=#fafafa guifg=#3333ff gui=none - -hi statement guibg=#fafafa guifg=#3333ff gui=none -hi label guibg=#fafafa guifg=#3333ff gui=none - -hi preproc guibg=#fafafa guifg=#3333ff gui=none -hi include guibg=#fafafa guifg=#3333ff gui=none -hi precondit guibg=#fafafa guifg=#cc00cc gui=none - -hi type guibg=#fafafa guifg=#3333ff gui=none - -hi special guibg=#fafafa guifg=#cc00cc gui=none - -hi error guibg=#ff3333 guifg=#ffffff gui=none - -hi todo guibg=#339933 guifg=#ffffff gui=none - - -"= General Groups ============================================ - -hi cursor guibg=#000000 guifg=#ffffff gui=none - -hi directory guibg=#fafafa guifg=#3333ff gui=none - -hi diffadd guibg=#66ff66 guifg=#000000 gui=none -hi diffdelete guibg=#ff6666 guifg=#ff6666 gui=none -hi diffchange guibg=#ffff00 guifg=#cccc99 gui=none -hi difftext guibg=#ffff00 guifg=#000000 gui=none - -hi errormsg guibg=#ff3333 guifg=#ffffff gui=none - -hi vertsplit guibg=#3333ff guifg=#3333ff gui=none - -hi folded guibg=#eeeeee guifg=#3333ff gui=none -hi foldcolumn guibg=#eeeeee guifg=#999999 gui=none - -hi linenr guibg=#fafafa guifg=#bbbbbb gui=none - -hi modemsg guibg=#fafafa guifg=#999999 gui=none - -hi moremsg guibg=#339900 guifg=#ffffff gui=none -hi question guibg=#339900 guifg=#ffffff gui=none - -hi nontext guibg=#fafafa guifg=#999999 gui=none - -hi normal guibg=#fafafa guifg=#000000 gui=none - -hi search guibg=#ffff00 guifg=#000000 gui=none -hi incsearch guibg=#ffbb00 guifg=#000000 gui=none - -hi specialkey guibg=#fafafa guifg=#cc00cc gui=none - -hi statusline guibg=#3333ff guifg=#ffffff gui=none -hi statuslinenc guibg=#3333ff guifg=#999999 gui=none - -hi title guibg=#fafafa guifg=#6666ff gui=none - -hi visual guibg=#bbbbbb guifg=#333333 gui=none - -hi warningmsg guibg=#fafafa guifg=#ff0000 gui=none - -hi wildmenu guibg=#339900 guifg=#ffffff gui=none - - -" [eof] - diff --git a/.vim/colors/chocolateliquor.vim b/.vim/colors/chocolateliquor.vim deleted file mode 100644 index c71bdf3..0000000 --- a/.vim/colors/chocolateliquor.vim +++ /dev/null @@ -1,34 +0,0 @@ -" Vim color file -" Maintainer: Gerald S. Williams -" Last Change: 2003 Apr 17 - -" This started as a dark version (perhaps opposite is a better term) of -" PapayaWhip, but took on a life of its own. Easy on the eyes, but still -" has good contrast. Not bad on a color terminal, either (of course, on -" my color terms, Black == #3f1f1f and White == PapayaWhip :-P ). -" -" Only values that differ from defaults are specified. - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name = "ChocolateLiquor" - -hi Normal guibg=#3f1f1f guifg=PapayaWhip ctermfg=White -hi NonText guibg=#1f0f0f guifg=Brown2 ctermfg=Brown -hi LineNr guibg=#1f0f0f guifg=Brown2 -hi DiffDelete guibg=DarkRed guifg=White ctermbg=DarkRed ctermfg=White -hi DiffAdd guibg=DarkGreen guifg=White ctermbg=DarkGreen ctermfg=White -hi DiffText gui=NONE guibg=DarkCyan guifg=Yellow ctermbg=DarkCyan ctermfg=Yellow -hi DiffChange guibg=DarkCyan guifg=White ctermbg=DarkCyan ctermfg=White -hi Constant ctermfg=Red -hi Comment guifg=LightBlue3 -hi PreProc guifg=Plum ctermfg=Magenta -hi StatusLine guibg=White guifg=Sienna4 cterm=NONE ctermfg=Gray ctermbg=Brown -hi StatusLineNC gui=NONE guifg=Black guibg=Gray ctermbg=Black ctermfg=Gray -hi VertSplit guifg=Gray -hi Search guibg=Gold3 ctermfg=White -hi Type gui=NONE guifg=DarkSeaGreen2 -hi Statement gui=NONE guifg=Gold3 diff --git a/.vim/colors/cleanphp.vim b/.vim/colors/cleanphp.vim deleted file mode 100644 index c0af691..0000000 --- a/.vim/colors/cleanphp.vim +++ /dev/null @@ -1,81 +0,0 @@ -" Vim color file -" Maintainer: Billy McIntosh <billymcintosh@ntlworld.com> -" Last Change: June 24, 2003 -" Licence: Public Domain - -" This package offers a eye-catching color scheme for PHP syntax - -" First remove all existing highlighting. -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif - -let colors_name = "cleanphp" - -hi Normal guifg=#008000 guibg=#d3e4f8 - -hi ErrorMsg guibg=#d3e4f8 guifg=Red -hi IncSearch gui=reverse -hi ModeMsg gui=bold -hi StatusLine gui=reverse,bold -hi StatusLineNC gui=reverse -hi VertSplit gui=reverse -hi Visual gui=reverse guifg=#c0c0c0 guibg=fg -hi VisualNOS gui=underline,bold -hi DiffText gui=bold guibg=Red -hi Cursor guibg=Black guifg=NONE -hi lCursor guibg=Black guifg=NONE -hi Directory guifg=#ff8040 -hi LineNr guifg=#008000 -hi MoreMsg gui=bold guifg=SeaGreen -hi NonText gui=bold guifg=#ff8040 guibg=#d3e4f8 -hi Question gui=bold guifg=Black -hi Search guibg=#008000 guifg=NONE -hi SpecialKey guifg=#ff8040 -hi Title gui=bold guifg=Magenta -hi WarningMsg guifg=Red -hi WildMenu guibg=Cyan guifg=#d3e4f8 -hi Folded guibg=White guifg=Darkblue -hi FoldColumn guibg=#c0c0c0 guifg=Darkblue -hi DiffAdd guibg=Lightblue -hi DiffChange guibg=LightMagenta -hi DiffDelete gui=bold guifg=#ff8040 guibg=LightCyan - -hi Comment guifg=#ff8040 guibg=#d3e4f8 -hi Constant guifg=#BB0000 guibg=#d3e4f8 -hi PreProc guifg=#008080 guibg=#d3e4f8 -hi Statement gui=NONE guifg=#008000 guibg=#d3e4f8 -hi Special guifg=#008080 guibg=#d3e4f8 -hi Ignore guifg=#c0c0c0 -hi Identifier guifg=#000080 guibg=#d3e4f8 -hi Type guifg=#00BB00 guibg=#d3e4f8 - -hi link IncSearch Visual -hi link String Constant -hi link Character Constant -hi link Number Constant -hi link Boolean Constant -hi link Float Number -hi link Function Identifier -hi link Conditional Statement -hi link Repeat Statement -hi link Label Statement -hi link Operator Statement -hi link Keyword Statement -hi link Exception Statement -hi link Include PreProc -hi link Define PreProc -hi link Macro PreProc -hi link PreCondit PreProc -hi link StorageClass Type -hi link Structure Type -hi link Typedef Type -hi link Tag Special -hi link SpecialChar Special -hi link Delimiter Special -hi link SpecialComment Special -hi link Debug Special - -" vim: sw=2
\ No newline at end of file diff --git a/.vim/colors/coffee.vim b/.vim/colors/coffee.vim deleted file mode 100644 index 284fb01..0000000 --- a/.vim/colors/coffee.vim +++ /dev/null @@ -1,60 +0,0 @@ -" Vim color file -" Maintainer: David Lazar <david#c7.campus.utcluj.ro> -" Last Change: Fri Jan 31 01:08:13 UTC 2003 -" Version: 1.0 -" URL: http://c7.campus.utcluj.ro/~david/coffee.vim -" -" This colorscheme script was created using Hans Fugal's colorscheme template - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name="coffee" - -hi Normal gui=none guibg= #514c44 guifg=#b0a594 - -hi Cursor gui=none guibg=#ffffff guifg=bg -hi link CursorIM Cursor -hi Directory guifg=#ffffff -hi DiffAdd guibg=#9e9485 guifg=bg -hi DiffDelete guibg=#2e2b26 guifg=fg -hi DiffChange guibg=#70695e guifg=fg -hi DiffText guibg=#70695e guifg=#880000 -hi ErrorMsg guibg=#880000 guifg=#ffffff -hi Folded guifg=#88c0c7 -hi FoldColumn guifg=#88c0c7 -hi IncSearch guifg=#fff0d6 guibg=#000000 -hi LineNr guibg=#000000 guifg=#ffff21 -hi ModeMsg guifg=#ffffff -hi MoreMsg guifg=#00ff00 -hi NonText guifg=#61616d -hi Question guifg=#ffff00 -hi link Search IncSearch -hi SpecialKey guifg=#ffffff -hi StatusLine guibg=#000000 guifg=#deefff -hi StatusLineNC guibg=#395956 guifg=#a4b1bd -hi VertSplit guibg=#395956 guifg=#a4b1bd -hi Title guifg=#ffffff -hi Visual guifg=#fff0d6 guibg=#000000 -hi VisualNOS guifg=#dddddd guibg=bg -hi WarningMsg guifg=#ffff00 -"hi WildMenu -"hi Menu -"hi Scrollbar -"hi Tooltip - -" syntax highlighting groups -hi Comment guifg=#1a1813 -hi Constant guifg=#cefece -hi Identifier guifg=#cc7c3d -hi Statement guifg=#effec5 -hi PreProc guifg=#85ff85 -hi Type guifg=#c6feeb -hi Special guifg=#eeffee -hi Underlined gui=underline guifg=#ffffff -hi Ignore guifg=fg -hi Error guibg=bg guifg=#ff4c4a -hi Todo guibg=#aa0006 guifg=#fff300 - diff --git a/.vim/colors/colorer.vim b/.vim/colors/colorer.vim deleted file mode 100644 index 30e1277..0000000 --- a/.vim/colors/colorer.vim +++ /dev/null @@ -1,79 +0,0 @@ -" local syntax file - set colors on a per-machine basis: -" vim: tw=0 ts=4 sw=4 -" Vim color file -" Maintainer: Sergey V. Beduev <shaman@interdon.net> -" Last Change: Sun Mar 28 11:19:38 EEST 2004 - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif - -let g:colors_name = "colorer" - -hi Normal ctermfg=Gray guifg=DarkGray guibg=black -hi Visual ctermfg=DarkCyan guibg=black guifg=DarkCyan -hi Comment ctermfg=Brown guifg=#B46918 gui=NONE -hi PerlPOD ctermfg=Brown guifg=#B86A18 gui=NONE -hi Constant ctermfg=White guifg=White gui=NONE -hi Charachter ctermfg=Yellow guifg=Yellow gui=NONE -hi String ctermfg=Yellow guifg=Yellow gui=NONE -hi Number ctermfg=White guifg=White gui=NONE -hi Boolean ctermfg=Cyan guifg=DarkGray gui=NONE -hi Special ctermfg=DarkMagenta guifg=Red gui=NONE -hi Define ctermfg=LightMagenta guifg=Magenta gui=NONE -hi Identifier ctermfg=Green guifg=Green gui=NONE -hi Exception ctermfg=White guifg=White gui=NONE -hi Statement ctermfg=White guifg=White gui=NONE -hi Label ctermfg=White guifg=White gui=NONE -hi Keyword ctermfg=White guifg=White gui=NONE -hi PreProc ctermfg=Green guifg=Green gui=NONE -hi Type ctermfg=LightGreen guifg=Green gui=NONE -hi Function ctermfg=White guifg=White gui=NONE -hi Repeat ctermfg=White guifg=White gui=NONE -hi Operator ctermfg=White guifg=White gui=NONE -hi Ignore ctermfg=black guifg=bg -hi Folded ctermbg=LightBlue ctermfg=Gray guibg=DarkBlue guifg=DarkGray gui=NONE -hi Error term=reverse ctermbg=Red ctermfg=White guibg=darkRed guifg=White gui=NONE -hi Todo term=standout ctermbg=Yellow ctermfg=Black guifg=Black guibg=#AD5500 gui=NONE -hi Done term=standout ctermbg=Gray ctermfg=White guifg=White guibg=Gray gui=NONE - -hi SpellErrors ctermfg=DarkRed guifg=Black gui=NONE - -hi MailQ ctermfg=darkcyan guibg=black gui=NONE -hi MailQu ctermfg=darkgreen guibg=black gui=NONE -hi MyDiffNew ctermfg=magenta guifg=red gui=NONE -hi MyDiffCommLine ctermfg=white ctermbg=red guifg=white guibg=darkred gui=NONE -hi MyDiffRemoved ctermfg=LightRed guifg=red gui=NONE -hi MyDiffSubName ctermfg=DarkCyan guifg=Cyan gui=NONE -hi MyDiffNormal ctermbg=White ctermfg=black guibg=White guifg=black gui=NONE -hi MoreMsg gui=NONE -hi ModeMsg gui=NONE -hi Title gui=NONE -hi NonText gui=NONE -hi DiffDelete gui=NONE -hi DiffText gui=NONE -hi StatusLine guifg=black guibg=gray gui=NONE -hi Question gui=NONE -" Common groups that link to default highlighting. -" You can specify other highlighting easily. -"hi link String Constant -"hi link Character Constant -"hi link Number Constant -"hi link Boolean Constant -hi link Float Number -hi link Conditional Repeat -hi link Include PreProc -hi link Structure Define -hi link Macro PreProc -hi link PreCondit PreProc -hi link StorageClass Type -hi link Structure Type -hi link Typedef Type -hi link Tag Special -hi link SpecialChar Special -hi link Delimiter Normal -hi link SpecialComment Special -hi link Debug Special - diff --git a/.vim/colors/cool.vim b/.vim/colors/cool.vim deleted file mode 100644 index a7593d9..0000000 --- a/.vim/colors/cool.vim +++ /dev/null @@ -1,82 +0,0 @@ -" Vim color file -" Maintainer: Gergely Kontra <kgergely@mcl.hu> -" Last Change: 2002. 07. 03. -" Based on scite colors. -" I've changed my mind, and inverted the colors. -" After an hour, this is the result. -" Not resembles to scite's colors :-] -" I'm a bit red-blind, so if you have suggestions, don't hesitate :) -" ^^^^^^^^^ Sorry, I cannot speak English well, just want to say, -" that in some rare cases I cannot distinguish between some colors -" (I've just realized it, when I see some special tests) - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif -"colorscheme default -let g:colors_name = "cool" - - -" GUI -"highlight Normal guifg=#77BBFF guibg=#304060 -highlight Normal guifg=#77BBFF guibg=#102040 -highlight Normal ctermfg=LightBlue ctermbg=Black - -highlight Comment guifg=#EEEEEE guibg=#393939 -highlight Comment ctermfg=white ctermbg=DarkGrey - -highlight Constant gui=underline -highlight Constant ctermfg=LightBlue cterm=bold,underline - -highlight Cursor guifg=#999999 guibg=#FFFFFF - -highlight Define guifg=#FFFF80 guibg=#000099 gui=bold -highlight Define ctermfg=Yellow ctermbg=DarkBlue cterm=bold - -highlight Delimiter guifg=#FFFFFF guibg=#221F22 gui=bold - -highlight FoldColumn guifg=#FFFFFF guibg=#222222 -highlight FoldColumn ctermfg=White ctermbg=DarkGrey cterm=reverse - -highlight Folded guifg=#000000 guibg=#999999 -highlight Folded ctermfg=DarkGrey ctermbg=Black cterm=reverse - -highlight Function guifg=#dddddd guibg=#000099 gui=bold -highlight Function ctermfg=White ctermbg=DarkBlue cterm=bold - -highlight IncSearch guifg=#000000 guibg=#ffffff gui=bold,underline - -highlight LineNr guifg=#FFFFFF guibg=#444444 - -highlight Number guifg=#dddddd gui=bold -highlight Number ctermfg=LightCyan - -highlight PreProc guibg=#000000 guifg=#77bbff gui=bold - -highlight Search guifg=#ffffff guibg=#335577 -highlight Search ctermfg=White ctermbg=Cyan cterm=reverse - -highlight Special guifg=#ccaa55 guibg=#102040 gui=none -highlight Special ctermfg=Brown ctermbg=Black cterm=bold - -highlight Statement guifg=#FF8080 gui=bold -highlight Statement ctermfg=Magenta cterm=bold - -highlight StatusLine guifg=#FFFFFF guibg=#553333 -highlight StatusLine ctermfg=white ctermbg=DarkRed - -highlight StatusLineNC guifg=#AA8888 guibg=#000000 -highlight StatusLineNC ctermfg=red ctermbg=black - -highlight String guifg=#99ffaa guibg=#000000 -highlight String ctermfg=White - -highlight Subtitle guifg=#FFFFFF guibg=#994444 gui=bold,underline - -highlight Type guifg=#FFFFFF gui=NONE -highlight Type guifg=white gui=NONE - -highlight Visual guibg=#112233 guifg=#6688AA -highlight Visual ctermbg=DarkBlue ctermfg=LightBlue diff --git a/.vim/colors/dante.vim b/.vim/colors/dante.vim deleted file mode 100644 index f584889..0000000 --- a/.vim/colors/dante.vim +++ /dev/null @@ -1,83 +0,0 @@ -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" File: "/home/caciano/.vim/dante.vim" -" Created: "Thu, 23 May 2002 00:12:20 -0300 (caciano)" -" Updated: "Sat, 24 Aug 2002 14:04:21 -0300 (caciano)" -" Copyright (C) 2002, Caciano Machado <caciano@inf.ufrgs.br> -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" Colorscheme Option: -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -hi clear -if exists("syntax on") - syntax reset -endif -let g:colors_name = "dante" - -" General colors -hi Normal ctermfg=gray guifg=peachpuff3 guibg=black -hi Directory term=bold ctermfg=blue guifg=royalblue -hi ErrorMsg term=standout ctermfg=white ctermbg=red guifg=white guibg=red3 -hi NonText term=bold ctermfg=darkgray guibg=gray3 guifg=gray20 -hi SpecialKey term=bold ctermfg=darkgray guifg=gray30 -hi LineNr term=underline ctermfg=darkgray guifg=ivory4 guibg=gray4 -hi IncSearch term=reverse cterm=reverse gui=reverse,bold guifg=darkgoldenrod2 -hi Search term=reverse ctermfg=black ctermbg=yellow guifg=gray10 guibg=gold2 -hi Visual term=bold,reverse cterm=bold,reverse ctermfg=gray ctermbg=black gui=bold,reverse guifg=gray40 guibg=black -hi VisualNOS term=bold,underline cterm=bold,underline gui=bold,underline -hi MoreMsg term=bold ctermfg=green gui=bold guifg=olivedrab1 -hi ModeMsg term=bold cterm=bold gui=bold -hi Question term=standout ctermfg=green gui=bold guifg=olivedrab1 -hi WarningMsg term=standout ctermfg=red gui=bold guifg=red3 -hi WildMenu term=standout ctermfg=black ctermbg=yellow guifg=black guibg=gold2 -hi Folded term=standout ctermfg=blue ctermbg=white guifg=royalblue1 guibg=white -hi FoldColumn term=standout ctermfg=blue ctermbg=white guifg=royalblue3 guibg=white -hi DiffAdd term=bold ctermbg=blue guibg=royalblue2 -hi DiffChange term=bold ctermbg=darkmagenta guibg=maroon -hi DiffDelete term=bold cterm=bold ctermfg=lightblue ctermbg=cyan gui=bold guifg=lightblue guibg=cyan4 -hi DiffText term=reverse cterm=bold ctermbg=red gui=bold guibg=red3 -hi Cursor guifg=bg guibg=fg -hi lCursor guifg=bg guibg=fg -hi StatusLine term=reverse cterm=reverse gui=reverse guifg=gray60 -hi StatusLineNC term=reverse cterm=reverse gui=reverse guifg=gray40 -hi VertSplit term=reverse cterm=reverse gui=bold,reverse guifg=gray40 -hi Title term=bold ctermfg=magenta gui=bold guifg=aquamarine - -" syntax hi colors -hi Comment term=bold ctermfg=darkcyan guifg=cyan4 -hi PreProc term=underline ctermfg=darkblue guifg=dodgerblue4 -hi Constant term=underline ctermfg=darkred guifg=firebrick3 -hi Type term=underline ctermfg=darkgreen gui=none guifg=chartreuse3 -hi Statement term=bold ctermfg=darkyellow gui=none guifg=gold3 -hi Identifier term=underline ctermfg=darkgreen guifg=darkolivegreen4 -hi Ignore term=bold ctermfg=darkgray guifg=gray45 -hi Special term=underline ctermfg=brown guifg=sienna -hi Error term=reverse ctermfg=gray ctermbg=red guifg=gray guibg=red3 -hi Todo term=standout ctermfg=black ctermbg=yellow gui=bold guifg=gray10 guibg=yellow4 -hi Underlined term=underline cterm=underline ctermfg=darkblue gui=underline guifg=slateblue -hi Number term=underline ctermfg=darkred guifg=red2 -" syntax hi links -hi link String Constant -hi link Character Constant -hi link Number Constant -hi link Boolean Constant -hi link Float Number -hi link Function Identifier -hi link Number Constant -hi link Conditional Statement -hi link Repeat Statement -hi link Label Statement -hi link Keyword Statement -hi link Exception Statement -hi link Operator Statement -hi link Include PreProc -hi link Define PreProc -hi link Macro PreProc -hi link PreCondit PreProc -hi link StorageClass Type -hi link Structure Type -hi link Typedef Type -hi link Tag Special -hi link SpecialChar Special -hi link Delimiter Special -hi link SpecialComment Special -hi link Debug Special -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" diff --git a/.vim/colors/darkblack.vim b/.vim/colors/darkblack.vim deleted file mode 100644 index 5dcd263..0000000 --- a/.vim/colors/darkblack.vim +++ /dev/null @@ -1,60 +0,0 @@ -" Vim color file -" Maintainer: Matthew Jimenez <mjimenez@ersnet.net> -" Last Change: 2005 Feb 25 - -" darkblack -- an alteration to the darkblue colorscheme by Bohdan Vlasyuk <bohdan@vstu.edu.ua> - - -set bg=dark -hi clear -if exists("syntax_on") - syntax reset -endif - -let colors_name = "darkblack" - -hi Normal guifg=lightgrey guibg=black ctermfg=lightgray ctermbg=black -hi ErrorMsg guifg=white guibg=lightblue ctermfg=white ctermbg=lightblue -hi Visual guifg=lightblue guibg=fg gui=reverse ctermfg=lightblue ctermbg=fg cterm=reverse -hi VisualNOS guifg=lightblue guibg=fg gui=reverse,underline ctermfg=lightblue ctermbg=fg cterm=reverse,underline -hi Todo guifg=red guibg=black ctermfg=red ctermbg=black -hi Search guifg=white guibg=black ctermfg=white ctermbg=black cterm=underline term=underline -hi IncSearch guifg=black guibg=gray ctermfg=black ctermbg=gray - -hi SpecialKey guifg=cyan ctermfg=darkcyan -hi Directory guifg=cyan ctermfg=cyan -hi Title guifg=magenta gui=none ctermfg=magenta cterm=bold -hi WarningMsg guifg=red ctermfg=red -hi WildMenu guifg=yellow guibg=black ctermfg=yellow ctermbg=black cterm=none term=none -hi ModeMsg guifg=lightblue ctermfg=lightblue -hi MoreMsg ctermfg=darkgreen ctermfg=darkgreen -hi Question guifg=green gui=none ctermfg=green cterm=none -hi NonText guifg=lightcyan ctermfg=lightcyan - -hi StatusLine guifg=lightblue guibg=darkgray gui=none ctermfg=lightblue ctermbg=gray term=none cterm=none -hi StatusLineNC guifg=black guibg=darkgray gui=none ctermfg=black ctermbg=gray term=none cterm=none -hi VertSplit guifg=black guibg=darkgray gui=none ctermfg=black ctermbg=gray term=none cterm=none - -hi Folded guifg=darkgrey guibg=black ctermfg=darkgrey ctermbg=black cterm=bold term=bold -hi FoldColumn guifg=darkgrey guibg=black ctermfg=darkgrey ctermbg=black cterm=bold term=bold -hi LineNr guifg=green ctermfg=green cterm=none - -hi DiffAdd guibg=black ctermbg=black term=none cterm=none -hi DiffChange guibg=darkmagenta ctermbg=magenta cterm=none -hi DiffDelete ctermfg=lightblue ctermbg=cyan gui=bold guifg=Blue guibg=DarkCyan -hi DiffText cterm=bold ctermbg=red gui=bold guibg=Red - -hi Cursor guifg=bg guibg=lightgrey ctermfg=bg ctermbg=lightgrey -hi lCursor guifg=bg guibg=darkgreen ctermfg=bg ctermbg=darkgreen - - -hi Comment guifg=lightblue ctermfg=lightblue -hi Constant ctermfg=magenta guifg=magenta cterm=none -hi Special ctermfg=brown guifg=Orange cterm=none gui=none -hi Identifier ctermfg=cyan guifg=cyan cterm=none -hi Statement ctermfg=yellow cterm=none guifg=yellow gui=none -hi PreProc ctermfg=magenta guifg=magenta gui=none cterm=none -hi type ctermfg=green guifg=green gui=none cterm=none -hi Underlined cterm=underline term=underline -hi Ignore guifg=bg ctermfg=bg - diff --git a/.vim/colors/darkblue2.vim b/.vim/colors/darkblue2.vim deleted file mode 100644 index e31483b..0000000 --- a/.vim/colors/darkblue2.vim +++ /dev/null @@ -1,99 +0,0 @@ -" Vim color file -" Maintainer: Datila Carvalho <datila@saci.homeip.net> -" Last Change: November, 3, 2003 -" Version: 0.1 - -" This is a VIM's version of the emacs color theme -" _Dark Blue2_ created by Chris McMahan. - -""" Init stuff - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif - -let g:colors_name = "darkblue2" - - -""" Colors - -" GUI colors -hi Cursor guifg=#233b5a guibg=Yellow -hi CursorIM guifg=NONE guibg=Yellow -hi Directory gui=bold guifg=cyan -"hi DiffAdd -"hi DiffChange -"hi DiffDelete -hi DiffText guibg=grey50 -hi ErrorMsg gui=bold guifg=White guibg=gray85 -hi VertSplit gui=bold guifg=NONE guibg=gray80 -"hi Folded -"hi FoldColumn -"hi IncSearch -"hi LineNr -hi ModeMsg gui=bold -"hi MoreMsg -"hi NonText -hi Normal guibg=#233b5a guifg=#fff8dc -"hi Question -hi Search gui=bold guifg=#233b5a guibg=lightgoldenrod -"hi SpecialKey -hi StatusLine guifg=aquamarine -hi StatusLineNC guifg=steelblue3 -"hi Title -hi Visual guifg=steelblue guibg=fg -hi VisualNOS gui=bold guifg=steelblue guibg=fg -hi WarningMsg guifg=White guibg=Tomato -"hi WildMenu - -" Colors for syntax highlighting -hi Comment gui=italic guifg=mediumaquamarine - -hi Constant gui=bold guifg=lightgoldenrod1 - hi String guifg=aquamarine - hi Character guifg=aquamarine - hi Number gui=bold guifg=lightgoldenrod1 - hi Boolean gui=bold guifg=lightgoldenrod1 - hi Float gui=bold guifg=lightgoldenrod1 - -hi Identifier gui=bold guifg=palegreen - hi Function guifg=lightskyblue - -hi Statement gui=bold guifg=cyan - hi Conditional gui=bold guifg=cyan - hi Repeat gui=bold guifg=cyan - hi Label guifg=cyan - hi Operator guifg=cyan - "hi Keyword - "hi Exception - -hi PreProc guifg=lightsteelblue - hi Include gui=bold guifg=lightsteelblue - hi Define guifg=lightsteelblue - hi Macro guifg=lightsteelblue - hi PreCondit guifg=lightsteelblue - -hi Type gui=bold guifg=palegreen - hi StorageClass gui=bold guifg=lightgoldenrod1 - hi Structure gui=bold guifg=lightgoldenrod1 - hi Typedef gui=bold guifg=lightgoldenrod1 - -"hi Special - ""Underline Character - "hi SpecialChar - "hi Tag - ""Statement - "hi Delimiter - ""Bold comment (in Java at least) - "hi SpecialComment - "hi Debug - -hi Underlined gui=underline - -hi Ignore guifg=bg - -hi Error gui=bold guifg=White guibg=Red - -"hi Todo diff --git a/.vim/colors/darkdot.vim b/.vim/colors/darkdot.vim deleted file mode 100644 index 0275896..0000000 --- a/.vim/colors/darkdot.vim +++ /dev/null @@ -1,80 +0,0 @@ -" Vim color file -" Maintainer: David Lazar <david#c7.campus.utcluj.ro> -" Last Change: Thu May 20 16:27:13 EEST 2004 -" Version: 2.2 -" URL: http://www.c7obs.net/~david/stuff/darkdot.vim -" -" This colorscheme script was created using Hans Fugal's colorscheme template - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name="darkdot" - -hi Normal cterm=none gui=none guibg=#101020 guifg=#a8aaaa -hi Cursor cterm=none guibg=#44ff44 guifg=#000000 -hi link CursorIM Cursor -hi Directory ctermfg=cyan guifg=#44ffff -hi DiffAdd ctermbg=blue ctermfg=yellow guibg=#080888 guifg=#ffff00 -hi DiffDelete ctermbg=black ctermfg=darkgray guibg=#080808 guifg=#444444 -hi DiffChange ctermbg=black guibg=#080808 guifg=#ffffff -hi DiffText ctermbg=black ctermfg=darkred guibg=#080808 guifg=#bb0000 -hi ErrorMsg ctermbg=darkred ctermfg=white guibg=#880000 guifg=#ffffff -hi Folded ctermbg=black ctermfg=darkblue guibg=black guifg=#000088 -hi link FoldColumn Folded -hi IncSearch ctermbg=black ctermfg=gray guibg=#000000 guifg=#bbcccc -hi LineNr ctermfg=yellow guibg=#404040 guifg=#ffff00 -hi ModeMsg ctermfg=white guifg=#ffffff -hi MoreMsg ctermfg=green guifg=#44ff44 -hi NonText ctermfg=blue guifg=#4444ff -hi Question ctermfg=yellow guifg=#ffff00 -hi Search ctermbg=NONE ctermfg=green guibg=NONE guifg=green -hi SpecialKey ctermfg=blue guifg=#4444ff -hi StatusLine cterm=none ctermbg=darkcyan ctermfg=white gui=none guibg=#00aaaa guifg=#ffffff -hi StatusLineNC cterm=none ctermbg=gray ctermfg=black gui=none guibg=#bbbbbb guifg=#000000 -hi link VertSplit StatusLineNC -hi Title ctermfg=white guifg=#ffffff -hi Visual cterm=none ctermbg=gray ctermfg=black gui=none guibg=#bbbbbb guifg=#000000 -hi link VisualNOS Visual -hi WarningMsg ctermfg=yellow guifg=#ffff00 -"hi WildMenu -"hi Menu -"hi Scrollbar -"hi Tooltip - -" syntax highlighting groups -hi Comment ctermfg=blue guifg=#4444ff -hi Constant ctermfg=darkcyan guifg=#00aaaa -hi Identifier ctermfg=white guifg=#ffffff -hi Statement ctermfg=cyan guifg=#44ffff -hi PreProc ctermfg=darkcyan guifg=#00aaaa -hi Type ctermfg=white guifg=#ffffff -hi Special ctermfg=blue cterm=bold guifg=#6666ff gui=bold -hi Underlined ctermfg=blue guifg=#4444ff -hi Ignore ctermfg=darkgray guifg=#444444 -hi Error ctermbg=black ctermfg=darkred guibg=#000000 guifg=#bb0000 -hi Todo ctermbg=darkred ctermfg=yellow guibg=#aa0006 guifg=#fff300 - -hi link Character Constant -hi link Number Constant -hi link Boolean Constant -hi link Float Number -hi link Conditional Statement -hi link Label Statement -hi link Keyword Statement -hi link Exception Statement -hi link Repeat Statement -hi link Include PreProc -hi link Define PreProc -hi link Macro PreProc -hi link PreCondit PreProc -hi link StorageClass Type -hi link Structure Type -hi link Typedef Type -hi link Tag Special -hi link Delimiter Special -hi link SpecialComment Special -hi link Debug Special -hi link FoldColumn Folded diff --git a/.vim/colors/darkocean.vim b/.vim/colors/darkocean.vim deleted file mode 100644 index 99d2ed3..0000000 --- a/.vim/colors/darkocean.vim +++ /dev/null @@ -1,52 +0,0 @@ -" Name Of File: darkocean.vim -" Description: Gvim colorscheme, works best with version 6.0. -" Maintainer: Naveen Chandra R <ncr AT iitbombay DOT org> -" Last Change: Thursday, August 15, 2002 -" Installation: Drop this file in your $VIMRUNTIME/colors/ directory -" or manually source this file using ':so darkocean.vim'. - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name="darkocean" - -hi Cursor gui=None guibg=#add8e6 guifg=#000000 -hi CursorIM gui=None guibg=#add8e6 guifg=#000000 -hi Directory gui=None guibg=bg guifg=#20b2aa -hi DiffAdd gui=Bold guibg=#7e354d guifg=fg -hi DiffChange gui=Bold guibg=#103040 guifg=#cc3300 -hi DiffDelete gui=Bold,Reverse guibg=#7e354d guifg=fg -hi DiffText gui=Bold guibg=#d74141 guifg=fg -hi ErrorMsg gui=None guibg=#b22222 guifg=#ffffe0 -hi VertSplit gui=None guibg=#999999 guifg=#000000 -hi Folded gui=Bold guibg=#003366 guifg=#999999 -hi FoldColumn gui=Bold guibg=#305070 guifg=#b0d0e0 -hi IncSearch gui=Bold guibg=#8db6cd guifg=fg -hi LineNr gui=Bold guibg=#0f0f0f guifg=#8db6cd -hi MoreMsg gui=Bold guibg=bg guifg=#bf9261 -hi ModeMsg gui=Bold guibg=bg guifg=#4682b4 -hi NonText gui=None guibg=#0f0f0f guifg=#87cefa -hi Normal gui=None guibg=#000000 guifg=#e0ffff -hi Question gui=Bold guibg=bg guifg=#f4bb7e -hi Search gui=Bold guibg=#607b8b guifg=#000000 -hi SpecialKey gui=None guibg=bg guifg=#63b8ff -hi StatusLine gui=Bold guibg=#8db6cd guifg=#000000 -hi StatusLineNC gui=None guibg=#607b8b guifg=#1a1a1a -hi Title gui=Bold guibg=bg guifg=#5cacee -hi Visual gui=Reverse guibg=#ffffff guifg=#36648b -hi VisualNOS gui=Bold,Underline guibg=#4682b4 guifg=fg -hi WarningMsg gui=Bold guibg=bg guifg=#b22222 -hi WildMenu gui=Bold guibg=#607b8b guifg=#000000 -hi Comment gui=None guibg=#102520 guifg=#8db6cd -hi Constant gui=None guibg=bg guifg=#c34a2c -hi Identifier gui=None guibg=bg guifg=#009acd -hi Statement gui=None guibg=bg guifg=#72a5ee -hi PreProc gui=None guibg=bg guifg=#c12869 -hi Include gui=None guibg=bg guifg=#ccccff -hi Type gui=None guibg=bg guifg=#3b9c9c -hi Error gui=None guibg=#b22222 guifg=#ffffe0 -hi Todo gui=None guibg=#507080 guifg=#3bcccc -hi Ignore gui=None guibg=bg guifg=#777777 -hi TagName gui=None guibg=#660000 guifg=#a7a7a7 diff --git a/.vim/colors/darkslategray.vim b/.vim/colors/darkslategray.vim deleted file mode 100644 index b36aef0..0000000 --- a/.vim/colors/darkslategray.vim +++ /dev/null @@ -1,117 +0,0 @@ -" vim: set tw=0 sw=4 sts=4 et: - -" Vim color file -" Maintainer: Tuomas Susi <tsusi@cc.hut.fi> -" Last Change: 2004 October 05 -" Version: 1.7 - -" Emacs in RedHat Linux used to have (still does?) a kind of 'Wheat on -" DarkSlateGray' color scheme by default. This color scheme is created in the -" same spirit. -" -" Darkslategray is intended to be nice to your eyes (low contrast) and to take -" advantage of syntax hilighting as much as possible. -" -" This color scheme is for the GUI only, I'm happy with default console colors. -" Needs at least vim 6.0. - - -" Init stuff - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif - -let g:colors_name = "darkslategray" - - -" GUI colors - -hi Cursor guifg=fg guibg=#da70d6 -hi CursorIM guifg=NONE guibg=#ff83fa -hi Directory guifg=#e0ffff -hi DiffAdd guibg=#528b8b -hi DiffChange guibg=#8b636c -hi DiffDelete gui=bold guifg=fg guibg=#000000 -hi DiffText gui=bold guibg=#6959cd -hi ErrorMsg gui=bold guifg=#ffffff guibg=#ff0000 -hi VertSplit gui=bold guifg=#bdb76b guibg=#000000 -hi Folded guifg=#000000 guibg=#bdb76b -hi FoldColumn guifg=#000000 guibg=#bdb76b -hi SignColumn gui=bold guifg=#bdb76b guibg=#20b2aa -hi IncSearch gui=bold guifg=#000000 guibg=#ffffff -hi LineNr gui=bold guifg=#bdb76b guibg=#528b8b -hi ModeMsg gui=bold -hi MoreMsg gui=bold guifg=#20b2aa -hi NonText gui=bold guifg=#ffffff -hi Normal guibg=#2f4f4f guifg=#f5deb3 -hi Question gui=bold guifg=#ff6347 -hi Search gui=bold guifg=#000000 guibg=#ffd700 -hi SpecialKey guifg=#00ffff -hi StatusLine gui=bold guifg=#f0e68c guibg=#000000 -hi StatusLineNC guibg=#bdb76b guifg=#404040 -hi Title gui=bold guifg=#ff6347 -hi Visual guifg=#000000 guibg=fg -hi VisualNOS gui=bold guifg=#000000 guibg=fg -hi WarningMsg guifg=#ffffff guibg=#ff6347 -hi WildMenu gui=bold guifg=#000000 guibg=#ffff00 - - -" I use GTK and don't wanna change these -"hi Menu foobar -"hi Scrollbar foobar -"hi Tooltip foobar - - -" Colors for syntax highlighting -hi Comment guifg=#da70d6 - -hi Constant guifg=#cdcd00 - hi String guifg=#7fffd4 - hi Character guifg=#7fffd4 - hi Number guifg=#ff6347 - hi Boolean guifg=#cdcd00 - hi Float guifg=#ff6347 - -hi Identifier guifg=#afeeee - hi Function guifg=#ffffff - -hi Statement gui=bold guifg=#4682b4 - hi Conditional gui=bold guifg=#4682b4 - hi Repeat gui=bold guifg=#4682b4 - hi Label gui=bold guifg=#4682b4 - hi Operator gui=bold guifg=#4682b4 - hi Keyword gui=bold guifg=#4682b4 - hi Exception gui=bold guifg=#4682b4 - -hi PreProc guifg=#cdcd00 - hi Include guifg=#ffff00 - hi Define guifg=#cdcd00 - hi Macro guifg=#cdcd00 - hi PreCondit guifg=#cdcd00 - -hi Type gui=bold guifg=#98fb98 - hi StorageClass guifg=#00ff00 - hi Structure guifg=#20b2aa - hi Typedef guifg=#00ff7f - -hi Special guifg=#ff6347 - "Underline Character - hi SpecialChar gui=underline guifg=#7fffd4 - hi Tag guifg=#ff6347 - "Statement - hi Delimiter gui=bold guifg=#b0c4de - "Bold comment (in Java at least) - hi SpecialComment gui=bold guifg=#da70d6 - hi Debug gui=bold guifg=#ff0000 - -hi Underlined gui=underline - -hi Ignore guifg=bg - -hi Error gui=bold guifg=#ffffff guibg=#ff0000 - -hi Todo gui=bold guifg=#000000 guibg=#ff83fa - diff --git a/.vim/colors/dawn.vim b/.vim/colors/dawn.vim deleted file mode 100644 index 5c65ca3..0000000 --- a/.vim/colors/dawn.vim +++ /dev/null @@ -1,65 +0,0 @@ -" Vim color file -" Maintainer: Ajit J. Thakkar (ajit AT unb DOT ca) -" Last Change: 2003 July 23 -" Version: 1.2 -" URL: http://www.unb.ca/chem/ajit/vim.htm - -" This GUI-only color scheme has a light grey background, and is a softer -" variant of the default and morning color schemes. - -set background=light -hi clear -if exists("syntax_on") - syntax reset -endif - -let colors_name = "dawn" - -hi Normal guifg=Black guibg=grey90 -"hi Normal guifg=Black guibg=grey80 - -" Groups used in the 'highlight' and 'guicursor' options default value. -hi ErrorMsg gui=NONE guifg=Red guibg=Linen -hi IncSearch gui=NONE guifg=fg guibg=LightGreen -hi ModeMsg gui=bold guifg=fg guibg=bg -hi StatusLine gui=NONE guifg=DarkBlue guibg=grey70 -hi StatusLineNC gui=NONE guifg=grey90 guibg=grey70 -hi VertSplit gui=NONE guifg=grey70 guibg=grey70 -hi Visual gui=reverse guifg=Grey guibg=fg -hi VisualNOS gui=underline,bold guifg=fg guibg=bg -hi DiffText gui=bold guifg=Blue guibg=LightYellow -hi Cursor guifg=NONE guibg=Green -hi lCursor guifg=NONE guibg=Cyan -hi Directory guifg=Blue guibg=bg -hi LineNr guifg=Brown guibg=bg -hi MoreMsg gui=bold guifg=SeaGreen guibg=bg -hi NonText gui=bold guifg=Blue guibg=grey80 -hi Question gui=bold guifg=SeaGreen guibg=bg -hi Search guifg=fg guibg=PeachPuff -hi SpecialKey guifg=Blue guibg=bg -hi Title gui=bold guifg=Magenta guibg=bg -hi WarningMsg guifg=Red guibg=bg -hi WildMenu guifg=fg guibg=PeachPuff -hi Folded guifg=Grey40 guibg=bg " guifg=DarkBlue guibg=LightGrey -hi FoldColumn guifg=DarkBlue guibg=Grey -hi DiffAdd gui=bold guifg=Blue guibg=LightCyan -hi DiffChange gui=bold guifg=fg guibg=MistyRose2 -hi DiffDelete gui=NONE guifg=LightBlue guibg=LightCyan - -" Colors for syntax highlighting -hi Constant gui=NONE guifg=azure4 guibg=bg -"hi Constant gui=NONE guifg=DeepSkyBlue4 guibg=bg -hi String gui=NONE guifg=DarkOliveGreen4 guibg=bg -hi Special gui=bold guifg=Cyan4 guibg=bg -hi Statement gui=NONE guifg=SlateBlue4 guibg=bg -hi Operator gui=NONE guifg=Purple guibg=bg -hi Ignore gui=NONE guifg=bg guibg=bg -hi ToDo gui=NONE guifg=DeepPink1 guibg=bg -hi Error gui=NONE guifg=Red guibg=Linen -hi Comment gui=NONE guifg=RoyalBlue guibg=NONE -hi Identifier gui=NONE guifg=SteelBlue4 guibg=NONE -hi PreProc gui=NONE guifg=Magenta4 guibg=NONE -hi Type gui=NONE guifg=Brown guibg=NONE -hi Underlined gui=underline guifg=SlateBlue guibg=bg - -" vim: sw=2 diff --git a/.vim/colors/delek.vim b/.vim/colors/delek.vim deleted file mode 100644 index 32e4536..0000000 --- a/.vim/colors/delek.vim +++ /dev/null @@ -1,57 +0,0 @@ -" Vim color file -" Maintainer: David Schweikert <dws@ee.ethz.ch> -" Last Change: 2001 Mai 14 - -" First remove all existing highlighting. -hi clear - -let colors_name = "delek" - -hi Normal guifg=Black guibg=white - -" Groups used in the 'highlight' and 'guicursor' options default value. -hi ErrorMsg term=standout ctermbg=DarkRed ctermfg=White guibg=Red guifg=White -hi IncSearch term=reverse cterm=reverse gui=reverse -hi ModeMsg term=bold cterm=bold gui=bold -hi VertSplit term=reverse cterm=reverse gui=reverse -hi Visual term=reverse cterm=reverse gui=reverse guifg=Grey guibg=fg -hi VisualNOS term=underline,bold cterm=underline,bold gui=underline,bold -hi DiffText term=reverse cterm=bold ctermbg=Red gui=bold guibg=Red -hi Cursor guibg=Green guifg=NONE -hi lCursor guibg=Cyan guifg=NONE -hi Directory term=bold ctermfg=DarkBlue guifg=Blue -hi LineNr term=underline ctermfg=Brown guifg=Brown -hi MoreMsg term=bold ctermfg=DarkGreen gui=bold guifg=SeaGreen -hi Question term=standout ctermfg=DarkGreen gui=bold guifg=SeaGreen -hi Search term=reverse ctermbg=Yellow ctermfg=NONE guibg=Yellow guifg=NONE -hi SpecialKey term=bold ctermfg=DarkBlue guifg=Blue -hi Title term=bold ctermfg=DarkMagenta gui=bold guifg=Magenta -hi WarningMsg term=standout ctermfg=DarkRed guifg=Red -hi WildMenu term=standout ctermbg=Yellow ctermfg=Black guibg=Yellow guifg=Black -hi Folded term=standout ctermbg=Grey ctermfg=DarkBlue guibg=LightGrey guifg=DarkBlue -hi FoldColumn term=standout ctermbg=Grey ctermfg=DarkBlue guibg=Grey guifg=DarkBlue -hi DiffAdd term=bold ctermbg=LightBlue guibg=LightBlue -hi DiffChange term=bold ctermbg=LightMagenta guibg=LightMagenta -hi DiffDelete term=bold ctermfg=Blue ctermbg=LightCyan gui=bold guifg=Blue guibg=LightCyan - -hi StatusLine cterm=bold ctermbg=blue ctermfg=yellow guibg=gold guifg=blue -hi StatusLineNC cterm=bold ctermbg=blue ctermfg=black guibg=gold guifg=blue -hi NonText term=bold ctermfg=Blue gui=bold guifg=gray guibg=white -hi Cursor guibg=fg guifg=bg - -" syntax highlighting -hi PreProc term=underline cterm=NONE ctermfg=darkmagenta gui=NONE guifg=magenta3 -hi Identifier term=underline cterm=NONE ctermfg=darkcyan gui=NONE guifg=cyan4 -hi Comment term=NONE cterm=NONE ctermfg=darkred gui=NONE guifg=red2 -hi Constant term=underline cterm=NONE ctermfg=darkgreen gui=NONE guifg=green3 -hi Special term=bold cterm=NONE ctermfg=lightred gui=NONE guifg=deeppink -hi Statement term=bold cterm=bold ctermfg=blue gui=bold guifg=blue -hi Type term=underline cterm=NONE ctermfg=blue gui=bold guifg=blue - -if exists("syntax_on") - let syntax_cmd = "enable" - runtime syntax/syncolor.vim - unlet syntax_cmd -endif - -" vim: sw=2 diff --git a/.vim/colors/denim.vim b/.vim/colors/denim.vim deleted file mode 100644 index c41af9f..0000000 --- a/.vim/colors/denim.vim +++ /dev/null @@ -1,141 +0,0 @@ -" Maintainer: Tim Aldrich <aldy0169@yahoo.com> -" Last Change: 19 November 2001 - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name="denim" -" GUI colors {{{ -hi Normal guifg=#FFFFFF guibg=#000038 -hi Cursor guifg=#000038 guibg=#FFFFFF -hi CursorIM guifg=#6699CC guibg=#99CCCC -hi Directory guifg=#33CCFF guibg=#6699CC -hi DiffAdd guifg=#FFFFCC guibg=#000038 -hi DiffChange guifg=#FF9900 guibg=#000038 -hi DiffDelete guifg=#999999 guibg=#000038 -hi DiffText guifg=#FFFFFF guibg=#000038 -hi ErrorMsg guifg=#FFFFFF guibg=#FF0000 -hi VertSplit guifg=#FFFFFF guibg=#000038 -hi Folded guifg=#999999 guibg=#003366 -hi FoldColumn guifg=#0000EE guibg=#6699CC -hi IncSearch guifg=#FFFF00 guibg=#000038 -hi LineNr guifg=#FFFFEE guibg=#000038 -hi ModeMsg guifg=#FFFFFF guibg=#000038 -hi MoreMsg guifg=#FFFFFF guibg=#000038 -hi NonText guifg=#FFFFFF guibg=#00003D -hi Question guifg=#FFFFFF guibg=#0000EE -hi Search guifg=#993300 guibg=#6699CC -hi SpecialKey guifg=#FFFF00 guibg=#000038 -hi StatusLine guifg=#FFFFFF guibg=#000038 -hi StatusLineNC guifg=#CCCCCC guibg=#000038 -hi Title guifg=#FFFFFF guibg=#FF9900 -hi Visual guifg=#003366 guibg=#6699FF -hi WarningMsg guifg=#FF0000 guibg=#FFFFFF -hi WildMenu guifg=#000038 guibg=#999999 -" }}} - -" cterm colors {{{ -hi Normal ctermfg=white ctermbg=darkblue -hi Cursor ctermfg=darkblue ctermbg=white -hi CursorIM ctermfg=lightcyan ctermbg=lightcyan -hi Directory ctermfg=lightblue ctermbg=lightcyan -hi DiffAdd ctermfg=LightYellow ctermbg=darkblue -hi DiffChange ctermfg=darkred ctermbg=darkblue -hi DiffDelete ctermfg=grey ctermbg=darkblue -hi DiffText ctermfg=white ctermbg=darkblue -hi ErrorMsg ctermfg=red ctermbg=lightcyan -hi VertSplit ctermfg=white ctermbg=darkblue -hi Folded ctermfg=grey ctermbg=darkblue -hi FoldColumn ctermfg=darkred ctermbg=lightcyan -hi IncSearch ctermfg=yellow ctermbg=darkblue -hi LineNr ctermfg=lightyellow ctermbg=darkblue -hi ModeMsg ctermfg=white ctermbg=darkblue -hi MoreMsg ctermfg=white ctermbg=darkblue -hi NonText ctermfg=white ctermbg=lightblue -hi Question ctermfg=white ctermbg=darkblue -hi Search ctermfg=darkred ctermbg=lightcyan -hi SpecialKey ctermfg=yellow ctermbg=darkblue -hi StatusLine ctermfg=white ctermbg=darkblue -hi StatusLineNC ctermfg=lightgrey ctermbg=darkblue -hi Title ctermfg=white ctermbg=yellow -hi Visual ctermfg=lightblue ctermbg=cyan -hi WarningMsg ctermfg=red ctermbg=white -hi WildMenu ctermfg=darkblue ctermbg=grey -" }}} - -" GUI hilight groups {{{ - -hi Comment guifg=#999999 -hi Constant guifg=#33FF33 -hi String guifg=#CCCC99 -hi Character guifg=#33FF33 -hi Number guifg=#33FF33 -hi Boolean guifg=#33FF33 -hi Float guifg=#33FF33 -hi Identifier guifg=#33FFFF -hi Function guifg=#33FFFF -hi Statement guifg=#FFFFCC -hi Conditional guifg=#FFFFCC -hi Repeat guifg=#FFFFCC -hi Label guifg=#33FF99 -hi Operator guifg=#FFFF00 -hi Keyword guifg=#FFFF00 -hi Exception guifg=#FFFFAA -hi PreProc guifg=#66CCFF -hi Include guifg=#66CCFF -hi Define guifg=#66CCFF -hi Macro guifg=#66CCFF -hi PreCondit guifg=#66CCFF -hi Type guifg=#33FF99 -hi StorageClass guifg=#33FF99 -hi Structure guifg=#33FF99 -hi Typedef guifg=#33FF99 -hi Special guifg=#00FF00 -hi SpecialChar guifg=#00FF00 -hi Tag guifg=#CCCCFF -hi Delimiter guifg=#CCCCFF -hi SpecialComment guifg=#FFFFCC -hi Debug guifg=#CC3300 -hi Ignore guifg=#0066AA -hi Error guifg=#FF0000 guibg=#FFFFFF -hi Todo guifg=#999999 guibg=#FFFFFF -" }}} - -" cterm hilight groups {{{ -hi Comment ctermfg=grey -hi Constant ctermfg=lightgreen -hi String ctermfg=brown -hi Character ctermfg=lightgreen -hi Number ctermfg=lightgreen -hi Boolean ctermfg=lightgreen -hi Float ctermfg=lightgreen -hi Identifier ctermfg=lightcyan -hi Function ctermfg=lightcyan -hi Statement ctermfg=lightyellow -hi Conditional ctermfg=lightyellow -hi Repeat ctermfg=lightyellow -hi Label ctermfg=lightcyan -hi Operator ctermfg=yellow -hi Keyword ctermfg=yellow -hi Exception ctermfg=yellow -hi PreProc ctermfg=darkcyan -hi Include ctermfg=darkcyan -hi Define ctermfg=darkcyan -hi Macro ctermfg=darkcyan -hi PreCondit ctermfg=darkcyan -hi Type ctermfg=lightcyan -hi StorageClass ctermfg=lightcyan -hi Structure ctermfg=lightcyan -hi Typedef ctermfg=lightcyan -hi Special ctermfg=green -hi SpecialChar ctermfg=green -hi Tag ctermfg=brown -hi Delimiter ctermfg=brown -hi SpecialComment ctermfg=lightyellow -hi Debug ctermfg=magenta -hi Ignore ctermfg=lightblue -hi Error ctermfg=red ctermbg=white -hi Todo ctermfg=grey ctermbg=white -" }}} diff --git a/.vim/colors/desert.vim b/.vim/colors/desert.vim deleted file mode 100644 index e43c61b..0000000 --- a/.vim/colors/desert.vim +++ /dev/null @@ -1,105 +0,0 @@ -" Vim color file -" Maintainer: Hans Fugal <hans@fugal.net> -" Last Change: $Date: 2003/06/02 19:28:15 $ -" URL: http://hans.fugal.net/vim/colors/desert.vim - -" cool help screens -" :he group-name -" :he highlight-groups -" :he cterm-colors - -set background=dark -if version > 580 - " no guarantees for version 5.8 and below, but this makes it stop - " complaining - hi clear - if exists("syntax_on") - syntax reset - endif -endif -let g:colors_name="desert" - -hi Normal guifg=White guibg=grey20 - -" highlight groups -hi Cursor guibg=khaki guifg=slategrey -"hi CursorIM -"hi Directory -"hi DiffAdd -"hi DiffChange -"hi DiffDelete -"hi DiffText -"hi ErrorMsg -hi VertSplit guibg=#c2bfa5 guifg=grey50 gui=none -hi Folded guibg=grey30 guifg=gold -hi FoldColumn guibg=grey30 guifg=tan -hi IncSearch guifg=slategrey guibg=khaki -"hi LineNr -hi ModeMsg guifg=goldenrod -hi MoreMsg guifg=SeaGreen -hi NonText guifg=LightBlue guibg=grey30 -hi Question guifg=springgreen -hi Search guibg=peru guifg=wheat -hi SpecialKey guifg=yellowgreen -hi StatusLine guibg=#c2bfa5 guifg=black gui=none -hi StatusLineNC guibg=#c2bfa5 guifg=grey50 gui=none -hi Title guifg=indianred -hi Visual gui=none guifg=khaki guibg=olivedrab -"hi VisualNOS -hi WarningMsg guifg=salmon -"hi WildMenu -"hi Menu -"hi Scrollbar -"hi Tooltip - -" syntax highlighting groups -hi Comment guifg=SkyBlue -hi Constant guifg=#ffa0a0 -hi Identifier guifg=palegreen -hi Statement guifg=khaki -hi PreProc guifg=indianred -hi Type guifg=darkkhaki -hi Special guifg=navajowhite -"hi Underlined -hi Ignore guifg=grey40 -"hi Error -hi Todo guifg=orangered guibg=yellow2 - -" color terminal definitions -hi SpecialKey ctermfg=darkgreen -hi NonText cterm=bold ctermfg=darkblue -hi Directory ctermfg=darkcyan -hi ErrorMsg cterm=bold ctermfg=7 ctermbg=1 -hi IncSearch cterm=NONE ctermfg=yellow ctermbg=green -hi Search cterm=NONE ctermfg=grey ctermbg=blue -hi MoreMsg ctermfg=darkgreen -hi ModeMsg cterm=NONE ctermfg=brown -hi LineNr ctermfg=3 -hi Question ctermfg=green -hi StatusLine cterm=bold,reverse -hi StatusLineNC cterm=reverse -hi VertSplit cterm=reverse -hi Title ctermfg=5 -hi Visual cterm=reverse -hi VisualNOS cterm=bold,underline -hi WarningMsg ctermfg=1 -hi WildMenu ctermfg=0 ctermbg=3 -hi Folded ctermfg=darkgrey ctermbg=NONE -hi FoldColumn ctermfg=darkgrey ctermbg=NONE -hi DiffAdd ctermbg=4 -hi DiffChange ctermbg=5 -hi DiffDelete cterm=bold ctermfg=4 ctermbg=6 -hi DiffText cterm=bold ctermbg=1 -hi Comment ctermfg=darkcyan -hi Constant ctermfg=brown -hi Special ctermfg=5 -hi Identifier ctermfg=6 -hi Statement ctermfg=3 -hi PreProc ctermfg=5 -hi Type ctermfg=2 -hi Underlined cterm=underline ctermfg=5 -hi Ignore ctermfg=darkgrey -hi Error cterm=bold ctermfg=7 ctermbg=1 - - -"vim: sw=4 diff --git a/.vim/colors/dusk.vim b/.vim/colors/dusk.vim deleted file mode 100644 index fc7c8a5..0000000 --- a/.vim/colors/dusk.vim +++ /dev/null @@ -1,64 +0,0 @@ -" Vim color file -" Maintainer: Ajit J. Thakkar (ajit AT unb DOT ca) -" Last Change: 2003 Sep. 02 -" Version: 1.0 -" URL: http://www.unb.ca/chem/ajit/vim.htm - -" This GUI-only color scheme has a blue-black background - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif - -let colors_name = "dusk" - -hi Normal guifg=ivory guibg=#1f3048 - -" Groups used in the 'highlight' and 'guicursor' options default value. -hi ErrorMsg gui=NONE guifg=Red guibg=Linen -hi IncSearch gui=NONE guibg=LightGreen guifg=Black -hi ModeMsg gui=NONE guifg=fg guibg=bg -hi StatusLine gui=NONE guifg=DarkBlue guibg=Grey -hi StatusLineNC gui=NONE guifg=Grey50 guibg=Grey -hi VertSplit gui=NONE guifg=Grey guibg=Grey -hi Visual gui=reverse guifg=fg guibg=LightSkyBlue4 -hi VisualNOS gui=underline guifg=fg guibg=bg -hi DiffText gui=NONE guifg=Yellow guibg=LightSkyBlue4 -hi Cursor guibg=Green guifg=Black -hi lCursor guibg=Cyan guifg=Black -hi Directory guifg=LightGreen guibg=bg -hi LineNr guifg=MistyRose3 guibg=bg -hi MoreMsg gui=NONE guifg=SeaGreen guibg=bg -hi NonText gui=NONE guifg=Cyan4 guibg=#102848 -hi Question gui=NONE guifg=LimeGreen guibg=bg -hi Search gui=NONE guifg=SkyBlue4 guibg=Bisque -hi SpecialKey guifg=Cyan guibg=bg -hi Title gui=NONE guifg=Yellow2 guibg=bg -hi WarningMsg guifg=Tomato3 guibg=Linen -hi WildMenu gui=NONE guifg=SkyBlue4 guibg=Bisque -hi Folded guifg=MistyRose2 guibg=bg -hi FoldColumn guifg=DarkBlue guibg=Grey -hi DiffAdd gui=NONE guifg=Blue guibg=LightCyan -hi DiffChange gui=NONE guifg=white guibg=LightCyan4 -hi DiffDelete gui=NONE guifg=LightBlue guibg=LightCyan - -" Colors for syntax highlighting -hi Constant gui=NONE guifg=MistyRose3 guibg=bg -hi String gui=NONE guifg=LightBlue3 guibg=bg -hi Special gui=NONE guifg=GoldenRod guibg=bg -hi Statement gui=NONE guifg=khaki guibg=bg -"hi Statement gui=NONE guifg=#d7cd7b guibg=bg -hi Operator gui=NONE guifg=Chartreuse guibg=bg -hi Ignore gui=NONE guifg=bg guibg=bg -hi ToDo gui=NONE guifg=DodgerBlue guibg=bg -hi Error gui=NONE guifg=Red guibg=Linen -hi Comment gui=NONE guifg=SlateGrey guibg=bg -hi Comment gui=NONE guifg=Lavender guibg=bg -hi Identifier gui=NONE guifg=BlanchedAlmond guibg=bg -hi PreProc gui=NONE guifg=#ffa0a0 guibg=bg -hi Type gui=NONE guifg=NavajoWhite guibg=bg -hi Underlined gui=underline guifg=fg guibg=bg - -" vim: sw=2 diff --git a/.vim/colors/earth.vim b/.vim/colors/earth.vim deleted file mode 100644 index 306529b..0000000 --- a/.vim/colors/earth.vim +++ /dev/null @@ -1,69 +0,0 @@ -" Vim color file -" Maintainer: Shrinath -" Last Change: 2004/09/13 Mon 12:50. -" version: 0.2 - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif - -let colors_name = "earth" - -hi Normal guifg=#000000 guibg=#99CC99 - -" Search -hi IncSearch gui=UNDERLINE guifg=#60ffff guibg=#6060ff -hi Search gui=NONE guifg=#ffffff guibg=#6060ff - -" Messages -hi ErrorMsg gui=BOLD guifg=#ffffff guibg=#ff40a0 -hi WarningMsg gui=BOLD guifg=#ffffff guibg=#ff40a0 -hi ModeMsg gui=NONE guifg=#60ffff guibg=NONE -hi MoreMsg gui=NONE guifg=#ffc0ff guibg=NONE -hi Question gui=NONE guifg=#ffff60 guibg=NONE - -" Split area -hi StatusLine gui=NONE guifg=#000000 guibg=#d0d0e0 -hi StatusLineNC gui=NONE guifg=#606080 guibg=#d0d0e0 -hi VertSplit gui=NONE guifg=#606080 guibg=#d0d0e0 -hi WildMenu gui=NONE guifg=#000000 guibg=#00c8f0 - -" Diff -hi DiffText gui=UNDERLINE guifg=#ffff00 guibg=#000000 -hi DiffChange gui=NONE guifg=#ffffff guibg=#000000 -hi DiffDelete gui=NONE guifg=#60ff60 guibg=#000000 -hi DiffAdd gui=NONE guifg=#60ff60 guibg=#000000 - -" Cursor -hi Cursor gui=NONE guifg=#ffffff guibg=#d86020 -hi lCursor gui=NONE guifg=#ffffff guibg=#e000b0 -hi CursorIM gui=NONE guifg=#ffffff guibg=#e000b0 - -" Fold -hi Folded gui=NONE guifg=#ffffff guibg=#0088c0 -" hi Folded gui=NONE guifg=#ffffff guibg=#2080d0 -hi FoldColumn gui=NONE guifg=#60e0e0 guibg=#006c7f - -" Other -hi Directory gui=NONE guifg=#00e0ff guibg=NONE -hi LineNr gui=BOLD guifg=#669966 guibg=NONE -hi NonText gui=BOLD guifg=#00c0c0 guibg=#9999CC -hi SpecialKey gui=NONE guifg=#e0a0ff guibg=NONE -hi Title gui=BOLD guifg=#003300 guibg=NONE -hi Visual gui=NONE guifg=#000000 guibg=#6060d0 - -" Syntax group -hi Comment gui=NONE guifg=#996666 guibg=NONE -hi Constant gui=NONE guifg=#990066 guibg=NONE -hi Error gui=BOLD guifg=#ffffff guibg=#ff40a0 -hi Identifier gui=NONE guifg=#669966 guibg=NONE -hi Ignore gui=NONE guifg=#993300 guibg=NONE -hi PreProc gui=NONE guifg=#009900 guibg=NONE -hi Special gui=NONE guifg=#FF0000 guibg=NONE -hi Statement gui=NONE guifg=#CC9900 guibg=NONE -hi Todo gui=BOLD,UNDERLINE guifg=#993300 guibg=NONE -hi Type gui=NONE guifg=#993300 guibg=NONE -hi Underlined gui=UNDERLINE guifg=#663300 guibg=NONE - diff --git a/.vim/colors/edo_sea.vim b/.vim/colors/edo_sea.vim deleted file mode 100644 index f03300a..0000000 --- a/.vim/colors/edo_sea.vim +++ /dev/null @@ -1,69 +0,0 @@ -" Vim color file -" Maintainer: Tiza -" Last Change: 2002/10/30 Wed 00:01. -" version: 1.0 -" This color scheme uses a dark background. - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif - -let colors_name = "Edo_sea" - -hi Normal guifg=#f0f0f8 guibg=#303060 - -" Search -hi IncSearch gui=UNDERLINE,BOLD guifg=#f0f0f0 guibg=#c030f0 -hi Search gui=BOLD guifg=#f0e0f0 guibg=#b020f0 - -" Messages -hi ErrorMsg gui=BOLD guifg=#f0f0f0 guibg=#f000a0 -hi WarningMsg gui=BOLD guifg=#f0f0f0 guibg=#f000a0 -hi ModeMsg gui=BOLD guifg=#00e0f0 guibg=NONE -hi MoreMsg gui=BOLD guifg=#00f0f0 guibg=#6060f0 -hi Question gui=BOLD guifg=#00f0d0 guibg=NONE - -" Split area -hi StatusLine gui=NONE guifg=#000000 guibg=#d0d0e0 -hi StatusLineNC gui=NONE guifg=#606080 guibg=#d0d0e0 -hi VertSplit gui=NONE guifg=#606080 guibg=#d0d0e0 -hi WildMenu gui=NONE guifg=#000000 guibg=#f090f0 - -" Diff -hi DiffText gui=UNDERLINE guifg=#f0f000 guibg=#000000 -hi DiffChange gui=NONE guifg=#f0f0f0 guibg=#000000 -hi DiffDelete gui=NONE guifg=#60f060 guibg=#000000 -hi DiffAdd gui=NONE guifg=#60f060 guibg=#000000 - -" Cursor -hi Cursor gui=NONE guifg=#f0f0f0 guibg=#d86020 -hi lCursor gui=NONE guifg=#f0f0f0 guibg=#e000b0 -hi CursorIM gui=NONE guifg=#f0f0f0 guibg=#e000b0 - -" Fold -hi Folded gui=NONE guifg=#f0f0f0 guibg=#0080a0 -hi FoldColumn gui=NONE guifg=#9090f0 guibg=#3c3c88 - -" Other -hi Directory gui=NONE guifg=#00f0f0 guibg=NONE -hi LineNr gui=NONE guifg=#7070e8 guibg=NONE -hi NonText gui=BOLD guifg=#8080f0 guibg=NONE -hi SpecialKey gui=BOLD guifg=#60c0f0 guibg=NONE -hi Title gui=BOLD guifg=#f0f0f8 guibg=NONE -hi Visual gui=NONE guifg=#f0f0f0 guibg=#6060f0 -" hi VisualNOS gui=NONE guifg=#f0f0f0 guibg=#6060f0 - -" Syntax group -hi Comment gui=NONE guifg=#b0b0b8 guibg=#343478 -hi Constant gui=NONE guifg=#50f0d0 guibg=NONE -hi Error gui=NONE guifg=#f0f0f0 guibg=#c03030 -hi Identifier gui=NONE guifg=#d0c0f0 guibg=NONE -hi Ignore gui=NONE guifg=#303070 guibg=NONE -hi PreProc gui=NONE guifg=#f0b0f0 guibg=NONE -hi Special gui=NONE guifg=#d0f050 guibg=NONE -hi Statement gui=NONE guifg=#f0d050 guibg=NONE -hi Todo gui=BOLD,UNDERLINE guifg=#f070e0 guibg=NONE -hi Type gui=NONE guifg=#40f080 guibg=NONE -hi Underlined gui=UNDERLINE,BOLD guifg=#f0f0f8 guibg=NONE diff --git a/.vim/colors/emacs.vim b/.vim/colors/emacs.vim deleted file mode 100644 index 21f22f7..0000000 --- a/.vim/colors/emacs.vim +++ /dev/null @@ -1,63 +0,0 @@ -" Vim color file -" Maintainer: Michael Piefel <piefel@informatik.hu-berlin.de> -" Last Change: 2001 Aug 16 -" Licence: Public Domain - -" This color scheme uses a White background. It's based on Bram's -" morning theme, but doesn't try to work for non-GUI editing. -" -" It's supposed to look like the Emacs standard colors, at least -" for C. But Emacs has different categories, so it's not very good. - -" First remove all existing highlighting. -set background=light -hi clear -if exists("syntax_on") - syntax reset -endif - -let colors_name = "emacs" - -hi Normal guifg=Black guibg=White - -" Groups used in the 'highlight' and 'guicursor' options default value. -hi ErrorMsg guibg=Red guifg=White -hi IncSearch gui=reverse -hi ModeMsg gui=bold -hi StatusLine gui=reverse,bold -hi StatusLineNC gui=reverse -hi VertSplit gui=reverse -hi Visual gui=reverse guifg=Grey guibg=fg -hi VisualNOS gui=underline,bold -hi DiffText gui=bold guibg=Red -hi Cursor guibg=Black guifg=NONE -hi lCursor guibg=Cyan guifg=NONE -hi Directory guifg=Blue -hi LineNr guifg=Brown -hi MoreMsg gui=bold guifg=SeaGreen -hi NonText gui=bold guifg=Blue guibg=grey90 -hi Question gui=bold guifg=SeaGreen -hi Search guibg=Yellow guifg=NONE -hi SpecialKey guifg=Blue -hi Title gui=bold guifg=Magenta -hi WarningMsg guifg=Red -hi WildMenu guibg=Yellow guifg=Black -hi Folded guibg=White guifg=DarkBlue -hi FoldColumn guibg=Grey guifg=DarkBlue -hi DiffAdd guibg=LightBlue -hi DiffChange guibg=LightMagenta -hi DiffDelete gui=bold guifg=Blue guibg=LightCyan - -" Colors for syntax highlighting -hi Comment guifg=#AC2020 guibg=White -hi Constant guifg=#C28F8F guibg=White -hi PreProc guifg=#D569D5 guibg=White -hi Statement gui=NONE guifg=#9C20EE guibg=White -hi Type guifg=#9C20EE guibg=White -hi Special guifg=SlateBlue guibg=White -hi Ignore guifg=White - -" Some specials (override hilinks) - - -" vim: sw=2 diff --git a/.vim/colors/fine_blue.vim b/.vim/colors/fine_blue.vim deleted file mode 100644 index 89c280c..0000000 --- a/.vim/colors/fine_blue.vim +++ /dev/null @@ -1,71 +0,0 @@ -" Vim color file -" Maintainer: Tiza -" Last Change: 2002/10/30 Wed 00:12. -" version: 1.7 -" This color scheme uses a light background. - -set background=light -hi clear -if exists("syntax_on") - syntax reset -endif - -let colors_name = "fine_blue" - -hi Normal guifg=#404048 guibg=#f8f8f8 - -" Search -hi IncSearch gui=UNDERLINE guifg=#404054 guibg=#40ffff -hi Search gui=NONE guifg=#404054 guibg=#ffffa0 - -" Messages -hi ErrorMsg gui=NONE guifg=#ff0070 guibg=#ffe0f4 -hi WarningMsg gui=NONE guifg=#ff0070 guibg=#ffe0f4 -hi ModeMsg gui=NONE guifg=#0070ff guibg=NONE -hi MoreMsg gui=NONE guifg=#a800ff guibg=NONE -hi Question gui=NONE guifg=#008050 guibg=NONE - -" Split area -hi StatusLine gui=BOLD guifg=#f8f8f8 guibg=#404054 -hi StatusLineNC gui=NONE guifg=#b8b8c0 guibg=#404054 -hi VertSplit gui=NONE guifg=#f8f8f8 guibg=#404054 -hi WildMenu gui=BOLD guifg=#f8f8f8 guibg=#00aacc - -" Diff -hi DiffText gui=NONE guifg=#4040ff guibg=#c0c0ff -hi DiffChange gui=NONE guifg=#5050ff guibg=#e0e0ff -hi DiffDelete gui=NONE guifg=#4040ff guibg=#c8f2ea -hi DiffAdd gui=NONE guifg=#4040ff guibg=#c8f2ea - -" Cursor -hi Cursor gui=NONE guifg=#0000ff guibg=#00e0ff -hi lCursor gui=NONE guifg=#f8f8f8 guibg=#8000ff -hi CursorIM gui=NONE guifg=#f8f8f8 guibg=#8000ff - -" Fold -hi Folded gui=NONE guifg=#7820ff guibg=#e0d8ff -hi FoldColumn gui=NONE guifg=#aa60ff guibg=#f0f0f4 -" hi Folded gui=NONE guifg=#58587c guibg=#e0e0e8 -" hi FoldColumn gui=NONE guifg=#9090b0 guibg=#f0f0f4 - -" Other -hi Directory gui=NONE guifg=#0070b8 guibg=NONE -hi LineNr gui=NONE guifg=#a0a0b0 guibg=NONE -hi NonText gui=BOLD guifg=#4000ff guibg=#ececf0 -hi SpecialKey gui=NONE guifg=#d87000 guibg=NONE -hi Title gui=NONE guifg=#004060 guibg=#c8f0f8 -hi Visual gui=NONE guifg=#404060 guibg=#dddde8 -" hi VisualNOS gui=NONE guifg=#404060 guibg=#dddde8 - -" Syntax group -hi Comment gui=NONE guifg=#ff00c0 guibg=NONE -hi Constant gui=NONE guifg=#2020ff guibg=#e8e8ff -hi Error gui=BOLD guifg=#ffffff guibg=#ff4080 -hi Identifier gui=NONE guifg=#c800ff guibg=NONE -hi Ignore gui=NONE guifg=#f8f8f8 guibg=NONE -hi PreProc gui=NONE guifg=#0070e6 guibg=NONE -hi Special gui=NONE guifg=#005858 guibg=#ccf7ee -hi Statement gui=NONE guifg=#008858 guibg=NONE -hi Todo gui=NONE guifg=#ff0070 guibg=#ffe0f4 -hi Type gui=NONE guifg=#7040ff guibg=NONE -hi Underlined gui=UNDERLINE guifg=#0000ff guibg=NONE diff --git a/.vim/colors/fnaqevan.vim b/.vim/colors/fnaqevan.vim deleted file mode 100644 index d936cee..0000000 --- a/.vim/colors/fnaqevan.vim +++ /dev/null @@ -1,67 +0,0 @@ -" Vim color file -" Maintainer: Rafal Sulejman <rms@poczta.onet.pl> -" Last Change: 2002.06.18 -" -" This color scheme uses a black (dark) background. - -" First remove all existing highlighting. -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif - -let colors_name = "fnaqevan" - -hi Normal guibg=#000000 guifg=#C0C0C0 gui=NONE - -" Main colors -hi Constant guibg=#000000 guifg=#00B8E0 gui=NONE -hi Identifier guibg=#000000 guifg=#FFA850 gui=NONE -hi Special guibg=#000000 guifg=#B899C8 gui=NONE -hi Statement guibg=#000000 guifg=#EEE840 gui=NONE -hi Preproc guibg=#000000 guifg=#00B098 gui=NONE -hi Type guibg=#000000 guifg=#40D040 gui=NONE - -" Secondary colors -hi Comment guibg=#000000 guifg=#006699 gui=NONE -hi Visual guibg=#005900 guifg=#40C940 gui=NONE -hi VisualNOS guibg=#005900 guifg=#40C940 gui=NONE -hi Search guibg=#707000 guifg=#FFFF00 gui=NONE -hi IncSearch guibg=#D05000 guifg=#FFE000 gui=NONE - -" Special colors -hi WarningMsg guibg=#707000 guifg=#FFFF00 gui=NONE -hi MoreMsg guibg=#000070 guifg=#00B8E0 gui=NONE -hi ErrorMsg guibg=#CC0000 guifg=#FFEE00 gui=NONE -hi ModeMsg guibg=#000000 guifg=#E8E8E8 gui=NONE -hi WildMenu guibg=#5f5f5f guifg=#FFEE60 gui=NONE -hi StatusLine guibg=#1f1f1f guifg=#F0F0F0 gui=NONE -hi StatusLineNC guibg=#0f0f0f guifg=#eaea3a gui=NONE -hi VertSplit guibg=#1f1f1f guifg=#F0F0F0 gui=NONE -hi Error guibg=#EE0000 guifg=#FFDD60 gui=NONE -hi Todo guibg=#EEE000 guifg=#000000 gui=NONE -hi Title guibg=#000000 guifg=#ffffff gui=NONE -hi Question guibg=#005900 guifg=#40E840 gui=NONE -hi LineNr guibg=#000000 guifg=#F0B0E0 gui=NONE -hi Directory guibg=#000000 guifg=#D0D0D0 gui=NONE -hi NonText guibg=#000000 guifg=#FFDDAA gui=NONE -hi SpecialKey guibg=#000000 guifg=#FFFFFF gui=NONE - -" Diff colors -hi DiffAdd guibg=#505050 guifg=#D0D0D0 gui=NONE -hi DiffChange guibg=#505050 guifg=#D0D0D0 gui=NONE -hi DiffDelete guibg=#505050 guifg=#D0D0D0 gui=NONE -hi DiffText guibg=#707070 guifg=#F0F0F0 gui=NONE - -" Folding colors -hi Folded guibg=#703070 guifg=#DDB8DD gui=NONE -hi FoldColumn guibg=#C4153B guifg=#F0F0F0 gui=NONE - -" Cursor colors -hi Cursor guibg=#FFFFFF guifg=#000000 gui=NONE -hi icursor guibg=#FFEE00 guifg=#000000 gui=NONE -hi ncursor guibg=#FFFFFF guifg=#000000 gui=NONE -hi rcursor guibg=#00CCFF guifg=#000000 gui=NONE -hi lcursor guibg=#40D040 guifg=#000000 gui=NONE - diff --git a/.vim/colors/fog.vim b/.vim/colors/fog.vim deleted file mode 100644 index ab263ab..0000000 --- a/.vim/colors/fog.vim +++ /dev/null @@ -1,170 +0,0 @@ -" Vim color file -" vim: tw=0 ts=4 sw=4 -" Maintainer: Thomas R. Kimpton <tomk@emcity.net> -" Last Change: 2001 Nov 8 -" This color scheme is meant for the person that spends hours -" and hours and hours and... in vim and wants some contrast to -" help pick things out in the files they edit, but doesn't want -" **C**O**N**T**R**A**S**T**! - -set background=light - -hi clear - -if exists("syntax_on") - syntax reset -endif - -let colors_name = "fog" - -hi Normal ctermbg=White ctermfg=Black -" 660066 = darkish purple -hi Normal guifg=#660066 guibg=grey80 - -hi NonText term=bold -hi NonText ctermfg=LightBlue -hi NonText gui=bold guifg=LightBlue guibg=grey80 - -hi Comment ctermfg=DarkGrey ctermbg=White -" 444499 = darkish blue grey -hi Comment guifg=#444499 - -hi Constant term=underline -hi Constant ctermfg=Magenta -hi Constant guifg=#7070a0 - -hi Statement term=bold -hi Statement cterm=bold ctermfg=DarkGreen ctermbg=White -hi Statement guifg=DarkGreen gui=bold - -hi identifier ctermfg=DarkGreen -hi identifier guifg=DarkGreen - -hi preproc ctermfg=DarkGreen -hi preproc guifg=#408040 - -hi type ctermfg=DarkBlue -hi type guifg=DarkBlue - -hi label ctermfg=yellow -hi label guifg=#c06000 - -hi operator ctermfg=darkYellow -hi operator guifg=DarkGreen gui=bold - -hi StorageClass ctermfg=DarkRed ctermbg=White -hi StorageClass guifg=#a02060 gui=bold - -hi Number ctermfg=Blue ctermbg=White -hi Number guifg=Blue - -hi Special term=bold -hi Special ctermfg=LightRed -hi Special guifg=#aa8822 - -hi Cursor ctermbg=DarkMagenta -hi Cursor guibg=#880088 guifg=LightGrey - -hi lCursor guibg=Cyan guifg=Black - -hi ErrorMsg term=standout -hi ErrorMsg ctermbg=DarkRed ctermfg=White -hi ErrorMsg guibg=DarkRed guifg=White - -hi DiffText term=reverse -hi DiffText cterm=bold ctermbg=DarkRed -hi DiffText gui=bold guibg=DarkRed - -hi Directory term=bold -hi Directory ctermfg=LightRed -hi Directory guifg=Red gui=underline - -hi LineNr term=underline -hi LineNr ctermfg=Yellow -hi LineNr guifg=#ccaa22 - -hi MoreMsg term=bold -hi MoreMsg ctermfg=LightGreen -hi MoreMsg gui=bold guifg=SeaGreen - -hi Question term=standout -hi Question ctermfg=LightGreen -hi Question gui=bold guifg=DarkGreen - -hi Search term=reverse -hi Search ctermbg=DarkYellow ctermfg=Black -hi Search guibg=#887722 guifg=Black - -hi SpecialKey term=bold -hi SpecialKey ctermfg=LightBlue -hi SpecialKey guifg=Blue - -hi SpecialChar ctermfg=DarkGrey ctermbg=White -hi SpecialChar guifg=DarkGrey gui=bold - -hi Title term=bold -hi Title ctermfg=LightMagenta -hi Title gui=underline guifg=DarkMagenta - -hi WarningMsg term=standout -hi WarningMsg ctermfg=LightRed -hi WarningMsg guifg=DarkBlue guibg=#9999cc - -hi WildMenu term=standout -hi WildMenu ctermbg=Yellow ctermfg=Black -hi WildMenu guibg=Yellow guifg=Black gui=underline - -hi Folded term=standout -hi Folded ctermbg=LightGrey ctermfg=DarkBlue -hi Folded guibg=LightGrey guifg=DarkBlue - -hi FoldColumn term=standout -hi FoldColumn ctermbg=LightGrey ctermfg=DarkBlue -hi FoldColumn guibg=Grey guifg=DarkBlue - -hi DiffAdd term=bold -hi DiffAdd ctermbg=DarkBlue -hi DiffAdd guibg=DarkBlue - -hi DiffChange term=bold -hi DiffChange ctermbg=DarkMagenta -hi DiffChange guibg=DarkMagenta - -hi DiffDelete term=bold -hi DiffDelete ctermfg=Blue ctermbg=DarkCyan -hi DiffDelete gui=bold guifg=Blue guibg=DarkCyan - -hi Ignore ctermfg=LightGrey -hi Ignore guifg=grey90 - -hi IncSearch term=reverse -hi IncSearch cterm=reverse -hi IncSearch gui=reverse - -hi ModeMsg term=bold -hi ModeMsg cterm=bold -hi ModeMsg gui=bold - -hi StatusLine term=reverse,bold -hi StatusLine cterm=reverse,bold -hi StatusLine gui=reverse,bold - -hi StatusLineNC term=reverse -hi StatusLineNC cterm=reverse -hi StatusLineNC gui=reverse - -hi VertSplit term=reverse -hi VertSplit cterm=reverse -hi VertSplit gui=reverse - -hi Visual term=reverse -hi Visual cterm=reverse -hi Visual gui=reverse guifg=DarkGrey guibg=fg - -hi VisualNOS term=underline,bold -hi VisualNOS cterm=underline,bold -hi VisualNOS gui=underline,bold - -hi Todo gui=reverse - -" vim: sw=2 diff --git a/.vim/colors/fruit.vim b/.vim/colors/fruit.vim deleted file mode 100644 index 624b90f..0000000 --- a/.vim/colors/fruit.vim +++ /dev/null @@ -1,69 +0,0 @@ -" Vim color file -" Maintainer: Tiza -" Last Change: 2002/08/28 Wed 00:28. -" version: 1.3 -" This color scheme uses a light background. - -set background=light -hi clear -if exists("syntax_on") - syntax reset -endif - -let colors_name = "fruit" - -hi Normal guifg=#404040 guibg=#f8f8f8 - -" Search -hi IncSearch gui=UNDERLINE guifg=#404040 guibg=#40ffff -hi Search gui=NONE guifg=#404040 guibg=#ffff60 - -" Messages -hi ErrorMsg gui=NONE guifg=#ff0000 guibg=#ffe4e4 -hi WarningMsg gui=NONE guifg=#ff0000 guibg=#ffe4e4 -hi ModeMsg gui=NONE guifg=#ff4080 guibg=NONE -hi MoreMsg gui=NONE guifg=#009070 guibg=NONE -hi Question gui=NONE guifg=#f030d0 guibg=NONE - -" Split area -hi StatusLine gui=BOLD guifg=#f8f8f8 guibg=#404040 -hi StatusLineNC gui=NONE guifg=#a4a4a4 guibg=#404040 -hi VertSplit gui=NONE guifg=#f8f8f8 guibg=#404040 -hi WildMenu gui=BOLD guifg=#f8f8f8 guibg=#ff4080 - -" Diff -hi DiffText gui=NONE guifg=#e04040 guibg=#ffd8d8 -hi DiffChange gui=NONE guifg=#408040 guibg=#d0f0d0 -hi DiffDelete gui=NONE guifg=#4848ff guibg=#ffd0ff -hi DiffAdd gui=NONE guifg=#4848ff guibg=#ffd0ff - -" Cursor -hi Cursor gui=NONE guifg=#0000ff guibg=#00e0ff -hi lCursor gui=NONE guifg=#f8f8f8 guibg=#8000ff -hi CursorIM gui=NONE guifg=#f8f8f8 guibg=#8000ff - -" Fold -hi Folded gui=NONE guifg=#20605c guibg=#b8e8dc -hi FoldColumn gui=NONE guifg=#40a098 guibg=#f0f0f0 - -" Other -hi Directory gui=NONE guifg=#0070b8 guibg=NONE -hi LineNr gui=NONE guifg=#acacac guibg=NONE -hi NonText gui=BOLD guifg=#00a0c0 guibg=#ececec -hi SpecialKey gui=NONE guifg=#4040ff guibg=NONE -hi Title gui=NONE guifg=#0050a0 guibg=#c0e8ff -hi Visual gui=NONE guifg=#484848 guibg=#e0e0e0 -" hi VisualNOS gui=NONE guifg=#484848 guibg=#e0e0e0 - -" Syntax group -hi Comment gui=NONE guifg=#ff4080 guibg=NONE -hi Constant gui=NONE guifg=#8016ff guibg=NONE -hi Error gui=BOLD guifg=#ffffff guibg=#ff4080 -hi Identifier gui=NONE guifg=#008888 guibg=NONE -hi Ignore gui=NONE guifg=#f8f8f8 guibg=NONE -hi PreProc gui=NONE guifg=#e06800 guibg=NONE -hi Special gui=NONE guifg=#4a9400 guibg=NONE -hi Statement gui=NONE guifg=#f030d0 guibg=NONE -hi Todo gui=UNDERLINE guifg=#ff0070 guibg=#ffe0f4 -hi Type gui=NONE guifg=#0070e6 guibg=NONE -hi Underlined gui=UNDERLINE guifg=fg guibg=NONE diff --git a/.vim/colors/gobo.vim b/.vim/colors/gobo.vim deleted file mode 100644 index 13a8cf5..0000000 --- a/.vim/colors/gobo.vim +++ /dev/null @@ -1,27 +0,0 @@ -" local syntax file - set colors on a per-machine basis: -" vim: tw=0 ts=4 sw=4 -" Vim color file -" -" Created using ColorSchemeCreator -" by Otávio Corrêa Cordeiro (cordeiro@exatas.unisinos.br) (2004 July) -" -" Maintainer: Otávio Corrêa Cordeiro -" Last Change: 2004 July - - -set background=light -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name = "ColorSchemeCreator" -hi Normal guifg=#111111 guibg=#FFFFFF -hi comment guifg=#33CC99 gui=italic -hi constant guifg=#CC0099 gui=bold -hi statement guifg=#3399FF gui=bold -hi preproc guifg=#0066FF -hi type guifg=#6600CC gui=bold -hi special guifg=#6600CC -hi operator guifg=#CC0099 -hi clear Visual -hi Visual term=reverse cterm=reverse gui=reverse diff --git a/.vim/colors/golden.vim b/.vim/colors/golden.vim deleted file mode 100644 index 8cceaf7..0000000 --- a/.vim/colors/golden.vim +++ /dev/null @@ -1,70 +0,0 @@ -" vim: tw=0 ts=4 sw=4 -" Vim color file -" -" Creator: Ryan Phillips <ryan@trolocsis.com> -" Credits: This color scheme originated from the idea of -" Jeffrey Bakker, the creator of webcpp (http://webcpp.sourceforge.net/). -" URL: http://www.trolocsis.com/vim/golden.vim -" - -hi clear -set background=dark -if exists("syntax_on") - syntax reset -endif -let g:colors_name = "golden" -hi Normal ctermfg=yellow guifg=#ddbb00 guibg=black -hi Scrollbar ctermfg=Yellow guifg=#ddbb00 guibg=black -hi Menu ctermfg=darkyellow guifg=#ffddaa guibg=black -hi SpecialKey ctermfg=yellow term=bold cterm=bold guifg=#ffddaa -hi NonText ctermfg=LightBlue term=bold cterm=bold gui=bold guifg=#DBCA98 -hi Directory ctermfg=DarkYellow term=bold cterm=bold guifg=#ffddaa -hi ErrorMsg term=standout cterm=bold ctermfg=White ctermbg=Red guifg=White guibg=Red -hi Search term=reverse ctermfg=white ctermbg=red guifg=white guibg=Red -hi MoreMsg term=bold cterm=bold ctermfg=Yellow gui=bold guifg=#ddbb00 -hi ModeMsg term=bold ctermfg=DarkYellow cterm=bold gui=bold guifg=Black guibg=#ddbb00 -hi LineNr term=underline ctermfg=Brown cterm=bold guifg=#978345 -hi Question term=standout cterm=bold ctermfg=Brown gui=bold guifg=#ffddaa -hi StatusLine term=bold,reverse cterm=bold ctermfg=Black ctermbg=DarkGrey gui=bold guifg=#978345 guibg=#2E2E2E -hi StatusLineNC term=reverse ctermfg=white ctermbg=black guifg=grey guibg=#3E3E3E -hi Title term=bold cterm=bold ctermfg=brown gui=bold guifg=#DBCA98 -hi Visual term=reverse cterm=reverse gui=reverse -hi WarningMsg term=standout cterm=bold ctermfg=darkblue guifg=Red -hi Cursor guifg=bg guibg=#FF5E06 ctermbg=Brown -hi Comment term=bold cterm=bold ctermfg=brown guifg=#978345 -hi Constant term=underline cterm=bold ctermfg=red guifg=Red -hi Special term=bold cterm=bold ctermfg=red guifg=Orange -hi Identifier term=underline ctermfg=lightgray guifg=#DBCA98 -hi Statement term=bold cterm=bold ctermfg=lightgreen gui=bold guifg=#ffff60 -hi PreProc term=underline ctermfg=brown guifg=#ffddaa -hi Type term=underline cterm=bold ctermfg=lightgreen gui=bold guifg=#FFE13F -hi Error term=reverse ctermfg=darkcyan ctermbg=black guifg=Red guibg=Black -hi Todo term=standout ctermfg=black ctermbg=yellow guifg=#FFE13F guibg=#2E2E2E -hi VertSplit guifg=#2E2E2E guibg=#978345 ctermfg=black ctermbg=darkgrey -hi Folded guifg=orange guibg=#2E2E2E ctermfg=yellow - -hi link IncSearch Visual -hi link String Constant -hi link Character Constant -hi link Number Constant -hi link Boolean Constant -hi link Float Number -hi link Function Identifier -hi link Conditional Statement -hi link Repeat Statement -hi link Label Statement -hi link Operator Statement -hi link Keyword Statement -hi link Exception Statement -hi link Include PreProc -hi link Define PreProc -hi link Macro PreProc -hi link PreCondit PreProc -hi link StorageClass Type -hi link Structure Type -hi link Typedef Type -hi link Tag Special -hi link SpecialChar Special -hi link Delimiter Special -hi link SpecialComment Special -hi link Debug Special diff --git a/.vim/colors/gor.vim b/.vim/colors/gor.vim deleted file mode 100644 index b0584a1..0000000 --- a/.vim/colors/gor.vim +++ /dev/null @@ -1,47 +0,0 @@ -" local syntax file - set colors on a per-machine basis: -" vim: tw=0 ts=4 sw=4 -" Vim color file -" Maintainer: Jokes -" Last Change: - -set background=light -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name = "gor" -hi Normal guifg=white guibg=#005856 -hi NonText guifg=white guibg=#005856 -hi comment guifg=darkgrey -hi constant guifg=orange -hi identifier guifg=orange gui=NONE -hi statement guifg=cyan gui=NONE -"hi preproc guifg=#6063CD -hi preproc guifg=cyan -hi type guifg=green gui=NONE -hi special guifg=yellow -hi ErrorMsg guifg=Black guibg=Red -hi WarningMsg guifg=Black guibg=Green -hi Error guibg=Red -hi Todo guifg=Black guibg=orange -hi Cursor guibg=#ffffff guifg=#004f50 -"hi Cursor guibg=#603070 guifg=#0000ff -hi Folded guifg=#999999 guibg=#006336 -hi Search guibg=orange -hi IncSearch gui=NONE guibg=orange -hi LineNr guifg=grey -hi title guifg=grey -"hi StatusLineNC gui=NONE guifg=lightblue guibg=darkblue -hi StatusLineNC gui=NONE guibg=red -hi StatusLine guifg=black guibg=darkgreen -hi label guifg=gold2 -hi operator guifg=orange -hi clear Visual -hi Visual guibg=orange guifg=#00932D -hi DiffChange guibg=darkgreen -hi DiffText guibg=olivedrab -hi DiffAdd guibg=slateblue -hi DiffDelete guibg=coral -hi Folded guibg=gray30 -hi FoldColumn guibg=gray30 guifg=white -hi cIf0 guifg=gray diff --git a/.vim/colors/gothic.vim b/.vim/colors/gothic.vim deleted file mode 100644 index a637914..0000000 --- a/.vim/colors/gothic.vim +++ /dev/null @@ -1,42 +0,0 @@ -" Vim color file -" Maintainer: Stefano deFlorian - \Goth\ <stefano@junglebit.net> -" Last Change: 2003 Dec 9 -" Light - Dark :-) -" optimized for TFT panels - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif -"colorscheme default -let g:colors_name = "gothic" - -" hardcoded colors : - -" GUI -highlight Normal guifg=#efefef guibg=#000000 -highlight Cursor guifg=#000000 guibg=#efefef gui=NONE -highlight Search guifg=#ffff60 guibg=#0000ff gui=NONE -highlight Visual guifg=Grey25 gui=NONE -highlight Special guifg=Orange -highlight Comment guifg=#3030ff -highlight StatusLine guifg=blue guibg=white -highlight Statement guifg=#ffff60 gui=NONE -highlight PreProc guifg=#a0e0a0 -highlight Identifier guifg=#00ffff -highlight Constant guifg=#a0a0a0 -highlight Type guifg=#a0a0ff gui=NONE - -" Console -highlight Normal ctermfg=LightGrey ctermbg=Black -highlight Cursor ctermfg=Black ctermbg=LightGrey cterm=NONE -highlight Search ctermfg=Yellow ctermbg=Blue cterm=NONE -highlight Visual cterm=reverse -highlight Special ctermfg=Brown -highlight Comment ctermfg=Blue -highlight StatusLine ctermfg=blue ctermbg=white -highlight Identifier ctermfg=Cyan -highlight Statement ctermfg=Yellow cterm=NONE -highlight Constant ctermfg=Grey cterm=NONE -highlight Type ctermfg=LightBlue cterm=NONE diff --git a/.vim/colors/greyblue.vim b/.vim/colors/greyblue.vim deleted file mode 100644 index 1b3c233..0000000 --- a/.vim/colors/greyblue.vim +++ /dev/null @@ -1,75 +0,0 @@ -" Vim color file -" - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif - -let colors_name = "greyblue" - -hi Normal ctermfg=NONE ctermbg=NONE gui=NONE guifg=#b7af9f guibg=#090909 - -" Search -hi IncSearch ctermfg=NONE ctermbg=NONE gui=NONE guifg=#7800ff guibg=#e0d8ff -hi Search ctermfg=NONE ctermbg=NONE gui=NONE guifg=#7800ff guibg=#e0d8ff - -" Messages -hi ErrorMsg ctermfg=NONE ctermbg=NONE gui=NONE guifg=#ffffff guibg=NONE -hi WarningMsg ctermfg=NONE ctermbg=NONE gui=NONE guifg=#ffffff guibg=NONE -hi ModeMsg ctermfg=NONE ctermbg=NONE gui=NONE guifg=#ffffff guibg=NONE -hi MoreMsg ctermfg=NONE ctermbg=NONE gui=NONE guifg=#ffffff guibg=NONE -hi Question ctermfg=NONE ctermbg=NONE gui=NONE guifg=#ffffff guibg=NONE - -" Split area -hi StatusLine ctermfg=NONE ctermbg=NONE gui=BOLD guifg=#070707 guibg=#cfcfbf -hi StatusLineNC ctermfg=NONE ctermbg=NONE gui=BOLD guifg=#5f5f4f guibg=#cfcfbf -hi VertSplit ctermfg=NONE ctermbg=NONE gui=NONE guifg=#070707 guibg=#cfcfbf -hi WildMenu ctermfg=NONE ctermbg=NONE gui=BOLD guifg=#070707 guibg=#ff5533 - -" Diff -hi DiffText ctermfg=NONE ctermbg=NONE gui=NONE guifg=#07cfef guibg=#00151f -hi DiffChange ctermfg=NONE ctermbg=NONE gui=NONE guifg=#ff97ff guibg=#2f002f -hi DiffDelete ctermfg=NONE ctermbg=NONE gui=NONE guifg=#dfdf00 guibg=#370d15 -hi DiffAdd ctermfg=NONE ctermbg=NONE gui=NONE guifg=#dfdf00 guibg=#370d15 - -" Cursor -hi Cursor ctermfg=NONE ctermbg=NONE gui=NONE guifg=#ffff00 guibg=#7fff00 -hi lCursor ctermfg=NONE ctermbg=NONE gui=NONE guifg=#070707 guibg=#7fff00 -hi CursorIM ctermfg=NONE ctermbg=NONE gui=NONE guifg=#070707 guibg=#7fff00 - -" Fold -hi Folded ctermfg=NONE ctermbg=NONE gui=NONE guifg=#87ff00 guibg=#1f2700 -hi FoldColumn ctermfg=NONE ctermbg=NONE gui=NONE guifg=#559f00 guibg=#0f0f0b - -" Other -hi Directory ctermfg=NONE ctermbg=NONE gui=NONE guifg=#aaaaba guibg=NONE -hi LineNr ctermfg=NONE ctermbg=NONE gui=NONE guifg=#7f7f5f guibg=NONE -hi NonText ctermfg=NONE ctermbg=NONE gui=BOLD guifg=#211d1a guibg=#211d1a -hi SpecialKey ctermfg=NONE ctermbg=NONE gui=NONE guifg=#378fff guibg=NONE -hi Title ctermfg=NONE ctermbg=NONE gui=NONE guifg=#ffbf9f guibg=#370f07 -hi Visual ctermfg=NONE ctermbg=NONE gui=reverse guifg=#a5a5a5 guibg=#353535 - -" Syntax group -hi Comment ctermfg=NONE ctermbg=NONE gui=BOLD guifg=#555565 guibg=NONE -hi Constant ctermfg=NONE ctermbg=NONE gui=NONE guifg=#d1bfb1 guibg=#151515 -hi Error ctermfg=NONE ctermbg=NONE gui=NONE guifg=#00ffff guibg=NONE -hi Identifier ctermfg=NONE ctermbg=NONE gui=NONE guifg=#aaaaba guibg=NONE -hi Ignore ctermfg=NONE ctermbg=NONE gui=NONE guifg=NONE guibg=NONE -hi PreProc ctermfg=NONE ctermbg=NONE gui=NONE guifg=NONE guibg=NONE -hi Special ctermfg=NONE ctermbg=NONE gui=NONE guifg=#aa1565 guibg=NONE -hi Statement ctermfg=NONE ctermbg=NONE gui=bold guifg=#d1bfb1 guibg=NONE -hi Todo ctermfg=NONE ctermbg=NONE gui=NONE guifg=NONE guibg=NONE -hi Type ctermfg=NONE ctermbg=NONE gui=BOLD guifg=#d1bfb1 guibg=NONE -hi Underlined ctermfg=NONE ctermbg=NONE gui=UNDERLINE guifg=NONE guibg=NONE - -" HTML -hi htmlLink gui=UNDERLINE guifg=#ffff00 guibg=NONE -hi htmlBold gui=BOLD -hi htmlBoldItalic gui=BOLD,ITALIC -hi htmlBoldUnderline gui=BOLD,UNDERLINE -hi htmlBoldUnderlineItalic gui=BOLD,UNDERLINE,ITALIC -hi htmlItalic gui=ITALIC -hi htmlUnderline gui=UNDERLINE -hi htmlUnderlineItalic gui=UNDERLINE,ITALIC diff --git a/.vim/colors/hhazure.vim b/.vim/colors/hhazure.vim deleted file mode 100644 index 9dfed35..0000000 --- a/.vim/colors/hhazure.vim +++ /dev/null @@ -1,83 +0,0 @@ -" Vim color file {{{1 -" Maintainer: hira@users.sourceforge.jp -" Last Change: 2003/11/29 (Sat) 13:28:25. -" Version: 1.2 -" This color scheme uses a dark background. - -" Happy Hacking color scheme {{{1 -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif -let colors_name = expand("<sfile>:t:r") -let html_my_rendering = 1 - - -" frame & title & message (theme) {{{1 -hi VertSplit gui=underline guifg=bg guibg=#051525 -hi StatusLine gui=underline guifg=fg guibg=#051525 -hi StatusLineNC gui=underline guifg=#2c3c45 guibg=#051525 -hi LineNr gui=underline guifg=#54657d guibg=#051525 -hi Folded gui=none guifg=#54657d guibg=bg -hi FoldColumn gui=none guifg=#54657d guibg=bg -" title -hi Title gui=underline guifg=fg guibg=#34455d -" message -hi MoreMsg gui=underline guifg=bg guibg=#329858 -hi Question gui=underline guifg=bg guibg=#329858 - -hi Normal gui=none guifg=#7990a4 guibg=#152535 -hi NonText gui=underline guifg=#1d2d30 -hi NonText guibg=#1d2d30 - -" cursor {{{1 -hi WildMenu gui=underline guifg=bg guibg=#99ccb5 -hi Cursor gui=underline guifg=bg guibg=#99ccb5 -hi IncSearch gui=underline guifg=bg guibg=#99ccb5 -hi CursorIM gui=underline guifg=fg guibg=#006188 -hi Search gui=underline guifg=bg guibg=#33669a -hi Visual gui=underline guifg=bg guibg=#667888 - - -" message {{{1 -hi ErrorMsg gui=underline guifg=bg guibg=#8cdd66 -hi WarningMsg gui=underline guifg=bg guibg=#66cc6a -hi ModeMsg gui=underline guifg=bg guibg=#339599 - - -" inner {{{1 -hi Ignore gui=none guifg=bg guibg=bg -hi Todo gui=underline guifg=bg guibg=#66cc6a -hi Error gui=underline guifg=fg guibg=#884422 -hi Special gui=none guifg=#66bbb6 guibg=bg -hi SpecialKey gui=none guifg=#6695cc guibg=bg -hi Identifier gui=none guifg=#69be97 guibg=bg -hi Constant gui=none guifg=#22887b guibg=bg -hi Statement gui=none guifg=#74aa66 guibg=bg -hi Comment gui=none guifg=#006188 guibg=bg -hi Underlined gui=underline guifg=#826699 guibg=bg -hi Directory gui=none guifg=#447760 guibg=bg -hi PreProc gui=none guifg=#557767 guibg=bg -hi Type gui=none guifg=#429999 guibg=bg - - -" diff {{{1 -hi DiffText gui=underline guifg=bg guibg=#99ffd0 -hi DiffChange gui=underline guifg=bg guibg=#55aa83 -hi DiffDelete gui=none guifg=bg guibg=#22a5aa -hi DiffAdd gui=underline guifg=bg guibg=#2ccc22 - - -" html {{{1 -hi htmlLink gui=underline guifg=#6696aa guibg=bg -hi htmlBold gui=underline guifg=bg guibg=#74aa66 -hi htmlBoldUnderline gui=underline guifg=#74aa66 guibg=bg -hi htmlItalic gui=underline guifg=bg guibg=#44ccc0 -hi htmlUnderlineItalic gui=underline guifg=#44ccc0 guibg=bg -hi htmlBoldItalic gui=underline guifg=bg guibg=#33aa40 -hi htmlBoldUnderlineItalic gui=underline guifg=#33aa40 guibg=bg -hi htmlUnderline gui=underline guifg=fg guibg=bg - -"}}}1 -" vim:set nowrap foldmethod=marker expandtab: diff --git a/.vim/colors/hhdblue.vim b/.vim/colors/hhdblue.vim deleted file mode 100644 index ebea8ba..0000000 --- a/.vim/colors/hhdblue.vim +++ /dev/null @@ -1,233 +0,0 @@ -" Vim color file {{{1 -" Maintainer: hira@users.sourceforge.jp -" Last Change: 2003/11/08 (Sat) 15:09:08. -" Version: 1.3 -" This color scheme uses a dark background. - -" Options -" format: -" hhcs_<gui|cterm|both>_<theme|all>_<target>="value" -" target: -" linenr -" "light" : underline, fg=black, bg=light<theme> -" "dark" : underline, fg=black, bg=dark<theme> -" "normal" : none, fg=light<theme>, bg=black -" nontext -" "underlined" : underline, fg=dark<theme>, bg=black -" "normal" : none, fg=dark<theme>, bg=black -" -" This is original settings. -" :let hhcs_both_all_linenr ="light" -" :let hhcs_both_all_nontext ="underlined" -" -" This is prototype settings. -" :let hhcs_both_all_linenr ="dark" -" :let hhcs_both_all_nontext ="underlined" -" -" If you don't want to eccentric feature, try this. -" :let hhcs_both_all_linenr ="normal" -" :let hhcs_both_all_nontext ="normal" -" -" Normal, except hhdgray(gui), hhdgreen(cterm). -" :let hhcs_both_all_linenr ="normal" -" :let hhcs_both_all_nontext ="normal" -" :let hhcs_gui_hhdgray_linenr ="light" -" :let hhcs_gui_hhdgray_nontext ="underlined" -" :let hhcs_cterm_hhdgreen_linenr ="dark" -" :let hhcs_cterm_hhdgreen_nontext ="underlined" -" -" For poor cterm -" :let hhcs_cterm_all_linenr ="normal" - -" Happy Hacking color scheme ((DARK)) {{{1 -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif -let colors_name = expand("<sfile>:t:r") -let html_my_rendering = 1 - - -" frame & title & message (theme) {{{1 -hi NonText gui=UNDERLINE guifg=darkblue guibg=black -hi NonText cterm=UNDERLINE ctermfg=darkblue ctermbg=black -hi Folded gui=NONE guifg=blue guibg=black -hi Folded cterm=NONE ctermfg=blue ctermbg=black -hi FoldColumn gui=NONE guifg=blue guibg=black -hi FoldColumn cterm=NONE ctermfg=blue ctermbg=black -hi StatusLineNC gui=UNDERLINE guifg=black guibg=blue -hi StatusLineNC gui=UNDERLINE ctermfg=black ctermbg=blue -hi LineNr gui=UNDERLINE guifg=black guibg=lightblue -hi LineNr cterm=UNDERLINE ctermfg=black ctermbg=lightblue -hi VertSplit gui=NONE guifg=darkblue guibg=darkblue -hi VertSplit cterm=NONE ctermfg=darkblue ctermbg=darkblue -" title -hi Title gui=UNDERLINE guifg=lightgray guibg=darkblue -hi Title cterm=UNDERLINE ctermfg=lightgray ctermbg=darkblue -" message -hi MoreMsg gui=UNDERLINE guifg=black guibg=blue -hi MoreMsg cterm=UNDERLINE ctermfg=black ctermbg=blue -hi Question gui=UNDERLINE guifg=black guibg=blue -hi Question cterm=UNDERLINE ctermfg=black ctermbg=blue - - -" cursor {{{1 -hi StatusLine gui=UNDERLINE guifg=black guibg=gray -hi StatusLine cterm=UNDERLINE ctermfg=black ctermbg=gray -hi WildMenu gui=UNDERLINE guifg=black guibg=green -hi WildMenu cterm=UNDERLINE ctermfg=black ctermbg=green -hi Cursor gui=UNDERLINE guifg=black guibg=green -hi Cursor cterm=UNDERLINE ctermfg=black ctermbg=green -hi IncSearch gui=UNDERLINE guifg=black guibg=green -hi IncSearch cterm=UNDERLINE ctermfg=black ctermbg=green -hi CursorIM gui=UNDERLINE guifg=black guibg=green -hi CursorIM cterm=UNDERLINE ctermfg=black ctermbg=green -hi Search gui=UNDERLINE guifg=black guibg=yellow -hi Search cterm=UNDERLINE ctermfg=black ctermbg=yellow -hi Visual gui=UNDERLINE guifg=black guibg=gray -hi Visual cterm=UNDERLINE ctermfg=black ctermbg=gray - - -" message {{{1 -hi ErrorMsg gui=UNDERLINE guifg=black guibg=red -hi ErrorMsg cterm=UNDERLINE ctermfg=black ctermbg=red -hi WarningMsg gui=UNDERLINE guifg=black guibg=yellow -hi WarningMsg cterm=UNDERLINE ctermfg=black ctermbg=yellow -hi ModeMsg gui=UNDERLINE guifg=black guibg=green -hi ModeMsg cterm=UNDERLINE ctermfg=black ctermbg=green - - -" inner {{{1 -hi Normal gui=NONE guifg=lightgray guibg=black -hi Normal cterm=NONE ctermfg=lightgray ctermbg=black -hi Ignore gui=NONE guifg=black guibg=black -hi Ignore cterm=NONE ctermfg=black ctermbg=black -hi Todo gui=UNDERLINE guifg=black guibg=red -hi Todo cterm=UNDERLINE ctermfg=black ctermbg=red -hi Error gui=UNDERLINE guifg=lightgray guibg=red -hi Error cterm=UNDERLINE ctermfg=lightgray ctermbg=red -hi Special gui=NONE guifg=lightcyan guibg=black -hi Special cterm=NONE ctermfg=lightcyan ctermbg=black -hi SpecialKey gui=NONE guifg=cyan guibg=black -hi SpecialKey cterm=NONE ctermfg=cyan ctermbg=black -hi Identifier gui=NONE guifg=cyan guibg=black -hi Identifier cterm=NONE ctermfg=cyan ctermbg=black -hi Constant gui=NONE guifg=lightred guibg=black -hi Constant cterm=NONE ctermfg=lightred ctermbg=black -hi Statement gui=NONE guifg=lightyellow guibg=black -hi Statement cterm=NONE ctermfg=lightyellow ctermbg=black -hi Comment gui=NONE guifg=lightblue guibg=black -hi Comment cterm=NONE ctermfg=lightblue ctermbg=black -hi Underlined gui=UNDERLINE guifg=lightblue guibg=black -hi Underlined cterm=UNDERLINE ctermfg=lightblue ctermbg=black -hi Directory gui=NONE guifg=lightgreen guibg=black -hi Directory cterm=NONE ctermfg=lightgreen ctermbg=black -hi PreProc gui=NONE guifg=lightmagenta guibg=black -hi PreProc cterm=NONE ctermfg=lightmagenta ctermbg=black -hi Type gui=NONE guifg=lightgreen guibg=black -hi Type cterm=NONE ctermfg=lightgreen ctermbg=black - - -" option {{{1 -function! s:SetOpt(term, theme, target, default) - let s:opt_{a:term}_{a:target} - \ = exists("g:hhcs_".a:term."_".a:theme."_".a:target) - \ ? g:hhcs_{a:term}_{a:theme}_{a:target} - \ : exists("g:hhcs_".a:term."_all_".a:target) - \ ? g:hhcs_{a:term}_all_{a:target} - \ : exists("g:hhcs_both_all_".a:target) - \ ? g:hhcs_both_all_{a:target} - \ : a:default -endfunction - - -" LineNr {{{2 -" light, dark, normal -call s:SetOpt( "gui", "hhdblue", "linenr", "light") -call s:SetOpt("cterm", "hhdblue", "linenr", "light") -"echo "s:opt_gui_linenr=".s:opt_gui_linenr -if s:opt_gui_linenr == "light" - hi LineNr gui=UNDERLINE guifg=black guibg=lightblue -elseif s:opt_gui_linenr == "dark" - hi LineNr gui=UNDERLINE guifg=black guibg=darkblue -else - hi LineNr gui=NONE guifg=lightblue guibg=black -endif -"echo "s:opt_cterm_linenr=".s:opt_cterm_linenr -if s:opt_cterm_linenr == "light" - hi LineNr cterm=UNDERLINE ctermfg=black ctermbg=lightblue -elseif s:opt_gui_linenr == "dark" - hi LineNr cterm=UNDERLINE ctermfg=black ctermbg=darkblue -else - hi LineNr cterm=NONE ctermfg=lightblue ctermbg=black -endif - - -" NonText {{{2 -" underlined, normal -call s:SetOpt( "gui", "hhdblue", "nontext", "underlined") -call s:SetOpt("cterm", "hhdblue", "nontext", "underlined") -"echo "s:opt_gui_nontext=".s:opt_gui_nontext -if s:opt_gui_nontext == "underlined" - hi NonText gui=UNDERLINE guifg=darkblue guibg=black -else - hi NonText gui=NONE guifg=darkblue guibg=black -endif -"echo "s:opt_cterm_nontext=".s:opt_cterm_nontext -if s:opt_cterm_nontext == "underlined" - hi NonText cterm=UNDERLINE ctermfg=darkblue ctermbg=black -else - hi NonText cterm=NONE ctermfg=darkblue ctermbg=black -endif - - -" 2}}} -" diff {{{1 -hi DiffText gui=UNDERLINE guifg=black guibg=red -hi DiffText cterm=UNDERLINE ctermfg=black ctermbg=red -hi DiffChange gui=UNDERLINE guifg=black guibg=lightgray -hi DiffChange cterm=UNDERLINE ctermfg=black ctermbg=lightgray -hi DiffDelete gui=NONE guifg=black guibg=blue -hi DiffDelete cterm=NONE ctermfg=black ctermbg=blue -hi DiffAdd gui=UNDERLINE guifg=black guibg=cyan -hi DiffAdd cterm=UNDERLINE ctermfg=black ctermbg=cyan - - -" html {{{1 -hi htmlLink gui=UNDERLINE guifg=lightblue guibg=black -hi htmlLink cterm=UNDERLINE ctermfg=lightblue ctermbg=black -hi htmlBold gui=UNDERLINE guifg=black guibg=lightred -hi htmlBold cterm=UNDERLINE ctermfg=black ctermbg=lightred -hi htmlItalic gui=UNDERLINE guifg=black guibg=lightgreen -hi htmlItalic cterm=UNDERLINE ctermfg=black ctermbg=lightgreen -hi htmlBoldItalic gui=UNDERLINE guifg=black guibg=lightblue -hi htmlBoldItalic cterm=UNDERLINE ctermfg=black ctermbg=lightblue -hi htmlUnderline gui=UNDERLINE guifg=lightgray guibg=black -hi htmlUnderline cterm=UNDERLINE ctermfg=lightgray ctermbg=black -hi htmlBoldUnderline gui=UNDERLINE guifg=lightred guibg=black -hi htmlBoldUnderline cterm=UNDERLINE ctermfg=lightred ctermbg=black -hi htmlUnderlineItalic gui=UNDERLINE guifg=lightgreen guibg=black -hi htmlUnderlineItalic cterm=UNDERLINE ctermfg=lightgreen ctermbg=black -hi htmlBoldUnderlineItalic gui=UNDERLINE guifg=lightblue guibg=black -hi htmlBoldUnderlineItalic cterm=UNDERLINE ctermfg=lightblue ctermbg=black - - -" colors{{{1 -" 1 black -" 2 blue -" 3 cyan -" 4 darkblue -" 5 gray -" 6 green -" 7 lightblue -" 8 lightcyan -" 9 lightgray -" 10 lightgreen -" 11 lightmagenta -" 12 lightred -" 13 lightyellow -" 14 red -" 15 yellow -"}}}1 -" vim:set nowrap foldmethod=marker expandtab: diff --git a/.vim/colors/hhdcyan.vim b/.vim/colors/hhdcyan.vim deleted file mode 100644 index be41f2f..0000000 --- a/.vim/colors/hhdcyan.vim +++ /dev/null @@ -1,233 +0,0 @@ -" Vim color file {{{1 -" Maintainer: hira@users.sourceforge.jp -" Last Change: 2003/11/08 (Sat) 15:09:10. -" Version: 1.3 -" This color scheme uses a dark background. - -" Options -" format: -" hhcs_<gui|cterm|both>_<theme|all>_<target>="value" -" target: -" linenr -" "light" : underline, fg=black, bg=light<theme> -" "dark" : underline, fg=black, bg=dark<theme> -" "normal" : none, fg=light<theme>, bg=black -" nontext -" "underlined" : underline, fg=dark<theme>, bg=black -" "normal" : none, fg=dark<theme>, bg=black -" -" This is original settings. -" :let hhcs_both_all_linenr ="light" -" :let hhcs_both_all_nontext ="underlined" -" -" This is prototype settings. -" :let hhcs_both_all_linenr ="dark" -" :let hhcs_both_all_nontext ="underlined" -" -" If you don't want to eccentric feature, try this. -" :let hhcs_both_all_linenr ="normal" -" :let hhcs_both_all_nontext ="normal" -" -" Normal, except hhdgray(gui), hhdgreen(cterm). -" :let hhcs_both_all_linenr ="normal" -" :let hhcs_both_all_nontext ="normal" -" :let hhcs_gui_hhdgray_linenr ="light" -" :let hhcs_gui_hhdgray_nontext ="underlined" -" :let hhcs_cterm_hhdgreen_linenr ="dark" -" :let hhcs_cterm_hhdgreen_nontext ="underlined" -" -" For poor cterm -" :let hhcs_cterm_all_linenr ="normal" - -" Happy Hacking color scheme ((DARK)) {{{1 -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif -let colors_name = expand("<sfile>:t:r") -let html_my_rendering = 1 - - -" frame & title & message (theme) {{{1 -hi NonText gui=UNDERLINE guifg=darkcyan guibg=black -hi NonText cterm=UNDERLINE ctermfg=darkcyan ctermbg=black -hi Folded gui=NONE guifg=darkcyan guibg=black -hi Folded cterm=NONE ctermfg=darkcyan ctermbg=black -hi FoldColumn gui=NONE guifg=darkcyan guibg=black -hi FoldColumn cterm=NONE ctermfg=darkcyan ctermbg=black -hi StatusLineNC gui=UNDERLINE guifg=black guibg=darkcyan -hi StatusLineNC gui=UNDERLINE ctermfg=black ctermbg=darkcyan -hi LineNr gui=UNDERLINE guifg=black guibg=lightcyan -hi LineNr cterm=UNDERLINE ctermfg=black ctermbg=lightcyan -hi VertSplit gui=NONE guifg=darkcyan guibg=darkcyan -hi VertSplit cterm=NONE ctermfg=darkcyan ctermbg=darkcyan -" title -hi Title gui=UNDERLINE guifg=lightgray guibg=darkcyan -hi Title cterm=UNDERLINE ctermfg=lightgray ctermbg=darkcyan -" message -hi MoreMsg gui=UNDERLINE guifg=black guibg=darkcyan -hi MoreMsg cterm=UNDERLINE ctermfg=black ctermbg=darkcyan -hi Question gui=UNDERLINE guifg=black guibg=darkcyan -hi Question cterm=UNDERLINE ctermfg=black ctermbg=darkcyan - - -" cursor {{{1 -hi StatusLine gui=UNDERLINE guifg=black guibg=gray -hi StatusLine cterm=UNDERLINE ctermfg=black ctermbg=gray -hi WildMenu gui=UNDERLINE guifg=black guibg=green -hi WildMenu cterm=UNDERLINE ctermfg=black ctermbg=green -hi Cursor gui=UNDERLINE guifg=black guibg=green -hi Cursor cterm=UNDERLINE ctermfg=black ctermbg=green -hi IncSearch gui=UNDERLINE guifg=black guibg=green -hi IncSearch cterm=UNDERLINE ctermfg=black ctermbg=green -hi CursorIM gui=UNDERLINE guifg=black guibg=green -hi CursorIM cterm=UNDERLINE ctermfg=black ctermbg=green -hi Search gui=UNDERLINE guifg=black guibg=yellow -hi Search cterm=UNDERLINE ctermfg=black ctermbg=yellow -hi Visual gui=UNDERLINE guifg=black guibg=gray -hi Visual cterm=UNDERLINE ctermfg=black ctermbg=gray - - -" message {{{1 -hi ErrorMsg gui=UNDERLINE guifg=black guibg=red -hi ErrorMsg cterm=UNDERLINE ctermfg=black ctermbg=red -hi WarningMsg gui=UNDERLINE guifg=black guibg=yellow -hi WarningMsg cterm=UNDERLINE ctermfg=black ctermbg=yellow -hi ModeMsg gui=UNDERLINE guifg=black guibg=green -hi ModeMsg cterm=UNDERLINE ctermfg=black ctermbg=green - - -" inner {{{1 -hi Normal gui=NONE guifg=lightgray guibg=black -hi Normal cterm=NONE ctermfg=lightgray ctermbg=black -hi Ignore gui=NONE guifg=black guibg=black -hi Ignore cterm=NONE ctermfg=black ctermbg=black -hi Todo gui=UNDERLINE guifg=black guibg=red -hi Todo cterm=UNDERLINE ctermfg=black ctermbg=red -hi Error gui=UNDERLINE guifg=lightgray guibg=red -hi Error cterm=UNDERLINE ctermfg=lightgray ctermbg=red -hi Special gui=NONE guifg=lightcyan guibg=black -hi Special cterm=NONE ctermfg=lightcyan ctermbg=black -hi SpecialKey gui=NONE guifg=cyan guibg=black -hi SpecialKey cterm=NONE ctermfg=cyan ctermbg=black -hi Identifier gui=NONE guifg=cyan guibg=black -hi Identifier cterm=NONE ctermfg=cyan ctermbg=black -hi Constant gui=NONE guifg=lightred guibg=black -hi Constant cterm=NONE ctermfg=lightred ctermbg=black -hi Statement gui=NONE guifg=lightyellow guibg=black -hi Statement cterm=NONE ctermfg=lightyellow ctermbg=black -hi Comment gui=NONE guifg=lightblue guibg=black -hi Comment cterm=NONE ctermfg=lightblue ctermbg=black -hi Underlined gui=UNDERLINE guifg=lightblue guibg=black -hi Underlined cterm=UNDERLINE ctermfg=lightblue ctermbg=black -hi Directory gui=NONE guifg=lightgreen guibg=black -hi Directory cterm=NONE ctermfg=lightgreen ctermbg=black -hi PreProc gui=NONE guifg=lightmagenta guibg=black -hi PreProc cterm=NONE ctermfg=lightmagenta ctermbg=black -hi Type gui=NONE guifg=lightgreen guibg=black -hi Type cterm=NONE ctermfg=lightgreen ctermbg=black - - -" option {{{1 -function! s:SetOpt(term, theme, target, default) - let s:opt_{a:term}_{a:target} - \ = exists("g:hhcs_".a:term."_".a:theme."_".a:target) - \ ? g:hhcs_{a:term}_{a:theme}_{a:target} - \ : exists("g:hhcs_".a:term."_all_".a:target) - \ ? g:hhcs_{a:term}_all_{a:target} - \ : exists("g:hhcs_both_all_".a:target) - \ ? g:hhcs_both_all_{a:target} - \ : a:default -endfunction - - -" LineNr {{{2 -" light, dark, normal -call s:SetOpt( "gui", "hhdcyan", "linenr", "light") -call s:SetOpt("cterm", "hhdcyan", "linenr", "light") -"echo "s:opt_gui_linenr=".s:opt_gui_linenr -if s:opt_gui_linenr == "light" - hi LineNr gui=UNDERLINE guifg=black guibg=lightcyan -elseif s:opt_gui_linenr == "dark" - hi LineNr gui=UNDERLINE guifg=black guibg=darkcyan -else - hi LineNr gui=NONE guifg=lightcyan guibg=black -endif -"echo "s:opt_cterm_linenr=".s:opt_cterm_linenr -if s:opt_cterm_linenr == "light" - hi LineNr cterm=UNDERLINE ctermfg=black ctermbg=lightcyan -elseif s:opt_gui_linenr == "dark" - hi LineNr cterm=UNDERLINE ctermfg=black ctermbg=darkcyan -else - hi LineNr cterm=NONE ctermfg=lightcyan ctermbg=black -endif - - -" NonText {{{2 -" underlined, normal -call s:SetOpt( "gui", "hhdcyan", "nontext", "underlined") -call s:SetOpt("cterm", "hhdcyan", "nontext", "underlined") -"echo "s:opt_gui_nontext=".s:opt_gui_nontext -if s:opt_gui_nontext == "underlined" - hi NonText gui=UNDERLINE guifg=darkcyan guibg=black -else - hi NonText gui=NONE guifg=darkcyan guibg=black -endif -"echo "s:opt_cterm_nontext=".s:opt_cterm_nontext -if s:opt_cterm_nontext == "underlined" - hi NonText cterm=UNDERLINE ctermfg=darkcyan ctermbg=black -else - hi NonText cterm=NONE ctermfg=darkcyan ctermbg=black -endif - - -" 2}}} -" diff {{{1 -hi DiffText gui=UNDERLINE guifg=black guibg=red -hi DiffText cterm=UNDERLINE ctermfg=black ctermbg=red -hi DiffChange gui=UNDERLINE guifg=black guibg=lightgray -hi DiffChange cterm=UNDERLINE ctermfg=black ctermbg=lightgray -hi DiffDelete gui=NONE guifg=black guibg=blue -hi DiffDelete cterm=NONE ctermfg=black ctermbg=blue -hi DiffAdd gui=UNDERLINE guifg=black guibg=cyan -hi DiffAdd cterm=UNDERLINE ctermfg=black ctermbg=cyan - - -" html {{{1 -hi htmlLink gui=UNDERLINE guifg=lightblue guibg=black -hi htmlLink cterm=UNDERLINE ctermfg=lightblue ctermbg=black -hi htmlBold gui=UNDERLINE guifg=black guibg=lightred -hi htmlBold cterm=UNDERLINE ctermfg=black ctermbg=lightred -hi htmlItalic gui=UNDERLINE guifg=black guibg=lightgreen -hi htmlItalic cterm=UNDERLINE ctermfg=black ctermbg=lightgreen -hi htmlBoldItalic gui=UNDERLINE guifg=black guibg=lightblue -hi htmlBoldItalic cterm=UNDERLINE ctermfg=black ctermbg=lightblue -hi htmlUnderline gui=UNDERLINE guifg=lightgray guibg=black -hi htmlUnderline cterm=UNDERLINE ctermfg=lightgray ctermbg=black -hi htmlBoldUnderline gui=UNDERLINE guifg=lightred guibg=black -hi htmlBoldUnderline cterm=UNDERLINE ctermfg=lightred ctermbg=black -hi htmlUnderlineItalic gui=UNDERLINE guifg=lightgreen guibg=black -hi htmlUnderlineItalic cterm=UNDERLINE ctermfg=lightgreen ctermbg=black -hi htmlBoldUnderlineItalic gui=UNDERLINE guifg=lightblue guibg=black -hi htmlBoldUnderlineItalic cterm=UNDERLINE ctermfg=lightblue ctermbg=black - - -" colors{{{1 -" 1 black -" 2 blue -" 3 cyan -" 4 darkcyan -" 5 gray -" 6 green -" 7 lightblue -" 8 lightcyan -" 9 lightgray -" 10 lightgreen -" 11 lightmagenta -" 12 lightred -" 13 lightyellow -" 14 red -" 15 yellow -"}}}1 -" vim:set nowrap foldmethod=marker expandtab: diff --git a/.vim/colors/hhdgray.vim b/.vim/colors/hhdgray.vim deleted file mode 100644 index 39249fc..0000000 --- a/.vim/colors/hhdgray.vim +++ /dev/null @@ -1,233 +0,0 @@ -" Vim color file {{{1 -" Maintainer: hira@users.sourceforge.jp -" Last Change: 2003/11/08 (Sat) 15:09:11. -" Version: 1.3 -" This color scheme uses a dark background. - -" Options -" format: -" hhcs_<gui|cterm|both>_<theme|all>_<target>="value" -" target: -" linenr -" "light" : underline, fg=black, bg=light<theme> -" "dark" : underline, fg=black, bg=dark<theme> -" "normal" : none, fg=light<theme>, bg=black -" nontext -" "underlined" : underline, fg=dark<theme>, bg=black -" "normal" : none, fg=dark<theme>, bg=black -" -" This is original settings. -" :let hhcs_both_all_linenr ="light" -" :let hhcs_both_all_nontext ="underlined" -" -" This is prototype settings. -" :let hhcs_both_all_linenr ="dark" -" :let hhcs_both_all_nontext ="underlined" -" -" If you don't want to eccentric feature, try this. -" :let hhcs_both_all_linenr ="normal" -" :let hhcs_both_all_nontext ="normal" -" -" Normal, except hhdgray(gui), hhdgreen(cterm). -" :let hhcs_both_all_linenr ="normal" -" :let hhcs_both_all_nontext ="normal" -" :let hhcs_gui_hhdgray_linenr ="light" -" :let hhcs_gui_hhdgray_nontext ="underlined" -" :let hhcs_cterm_hhdgreen_linenr ="dark" -" :let hhcs_cterm_hhdgreen_nontext ="underlined" -" -" For poor cterm -" :let hhcs_cterm_all_linenr ="normal" - -" Happy Hacking color scheme ((DARK)) {{{1 -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif -let colors_name = expand("<sfile>:t:r") -let html_my_rendering = 1 - - -" frame & title & message (theme) {{{1 -hi NonText gui=UNDERLINE guifg=darkgray guibg=black -hi NonText cterm=UNDERLINE ctermfg=darkgray ctermbg=black -hi Folded gui=NONE guifg=darkgray guibg=black -hi Folded cterm=NONE ctermfg=darkgray ctermbg=black -hi FoldColumn gui=NONE guifg=darkgray guibg=black -hi FoldColumn cterm=NONE ctermfg=darkgray ctermbg=black -hi StatusLineNC gui=UNDERLINE guifg=black guibg=darkgray -hi StatusLineNC cterm=UNDERLINE ctermfg=black ctermbg=darkgray -hi LineNr gui=UNDERLINE guifg=black guibg=lightgray -hi LineNr cterm=UNDERLINE ctermfg=black ctermbg=lightgray -hi VertSplit gui=NONE guifg=darkgray guibg=darkgray -hi VertSplit cterm=NONE ctermfg=darkgray ctermbg=darkgray -" title -hi Title gui=UNDERLINE guifg=lightgray guibg=darkgray -hi Title cterm=UNDERLINE ctermfg=lightgray ctermbg=darkgray -" message -hi MoreMsg gui=UNDERLINE guifg=black guibg=darkgray -hi MoreMsg cterm=UNDERLINE ctermfg=black ctermbg=darkgray -hi Question gui=UNDERLINE guifg=black guibg=darkgray -hi Question cterm=UNDERLINE ctermfg=black ctermbg=darkgray - - -" cursor {{{1 -hi StatusLine gui=UNDERLINE guifg=black guibg=gray -hi StatusLine cterm=UNDERLINE ctermfg=black ctermbg=gray -hi WildMenu gui=UNDERLINE guifg=black guibg=green -hi WildMenu cterm=UNDERLINE ctermfg=black ctermbg=green -hi Cursor gui=UNDERLINE guifg=black guibg=green -hi Cursor cterm=UNDERLINE ctermfg=black ctermbg=green -hi IncSearch gui=UNDERLINE guifg=black guibg=green -hi IncSearch cterm=UNDERLINE ctermfg=black ctermbg=green -hi CursorIM gui=UNDERLINE guifg=black guibg=green -hi CursorIM cterm=UNDERLINE ctermfg=black ctermbg=green -hi Search gui=UNDERLINE guifg=black guibg=yellow -hi Search cterm=UNDERLINE ctermfg=black ctermbg=yellow -hi Visual gui=UNDERLINE guifg=black guibg=gray -hi Visual cterm=UNDERLINE ctermfg=black ctermbg=gray - - -" message {{{1 -hi ErrorMsg gui=UNDERLINE guifg=black guibg=red -hi ErrorMsg cterm=UNDERLINE ctermfg=black ctermbg=red -hi WarningMsg gui=UNDERLINE guifg=black guibg=yellow -hi WarningMsg cterm=UNDERLINE ctermfg=black ctermbg=yellow -hi ModeMsg gui=UNDERLINE guifg=black guibg=green -hi ModeMsg cterm=UNDERLINE ctermfg=black ctermbg=green - - -" inner {{{1 -hi Normal gui=NONE guifg=lightgray guibg=black -hi Normal cterm=NONE ctermfg=lightgray ctermbg=black -hi Ignore gui=NONE guifg=black guibg=black -hi Ignore cterm=NONE ctermfg=black ctermbg=black -hi Todo gui=UNDERLINE guifg=black guibg=red -hi Todo cterm=UNDERLINE ctermfg=black ctermbg=red -hi Error gui=UNDERLINE guifg=lightgray guibg=red -hi Error cterm=UNDERLINE ctermfg=lightgray ctermbg=red -hi Special gui=NONE guifg=lightcyan guibg=black -hi Special cterm=NONE ctermfg=lightcyan ctermbg=black -hi SpecialKey gui=NONE guifg=cyan guibg=black -hi SpecialKey cterm=NONE ctermfg=cyan ctermbg=black -hi Identifier gui=NONE guifg=cyan guibg=black -hi Identifier cterm=NONE ctermfg=cyan ctermbg=black -hi Constant gui=NONE guifg=lightred guibg=black -hi Constant cterm=NONE ctermfg=lightred ctermbg=black -hi Statement gui=NONE guifg=lightyellow guibg=black -hi Statement cterm=NONE ctermfg=lightyellow ctermbg=black -hi Comment gui=NONE guifg=lightblue guibg=black -hi Comment cterm=NONE ctermfg=lightblue ctermbg=black -hi Underlined gui=UNDERLINE guifg=lightblue guibg=black -hi Underlined cterm=UNDERLINE ctermfg=lightblue ctermbg=black -hi Directory gui=NONE guifg=lightgreen guibg=black -hi Directory cterm=NONE ctermfg=lightgreen ctermbg=black -hi PreProc gui=NONE guifg=lightmagenta guibg=black -hi PreProc cterm=NONE ctermfg=lightmagenta ctermbg=black -hi Type gui=NONE guifg=lightgreen guibg=black -hi Type cterm=NONE ctermfg=lightgreen ctermbg=black - - -" option {{{1 -function! s:SetOpt(term, theme, target, default) - let s:opt_{a:term}_{a:target} - \ = exists("g:hhcs_".a:term."_".a:theme."_".a:target) - \ ? g:hhcs_{a:term}_{a:theme}_{a:target} - \ : exists("g:hhcs_".a:term."_all_".a:target) - \ ? g:hhcs_{a:term}_all_{a:target} - \ : exists("g:hhcs_both_all_".a:target) - \ ? g:hhcs_both_all_{a:target} - \ : a:default -endfunction - - -" LineNr {{{2 -" light, dark, normal -call s:SetOpt( "gui", "hhdgray", "linenr", "light") -call s:SetOpt("cterm", "hhdgray", "linenr", "light") -"echo "s:opt_gui_linenr=".s:opt_gui_linenr -if s:opt_gui_linenr == "light" - hi LineNr gui=UNDERLINE guifg=black guibg=lightgray -elseif s:opt_gui_linenr == "dark" - hi LineNr gui=UNDERLINE guifg=black guibg=darkgray -else - hi LineNr gui=NONE guifg=lightgray guibg=black -endif -"echo "s:opt_cterm_linenr=".s:opt_cterm_linenr -if s:opt_cterm_linenr == "light" - hi LineNr cterm=UNDERLINE ctermfg=black ctermbg=lightgray -elseif s:opt_gui_linenr == "dark" - hi LineNr cterm=UNDERLINE ctermfg=black ctermbg=darkgray -else - hi LineNr cterm=NONE ctermfg=lightgray ctermbg=black -endif - - -" NonText {{{2 -" underlined, normal -call s:SetOpt( "gui", "hhdgray", "nontext", "underlined") -call s:SetOpt("cterm", "hhdgray", "nontext", "underlined") -"echo "s:opt_gui_nontext=".s:opt_gui_nontext -if s:opt_gui_nontext == "underlined" - hi NonText gui=UNDERLINE guifg=darkgray guibg=black -else - hi NonText gui=NONE guifg=darkgray guibg=black -endif -"echo "s:opt_cterm_nontext=".s:opt_cterm_nontext -if s:opt_cterm_nontext == "underlined" - hi NonText cterm=UNDERLINE ctermfg=darkgray ctermbg=black -else - hi NonText cterm=NONE ctermfg=darkgray ctermbg=black -endif - - -" 2}}} -" diff {{{1 -hi DiffText gui=UNDERLINE guifg=black guibg=red -hi DiffText cterm=UNDERLINE ctermfg=black ctermbg=red -hi DiffChange gui=UNDERLINE guifg=black guibg=lightgray -hi DiffChange cterm=UNDERLINE ctermfg=black ctermbg=lightgray -hi DiffDelete gui=NONE guifg=black guibg=blue -hi DiffDelete cterm=NONE ctermfg=black ctermbg=blue -hi DiffAdd gui=UNDERLINE guifg=black guibg=cyan -hi DiffAdd cterm=UNDERLINE ctermfg=black ctermbg=cyan - - -" html {{{1 -hi htmlLink gui=UNDERLINE guifg=lightblue guibg=black -hi htmlLink cterm=UNDERLINE ctermfg=lightblue ctermbg=black -hi htmlBold gui=UNDERLINE guifg=black guibg=lightred -hi htmlBold cterm=UNDERLINE ctermfg=black ctermbg=lightred -hi htmlItalic gui=UNDERLINE guifg=black guibg=lightgreen -hi htmlItalic cterm=UNDERLINE ctermfg=black ctermbg=lightgreen -hi htmlBoldItalic gui=UNDERLINE guifg=black guibg=lightblue -hi htmlBoldItalic cterm=UNDERLINE ctermfg=black ctermbg=lightblue -hi htmlUnderline gui=UNDERLINE guifg=lightgray guibg=black -hi htmlUnderline cterm=UNDERLINE ctermfg=lightgray ctermbg=black -hi htmlBoldUnderline gui=UNDERLINE guifg=lightred guibg=black -hi htmlBoldUnderline cterm=UNDERLINE ctermfg=lightred ctermbg=black -hi htmlUnderlineItalic gui=UNDERLINE guifg=lightgreen guibg=black -hi htmlUnderlineItalic cterm=UNDERLINE ctermfg=lightgreen ctermbg=black -hi htmlBoldUnderlineItalic gui=UNDERLINE guifg=lightblue guibg=black -hi htmlBoldUnderlineItalic cterm=UNDERLINE ctermfg=lightblue ctermbg=black - - -" colors{{{1 -" 1 black -" 2 blue -" 3 cyan -" 4 darkgray -" 5 gray -" 6 green -" 7 lightblue -" 8 lightcyan -" 9 lightgray -" 10 lightgreen -" 11 lightmagenta -" 12 lightred -" 13 lightyellow -" 14 red -" 15 yellow -"}}}1 -" vim:set nowrap foldmethod=marker expandtab: diff --git a/.vim/colors/hhdgreen.vim b/.vim/colors/hhdgreen.vim deleted file mode 100644 index f64cfc1..0000000 --- a/.vim/colors/hhdgreen.vim +++ /dev/null @@ -1,233 +0,0 @@ -" Vim color file {{{1 -" Maintainer: hira@users.sourceforge.jp -" Last Change: 2003/11/08 (Sat) 15:09:11. -" Version: 1.3 -" This color scheme uses a dark background. - -" Options -" format: -" hhcs_<gui|cterm|both>_<theme|all>_<target>="value" -" target: -" linenr -" "light" : underline, fg=black, bg=light<theme> -" "dark" : underline, fg=black, bg=dark<theme> -" "normal" : none, fg=light<theme>, bg=black -" nontext -" "underlined" : underline, fg=dark<theme>, bg=black -" "normal" : none, fg=dark<theme>, bg=black -" -" This is original settings. -" :let hhcs_both_all_linenr ="light" -" :let hhcs_both_all_nontext ="underlined" -" -" This is prototype settings. -" :let hhcs_both_all_linenr ="dark" -" :let hhcs_both_all_nontext ="underlined" -" -" If you don't want to eccentric feature, try this. -" :let hhcs_both_all_linenr ="normal" -" :let hhcs_both_all_nontext ="normal" -" -" Normal, except hhdgray(gui), hhdgreen(cterm). -" :let hhcs_both_all_linenr ="normal" -" :let hhcs_both_all_nontext ="normal" -" :let hhcs_gui_hhdgray_linenr ="light" -" :let hhcs_gui_hhdgray_nontext ="underlined" -" :let hhcs_cterm_hhdgreen_linenr ="dark" -" :let hhcs_cterm_hhdgreen_nontext ="underlined" -" -" For poor cterm -" :let hhcs_cterm_all_linenr ="normal" - -" Happy Hacking color scheme ((DARK)) {{{1 -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif -let colors_name = expand("<sfile>:t:r") -let html_my_rendering = 1 - - -" frame & title & message (theme) {{{1 -hi NonText gui=UNDERLINE guifg=darkgreen guibg=black -hi NonText cterm=UNDERLINE ctermfg=darkgreen ctermbg=black -hi Folded gui=NONE guifg=darkgreen guibg=black -hi Folded cterm=NONE ctermfg=darkgreen ctermbg=black -hi FoldColumn gui=NONE guifg=darkgreen guibg=black -hi FoldColumn cterm=NONE ctermfg=darkgreen ctermbg=black -hi StatusLineNC gui=UNDERLINE guifg=black guibg=darkgreen -hi StatusLineNC gui=UNDERLINE ctermfg=black ctermbg=darkgreen -hi LineNr gui=UNDERLINE guifg=black guibg=lightgreen -hi LineNr cterm=UNDERLINE ctermfg=black ctermbg=lightgreen -hi VertSplit gui=NONE guifg=darkgreen guibg=darkgreen -hi VertSplit cterm=NONE ctermfg=darkgreen ctermbg=darkgreen -" title -hi Title gui=UNDERLINE guifg=lightgray guibg=darkgreen -hi Title cterm=UNDERLINE ctermfg=lightgray ctermbg=darkgreen -" message -hi MoreMsg gui=UNDERLINE guifg=black guibg=darkgreen -hi MoreMsg cterm=UNDERLINE ctermfg=black ctermbg=darkgreen -hi Question gui=UNDERLINE guifg=black guibg=darkgreen -hi Question cterm=UNDERLINE ctermfg=black ctermbg=darkgreen - - -" cursor {{{1 -hi StatusLine gui=UNDERLINE guifg=black guibg=gray -hi StatusLine cterm=UNDERLINE ctermfg=black ctermbg=gray -hi WildMenu gui=UNDERLINE guifg=black guibg=green -hi WildMenu cterm=UNDERLINE ctermfg=black ctermbg=green -hi Cursor gui=UNDERLINE guifg=black guibg=green -hi Cursor cterm=UNDERLINE ctermfg=black ctermbg=green -hi IncSearch gui=UNDERLINE guifg=black guibg=green -hi IncSearch cterm=UNDERLINE ctermfg=black ctermbg=green -hi CursorIM gui=UNDERLINE guifg=black guibg=green -hi CursorIM cterm=UNDERLINE ctermfg=black ctermbg=green -hi Search gui=UNDERLINE guifg=black guibg=yellow -hi Search cterm=UNDERLINE ctermfg=black ctermbg=yellow -hi Visual gui=UNDERLINE guifg=black guibg=gray -hi Visual cterm=UNDERLINE ctermfg=black ctermbg=gray - - -" message {{{1 -hi ErrorMsg gui=UNDERLINE guifg=black guibg=red -hi ErrorMsg cterm=UNDERLINE ctermfg=black ctermbg=red -hi WarningMsg gui=UNDERLINE guifg=black guibg=yellow -hi WarningMsg cterm=UNDERLINE ctermfg=black ctermbg=yellow -hi ModeMsg gui=UNDERLINE guifg=black guibg=green -hi ModeMsg cterm=UNDERLINE ctermfg=black ctermbg=green - - -" inner {{{1 -hi Normal gui=NONE guifg=lightgray guibg=black -hi Normal cterm=NONE ctermfg=lightgray ctermbg=black -hi Ignore gui=NONE guifg=black guibg=black -hi Ignore cterm=NONE ctermfg=black ctermbg=black -hi Todo gui=UNDERLINE guifg=black guibg=red -hi Todo cterm=UNDERLINE ctermfg=black ctermbg=red -hi Error gui=UNDERLINE guifg=lightgray guibg=red -hi Error cterm=UNDERLINE ctermfg=lightgray ctermbg=red -hi Special gui=NONE guifg=lightcyan guibg=black -hi Special cterm=NONE ctermfg=lightcyan ctermbg=black -hi SpecialKey gui=NONE guifg=cyan guibg=black -hi SpecialKey cterm=NONE ctermfg=cyan ctermbg=black -hi Identifier gui=NONE guifg=cyan guibg=black -hi Identifier cterm=NONE ctermfg=cyan ctermbg=black -hi Constant gui=NONE guifg=lightred guibg=black -hi Constant cterm=NONE ctermfg=lightred ctermbg=black -hi Statement gui=NONE guifg=lightyellow guibg=black -hi Statement cterm=NONE ctermfg=lightyellow ctermbg=black -hi Comment gui=NONE guifg=lightblue guibg=black -hi Comment cterm=NONE ctermfg=lightblue ctermbg=black -hi Underlined gui=UNDERLINE guifg=lightblue guibg=black -hi Underlined cterm=UNDERLINE ctermfg=lightblue ctermbg=black -hi Directory gui=NONE guifg=lightgreen guibg=black -hi Directory cterm=NONE ctermfg=lightgreen ctermbg=black -hi PreProc gui=NONE guifg=lightmagenta guibg=black -hi PreProc cterm=NONE ctermfg=lightmagenta ctermbg=black -hi Type gui=NONE guifg=lightgreen guibg=black -hi Type cterm=NONE ctermfg=lightgreen ctermbg=black - - -" option {{{1 -function! s:SetOpt(term, theme, target, default) - let s:opt_{a:term}_{a:target} - \ = exists("g:hhcs_".a:term."_".a:theme."_".a:target) - \ ? g:hhcs_{a:term}_{a:theme}_{a:target} - \ : exists("g:hhcs_".a:term."_all_".a:target) - \ ? g:hhcs_{a:term}_all_{a:target} - \ : exists("g:hhcs_both_all_".a:target) - \ ? g:hhcs_both_all_{a:target} - \ : a:default -endfunction - - -" LineNr {{{2 -" light, dark, normal -call s:SetOpt( "gui", "hhdgreen", "linenr", "light") -call s:SetOpt("cterm", "hhdgreen", "linenr", "light") -"echo "s:opt_gui_linenr=".s:opt_gui_linenr -if s:opt_gui_linenr == "light" - hi LineNr gui=UNDERLINE guifg=black guibg=lightgreen -elseif s:opt_gui_linenr == "dark" - hi LineNr gui=UNDERLINE guifg=black guibg=darkgreen -else - hi LineNr gui=NONE guifg=lightgreen guibg=black -endif -"echo "s:opt_cterm_linenr=".s:opt_cterm_linenr -if s:opt_cterm_linenr == "light" - hi LineNr cterm=UNDERLINE ctermfg=black ctermbg=lightgreen -elseif s:opt_gui_linenr == "dark" - hi LineNr cterm=UNDERLINE ctermfg=black ctermbg=darkgreen -else - hi LineNr cterm=NONE ctermfg=lightgreen ctermbg=black -endif - - -" NonText {{{2 -" underlined, normal -call s:SetOpt( "gui", "hhdgreen", "nontext", "underlined") -call s:SetOpt("cterm", "hhdgreen", "nontext", "underlined") -"echo "s:opt_gui_nontext=".s:opt_gui_nontext -if s:opt_gui_nontext == "underlined" - hi NonText gui=UNDERLINE guifg=darkgreen guibg=black -else - hi NonText gui=NONE guifg=darkgreen guibg=black -endif -"echo "s:opt_cterm_nontext=".s:opt_cterm_nontext -if s:opt_cterm_nontext == "underlined" - hi NonText cterm=UNDERLINE ctermfg=darkgreen ctermbg=black -else - hi NonText cterm=NONE ctermfg=darkgreen ctermbg=black -endif - - -" 2}}} -" diff {{{1 -hi DiffText gui=UNDERLINE guifg=black guibg=red -hi DiffText cterm=UNDERLINE ctermfg=black ctermbg=red -hi DiffChange gui=UNDERLINE guifg=black guibg=lightgray -hi DiffChange cterm=UNDERLINE ctermfg=black ctermbg=lightgray -hi DiffDelete gui=NONE guifg=black guibg=blue -hi DiffDelete cterm=NONE ctermfg=black ctermbg=blue -hi DiffAdd gui=UNDERLINE guifg=black guibg=cyan -hi DiffAdd cterm=UNDERLINE ctermfg=black ctermbg=cyan - - -" html {{{1 -hi htmlLink gui=UNDERLINE guifg=lightblue guibg=black -hi htmlLink cterm=UNDERLINE ctermfg=lightblue ctermbg=black -hi htmlBold gui=UNDERLINE guifg=black guibg=lightred -hi htmlBold cterm=UNDERLINE ctermfg=black ctermbg=lightred -hi htmlItalic gui=UNDERLINE guifg=black guibg=lightgreen -hi htmlItalic cterm=UNDERLINE ctermfg=black ctermbg=lightgreen -hi htmlBoldItalic gui=UNDERLINE guifg=black guibg=lightblue -hi htmlBoldItalic cterm=UNDERLINE ctermfg=black ctermbg=lightblue -hi htmlUnderline gui=UNDERLINE guifg=lightgray guibg=black -hi htmlUnderline cterm=UNDERLINE ctermfg=lightgray ctermbg=black -hi htmlBoldUnderline gui=UNDERLINE guifg=lightred guibg=black -hi htmlBoldUnderline cterm=UNDERLINE ctermfg=lightred ctermbg=black -hi htmlUnderlineItalic gui=UNDERLINE guifg=lightgreen guibg=black -hi htmlUnderlineItalic cterm=UNDERLINE ctermfg=lightgreen ctermbg=black -hi htmlBoldUnderlineItalic gui=UNDERLINE guifg=lightblue guibg=black -hi htmlBoldUnderlineItalic cterm=UNDERLINE ctermfg=lightblue ctermbg=black - - -" colors{{{1 -" 1 black -" 2 blue -" 3 cyan -" 4 darkgreen -" 5 gray -" 6 green -" 7 lightblue -" 8 lightcyan -" 9 lightgray -" 10 lightgreen -" 11 lightmagenta -" 12 lightred -" 13 lightyellow -" 14 red -" 15 yellow -"}}}1 -" vim:set nowrap foldmethod=marker expandtab: diff --git a/.vim/colors/hhdmagenta.vim b/.vim/colors/hhdmagenta.vim deleted file mode 100644 index ef91091..0000000 --- a/.vim/colors/hhdmagenta.vim +++ /dev/null @@ -1,233 +0,0 @@ -" Vim color file {{{1 -" Maintainer: hira@users.sourceforge.jp -" Last Change: 2003/11/08 (Sat) 15:09:12. -" Version: 1.3 -" This color scheme uses a dark background. - -" Options -" format: -" hhcs_<gui|cterm|both>_<theme|all>_<target>="value" -" target: -" linenr -" "light" : underline, fg=black, bg=light<theme> -" "dark" : underline, fg=black, bg=dark<theme> -" "normal" : none, fg=light<theme>, bg=black -" nontext -" "underlined" : underline, fg=dark<theme>, bg=black -" "normal" : none, fg=dark<theme>, bg=black -" -" This is original settings. -" :let hhcs_both_all_linenr ="light" -" :let hhcs_both_all_nontext ="underlined" -" -" This is prototype settings. -" :let hhcs_both_all_linenr ="dark" -" :let hhcs_both_all_nontext ="underlined" -" -" If you don't want to eccentric feature, try this. -" :let hhcs_both_all_linenr ="normal" -" :let hhcs_both_all_nontext ="normal" -" -" Normal, except hhdgray(gui), hhdgreen(cterm). -" :let hhcs_both_all_linenr ="normal" -" :let hhcs_both_all_nontext ="normal" -" :let hhcs_gui_hhdgray_linenr ="light" -" :let hhcs_gui_hhdgray_nontext ="underlined" -" :let hhcs_cterm_hhdgreen_linenr ="dark" -" :let hhcs_cterm_hhdgreen_nontext ="underlined" -" -" For poor cterm -" :let hhcs_cterm_all_linenr ="normal" - -" Happy Hacking color scheme ((DARK)) {{{1 -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif -let colors_name = expand("<sfile>:t:r") -let html_my_rendering = 1 - - -" frame & title & message (theme) {{{1 -hi NonText gui=UNDERLINE guifg=darkmagenta guibg=black -hi NonText cterm=UNDERLINE ctermfg=darkmagenta ctermbg=black -hi Folded gui=NONE guifg=darkmagenta guibg=black -hi Folded cterm=NONE ctermfg=darkmagenta ctermbg=black -hi FoldColumn gui=NONE guifg=darkmagenta guibg=black -hi FoldColumn cterm=NONE ctermfg=darkmagenta ctermbg=black -hi StatusLineNC gui=UNDERLINE guifg=black guibg=darkmagenta -hi StatusLineNC gui=UNDERLINE ctermfg=black ctermbg=darkmagenta -hi LineNr gui=UNDERLINE guifg=black guibg=lightmagenta -hi LineNr cterm=UNDERLINE ctermfg=black ctermbg=lightmagenta -hi VertSplit gui=NONE guifg=darkmagenta guibg=darkmagenta -hi VertSplit cterm=NONE ctermfg=darkmagenta ctermbg=darkmagenta -" title -hi Title gui=UNDERLINE guifg=lightgray guibg=darkmagenta -hi Title cterm=UNDERLINE ctermfg=lightgray ctermbg=darkmagenta -" message -hi MoreMsg gui=UNDERLINE guifg=black guibg=darkmagenta -hi MoreMsg cterm=UNDERLINE ctermfg=black ctermbg=darkmagenta -hi Question gui=UNDERLINE guifg=black guibg=darkmagenta -hi Question cterm=UNDERLINE ctermfg=black ctermbg=darkmagenta - - -" cursor {{{1 -hi StatusLine gui=UNDERLINE guifg=black guibg=gray -hi StatusLine cterm=UNDERLINE ctermfg=black ctermbg=gray -hi WildMenu gui=UNDERLINE guifg=black guibg=green -hi WildMenu cterm=UNDERLINE ctermfg=black ctermbg=green -hi Cursor gui=UNDERLINE guifg=black guibg=green -hi Cursor cterm=UNDERLINE ctermfg=black ctermbg=green -hi IncSearch gui=UNDERLINE guifg=black guibg=green -hi IncSearch cterm=UNDERLINE ctermfg=black ctermbg=green -hi CursorIM gui=UNDERLINE guifg=black guibg=green -hi CursorIM cterm=UNDERLINE ctermfg=black ctermbg=green -hi Search gui=UNDERLINE guifg=black guibg=yellow -hi Search cterm=UNDERLINE ctermfg=black ctermbg=yellow -hi Visual gui=UNDERLINE guifg=black guibg=gray -hi Visual cterm=UNDERLINE ctermfg=black ctermbg=gray - - -" message {{{1 -hi ErrorMsg gui=UNDERLINE guifg=black guibg=red -hi ErrorMsg cterm=UNDERLINE ctermfg=black ctermbg=red -hi WarningMsg gui=UNDERLINE guifg=black guibg=yellow -hi WarningMsg cterm=UNDERLINE ctermfg=black ctermbg=yellow -hi ModeMsg gui=UNDERLINE guifg=black guibg=green -hi ModeMsg cterm=UNDERLINE ctermfg=black ctermbg=green - - -" inner {{{1 -hi Normal gui=NONE guifg=lightgray guibg=black -hi Normal cterm=NONE ctermfg=lightgray ctermbg=black -hi Ignore gui=NONE guifg=black guibg=black -hi Ignore cterm=NONE ctermfg=black ctermbg=black -hi Todo gui=UNDERLINE guifg=black guibg=red -hi Todo cterm=UNDERLINE ctermfg=black ctermbg=red -hi Error gui=UNDERLINE guifg=lightgray guibg=red -hi Error cterm=UNDERLINE ctermfg=lightgray ctermbg=red -hi Special gui=NONE guifg=lightcyan guibg=black -hi Special cterm=NONE ctermfg=lightcyan ctermbg=black -hi SpecialKey gui=NONE guifg=cyan guibg=black -hi SpecialKey cterm=NONE ctermfg=cyan ctermbg=black -hi Identifier gui=NONE guifg=cyan guibg=black -hi Identifier cterm=NONE ctermfg=cyan ctermbg=black -hi Constant gui=NONE guifg=lightred guibg=black -hi Constant cterm=NONE ctermfg=lightred ctermbg=black -hi Statement gui=NONE guifg=lightyellow guibg=black -hi Statement cterm=NONE ctermfg=lightyellow ctermbg=black -hi Comment gui=NONE guifg=lightblue guibg=black -hi Comment cterm=NONE ctermfg=lightblue ctermbg=black -hi Underlined gui=UNDERLINE guifg=lightblue guibg=black -hi Underlined cterm=UNDERLINE ctermfg=lightblue ctermbg=black -hi Directory gui=NONE guifg=lightgreen guibg=black -hi Directory cterm=NONE ctermfg=lightgreen ctermbg=black -hi PreProc gui=NONE guifg=lightmagenta guibg=black -hi PreProc cterm=NONE ctermfg=lightmagenta ctermbg=black -hi Type gui=NONE guifg=lightgreen guibg=black -hi Type cterm=NONE ctermfg=lightgreen ctermbg=black - - -" option {{{1 -function! s:SetOpt(term, theme, target, default) - let s:opt_{a:term}_{a:target} - \ = exists("g:hhcs_".a:term."_".a:theme."_".a:target) - \ ? g:hhcs_{a:term}_{a:theme}_{a:target} - \ : exists("g:hhcs_".a:term."_all_".a:target) - \ ? g:hhcs_{a:term}_all_{a:target} - \ : exists("g:hhcs_both_all_".a:target) - \ ? g:hhcs_both_all_{a:target} - \ : a:default -endfunction - - -" LineNr {{{2 -" light, dark, normal -call s:SetOpt( "gui", "hhdmagenta", "linenr", "light") -call s:SetOpt("cterm", "hhdmagenta", "linenr", "light") -"echo "s:opt_gui_linenr=".s:opt_gui_linenr -if s:opt_gui_linenr == "light" - hi LineNr gui=UNDERLINE guifg=black guibg=lightmagenta -elseif s:opt_gui_linenr == "dark" - hi LineNr gui=UNDERLINE guifg=black guibg=darkmagenta -else - hi LineNr gui=NONE guifg=lightmagenta guibg=black -endif -"echo "s:opt_cterm_linenr=".s:opt_cterm_linenr -if s:opt_cterm_linenr == "light" - hi LineNr cterm=UNDERLINE ctermfg=black ctermbg=lightmagenta -elseif s:opt_gui_linenr == "dark" - hi LineNr cterm=UNDERLINE ctermfg=black ctermbg=darkmagenta -else - hi LineNr cterm=NONE ctermfg=lightmagenta ctermbg=black -endif - - -" NonText {{{2 -" underlined, normal -call s:SetOpt( "gui", "hhdmagenta", "nontext", "underlined") -call s:SetOpt("cterm", "hhdmagenta", "nontext", "underlined") -"echo "s:opt_gui_nontext=".s:opt_gui_nontext -if s:opt_gui_nontext == "underlined" - hi NonText gui=UNDERLINE guifg=darkmagenta guibg=black -else - hi NonText gui=NONE guifg=darkmagenta guibg=black -endif -"echo "s:opt_cterm_nontext=".s:opt_cterm_nontext -if s:opt_cterm_nontext == "underlined" - hi NonText cterm=UNDERLINE ctermfg=darkmagenta ctermbg=black -else - hi NonText cterm=NONE ctermfg=darkmagenta ctermbg=black -endif - - -" 2}}} -" diff {{{1 -hi DiffText gui=UNDERLINE guifg=black guibg=red -hi DiffText cterm=UNDERLINE ctermfg=black ctermbg=red -hi DiffChange gui=UNDERLINE guifg=black guibg=lightgray -hi DiffChange cterm=UNDERLINE ctermfg=black ctermbg=lightgray -hi DiffDelete gui=NONE guifg=black guibg=blue -hi DiffDelete cterm=NONE ctermfg=black ctermbg=blue -hi DiffAdd gui=UNDERLINE guifg=black guibg=cyan -hi DiffAdd cterm=UNDERLINE ctermfg=black ctermbg=cyan - - -" html {{{1 -hi htmlLink gui=UNDERLINE guifg=lightblue guibg=black -hi htmlLink cterm=UNDERLINE ctermfg=lightblue ctermbg=black -hi htmlBold gui=UNDERLINE guifg=black guibg=lightred -hi htmlBold cterm=UNDERLINE ctermfg=black ctermbg=lightred -hi htmlItalic gui=UNDERLINE guifg=black guibg=lightgreen -hi htmlItalic cterm=UNDERLINE ctermfg=black ctermbg=lightgreen -hi htmlBoldItalic gui=UNDERLINE guifg=black guibg=lightblue -hi htmlBoldItalic cterm=UNDERLINE ctermfg=black ctermbg=lightblue -hi htmlUnderline gui=UNDERLINE guifg=lightgray guibg=black -hi htmlUnderline cterm=UNDERLINE ctermfg=lightgray ctermbg=black -hi htmlBoldUnderline gui=UNDERLINE guifg=lightred guibg=black -hi htmlBoldUnderline cterm=UNDERLINE ctermfg=lightred ctermbg=black -hi htmlUnderlineItalic gui=UNDERLINE guifg=lightgreen guibg=black -hi htmlUnderlineItalic cterm=UNDERLINE ctermfg=lightgreen ctermbg=black -hi htmlBoldUnderlineItalic gui=UNDERLINE guifg=lightblue guibg=black -hi htmlBoldUnderlineItalic cterm=UNDERLINE ctermfg=lightblue ctermbg=black - - -" colors{{{1 -" 1 black -" 2 blue -" 3 cyan -" 4 darkmagenta -" 5 gray -" 6 green -" 7 lightblue -" 8 lightcyan -" 9 lightgray -" 10 lightgreen -" 11 lightmagenta -" 12 lightred -" 13 lightyellow -" 14 red -" 15 yellow -"}}}1 -" vim:set nowrap foldmethod=marker expandtab: diff --git a/.vim/colors/hhdred.vim b/.vim/colors/hhdred.vim deleted file mode 100644 index a8f41a3..0000000 --- a/.vim/colors/hhdred.vim +++ /dev/null @@ -1,234 +0,0 @@ -" Vim color file {{{1 -" Maintainer: hira@users.sourceforge.jp -" Last Change: 2003/11/08 (Sat) 15:09:14. -" Version: 1.3 -" This color scheme uses a dark background. - -" Options -" format: -" hhcs_<gui|cterm|both>_<theme|all>_<target>="value" -" target: -" linenr -" "light" : underline, fg=black, bg=light<theme> -" "dark" : underline, fg=black, bg=dark<theme> -" "normal" : none, fg=light<theme>, bg=black -" nontext -" "underlined" : underline, fg=dark<theme>, bg=black -" "normal" : none, fg=dark<theme>, bg=black -" -" This is original settings. -" :let hhcs_both_all_linenr ="light" -" :let hhcs_both_all_nontext ="underlined" -" -" This is prototype settings. -" :let hhcs_both_all_linenr ="dark" -" :let hhcs_both_all_nontext ="underlined" -" -" If you don't want to eccentric feature, try this. -" :let hhcs_both_all_linenr ="normal" -" :let hhcs_both_all_nontext ="normal" -" -" Normal, except hhdgray(gui), hhdgreen(cterm). -" :let hhcs_both_all_linenr ="normal" -" :let hhcs_both_all_nontext ="normal" -" :let hhcs_gui_hhdgray_linenr ="light" -" :let hhcs_gui_hhdgray_nontext ="underlined" -" :let hhcs_cterm_hhdgreen_linenr ="dark" -" :let hhcs_cterm_hhdgreen_nontext ="underlined" -" -" For poor cterm -" :let hhcs_cterm_all_linenr ="normal" - -" Happy Hacking color scheme ((DARK)) {{{1 -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif -let colors_name = expand("<sfile>:t:r") -let html_my_rendering = 1 - - -" frame & title & message (theme) {{{1 -hi NonText gui=UNDERLINE guifg=darkred guibg=black -hi NonText cterm=UNDERLINE ctermfg=darkred ctermbg=black -hi Folded gui=NONE guifg=brown guibg=black -hi Folded cterm=NONE ctermfg=brown ctermbg=black -hi FoldColumn gui=NONE guifg=brown guibg=black -hi FoldColumn cterm=NONE ctermfg=brown ctermbg=black -hi StatusLineNC gui=UNDERLINE guifg=black guibg=darkred -hi StatusLineNC gui=UNDERLINE ctermfg=black ctermbg=darkred -hi LineNr gui=UNDERLINE guifg=black guibg=lightred -hi LineNr cterm=UNDERLINE ctermfg=black ctermbg=lightred -hi VertSplit gui=NONE guifg=darkred guibg=darkred -hi VertSplit cterm=NONE ctermfg=darkred ctermbg=darkred -" title -hi Title gui=UNDERLINE guifg=lightgray guibg=darkred -hi Title cterm=UNDERLINE ctermfg=lightgray ctermbg=darkred -" message -hi MoreMsg gui=UNDERLINE guifg=black guibg=darkred -hi MoreMsg cterm=UNDERLINE ctermfg=black ctermbg=darkred -hi Question gui=UNDERLINE guifg=black guibg=darkred -hi Question cterm=UNDERLINE ctermfg=black ctermbg=darkred - - -" cursor {{{1 -hi StatusLine gui=UNDERLINE guifg=black guibg=gray -hi StatusLine cterm=UNDERLINE ctermfg=black ctermbg=gray -hi WildMenu gui=UNDERLINE guifg=black guibg=green -hi WildMenu cterm=UNDERLINE ctermfg=black ctermbg=green -hi Cursor gui=UNDERLINE guifg=black guibg=green -hi Cursor cterm=UNDERLINE ctermfg=black ctermbg=green -hi IncSearch gui=UNDERLINE guifg=black guibg=green -hi IncSearch cterm=UNDERLINE ctermfg=black ctermbg=green -hi CursorIM gui=UNDERLINE guifg=black guibg=green -hi CursorIM cterm=UNDERLINE ctermfg=black ctermbg=green -hi Search gui=UNDERLINE guifg=black guibg=yellow -hi Search cterm=UNDERLINE ctermfg=black ctermbg=yellow -hi Visual gui=UNDERLINE guifg=black guibg=gray -hi Visual cterm=UNDERLINE ctermfg=black ctermbg=gray - - -" message {{{1 -hi ErrorMsg gui=UNDERLINE guifg=black guibg=red -hi ErrorMsg cterm=UNDERLINE ctermfg=black ctermbg=red -hi WarningMsg gui=UNDERLINE guifg=black guibg=yellow -hi WarningMsg cterm=UNDERLINE ctermfg=black ctermbg=yellow -hi ModeMsg gui=UNDERLINE guifg=black guibg=green -hi ModeMsg cterm=UNDERLINE ctermfg=black ctermbg=green - - -" inner {{{1 -hi Normal gui=NONE guifg=lightgray guibg=black -hi Normal cterm=NONE ctermfg=lightgray ctermbg=black -hi Ignore gui=NONE guifg=black guibg=black -hi Ignore cterm=NONE ctermfg=black ctermbg=black -hi Todo gui=UNDERLINE guifg=black guibg=red -hi Todo cterm=UNDERLINE ctermfg=black ctermbg=red -hi Error gui=UNDERLINE guifg=lightgray guibg=red -hi Error cterm=UNDERLINE ctermfg=lightgray ctermbg=red -hi Special gui=NONE guifg=lightcyan guibg=black -hi Special cterm=NONE ctermfg=lightcyan ctermbg=black -hi SpecialKey gui=NONE guifg=cyan guibg=black -hi SpecialKey cterm=NONE ctermfg=cyan ctermbg=black -hi Identifier gui=NONE guifg=cyan guibg=black -hi Identifier cterm=NONE ctermfg=cyan ctermbg=black -hi Constant gui=NONE guifg=lightred guibg=black -hi Constant cterm=NONE ctermfg=lightred ctermbg=black -hi Statement gui=NONE guifg=lightyellow guibg=black -hi Statement cterm=NONE ctermfg=lightyellow ctermbg=black -hi Comment gui=NONE guifg=lightblue guibg=black -hi Comment cterm=NONE ctermfg=lightblue ctermbg=black -hi Underlined gui=UNDERLINE guifg=lightblue guibg=black -hi Underlined cterm=UNDERLINE ctermfg=lightblue ctermbg=black -hi Directory gui=NONE guifg=lightgreen guibg=black -hi Directory cterm=NONE ctermfg=lightgreen ctermbg=black -hi PreProc gui=NONE guifg=lightmagenta guibg=black -hi PreProc cterm=NONE ctermfg=lightmagenta ctermbg=black -hi Type gui=NONE guifg=lightgreen guibg=black -hi Type cterm=NONE ctermfg=lightgreen ctermbg=black - - -" option {{{1 -function! s:SetOpt(term, theme, target, default) - let s:opt_{a:term}_{a:target} - \ = exists("g:hhcs_".a:term."_".a:theme."_".a:target) - \ ? g:hhcs_{a:term}_{a:theme}_{a:target} - \ : exists("g:hhcs_".a:term."_all_".a:target) - \ ? g:hhcs_{a:term}_all_{a:target} - \ : exists("g:hhcs_both_all_".a:target) - \ ? g:hhcs_both_all_{a:target} - \ : a:default -endfunction - - -" LineNr {{{2 -" light, dark, normal -call s:SetOpt( "gui", "hhdred", "linenr", "light") -call s:SetOpt("cterm", "hhdred", "linenr", "light") -"echo "s:opt_gui_linenr=".s:opt_gui_linenr -if s:opt_gui_linenr == "light" - hi LineNr gui=UNDERLINE guifg=black guibg=lightred -elseif s:opt_gui_linenr == "dark" - hi LineNr gui=UNDERLINE guifg=black guibg=darkred -else - hi LineNr gui=NONE guifg=lightred guibg=black -endif -"echo "s:opt_cterm_linenr=".s:opt_cterm_linenr -if s:opt_cterm_linenr == "light" - hi LineNr cterm=UNDERLINE ctermfg=black ctermbg=lightred -elseif s:opt_gui_linenr == "dark" - hi LineNr cterm=UNDERLINE ctermfg=black ctermbg=darkred -else - hi LineNr cterm=NONE ctermfg=lightred ctermbg=black -endif - - -" NonText {{{2 -" underlined, normal -call s:SetOpt( "gui", "hhdred", "nontext", "underlined") -call s:SetOpt("cterm", "hhdred", "nontext", "underlined") -"echo "s:opt_gui_nontext=".s:opt_gui_nontext -if s:opt_gui_nontext == "underlined" - hi NonText gui=UNDERLINE guifg=darkred guibg=black -else - hi NonText gui=NONE guifg=darkred guibg=black -endif -"echo "s:opt_cterm_nontext=".s:opt_cterm_nontext -if s:opt_cterm_nontext == "underlined" - hi NonText cterm=UNDERLINE ctermfg=darkred ctermbg=black -else - hi NonText cterm=NONE ctermfg=darkred ctermbg=black -endif - - -" 2}}} -" diff {{{1 -hi DiffText gui=UNDERLINE guifg=black guibg=red -hi DiffText cterm=UNDERLINE ctermfg=black ctermbg=red -hi DiffChange gui=UNDERLINE guifg=black guibg=lightgray -hi DiffChange cterm=UNDERLINE ctermfg=black ctermbg=lightgray -hi DiffDelete gui=NONE guifg=black guibg=blue -hi DiffDelete cterm=NONE ctermfg=black ctermbg=blue -hi DiffAdd gui=UNDERLINE guifg=black guibg=cyan -hi DiffAdd cterm=UNDERLINE ctermfg=black ctermbg=cyan - - -" html {{{1 -hi htmlLink gui=UNDERLINE guifg=lightblue guibg=black -hi htmlLink cterm=UNDERLINE ctermfg=lightblue ctermbg=black -hi htmlBold gui=UNDERLINE guifg=black guibg=lightred -hi htmlBold cterm=UNDERLINE ctermfg=black ctermbg=lightred -hi htmlItalic gui=UNDERLINE guifg=black guibg=lightgreen -hi htmlItalic cterm=UNDERLINE ctermfg=black ctermbg=lightgreen -hi htmlBoldItalic gui=UNDERLINE guifg=black guibg=lightblue -hi htmlBoldItalic cterm=UNDERLINE ctermfg=black ctermbg=lightblue -hi htmlUnderline gui=UNDERLINE guifg=lightgray guibg=black -hi htmlUnderline cterm=UNDERLINE ctermfg=lightgray ctermbg=black -hi htmlBoldUnderline gui=UNDERLINE guifg=lightred guibg=black -hi htmlBoldUnderline cterm=UNDERLINE ctermfg=lightred ctermbg=black -hi htmlUnderlineItalic gui=UNDERLINE guifg=lightgreen guibg=black -hi htmlUnderlineItalic cterm=UNDERLINE ctermfg=lightgreen ctermbg=black -hi htmlBoldUnderlineItalic gui=UNDERLINE guifg=lightblue guibg=black -hi htmlBoldUnderlineItalic cterm=UNDERLINE ctermfg=lightblue ctermbg=black - - -" colors{{{1 -" 1 black -" 2 blue -" 3 brown -" 4 cyan -" 5 darkred -" 6 gray -" 7 green -" 8 lightblue -" 9 lightcyan -" 10 lightgray -" 11 lightgreen -" 12 lightmagenta -" 13 lightred -" 14 lightyellow -" 15 red -" 16 yellow -"}}}1 -" vim:set nowrap foldmethod=marker expandtab: diff --git a/.vim/colors/hhdyellow.vim b/.vim/colors/hhdyellow.vim deleted file mode 100644 index d8d1b33..0000000 --- a/.vim/colors/hhdyellow.vim +++ /dev/null @@ -1,235 +0,0 @@ -" Vim color file {{{1 -" Maintainer: hira@users.sourceforge.jp -" Last Change: 2003/11/08 (Sat) 15:09:19. -" Version: 1.3 -" This color scheme uses a dark background. - -" Options -" format: -" hhcs_<gui|cterm|both>_<theme|all>_<target>="value" -" target: -" linenr -" "light" : underline, fg=black, bg=light<theme> -" "dark" : underline, fg=black, bg=dark<theme> -" "normal" : none, fg=light<theme>, bg=black -" nontext -" "underlined" : underline, fg=dark<theme>, bg=black -" "normal" : none, fg=dark<theme>, bg=black -" -" This is original settings. -" :let hhcs_both_all_linenr ="light" -" :let hhcs_both_all_nontext ="underlined" -" -" This is prototype settings. -" :let hhcs_both_all_linenr ="dark" -" :let hhcs_both_all_nontext ="underlined" -" -" If you don't want to eccentric feature, try this. -" :let hhcs_both_all_linenr ="normal" -" :let hhcs_both_all_nontext ="normal" -" -" Normal, except hhdgray(gui), hhdgreen(cterm). -" :let hhcs_both_all_linenr ="normal" -" :let hhcs_both_all_nontext ="normal" -" :let hhcs_gui_hhdgray_linenr ="light" -" :let hhcs_gui_hhdgray_nontext ="underlined" -" :let hhcs_cterm_hhdgreen_linenr ="dark" -" :let hhcs_cterm_hhdgreen_nontext ="underlined" -" -" For poor cterm -" :let hhcs_cterm_all_linenr ="normal" - -" Happy Hacking color scheme ((DARK)) {{{1 -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif -let colors_name = expand("<sfile>:t:r") -let html_my_rendering = 1 - - -" frame & title & message (theme) {{{1 -hi NonText gui=UNDERLINE guifg=darkyellow guibg=black -hi NonText cterm=UNDERLINE ctermfg=darkyellow ctermbg=black -hi Folded gui=NONE guifg=darkyellow guibg=black -hi Folded cterm=NONE ctermfg=darkyellow ctermbg=black -hi FoldColumn gui=NONE guifg=darkyellow guibg=black -hi FoldColumn cterm=NONE ctermfg=darkyellow ctermbg=black -hi StatusLineNC gui=UNDERLINE guifg=black guibg=darkyellow -hi StatusLineNC gui=UNDERLINE ctermfg=black ctermbg=darkyellow -hi LineNr gui=NONE guifg=lightyellow guibg=black -hi LineNr cterm=NONE ctermfg=lightyellow ctermbg=black -hi LineNr gui=UNDERLINE guifg=black guibg=lightyellow -hi LineNr cterm=UNDERLINE ctermfg=black ctermbg=lightyellow -hi VertSplit gui=NONE guifg=darkyellow guibg=darkyellow -hi VertSplit cterm=NONE ctermfg=darkyellow ctermbg=darkyellow -" title -hi Title gui=UNDERLINE guifg=lightgray guibg=darkyellow -hi Title cterm=UNDERLINE ctermfg=lightgray ctermbg=darkyellow -" message -hi MoreMsg gui=UNDERLINE guifg=black guibg=darkyellow -hi MoreMsg cterm=UNDERLINE ctermfg=black ctermbg=darkyellow -hi Question gui=UNDERLINE guifg=black guibg=darkyellow -hi Question cterm=UNDERLINE ctermfg=black ctermbg=darkyellow - - -" cursor {{{1 -hi StatusLine gui=UNDERLINE guifg=black guibg=gray -hi StatusLine cterm=UNDERLINE ctermfg=black ctermbg=gray -hi WildMenu gui=UNDERLINE guifg=black guibg=green -hi WildMenu cterm=UNDERLINE ctermfg=black ctermbg=green -hi Cursor gui=UNDERLINE guifg=black guibg=green -hi Cursor cterm=UNDERLINE ctermfg=black ctermbg=green -hi IncSearch gui=UNDERLINE guifg=black guibg=green -hi IncSearch cterm=UNDERLINE ctermfg=black ctermbg=green -hi CursorIM gui=UNDERLINE guifg=black guibg=green -hi CursorIM cterm=UNDERLINE ctermfg=black ctermbg=green -hi Search gui=UNDERLINE guifg=black guibg=yellow -hi Search cterm=UNDERLINE ctermfg=black ctermbg=yellow -hi Visual gui=UNDERLINE guifg=black guibg=gray -hi Visual cterm=UNDERLINE ctermfg=black ctermbg=gray - - -" message {{{1 -hi ErrorMsg gui=UNDERLINE guifg=black guibg=red -hi ErrorMsg cterm=UNDERLINE ctermfg=black ctermbg=red -hi WarningMsg gui=UNDERLINE guifg=black guibg=yellow -hi WarningMsg cterm=UNDERLINE ctermfg=black ctermbg=yellow -hi ModeMsg gui=UNDERLINE guifg=black guibg=green -hi ModeMsg cterm=UNDERLINE ctermfg=black ctermbg=green - - -" inner {{{1 -hi Normal gui=NONE guifg=lightgray guibg=black -hi Normal cterm=NONE ctermfg=lightgray ctermbg=black -hi Ignore gui=NONE guifg=black guibg=black -hi Ignore cterm=NONE ctermfg=black ctermbg=black -hi Todo gui=UNDERLINE guifg=black guibg=red -hi Todo cterm=UNDERLINE ctermfg=black ctermbg=red -hi Error gui=UNDERLINE guifg=lightgray guibg=red -hi Error cterm=UNDERLINE ctermfg=lightgray ctermbg=red -hi Special gui=NONE guifg=lightcyan guibg=black -hi Special cterm=NONE ctermfg=lightcyan ctermbg=black -hi SpecialKey gui=NONE guifg=cyan guibg=black -hi SpecialKey cterm=NONE ctermfg=cyan ctermbg=black -hi Identifier gui=NONE guifg=cyan guibg=black -hi Identifier cterm=NONE ctermfg=cyan ctermbg=black -hi Constant gui=NONE guifg=lightred guibg=black -hi Constant cterm=NONE ctermfg=lightred ctermbg=black -hi Statement gui=NONE guifg=lightyellow guibg=black -hi Statement cterm=NONE ctermfg=lightyellow ctermbg=black -hi Comment gui=NONE guifg=lightblue guibg=black -hi Comment cterm=NONE ctermfg=lightblue ctermbg=black -hi Underlined gui=UNDERLINE guifg=lightblue guibg=black -hi Underlined cterm=UNDERLINE ctermfg=lightblue ctermbg=black -hi Directory gui=NONE guifg=lightgreen guibg=black -hi Directory cterm=NONE ctermfg=lightgreen ctermbg=black -hi PreProc gui=NONE guifg=lightmagenta guibg=black -hi PreProc cterm=NONE ctermfg=lightmagenta ctermbg=black -hi Type gui=NONE guifg=lightgreen guibg=black -hi Type cterm=NONE ctermfg=lightgreen ctermbg=black - - -" option {{{1 -function! s:SetOpt(term, theme, target, default) - let s:opt_{a:term}_{a:target} - \ = exists("g:hhcs_".a:term."_".a:theme."_".a:target) - \ ? g:hhcs_{a:term}_{a:theme}_{a:target} - \ : exists("g:hhcs_".a:term."_all_".a:target) - \ ? g:hhcs_{a:term}_all_{a:target} - \ : exists("g:hhcs_both_all_".a:target) - \ ? g:hhcs_both_all_{a:target} - \ : a:default -endfunction - - -" LineNr {{{2 -" light, dark, normal -call s:SetOpt( "gui", "hhdyellow", "linenr", "light") -call s:SetOpt("cterm", "hhdyellow", "linenr", "light") -"echo "s:opt_gui_linenr=".s:opt_gui_linenr -if s:opt_gui_linenr == "light" - hi LineNr gui=UNDERLINE guifg=black guibg=lightyellow -elseif s:opt_gui_linenr == "dark" - hi LineNr gui=UNDERLINE guifg=black guibg=darkyellow -else - hi LineNr gui=NONE guifg=lightyellow guibg=black -endif -"echo "s:opt_cterm_linenr=".s:opt_cterm_linenr -if s:opt_cterm_linenr == "light" - hi LineNr cterm=UNDERLINE ctermfg=black ctermbg=lightyellow -elseif s:opt_gui_linenr == "dark" - hi LineNr cterm=UNDERLINE ctermfg=black ctermbg=darkyellow -else - hi LineNr cterm=NONE ctermfg=lightyellow ctermbg=black -endif - - -" NonText {{{2 -" underlined, normal -call s:SetOpt( "gui", "hhdyellow", "nontext", "underlined") -call s:SetOpt("cterm", "hhdyellow", "nontext", "underlined") -"echo "s:opt_gui_nontext=".s:opt_gui_nontext -if s:opt_gui_nontext == "underlined" - hi NonText gui=UNDERLINE guifg=darkyellow guibg=black -else - hi NonText gui=NONE guifg=darkyellow guibg=black -endif -"echo "s:opt_cterm_nontext=".s:opt_cterm_nontext -if s:opt_cterm_nontext == "underlined" - hi NonText cterm=UNDERLINE ctermfg=darkyellow ctermbg=black -else - hi NonText cterm=NONE ctermfg=darkyellow ctermbg=black -endif - - -" 2}}} -" diff {{{1 -hi DiffText gui=UNDERLINE guifg=black guibg=red -hi DiffText cterm=UNDERLINE ctermfg=black ctermbg=red -hi DiffChange gui=UNDERLINE guifg=black guibg=lightgray -hi DiffChange cterm=UNDERLINE ctermfg=black ctermbg=lightgray -hi DiffDelete gui=NONE guifg=black guibg=blue -hi DiffDelete cterm=NONE ctermfg=black ctermbg=blue -hi DiffAdd gui=UNDERLINE guifg=black guibg=cyan -hi DiffAdd cterm=UNDERLINE ctermfg=black ctermbg=cyan - - -" html {{{1 -hi htmlLink gui=UNDERLINE guifg=lightblue guibg=black -hi htmlLink cterm=UNDERLINE ctermfg=lightblue ctermbg=black -hi htmlBold gui=UNDERLINE guifg=black guibg=lightred -hi htmlBold cterm=UNDERLINE ctermfg=black ctermbg=lightred -hi htmlItalic gui=UNDERLINE guifg=black guibg=lightgreen -hi htmlItalic cterm=UNDERLINE ctermfg=black ctermbg=lightgreen -hi htmlBoldItalic gui=UNDERLINE guifg=black guibg=lightblue -hi htmlBoldItalic cterm=UNDERLINE ctermfg=black ctermbg=lightblue -hi htmlUnderline gui=UNDERLINE guifg=lightgray guibg=black -hi htmlUnderline cterm=UNDERLINE ctermfg=lightgray ctermbg=black -hi htmlBoldUnderline gui=UNDERLINE guifg=lightred guibg=black -hi htmlBoldUnderline cterm=UNDERLINE ctermfg=lightred ctermbg=black -hi htmlUnderlineItalic gui=UNDERLINE guifg=lightgreen guibg=black -hi htmlUnderlineItalic cterm=UNDERLINE ctermfg=lightgreen ctermbg=black -hi htmlBoldUnderlineItalic gui=UNDERLINE guifg=lightblue guibg=black -hi htmlBoldUnderlineItalic cterm=UNDERLINE ctermfg=lightblue ctermbg=black - - -" colors{{{1 -" 1 black -" 2 blue -" 3 cyan -" 4 darkyellow -" 5 gray -" 6 green -" 7 lightblue -" 8 lightcyan -" 9 lightgray -" 10 lightgreen -" 11 lightmagenta -" 12 lightred -" 13 lightyellow -" 14 red -" 15 yellow -"}}}1 -" vim:set nowrap foldmethod=marker expandtab: diff --git a/.vim/colors/hhorange.vim b/.vim/colors/hhorange.vim deleted file mode 100644 index a1de49d..0000000 --- a/.vim/colors/hhorange.vim +++ /dev/null @@ -1,82 +0,0 @@ -" Vim color file {{{1 -" Maintainer: hira@users.sourceforge.jp -" Last Change: 2003/11/29 (Sat) 13:28:25. -" Version: 1.2 -" This color scheme uses a dark background. - -" Happy Hacking color scheme {{{1 -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif -let colors_name = expand("<sfile>:t:r") -let html_my_rendering = 1 - - -" frame & title & message (theme) {{{1 -hi LineNr gui=underline guifg=#756664 guibg=#1c1200 -hi Folded gui=none guifg=#756664 guibg=bg -hi FoldColumn gui=none guifg=#756664 guibg=bg -" title -hi Title gui=underline guifg=fg guibg=#553614 -" message -hi MoreMsg gui=underline guifg=bg guibg=#983235 -hi Question gui=underline guifg=bg guibg=#983235 - -hi NonText gui=underline guifg=#2c2210 guibg=#2c2210 -hi VertSplit gui=underline guifg=bg guibg=#1c1200 -hi StatusLine gui=underline guifg=fg guibg=#1c1200 -hi StatusLineNC gui=underline guifg=#3c2e2c guibg=#1c1200 - -" cursor {{{1 -hi WildMenu gui=underline guifg=bg guibg=#cc9069 -hi Cursor gui=underline guifg=bg guibg=#cc9069 -hi IncSearch gui=underline guifg=bg guibg=#cc9069 -hi CursorIM gui=underline guifg=fg guibg=#887900 -hi Search gui=underline guifg=bg guibg=#994113 -hi Visual gui=underline guifg=bg guibg=#886b46 - - -" message {{{1 -hi ErrorMsg gui=underline guifg=bg guibg=#dd66bb -hi WarningMsg gui=underline guifg=bg guibg=#cc668b -hi ModeMsg gui=underline guifg=bg guibg=#997433 - - -" inner {{{1 -hi Normal gui=none guifg=#9b8f78 guibg=#332412 -hi Ignore gui=none guifg=bg guibg=bg -hi Todo gui=underline guifg=bg guibg=#cc668b -hi Error gui=underline guifg=fg guibg=#413399 -hi Special gui=none guifg=#bb9466 guibg=bg -hi SpecialKey gui=none guifg=#becc66 guibg=bg -hi Identifier gui=none guifg=#be7569 guibg=bg -hi Constant gui=none guifg=#885222 guibg=bg -hi Statement gui=none guifg=#aa668f guibg=bg -hi Comment gui=none guifg=#887900 guibg=bg -hi Underlined gui=underline guifg=#66996d guibg=bg -hi Directory gui=none guifg=#774b44 guibg=bg -hi PreProc gui=none guifg=#775a55 guibg=bg -hi Type gui=none guifg=#bb7b22 guibg=bg - - -" diff {{{1 -hi DiffText gui=underline guifg=bg guibg=#ffa799 -hi DiffChange gui=underline guifg=bg guibg=#aa6155 -hi DiffDelete gui=none guifg=bg guibg=#aa7922 -hi DiffAdd gui=underline guifg=bg guibg=#cc2270 - - -" html {{{1 -hi htmlLink gui=underline guifg=#aaa366 guibg=bg -hi htmlBold gui=underline guifg=bg guibg=#aa668f -hi htmlBoldUnderline gui=underline guifg=#aa668f guibg=bg -hi htmlItalic gui=underline guifg=bg guibg=#cc8a44 -hi htmlUnderlineItalic gui=underline guifg=#cc8a44 guibg=bg -hi htmlBoldItalic gui=underline guifg=bg guibg=#aa3355 -hi htmlBoldUnderlineItalic gui=underline guifg=#aa3355 guibg=bg -hi htmlUnderline gui=underline guifg=fg guibg=bg - -"}}}1 -" vim:set nowrap foldmethod=marker expandtab: diff --git a/.vim/colors/hhpink.vim b/.vim/colors/hhpink.vim deleted file mode 100644 index cffe418..0000000 --- a/.vim/colors/hhpink.vim +++ /dev/null @@ -1,85 +0,0 @@ -" Vim color file {{{1 -" Maintainer: hira@users.sourceforge.jp -" Last Change: 2003/11/29 (Sat) 13:28:25. -" Version: 1.2 -" This color scheme uses a dark background. - -" Happy Hacking color scheme {{{1 -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif -let colors_name = expand("<sfile>:t:r") -let html_my_rendering = 1 - - -" frame & title & message (theme) {{{1 -hi Folded gui=none guifg=#855060 guibg=bg -hi FoldColumn gui=none guifg=#855060 guibg=bg -hi LineNr gui=underline guifg=#855060 guibg=#200510 -hi VertSplit gui=underline guifg=bg guibg=#200510 -hi StatusLine gui=underline guifg=fg guibg=#200510 -hi StatusLineNC gui=underline guifg=#3c2c31 guibg=#200510 -hi NonText gui=underline guifg=#3c2530 -hi NonText guibg=#3c2530 -" title -hi Title gui=underline guifg=fg guibg=#653040 -" message -hi MoreMsg gui=underline guifg=bg guibg=#983266 -hi Question gui=underline guifg=bg guibg=#983266 - - -" cursor {{{1 -hi WildMenu gui=underline guifg=bg guibg=#cc7990 -hi Cursor gui=underline guifg=bg guibg=#cc7990 -hi IncSearch gui=underline guifg=bg guibg=#cc7990 -hi CursorIM gui=underline guifg=fg guibg=#884830 -hi Search gui=underline guifg=bg guibg=#993356 -hi Visual gui=underline guifg=bg guibg=#885672 - - -" message {{{1 -hi ErrorMsg gui=underline guifg=bg guibg=#c666dd -hi WarningMsg gui=underline guifg=bg guibg=#cc66bc -hi ModeMsg gui=underline guifg=bg guibg=#994333 - - -"TODO - -" inner {{{1 -hi Normal gui=none guifg=#bb7899 guibg=#40202a -hi Ignore gui=none guifg=bg guibg=bg -hi Todo gui=underline guifg=bg guibg=#cc568c -hi Error gui=underline guifg=fg guibg=#335699 -hi Special gui=none guifg=#bb6b66 guibg=bg -hi SpecialKey gui=none guifg=#cca966 guibg=bg -hi Identifier gui=none guifg=#be6986 guibg=bg -hi Constant gui=none guifg=#882223 guibg=bg -hi Statement gui=none guifg=#a466aa guibg=bg -hi Comment gui=none guifg=#884830 guibg=bg -hi Underlined gui=underline guifg=#779966 guibg=bg -hi Directory gui=none guifg=#774455 guibg=bg -hi PreProc gui=none guifg=#775561 guibg=bg -hi Type gui=none guifg=#aa3222 guibg=bg - - -" diff {{{1 -hi DiffText gui=underline guifg=bg guibg=#ff99bc -hi DiffChange gui=underline guifg=bg guibg=#aa5572 -hi DiffDelete gui=none guifg=bg guibg=#aa3822 -hi DiffAdd gui=underline guifg=bg guibg=#cc22c2 - - -" html {{{1 -hi htmlLink gui=underline guifg=#aa8266 guibg=bg -hi htmlBold gui=underline guifg=bg guibg=#a466aa -hi htmlBoldUnderline gui=underline guifg=#a466aa guibg=bg -hi htmlItalic gui=underline guifg=bg guibg=#cc4944 -hi htmlUnderlineItalic gui=underline guifg=#cc4944 guibg=bg -hi htmlBoldItalic gui=underline guifg=bg guibg=#aa338e -hi htmlBoldUnderlineItalic gui=underline guifg=#aa338e guibg=bg -hi htmlUnderline gui=underline guifg=fg guibg=bg - -"}}}1 -" vim:set nowrap foldmethod=marker expandtab: diff --git a/.vim/colors/hhspring.vim b/.vim/colors/hhspring.vim deleted file mode 100644 index cee4174..0000000 --- a/.vim/colors/hhspring.vim +++ /dev/null @@ -1,83 +0,0 @@ -" Vim color file {{{1 -" Maintainer: hira@users.sourceforge.jp -" Last Change: 2003/11/29 (Sat) 13:28:25. -" Version: 1.2 -" This color scheme uses a dark background. - -" Happy Hacking color scheme {{{1 -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif -let colors_name = expand("<sfile>:t:r") -let html_my_rendering = 1 - - -" frame & title & message (theme) {{{1 -hi LineNr gui=underline guifg=#757164 guibg=#1c1910 -hi Folded gui=none guifg=#757164 guibg=bg -hi FoldColumn gui=none guifg=#757164 guibg=bg -" title -hi Title gui=underline guifg=fg guibg=#555144 -" message -hi MoreMsg gui=underline guifg=bg guibg=#986c32 -hi Question gui=underline guifg=bg guibg=#986c32 - -hi NonText gui=underline guifg=#2c2920 guibg=#2c2920 -hi VertSplit gui=underline guifg=bg guibg=#1c1910 -hi StatusLine gui=underline guifg=fg guibg=#1c1910 -hi StatusLineNC gui=underline guifg=#3c382c guibg=#1c1910 - -" cursor {{{1 -hi WildMenu gui=underline guifg=bg guibg=#ccbf99 -hi Cursor gui=underline guifg=bg guibg=#ccbf99 -hi IncSearch gui=underline guifg=bg guibg=#ccbf99 -hi CursorIM gui=underline guifg=fg guibg=#458800 -hi Search gui=underline guifg=bg guibg=#997e33 -hi Visual gui=underline guifg=bg guibg=#887f66 - - -" message {{{1 -hi ErrorMsg gui=underline guifg=bg guibg=#dd6674 -hi WarningMsg gui=underline guifg=bg guibg=#cc7e66 -hi ModeMsg gui=underline guifg=bg guibg=#819933 - - -"TODO -" inner {{{1 -hi Normal gui=none guifg=#bbae88 guibg=#332f22 -hi Ignore gui=none guifg=bg guibg=bg -hi Todo gui=underline guifg=bg guibg=#cc7e66 -hi Error gui=underline guifg=fg guibg=#7e3399 -hi Special gui=none guifg=#afbb66 guibg=bg -hi SpecialKey gui=none guifg=#81cc66 guibg=bg -hi Identifier gui=none guifg=#bea869 guibg=bg -hi Constant gui=none guifg=#818822 guibg=bg -hi Statement gui=none guifg=#aa6667 guibg=bg -hi Comment gui=none guifg=#458800 guibg=bg -hi Underlined gui=underline guifg=#66998c guibg=bg -hi Directory gui=none guifg=#776a44 guibg=bg -hi PreProc gui=none guifg=#776e55 guibg=bg -hi Type gui=none guifg=#9fbb22 guibg=bg - - -" diff {{{1 -hi DiffText gui=underline guifg=bg guibg=#ffe499 -hi DiffChange gui=underline guifg=bg guibg=#aa9455 -hi DiffDelete gui=none guifg=bg guibg=#89aa22 -hi DiffAdd gui=underline guifg=bg guibg=#cc3a22 - - -" html {{{1 -hi htmlLink gui=underline guifg=#89aa66 guibg=bg -hi htmlBold gui=underline guifg=bg guibg=#aa6667 -hi htmlBoldUnderline gui=underline guifg=#aa6667 guibg=bg -hi htmlItalic gui=underline guifg=bg guibg=#bccc44 -hi htmlUnderlineItalic gui=underline guifg=#bccc44 guibg=bg -hi htmlBoldItalic gui=underline guifg=bg guibg=#aa5833 -hi htmlBoldUnderlineItalic gui=underline guifg=#aa5833 guibg=bg -hi htmlUnderline gui=underline guifg=fg guibg=bg - -"}}}1 -" vim:set nowrap foldmethod=marker expandtab: diff --git a/.vim/colors/hhteal.vim b/.vim/colors/hhteal.vim deleted file mode 100644 index 79dbb3c..0000000 --- a/.vim/colors/hhteal.vim +++ /dev/null @@ -1,83 +0,0 @@ -" Vim color file {{{1 -" Maintainer: hira@users.sourceforge.jp -" Last Change: 2003/11/29 (Sat) 13:28:25. -" Version: 1.2 -" This color scheme uses a dark background. - -" Happy Hacking color scheme {{{1 -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif -let colors_name = expand("<sfile>:t:r") -let html_my_rendering = 1 - - -" frame & title & message (theme) {{{1 -hi LineNr gui=underline guifg=#647564 guibg=#101c10 -hi Folded gui=none guifg=#647564 guibg=bg -hi FoldColumn gui=none guifg=#647564 guibg=bg -" title -hi Title gui=underline guifg=fg guibg=#445544 -" message -hi MoreMsg gui=underline guifg=bg guibg=#439832 -hi Question gui=underline guifg=bg guibg=#439832 - -hi NonText gui=underline guifg=#202c20 guibg=#202c20 -hi VertSplit gui=underline guifg=bg guibg=#101c10 -hi StatusLine gui=underline guifg=fg guibg=#101c10 -hi StatusLineNC gui=underline guifg=#2c3c2c guibg=#101c10 - -" cursor {{{1 -hi WildMenu gui=underline guifg=bg guibg=#99cc99 -hi Cursor gui=underline guifg=bg guibg=#99cc99 -hi IncSearch gui=underline guifg=bg guibg=#99cc99 -hi CursorIM gui=underline guifg=fg guibg=#008866 -hi Search gui=underline guifg=bg guibg=#339933 -hi Visual gui=underline guifg=bg guibg=#668866 - - -" message {{{1 -hi ErrorMsg gui=underline guifg=bg guibg=#ccdd66 -hi WarningMsg gui=underline guifg=bg guibg=#99cc66 -hi ModeMsg gui=underline guifg=bg guibg=#339966 - - -"TODO -" inner {{{1 -hi Normal gui=none guifg=#88bb88 guibg=#223322 -hi Ignore gui=none guifg=bg guibg=bg -hi Todo gui=underline guifg=bg guibg=#99cc66 -hi Error gui=underline guifg=fg guibg=#993333 -hi Special gui=none guifg=#66bb88 guibg=bg -hi SpecialKey gui=none guifg=#66cccc guibg=bg -hi Identifier gui=none guifg=#69be69 guibg=bg -hi Constant gui=none guifg=#228844 guibg=bg -hi Statement gui=none guifg=#99aa66 guibg=bg -hi Comment gui=none guifg=#008866 guibg=bg -hi Underlined gui=underline guifg=#666699 guibg=bg -hi Directory gui=none guifg=#447744 guibg=bg -hi PreProc gui=none guifg=#557755 guibg=bg -hi Type gui=none guifg=#22bb66 guibg=bg - - -" diff {{{1 -hi DiffText gui=underline guifg=bg guibg=#99ff99 -hi DiffChange gui=underline guifg=bg guibg=#55aa55 -hi DiffDelete gui=none guifg=bg guibg=#22aa66 -hi DiffAdd gui=underline guifg=bg guibg=#88cc22 - - -" html {{{1 -hi htmlLink gui=underline guifg=#66aa99 guibg=bg -hi htmlBold gui=underline guifg=bg guibg=#99aa66 -hi htmlBoldUnderline gui=underline guifg=#99aa66 guibg=bg -hi htmlItalic gui=underline guifg=bg guibg=#44cc77 -hi htmlUnderlineItalic gui=underline guifg=#44cc77 guibg=bg -hi htmlBoldItalic gui=underline guifg=bg guibg=#66aa33 -hi htmlBoldUnderlineItalic gui=underline guifg=#66aa33 guibg=bg -hi htmlUnderline gui=underline guifg=fg guibg=bg - -"}}}1 -" vim:set nowrap foldmethod=marker expandtab: diff --git a/.vim/colors/hhviolet.vim b/.vim/colors/hhviolet.vim deleted file mode 100644 index b8fbf62..0000000 --- a/.vim/colors/hhviolet.vim +++ /dev/null @@ -1,83 +0,0 @@ -" Vim color file {{{1 -" Maintainer: hira@users.sourceforge.jp -" Last Change: 2003/11/29 (Sat) 13:28:25. -" Version: 1.2 -" This color scheme uses a dark background. - -" Happy Hacking color scheme {{{1 -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif -let colors_name = expand("<sfile>:t:r") -let html_my_rendering = 1 - - -" frame & title & message (theme) {{{1 -hi LineNr gui=underline guifg=#686475 guibg=#13101c -hi Folded gui=none guifg=#686475 guibg=bg -hi FoldColumn gui=none guifg=#686475 guibg=bg -" title -hi Title gui=underline guifg=fg guibg=#484455 -" message -hi MoreMsg gui=underline guifg=bg guibg=#373298 -hi Question gui=underline guifg=bg guibg=#373298 - -hi NonText gui=underline guifg=#23202c guibg=#23202c -hi VertSplit gui=underline guifg=bg guibg=#13101c -hi StatusLine gui=underline guifg=fg guibg=#13101c -hi StatusLineNC gui=underline guifg=#302c3c guibg=#13101c - -" cursor {{{1 -hi WildMenu gui=underline guifg=bg guibg=#a499cc -hi Cursor gui=underline guifg=bg guibg=#a499cc -hi IncSearch gui=underline guifg=bg guibg=#a499cc -hi CursorIM gui=underline guifg=fg guibg=#662088 -hi Search gui=underline guifg=bg guibg=#493399 -hi Visual gui=underline guifg=bg guibg=#6d6688 - - -" message {{{1 -hi ErrorMsg gui=underline guifg=bg guibg=#66b2dd -hi WarningMsg gui=underline guifg=bg guibg=#6683cc -hi ModeMsg gui=underline guifg=bg guibg=#7c3399 - - -"TODO -" inner {{{1 -hi Normal gui=none guifg=#9388bb guibg=#262233 -hi Ignore gui=none guifg=bg guibg=bg -hi Todo gui=underline guifg=bg guibg=#6683cc -hi Error gui=underline guifg=fg guibg=#335544 -hi Special gui=none guifg=#9b66bb guibg=bg -hi SpecialKey gui=none guifg=#cc66b6 guibg=bg -hi Identifier gui=none guifg=#7c69be guibg=bg -hi Constant gui=none guifg=#774499 guibg=bg -hi Statement gui=none guifg=#668aaa guibg=bg -hi Comment gui=none guifg=#662088 guibg=bg -hi Underlined gui=underline guifg=#997166 guibg=bg -hi Directory gui=none guifg=#4f4477 guibg=bg -hi PreProc gui=none guifg=#5c5577 guibg=bg -hi Type gui=none guifg=#7733cc guibg=bg - - -" diff {{{1 -hi DiffText gui=underline guifg=bg guibg=#af99ff -hi DiffChange gui=underline guifg=bg guibg=#6855aa -hi DiffDelete gui=none guifg=bg guibg=#8422aa -hi DiffAdd gui=underline guifg=bg guibg=#2263cc - - -" html {{{1 -hi htmlLink gui=underline guifg=#a866aa guibg=bg -hi htmlBold gui=underline guifg=bg guibg=#668aaa -hi htmlBoldUnderline gui=underline guifg=#668aaa guibg=bg -hi htmlItalic gui=underline guifg=bg guibg=#9544cc -hi htmlUnderlineItalic gui=underline guifg=#9544cc guibg=bg -hi htmlBoldItalic gui=underline guifg=bg guibg=#334caa -hi htmlBoldUnderlineItalic gui=underline guifg=#334caa guibg=bg -hi htmlUnderline gui=underline guifg=fg guibg=bg - -"}}}1 -" vim:set nowrap foldmethod=marker expandtab: diff --git a/.vim/colors/ibmedit.vim b/.vim/colors/ibmedit.vim deleted file mode 100644 index 4b846c6..0000000 --- a/.vim/colors/ibmedit.vim +++ /dev/null @@ -1,60 +0,0 @@ -" Vim color file -" Maintainer: Maarten Slaets -" Last Change: 2002 Aug 16 - -" Color settings similar to that used in IBM Edit - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name="ibmedit" - -hi Normal term=NONE cterm=NONE ctermfg=Gray ctermbg=DarkBlue -hi Normal gui=NONE guifg=#CCCCCC guibg=DarkBlue -hi NonText term=NONE cterm=NONE ctermfg=Gray ctermbg=DarkBlue -hi NonText gui=NONE guifg=#CCCCCC guibg=DarkBlue - -hi Statement term=NONE cterm=NONE ctermfg=White ctermbg=DarkBlue -hi Statement gui=NONE guifg=White guibg=DarkBlue -hi Special term=NONE cterm=NONE ctermfg=White ctermbg=DarkBlue -hi Special gui=NONE guifg=White guibg=DarkBlue -hi Constant term=NONE cterm=NONE ctermfg=Cyan ctermbg=DarkBlue -hi Constant gui=NONE guifg=#99CCFF guibg=DarkBlue -hi Comment term=NONE cterm=NONE ctermfg=Blue ctermbg=DarkBlue -hi Comment gui=NONE guifg=#6666FF guibg=DarkBlue -hi Preproc term=NONE cterm=NONE ctermfg=Cyan ctermbg=DarkBlue -hi Preproc gui=NONE guifg=#99CCFF guibg=DarkBlue -hi Type term=NONE cterm=NONE ctermfg=Gray ctermbg=DarkBlue -hi Type gui=NONE guifg=#CCCCCC guibg=DarkBlue -hi Identifier term=NONE cterm=NONE ctermfg=Grey ctermbg=DarkBlue -hi Identifier gui=NONE guifg=#CCCCCC guibg=DarkBlue - -hi StatusLine term=bold cterm=bold ctermfg=Black ctermbg=White -hi StatusLine gui=bold guifg=Black guibg=White - -hi StatusLineNC term=NONE cterm=NONE ctermfg=Black ctermbg=White -hi StatusLineNC gui=NONE guifg=Black guibg=White - -hi Visual term=NONE cterm=NONE ctermfg=Black ctermbg=DarkCyan -hi Visual gui=NONE guifg=Black guibg=Gray - -hi Search term=NONE cterm=NONE ctermbg=Gray -hi Search gui=NONE guibg=Gray - -hi VertSplit term=NONE cterm=NONE ctermfg=Black ctermbg=White -hi VertSplit gui=NONE guifg=Black guibg=White - -hi Directory term=NONE cterm=NONE ctermfg=Green ctermbg=DarkBlue -hi Directory gui=NONE guifg=Green guibg=DarkBlue - -hi WarningMsg term=standout cterm=NONE ctermfg=Red ctermbg=DarkBlue -hi WarningMsg gui=standout guifg=Red guibg=DarkBlue - -hi Error term=NONE cterm=NONE ctermfg=White ctermbg=Red -hi Error gui=NONE guifg=White guibg=Red - -hi Cursor ctermfg=Black ctermbg=Yellow -hi Cursor guifg=Black guibg=Yellow - diff --git a/.vim/colors/inkpot.vim b/.vim/colors/inkpot.vim deleted file mode 100644 index e70d992..0000000 --- a/.vim/colors/inkpot.vim +++ /dev/null @@ -1,138 +0,0 @@ -" Vim color file -" Name: inkpot.vim -" Maintainer: Ciaran McCreesh <ciaranm@gentoo.org> -" This should work in the GUI, rxvt-unicode (88 colour mode) and xterm (256 -" colour mode). It won't work in 8/16 colour terminals. - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif - -let colors_name = "inkpot" - -" map a urxvt cube number to an xterm-256 cube number -fun! <SID>M(a) - return strpart("0135", a:a, 1) + 0 -endfun - -" map a urxvt colour to an xterm-256 colour -fun! <SID>X(a) - if &t_Co == 88 - return a:a - else - if a:a == 8 - return 237 - elseif a:a < 16 - return a:a - elseif a:a > 79 - return 232 + (3 * (a:a - 80)) - else - let l:b = a:a - 16 - let l:x = l:b % 4 - let l:y = (l:b / 4) % 4 - let l:z = (l:b / 16) - return 16 + <SID>M(l:x) + (6 * <SID>M(l:y)) + (36 * <SID>M(l:z)) - endif - endif -endfun - -if has("gui_running") - hi Normal gui=NONE guifg=#cfbfad guibg=#1e1e27 - hi IncSearch gui=BOLD guifg=#303030 guibg=#cd8b60 - hi Search gui=NONE guifg=#303030 guibg=#cd8b60 - hi ErrorMsg gui=BOLD guifg=#ffffff guibg=#ff3300 - hi WarningMsg gui=BOLD guifg=#ffffff guibg=#ff6600 - hi ModeMsg gui=BOLD guifg=#7e7eae guibg=NONE - hi MoreMsg gui=BOLD guifg=#7e7eae guibg=NONE - hi Question gui=BOLD guifg=#ffcd00 guibg=NONE - hi StatusLine gui=BOLD guifg=#b9b9b9 guibg=#3e3e5e - hi StatusLineNC gui=NONE guifg=#b9b9b9 guibg=#3e3e5e - hi VertSplit gui=NONE guifg=#b9b9b9 guibg=#3e3e5e - hi WildMenu gui=BOLD guifg=#ffcd00 guibg=#1e1e2e - - hi DiffText gui=NONE guifg=#ffffcd guibg=#00cd00 - hi DiffChange gui=NONE guifg=#ffffcd guibg=#008bff - hi DiffDelete gui=NONE guifg=#ffffcd guibg=#cd0000 - hi DiffAdd gui=NONE guifg=#ffffcd guibg=#00cd00 - - hi Cursor gui=NONE guifg=#404040 guibg=#8b8bff - hi lCursor gui=NONE guifg=#404040 guibg=#8b8bff - hi CursorIM gui=NONE guifg=#404040 guibg=#8b8bff - - hi Folded gui=NONE guifg=#cfcfcd guibg=#4b208f - hi FoldColumn gui=NONE guifg=#8b8bcd guibg=#2e2e2e - - hi Directory gui=NONE guifg=#00ff8b guibg=NONE - hi LineNr gui=NONE guifg=#8b8bcd guibg=#2e2e2e - hi NonText gui=BOLD guifg=#8b8bcd guibg=NONE - hi SpecialKey gui=BOLD guifg=#8b00cd guibg=NONE - hi Title gui=BOLD guifg=#af4f4b guibg=#1e1e27 - hi Visual gui=NONE guifg=#603030 guibg=#edab60 - - hi Comment gui=NONE guifg=#cd8b00 guibg=NONE - hi Constant gui=NONE guifg=#ffcd8b guibg=NONE - hi String gui=NONE guifg=#ffcd8b guibg=#404040 - hi Error gui=NONE guifg=#ffffff guibg=#ff0000 - hi Identifier gui=NONE guifg=#ff8bff guibg=NONE - hi Ignore gui=NONE guifg=#8b8bcd guibg=NONE - hi Number gui=NONE guifg=#506dbd guibg=NONE - hi PreProc gui=NONE guifg=#409090 guibg=NONE - hi Special gui=NONE guifg=#c080d0 guibg=NONE - hi Statement gui=NONE guifg=#808bed guibg=NONE - hi Todo gui=BOLD guifg=#303030 guibg=#c080d0 - hi Type gui=NONE guifg=#ff8bff guibg=NONE - hi Underlined gui=BOLD guifg=#ffffcd guibg=NONE - hi TaglistTagName gui=BOLD guifg=#808bed guibg=NONE - -else - exec "hi Normal cterm=NONE ctermfg=" . <SID>X("78") . " ctermbg=" . <SID>X(80) . "" - exec "hi IncSearch cterm=BOLD ctermfg=" . <SID>X("80") . " ctermbg=" . <SID>X(73) . "" - exec "hi Search cterm=NONE ctermfg=" . <SID>X("80") . " ctermbg=" . <SID>X(73) . "" - exec "hi ErrorMsg cterm=BOLD ctermfg=" . <SID>X("79") . " ctermbg=" . <SID>X(64) . "" - exec "hi WarningMsg cterm=BOLD ctermfg=" . <SID>X("79") . " ctermbg=" . <SID>X(68) . "" - exec "hi ModeMsg cterm=BOLD ctermfg=" . <SID>X("39") . "" - exec "hi MoreMsg cterm=BOLD ctermfg=" . <SID>X("39") . "" - exec "hi Question cterm=BOLD ctermfg=" . <SID>X("72") . "" - exec "hi StatusLine cterm=BOLD ctermfg=" . <SID>X("84") . " ctermbg=" . <SID>X(81) . "" - exec "hi StatusLineNC cterm=NONE ctermfg=" . <SID>X("84") . " ctermbg=" . <SID>X(81) . "" - exec "hi VertSplit cterm=NONE ctermfg=" . <SID>X("84") . " ctermbg=" . <SID>X(82) . "" - exec "hi WildMenu cterm=BOLD ctermfg=" . <SID>X("72") . " ctermbg=" . <SID>X(80) . "" - - exec "hi DiffText cterm=NONE ctermfg=" . <SID>X("78") . " ctermbg=" . <SID>X(24) . "" - exec "hi DiffChange cterm=NONE ctermfg=" . <SID>X("78") . " ctermbg=" . <SID>X(23) . "" - exec "hi DiffDelete cterm=NONE ctermfg=" . <SID>X("78") . " ctermbg=" . <SID>X(48) . "" - exec "hi DiffAdd cterm=NONE ctermfg=" . <SID>X("78") . " ctermbg=" . <SID>X(24) . "" - - exec "hi Cursor cterm=NONE ctermfg=" . <SID>X("8") . " ctermbg=" . <SID>X(39) . "" - exec "hi lCursor cterm=NONE ctermfg=" . <SID>X("8") . " ctermbg=" . <SID>X(39) . "" - exec "hi CursorIM cterm=NONE ctermfg=" . <SID>X("8") . " ctermbg=" . <SID>X(39) . "" - - exec "hi Folded cterm=NONE ctermfg=" . <SID>X("78") . " ctermbg=" . <SID>X(35) . "" - exec "hi FoldColumn cterm=NONE ctermfg=" . <SID>X("38") . " ctermbg=" . <SID>X(80) . "" - - exec "hi Directory cterm=NONE ctermfg=" . <SID>X("29") . " ctermbg=NONE" - exec "hi LineNr cterm=NONE ctermfg=" . <SID>X("38") . " ctermbg=" . <SID>X(80) . "" - exec "hi NonText cterm=BOLD ctermfg=" . <SID>X("38") . " ctermbg=NONE" - exec "hi SpecialKey cterm=BOLD ctermfg=" . <SID>X("34") . " ctermbg=NONE" - exec "hi Title cterm=BOLD ctermfg=" . <SID>X("52") . " ctermbg=" . <SID>X(80) . "" - exec "hi Visual cterm=NONE ctermfg=" . <SID>X("80") . " ctermbg=" . <SID>X(73) . "" - - exec "hi Comment cterm=NONE ctermfg=" . <SID>X("52") . " ctermbg=NONE" - exec "hi Constant cterm=NONE ctermfg=" . <SID>X("73") . " ctermbg=NONE" - exec "hi String cterm=NONE ctermfg=" . <SID>X("73") . " ctermbg=" . <SID>X(8) . "" - exec "hi Error cterm=NONE ctermfg=" . <SID>X("79") . " ctermbg=" . <SID>X(64) . "" - exec "hi Identifier cterm=NONE ctermfg=" . <SID>X("71") . " ctermbg=NONE" - exec "hi Ignore cterm=NONE ctermfg=" . <SID>X("38") . " ctermbg=NONE" - exec "hi Number cterm=NONE ctermfg=" . <SID>X("22") . " ctermbg=NONE" - exec "hi PreProc cterm=NONE ctermfg=" . <SID>X("10") . " ctermbg=NONE" - exec "hi Special cterm=NONE ctermfg=" . <SID>X("39") . " ctermbg=NONE" - exec "hi Statement cterm=NONE ctermfg=" . <SID>X("26") . " ctermbg=NONE" - exec "hi Todo cterm=BOLD ctermfg=" . <SID>X("08") . " ctermbg=" . <SID>X(39) . "" - exec "hi Type cterm=NONE ctermfg=" . <SID>X("71") . " ctermbg=NONE" - exec "hi Underlined cterm=BOLD ctermfg=" . <SID>X("78") . " ctermbg=NONE" - exec "hi TaglistTagName cterm=BOLD ctermfg=" . <SID>X("26") . " ctermbg=NONE" -endif - -" vim: set et : diff --git a/.vim/colors/ironman.vim b/.vim/colors/ironman.vim deleted file mode 100644 index c82ce3d..0000000 --- a/.vim/colors/ironman.vim +++ /dev/null @@ -1,80 +0,0 @@ -" Vim color file -" Maintainer: Michael Boehler -" Mail: michael@familie-boehler.de -" Last Change: 2002-09-24 -" Version: 1.3 -" This color scheme uses a light background. -" GUI only - -set background=light -hi clear -if exists("syntax_on") - syntax reset -endif - -let colors_name = "ironman" - -hi Normal guifg=#333333 guibg=NONE - -" Search -hi IncSearch gui=NONE guifg=#303040 guibg=#ffff00 -hi Search gui=NONE guifg=#303040 guibg=#ccff00 - -" Messages -hi ErrorMsg gui=NONE guifg=#FF0000 guibg=NONE -hi WarningMsg gui=NONE guifg=#FF6600 guibg=NONE -hi ModeMsg gui=NONE guifg=#0070ff guibg=NONE -hi MoreMsg gui=NONE guifg=#a800ff guibg=NONE -hi Question gui=NONE guifg=#008050 guibg=NONE - -" Split area -hi StatusLine gui=NONE guifg=#fffacd guibg=#DF6A6A -hi StatusLineNC gui=NONE guifg=#fffacd guibg=#b2bbcc -hi VertSplit gui=NONE guifg=#fffacd guibg=#b2bbcc -hi WildMenu gui=NONE guifg=#ffffff guibg=#3399cc - -" Diff -hi DiffText gui=NONE guifg=#f83010 guibg=#ffeae0 -hi DiffChange gui=NONE guifg=#006800 guibg=#d0ffd0 -hi DiffDelete gui=NONE guifg=#2020ff guibg=#c8f2ea -hi DiffAdd gui=NONE guifg=#2020ff guibg=#c8f2ea - -" Cursor -hi Cursor gui=NONE guifg=#ffffff guibg=#DF6A6A -hi lCursor gui=NONE guifg=#f8f8f8 guibg=#8000ff -hi CursorIM gui=NONE guifg=#f8f8f8 guibg=#8000ff - -" Fold -hi Folded gui=NONE guifg=#3399ff guibg=#EAF5FF -hi FoldColumn gui=NONE guifg=#3399ff guibg=#EAF5FF - -" Other -hi Directory gui=NONE guifg=#0000ff guibg=NONE -hi LineNr gui=NONE guifg=#cccccc guibg=NONE -hi NonText gui=NONE guifg=#cccccc guibg=NONE -hi SpecialKey gui=NONE guifg=#66cccc guibg=NONE -hi Title gui=NONE guifg=#004060 guibg=#c8f0f8 -hi Visual gui=NONE guifg=#ffffff guibg=#6889de - -" Syntax group -hi Comment gui=NONE guifg=#ff5050 guibg=#ffebeb -hi Constant gui=NONE guifg=#333333 guibg=#ededed -hi Error gui=BOLD guifg=#ffffff guibg=#ff4080 -hi Identifier gui=NONE guifg=#339933 guibg=NONE -hi Ignore gui=NONE guifg=#f8f8f8 guibg=NONE -hi PreProc gui=NONE guifg=#0070e6 guibg=NONE -hi Special gui=NONE guifg=#0000ff guibg=#ccf7ee -hi Statement gui=NONE guifg=#0000FF guibg=NONE -hi Todo gui=NONE guifg=#ff0070 guibg=#ffe0f4 -hi Type gui=NONE guifg=#eb7950 guibg=NONE -hi Underlined gui=UNDERLINE guifg=#0000ff guibg=NONE - -" HTML -hi htmlLink gui=UNDERLINE guifg=#0000ff guibg=NONE -hi htmlBold gui=BOLD -hi htmlBoldItalic gui=BOLD,ITALIC -hi htmlBoldUnderline gui=BOLD,UNDERLINE -hi htmlBoldUnderlineItalic gui=BOLD,UNDERLINE,ITALIC -hi htmlItalic gui=ITALIC -hi htmlUnderline gui=UNDERLINE -hi htmlUnderlineItalic gui=UNDERLINE,ITALIC diff --git a/.vim/colors/jhdark.vim b/.vim/colors/jhdark.vim deleted file mode 100644 index 22e5494..0000000 --- a/.vim/colors/jhdark.vim +++ /dev/null @@ -1,72 +0,0 @@ -" Vim color file by Jörn Horstmann <joern_h@gmx.net> -" Light background in GUI, dark background in Console -" Last change 16.07.2004 -" TODO - -set bg=dark - -hi clear -if exists("syntax_on") - syntax reset -endif - -let colors_name = "jhdark" - -hi Normal guifg=#999999 guibg=#000000 gui=none ctermfg=gray ctermbg=black cterm=none - -hi ErrorMsg guifg=#ff0000 guibg=bg gui=none ctermfg=red ctermbg=bg cterm=none -hi Visual guifg=bg guibg=#4444aa gui=none ctermfg=bg ctermbg=darkcyan cterm=none -hi VisualNOS guifg=bg guibg=#4444aa gui=none ctermfg=bg ctermbg=darkcyan cterm=none -hi Todo guifg=bg guibg=#aaaa00 gui=none ctermfg=bg ctermbg=yellow cterm=none -"hi Todo guifg=#884400 guibg=bg gui=none ctermfg=bg ctermbg=yellow cterm=none -hi Search guifg=bg guibg=#8888ee gui=none ctermfg=bg ctermbg=blue cterm=none -hi IncSearch guifg=bg guibg=#8888ee gui=none ctermfg=bg ctermbg=blue cterm=none - -hi SpecialKey guifg=#775522 guibg=bg gui=none ctermfg=magenta ctermbg=bg cterm=none -hi Directory guifg=#000088 guibg=bg gui=none ctermfg=blue ctermbg=bg cterm=none -hi WarningMsg guifg=#ff0000 guibg=bg gui=none ctermfg=red ctermbg=bg cterm=none -hi WildMenu guifg=bg guibg=#ffff00 gui=none ctermfg=bg ctermbg=yellow cterm=none -hi ModeMsg guifg=fg guibg=bg gui=none ctermfg=fg ctermbg=bg cterm=none -hi Title guifg=fg guibg=#cccccc gui=none ctermfg=bg ctermbg=fg cterm=none -hi MoreMsg guifg=fg guibg=bg gui=none ctermfg=bg ctermbg=fg cterm=none -hi Question guifg=fg guibg=bg gui=none ctermfg=bg ctermbg=fg cterm=none -hi NonText guifg=#666666 guibg=bg gui=none ctermfg=fg ctermbg=bg cterm=none - -hi StatusLine guifg=#dddddd guibg=#000088 gui=none ctermfg=bg ctermbg=darkblue cterm=none -hi StatusLineNC guifg=#dddddd guibg=#333333 gui=none ctermfg=bg ctermbg=darkgray cterm=none -hi VertSplit guifg=#dddddd guibg=#333333 gui=none ctermfg=bg ctermbg=darkgray cterm=none - -hi Folded guifg=#bb0099 guibg=#222222 gui=none ctermfg=darkmagenta ctermbg=bg cterm=none -hi FoldColumn guifg=#bb0099 guibg=#222222 gui=none ctermfg=darkmagenta ctermbg=bg cterm=none -hi SignColumn guifg=#bb0099 guibg=#222222 gui=none ctermfg=darkmagenta ctermbg=bg cterm=none -hi LineNr guifg=#bb0099 guibg=#222222 gui=none ctermfg=darkmagenta ctermbg=bg cterm=none - -"hi Folded guifg=#dddddd guibg=#666666 gui=none ctermfg=darkmagenta ctermbg=bg cterm=none -"hi FoldColumn guifg=#dddddd guibg=#666666 gui=none ctermfg=darkmagenta ctermbg=bg cterm=none -"hi SignColumn guifg=#dddddd guibg=#666666 gui=none ctermfg=darkmagenta ctermbg=bg cterm=none -"hi LineNr guifg=#dddddd guibg=#666666 gui=none ctermfg=darkmagenta ctermbg=bg cterm=none - -hi DiffChange guifg=bg guibg=#888800 gui=none ctermfg=bg ctermbg=brown cterm=none -hi DiffAdd guifg=bg guibg=#000088 gui=none ctermfg=bg ctermbg=darkblue cterm=none -hi DiffDelete guifg=bg guibg=#880000 gui=none ctermfg=bg ctermbg=darkred cterm=none -hi DiffText guifg=fg guibg=#dd0000 gui=none ctermfg=fg ctermbg=red cterm=none - -hi Cursor guifg=bg guibg=fg gui=none ctermfg=bg ctermbg=fg cterm=none -hi lCursor guifg=bg guibg=fg gui=none ctermfg=bg ctermbg=fg cterm=none - -hi Comment guifg=#008800 guibg=bg gui=none ctermfg=darkgreen ctermbg=bg cterm=none -hi Operator guifg=fg guibg=bg gui=none ctermfg=fg ctermbg=bg cterm=none -hi Constant guifg=#aa0000 guibg=bg gui=none ctermfg=darkred ctermbg=bg cterm=none -hi Special guifg=#997700 guibg=bg gui=none ctermfg=brown ctermbg=bg cterm=none - -hi Identifier guifg=#dddddd guibg=bg gui=none ctermfg=white ctermbg=bg cterm=none - -hi Type guifg=#6666dd guibg=bg gui=none ctermfg=cyan ctermbg=bg cterm=none -hi Statement guifg=#dddddd guibg=bg gui=none ctermfg=white ctermbg=bg cterm=none - -hi PreProc guifg=#008888 guibg=bg gui=none ctermfg=darkcyan ctermbg=bg cterm=none - -hi Error guifg=fg guibg=#ff0000 gui=none ctermfg=bg ctermbg=red cterm=none - -hi Ignore guifg=bg ctermfg=bg -hi Underlined guifg=fg guibg=bg ctermfg=fg ctermbg=bg cterm=underline term=underline gui=underline diff --git a/.vim/colors/jhlight.vim b/.vim/colors/jhlight.vim deleted file mode 100644 index 753232e..0000000 --- a/.vim/colors/jhlight.vim +++ /dev/null @@ -1,80 +0,0 @@ -" Vim color file by Jörn Horstmann <joern_h@gmx.net> -" Light background, works in GUI and cobnsole -" Last change 08.09.2004 -" TODO - -set bg=light - -hi clear -if exists("syntax_on") - syntax reset -endif - -let colors_name = "jhlight" - -hi Normal guifg=#000000 guibg=#dddddd gui=none ctermfg=black ctermbg=grey cterm=none - -hi ErrorMsg guifg=#ff0000 guibg=bg gui=none ctermfg=red ctermbg=bg cterm=none -hi Visual guifg=bg guibg=#4444aa gui=none ctermfg=bg ctermbg=darkcyan cterm=none -hi VisualNOS guifg=bg guibg=#4444aa gui=none ctermfg=bg ctermbg=darkcyan cterm=none -hi Todo guifg=fg guibg=#bbbb77 gui=none ctermfg=bg ctermbg=brown cterm=none -"hi Todo guifg=#884400 guibg=bg gui=none ctermfg=bg ctermbg=yellow cterm=none -hi Search guifg=fg guibg=#8888ee gui=none ctermfg=bg ctermbg=blue cterm=none -hi IncSearch guifg=fg guibg=#8888ee gui=none ctermfg=bg ctermbg=blue cterm=none - -hi SpecialKey guifg=#553300 guibg=bg gui=none ctermfg=darkmagenta ctermbg=bg cterm=none -hi Directory guifg=#000088 guibg=bg gui=none ctermfg=blue ctermbg=bg cterm=none -hi WarningMsg guifg=#ff0000 guibg=bg gui=none ctermfg=red ctermbg=bg cterm=none -hi WildMenu guifg=fg guibg=#ffff00 gui=none ctermfg=bg ctermbg=brown cterm=none -hi ModeMsg guifg=fg guibg=bg gui=none ctermfg=fg ctermbg=bg cterm=none -hi Title guifg=#000088 guibg=#cccccc gui=none ctermfg=fg ctermbg=bg cterm=none -hi MoreMsg guifg=#000088 guibg=bg gui=none ctermfg=fg ctermbg=bg cterm=none -hi Question guifg=#000088 guibg=bg gui=none ctermfg=fg ctermbg=bg cterm=none -hi NonText guifg=#444444 guibg=bg gui=none ctermfg=fg ctermbg=bg cterm=none - -hi StatusLine guifg=#dddddd guibg=#000088 gui=none ctermfg=white ctermbg=darkblue cterm=none -hi StatusLineNC guifg=#dddddd guibg=#333333 gui=none ctermfg=grey ctermbg=black cterm=none -hi VertSplit guifg=#dddddd guibg=#333333 gui=none ctermfg=white ctermbg=black cterm=none - -hi Folded guifg=#005500 guibg=#999999 gui=none ctermfg=darkgreen ctermbg=darkgray cterm=none -hi FoldColumn guifg=#005500 guibg=#999999 gui=none ctermfg=darkgreen ctermbg=darkgray cterm=none -hi SignColumn guifg=#005500 guibg=#999999 gui=none ctermfg=darkgreen ctermbg=darkgray cterm=none -hi LineNr guifg=#005500 guibg=#999999 gui=none ctermfg=darkgreen ctermbg=darkgray cterm=none - -"hi Folded guifg=#dddddd guibg=#666666 gui=none ctermfg=darkmagenta ctermbg=bg cterm=none -"hi FoldColumn guifg=#dddddd guibg=#666666 gui=none ctermfg=darkmagenta ctermbg=bg cterm=none -"hi SignColumn guifg=#dddddd guibg=#666666 gui=none ctermfg=darkmagenta ctermbg=bg cterm=none -"hi LineNr guifg=#dddddd guibg=#666666 gui=none ctermfg=darkmagenta ctermbg=bg cterm=none - -hi DiffChange guifg=bg guibg=#888800 gui=none ctermfg=bg ctermbg=brown cterm=none -hi DiffAdd guifg=bg guibg=#000088 gui=none ctermfg=bg ctermbg=darkblue cterm=none -hi DiffDelete guifg=bg guibg=#880000 gui=none ctermfg=bg ctermbg=darkred cterm=none -hi DiffText guifg=fg guibg=#dd0000 gui=none ctermfg=fg ctermbg=red cterm=none - -hi Cursor guifg=bg guibg=fg gui=none ctermfg=bg ctermbg=fg cterm=none -hi lCursor guifg=bg guibg=fg gui=none ctermfg=bg ctermbg=fg cterm=none - -hi Comment guifg=#005500 guibg=bg gui=none ctermfg=darkgreen ctermbg=bg cterm=none -hi Operator guifg=fg guibg=bg gui=none ctermfg=fg ctermbg=bg cterm=none -hi Constant guifg=#880000 guibg=bg gui=none ctermfg=darkred ctermbg=bg cterm=none -hi Special guifg=#553300 guibg=bg gui=none ctermfg=brown ctermbg=bg cterm=none - -hi Identifier guifg=#000088 guibg=bg gui=none ctermfg=darkblue ctermbg=bg cterm=none -"hi Function guifg=#000044 gui=none - -"hi Keyword guifg=#000088 gui=none - -if exists("g:jh_hi_use_bold") - hi Type guifg=#660044 guibg=bg gui=bold ctermfg=darkmagenta ctermbg=bg cterm=none - hi Statement guifg=#440066 guibg=bg gui=bold ctermfg=darkmagenta ctermbg=bg cterm=none -else - hi Type guifg=#660044 guibg=bg gui=none ctermfg=darkmagenta ctermbg=bg cterm=none - hi Statement guifg=#440066 guibg=bg gui=none ctermfg=darkmagenta ctermbg=bg cterm=none -endif - -hi PreProc guifg=#004466 guibg=bg gui=none ctermfg=darkcyan ctermbg=bg cterm=none - -hi Error guifg=fg guibg=#880000 gui=none ctermfg=bg ctermbg=red cterm=none - -hi Ignore guifg=bg ctermfg=bg -hi Underlined guifg=fg guibg=bg ctermfg=fg ctermbg=bg cterm=underline term=underline gui=underline diff --git a/.vim/colors/less.vim b/.vim/colors/less.vim deleted file mode 100644 index c874913..0000000 --- a/.vim/colors/less.vim +++ /dev/null @@ -1,54 +0,0 @@ -" vim color file -" Maintainer: Brian Nelson <nelsonbc@gmail.com> -" Last Change: $Revision: 1.1 $ $Date: 2003/12/15 17:25:08 $ -" -" Less is More - A minimal color scheme. -" Disigned to work equally well on 8 or 16 colors, terminal or gui. - -hi clear -set background=dark -if exists("syntax_on") - syntax reset -endif -let g:colors_name = "less" - -hi Normal term=none ctermfg=7 ctermbg=0 gui=none guifg=LightGray guibg=black -hi Directory term=bold cterm=bold ctermfg=blue guifg=Blue -hi Search term=reverse ctermfg=white ctermbg=blue guifg=white guibg=Blue -hi MoreMsg term=bold cterm=bold ctermfg=darkgreen gui=bold guifg=DarkGreen -hi ModeMsg term=bold cterm=bold gui=bold guifg=White guibg=Blue -hi LineNr term=underline cterm=bold ctermfg=darkcyan guifg=DarkCyan -hi Question term=standout cterm=bold ctermfg=darkgreen gui=bold guifg=DarkGreen -hi Comment term=bold cterm=bold ctermfg=0 gui=none guifg=DarkGray -hi Constant term=bold cterm=none ctermfg=7 gui=none guifg=LightGray -hi Special term=bold cterm=none ctermfg=3 gui=none guifg=Orange -hi Identifier term=none cterm=none ctermfg=7 gui=none guifg=LightGray -hi PreProc term=underline cterm=bold ctermfg=7 gui=bold guifg=White -hi Error term=reverse cterm=bold ctermfg=7 ctermbg=1 gui=bold guifg=Black guibg=Red -hi Todo term=standout cterm=none ctermfg=0 ctermbg=7 guifg=Black guibg=White -hi String term=none cterm=none ctermfg=3 gui=none guifg=LightYellow -hi Function term=bold cterm=bold ctermfg=3 gui=none guifg=Yellow -hi Statement term=bold cterm=bold ctermfg=7 gui=bold guifg=White -hi Include term=bold cterm=bold ctermfg=4 gui=none guifg=LightBlue -hi StorageClass term=bold cterm=bold ctermfg=5 gui=none guifg=LightMagenta -hi Type term=none cterm=none ctermfg=7 gui=none guifg=LightGray -hi Defined term=bold cterm=bold ctermfg=6 gui=none guifg=LightCyan -hi link Character String -hi link Number Constant -hi link Boolean Constant -hi link Float Number -hi link Conditional Statement -hi link Repeat Statement -hi link Label Statement -hi link Operator Statement -hi link Keyword Statement -hi link Exception Statement -hi link Macro Include -hi link PreCondit PreProc -hi link Structure Type -hi link Typedef Type -hi link Tag Special -hi link SpecialChar Special -hi link Delimiter Special -hi link SpecialComment Special -hi link Debug Special diff --git a/.vim/colors/lilac.vim b/.vim/colors/lilac.vim deleted file mode 100644 index ef825fa..0000000 --- a/.vim/colors/lilac.vim +++ /dev/null @@ -1,75 +0,0 @@ -" GUI-only vim color file -" Author: Christian MICHON -" Version: 1.0 -" Last Change: 10 Oct 2002 - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif - -let g:colors_name = "lilac" - -hi Boolean guifg=#00f080 guibg=#503040 gui=none -hi Character guifg=#00f080 guibg=#503040 gui=none -hi Comment guifg=#c0c0c0 guibg=#503040 gui=underline -hi Conditional guifg=#60d0d0 guibg=#503040 gui=bold -hi Constant guifg=#00f080 guibg=#503040 gui=none -hi Cursor guifg=#000000 guibg=#f0f000 gui=none -hi Debug guifg=#b0d0f0 guibg=#503040 gui=none -hi Define guifg=#f0f000 guibg=#503040 gui=none -hi Delimiter guifg=#b0d0f0 guibg=#503040 gui=none -hi DiffAdd guifg=#f0f000 guibg=#805070 gui=bold -hi DiffChange guifg=#f0f0f0 guibg=#805070 gui=none -hi DiffDelete guifg=#503040 guibg=#805070 gui=none -hi DiffText guifg=#000000 guibg=#f0f000 gui=bold -hi Directory guifg=#f0f000 guibg=#503040 gui=underline -hi Error guifg=#000000 guibg=#b0d0f0 gui=bold -hi ErrorMsg guifg=#000000 guibg=#b0d0f0 gui=bold -hi Exception guifg=#60d0d0 guibg=#503040 gui=bold -hi Float guifg=#00f080 guibg=#503040 gui=none -hi FoldColumn guifg=#b0d0f0 guibg=#805070 gui=bold -hi Folded guifg=#b0d0f0 guibg=#805070 gui=bold -hi Function guifg=#f0a070 guibg=#503040 gui=none -hi Identifier guifg=#f0a070 guibg=#503040 gui=none -hi Ignore guifg=#503040 guibg=#503040 gui=none -hi Include guifg=#f0f000 guibg=#503040 gui=none -hi IncSearch guifg=#000000 guibg=#b0d0f0 gui=bold -hi Keyword guifg=#60d0d0 guibg=#503040 gui=bold -hi Label guifg=#60d0d0 guibg=#503040 gui=bold -hi lCursor guifg=#f0f0f0 guibg=#503040 gui=none -hi LineNr guifg=#c0c0c0 guibg=#805070 gui=bold -hi Macro guifg=#f0f000 guibg=#503040 gui=none -hi ModeMsg guifg=#f0f0f0 guibg=#503040 gui=bold -hi MoreMsg guifg=#f070a0 guibg=#503040 gui=bold -hi NonText guifg=#c0c0c0 guibg=#503040 gui=bold -hi Normal guifg=#f0f0f0 guibg=#503040 gui=none -hi Number guifg=#00f080 guibg=#503040 gui=none -hi Operator guifg=#60d0d0 guibg=#503040 gui=bold -hi PreCondit guifg=#f0f000 guibg=#503040 gui=none -hi PreProc guifg=#f0f000 guibg=#503040 gui=none -hi Question guifg=#f070a0 guibg=#503040 gui=bold -hi Repeat guifg=#60d0d0 guibg=#503040 gui=bold -hi Search guifg=#000000 guibg=#b0d0f0 gui=bold -hi Special guifg=#b0d0f0 guibg=#503040 gui=none -hi SpecialChar guifg=#b0d0f0 guibg=#503040 gui=none -hi SpecialComment guifg=#b0d0f0 guibg=#503040 gui=none -hi SpecialKey guifg=#f0f000 guibg=#503040 gui=none -hi Statement guifg=#60d0d0 guibg=#503040 gui=bold -hi StatusLine guifg=#000000 guibg=#f0f0f0 gui=bold -hi StatusLineNC guifg=#c0c0c0 guibg=#805070 gui=bold -hi StorageClass guifg=#f070a0 guibg=#503040 gui=bold -hi String guifg=#00f080 guibg=#503040 gui=none -hi Structure guifg=#f070a0 guibg=#503040 gui=bold -hi Tag guifg=#b0d0f0 guibg=#503040 gui=none -hi Title guifg=#00f080 guibg=#503040 gui=bold -hi Todo guifg=#f0f000 guibg=#0000f0 gui=none -hi Type guifg=#f070a0 guibg=#503040 gui=bold -hi Typedef guifg=#f070a0 guibg=#503040 gui=bold -hi Underlined guifg=#b0d0f0 guibg=#503040 gui=underline -hi VertSplit guifg=#000000 guibg=#b0d0f0 gui=bold -hi Visual guifg=#000000 guibg=#b0d0f0 gui=underline -hi VisualNOS guifg=#f0f0f0 guibg=#503040 gui=underline -hi WarningMsg guifg=#000000 guibg=#b0d0f0 gui=bold -hi WildMenu guifg=#f0f0f0 guibg=#0000f0 gui=none diff --git a/.vim/colors/lingodirector.vim b/.vim/colors/lingodirector.vim deleted file mode 100644 index 57f2b3c..0000000 --- a/.vim/colors/lingodirector.vim +++ /dev/null @@ -1,44 +0,0 @@ -" Vim color file -" Maintainer: Thomas Schmall <ts_nowhere@yahoo.com> -" Last Change: 2004 June 16 -" Version:1.0 -" URL: http://www.oxpal.com/index.php?o=dev_vim&lan=en -" -" Note: you can type :set number! to activate or deactivate the line numbering, wich also -" looks similar to Director - -set background=light -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name="lingodirector" - -hi Normal guifg=black guibg=white ctermfg=Black ctermbg=white -hi Title guifg=black guibg=white ctermfg=Black ctermbg=white gui=BOLD -hi lCursor guibg=Cyan guifg=NONE - -hi LineNr guifg=white guibg=#8c9bfa - - - -" syntax highlighting groups -hi Comment ctermfg=Red guifg=#c80000 gui=NONE -hi Operator term=None cterm=None gui=None - -hi Identifier ctermfg=Green guifg=#008000 gui=NONE - -hi Statement ctermfg=Blue guifg=#0000c8 gui=NONE -hi TypeDef ctermfg=Blue guifg=#0000c8 gui=NONE -hi Type ctermfg=Blue guifg=#0000c8 gui=NONE -hi Boolean ctermfg=Blue guifg=#0000c8 gui=NONE - -hi String ctermfg=Gray guifg=#808080 gui=NONE -hi Number ctermfg=Gray guifg=#808080 gui=NONE -hi Constant ctermfg=Gray guifg=#808080 gui=NONE - -hi Function ctermfg=Green guifg=#008040 gui=NONE -hi PreProc ctermfg=Green guifg=#008040 gui=NONE -hi Keyword ctermfg=Green guifg=#008040 gui=NONE - -"set number diff --git a/.vim/colors/manxome.vim b/.vim/colors/manxome.vim deleted file mode 100644 index 0db38ea..0000000 --- a/.vim/colors/manxome.vim +++ /dev/null @@ -1,47 +0,0 @@ -""" local syntax file - set colors on a per-machine basis: -""" Vim color file -""" Title: Manxome Foes Color Scheme -""" Maintainer: Ricardo SIGNES <rjbs-vim@lists.manxome.org> -""" This Version: R2v2 [2003-07-16] -""" suggested vim editing options: tw=0 ts=4 sw=4 - -"" clear and re-initialize global variables -hi clear -set background=dark -if exists("syntax_on") - syntax reset -endif -let g:colors_name = "manxome" - -"" set highlight groups -"" you'll notice that the ctermbg is often 'none'; this is so that when -"" console vim runs in a terminal, transparency (if any) is not broken - -highlight Title ctermfg=3 ctermbg=none cterm=bold guifg=#ffff00 guibg=#000000 gui=none -highlight Directory ctermfg=4 ctermbg=none cterm=bold guifg=#0000ff guibg=#000000 gui=none -highlight StatusLine ctermfg=7 ctermbg=4 cterm=bold guifg=#ffffff guibg=#0000ff gui=none -highlight StatusLineNC ctermfg=0 ctermbg=4 cterm=bold guifg=#000000 guibg=#0000ff gui=none -highlight Normal ctermfg=7 ctermbg=none cterm=none guifg=#cccccc guibg=#000000 gui=none -highlight Search ctermfg=7 ctermbg=4 cterm=bold guifg=#ffffff guibg=#0000ff gui=none -highlight Visual ctermfg=7 ctermbg=6 cterm=bold guifg=#ffffff guibg=#00aaaa gui=none - -"" set major preferred groups - -highlight Comment ctermfg=2 ctermbg=none cterm=bold guifg=#00ff00 guibg=#000000 gui=none -highlight Constant ctermfg=6 ctermbg=none cterm=bold guifg=#00ffff guibg=#000000 gui=none -highlight Identifier ctermfg=4 ctermbg=none cterm=bold guifg=#0000ee guibg=#000000 gui=none -highlight Statement ctermfg=6 ctermbg=none cterm=none guifg=#00aaaa guibg=#000000 gui=none -highlight PreProc ctermfg=7 ctermbg=none cterm=bold guifg=#ffffff guibg=#000000 gui=none -highlight Type ctermfg=6 ctermbg=none cterm=none guifg=#00aaaa guibg=#000000 gui=none -highlight Special ctermfg=7 ctermbg=none cterm=bold guifg=#ffffff guibg=#000000 gui=none -highlight Underlined ctermfg=2 ctermbg=none cterm=none guifg=#00aa00 guibg=#000000 gui=none -highlight Ignore ctermfg=0 ctermbg=none cterm=bold guifg=#aaaaaa guibg=#000000 gui=none -highlight Error ctermfg=1 ctermbg=none cterm=bold guibg=#ff0000 guibg=#000000 gui=none -highlight Todo ctermfg=3 ctermbg=none cterm=none guifg=#aaaa00 guibg=#000000 gui=none - -" set syntax-specific groups -" I'd like to avoid using these, but the default settings for these two are -" just no good. Seeing italic text in Vim is just plain wrong. - -highlight htmlBold ctermfg=7 ctermbg=none cterm=bold guifg=#ffffff guibg=#000000 gui=none -highlight htmlItalic ctermfg=5 ctermbg=none cterm=bold guifg=#ff00ff guibg=#000000 gui=none diff --git a/.vim/colors/mars.vim b/.vim/colors/mars.vim deleted file mode 100644 index 408ae79..0000000 --- a/.vim/colors/mars.vim +++ /dev/null @@ -1,142 +0,0 @@ -" Maintainer: Tim Aldrich <aldy0169@yahoo.com> -" Last Change: 19 November 2003 - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name="mars" -" GUI colors {{{ -"hi Normal guifg=#FFFFFF guibg=#961E00 -hi Normal guifg=#FFFFFF guibg=#961E00 -hi Cursor guifg=#A0963C guibg=#FFFFFF -hi CursorIM guifg=#6699CC guibg=#99CCCC -hi Directory guifg=#B45000 guibg=#961E00 -hi DiffAdd guifg=#FFFFCC guibg=#961E00 -hi DiffChange guifg=#FF9900 guibg=#961E00 -hi DiffDelete guifg=#999999 guibg=#961E00 -hi DiffText guifg=#FFFFFF guibg=#961E00 -hi ErrorMsg guifg=#FFFFFF guibg=#FF0000 -hi VertSplit guifg=#FFFFFF guibg=#961E00 -hi Folded guifg=#999999 guibg=#BE1E00 gui=italic -hi FoldColumn guifg=#CC0000 guibg=#999999 -hi IncSearch guifg=#FFFF00 guibg=#961E00 -hi LineNr guifg=#999999 guibg=#BE1E00 -hi ModeMsg guifg=#FFFFFF guibg=#961E00 -hi MoreMsg guifg=#FFFFFF guibg=#961E00 -hi NonText guifg=#FFFFFF guibg=#A0141E -hi Question guifg=#FFFFFF guibg=#EE0000 -hi Search guifg=#A0142B guibg=#FFFF00 gui=underline -hi SpecialKey guifg=#FFFF00 guibg=#961E00 -hi StatusLine guifg=#FFFFFF guibg=#961E00 -hi StatusLineNC guifg=#CCCCCC guibg=#961E00 -hi Title guifg=#FFFFFF guibg=#FF9900 -hi Visual guifg=#B45000 guibg=#961E00 -hi WarningMsg guifg=#FF0000 guibg=#FFFFFF -hi WildMenu guifg=#961E00 guibg=#999999 -" }}} - -" cterm colors {{{ -hi Normal ctermfg=white ctermbg=darkblue -hi Cursor ctermfg=darkblue ctermbg=white -hi CursorIM ctermfg=lightcyan ctermbg=lightcyan -hi Directory ctermfg=lightblue ctermbg=lightcyan -hi DiffAdd ctermfg=LightYellow ctermbg=darkblue -hi DiffChange ctermfg=darkred ctermbg=darkblue -hi DiffDelete ctermfg=grey ctermbg=darkblue -hi DiffText ctermfg=white ctermbg=darkblue -hi ErrorMsg ctermfg=red ctermbg=lightcyan -hi VertSplit ctermfg=white ctermbg=darkblue -hi Folded ctermfg=grey ctermbg=darkblue -hi FoldColumn ctermfg=darkred ctermbg=lightcyan -hi IncSearch ctermfg=yellow ctermbg=darkblue -hi LineNr ctermfg=lightyellow ctermbg=darkblue -hi ModeMsg ctermfg=white ctermbg=darkblue -hi MoreMsg ctermfg=white ctermbg=darkblue -hi NonText ctermfg=white ctermbg=lightblue -hi Question ctermfg=white ctermbg=darkblue -hi Search ctermfg=darkred ctermbg=lightcyan -hi SpecialKey ctermfg=yellow ctermbg=darkblue -hi StatusLine ctermfg=white ctermbg=darkblue -hi StatusLineNC ctermfg=lightgrey ctermbg=darkblue -hi Title ctermfg=white ctermbg=yellow -hi Visual ctermfg=lightblue ctermbg=cyan -hi WarningMsg ctermfg=red ctermbg=white -hi WildMenu ctermfg=darkblue ctermbg=grey -" }}} - -" GUI hilight groups {{{ - -hi Comment guifg=#999999 -hi Constant guifg=#FFFF00 -hi String guifg=#CCCC99 -hi Character guifg=#A0963C -hi Number guifg=#A0963C -hi Boolean guifg=#A0963C -hi Float guifg=#A0963C -hi Identifier guifg=#E6fA46 -hi Function guifg=#E6fA46 -hi Statement guifg=#FFFFCC -hi Conditional guifg=#FFFFCC -hi Repeat guifg=#FFFFCC -hi Label guifg=#E66E46 -hi Operator guifg=#FFFF00 -hi Keyword guifg=#FFFF00 -hi Exception guifg=#FFFFAA -hi PreProc guifg=#C8783C -hi Include guifg=#C8783C -hi Define guifg=#C8783C -hi Macro guifg=#C8783C -hi PreCondit guifg=#C8783C -hi Type guifg=#E6641E -hi StorageClass guifg=#E66E46 -hi Structure guifg=#E66E46 -hi Typedef guifg=#E66E46 -hi Special guifg=#00FF00 -hi SpecialChar guifg=#00FF00 -hi Tag guifg=#CCCCFF -hi Delimiter guifg=#CCCCFF -hi SpecialComment guifg=#FFFFCC -hi Debug guifg=#CC3300 -hi Ignore guifg=#961E00 -hi Error guifg=#FF0000 guibg=#FFFFFF -hi Todo guifg=#FFFF00 guibg=#961E00 -" }}} - -" cterm hilight groups {{{ -hi Comment ctermfg=grey -hi Constant ctermfg=lightgreen -hi String ctermfg=brown -hi Character ctermfg=lightgreen -hi Number ctermfg=lightgreen -hi Boolean ctermfg=lightgreen -hi Float ctermfg=lightgreen -hi Identifier ctermfg=lightcyan -hi Function ctermfg=lightcyan -hi Statement ctermfg=lightyellow -hi Conditional ctermfg=lightyellow -hi Repeat ctermfg=lightyellow -hi Label ctermfg=lightcyan -hi Operator ctermfg=yellow -hi Keyword ctermfg=yellow -hi Exception ctermfg=yellow -hi PreProc ctermfg=darkcyan -hi Include ctermfg=darkcyan -hi Define ctermfg=darkcyan -hi Macro ctermfg=darkcyan -hi PreCondit ctermfg=darkcyan -hi Type ctermfg=lightcyan -hi StorageClass ctermfg=lightcyan -hi Structure ctermfg=lightcyan -hi Typedef ctermfg=lightcyan -hi Special ctermfg=green -hi SpecialChar ctermfg=green -hi Tag ctermfg=brown -hi Delimiter ctermfg=brown -hi SpecialComment ctermfg=lightyellow -hi Debug ctermfg=magenta -hi Ignore ctermfg=lightblue -hi Error ctermfg=red ctermbg=white -hi Todo ctermfg=grey ctermbg=white -" }}} diff --git a/.vim/colors/matrix.vim b/.vim/colors/matrix.vim deleted file mode 100644 index da5c687..0000000 --- a/.vim/colors/matrix.vim +++ /dev/null @@ -1,80 +0,0 @@ -" vim:set ts=8 sts=2 sw=2 tw=0: -" -" matrix.vim - MATRIX like colorscheme. -" -" Maintainer: MURAOKA Taro <koron@tka.att.ne.jp> -" Last Change: 10-Jun-2003. - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name = 'matrix' - -" the character under the cursor -hi Cursor guifg=#226622 guibg=#55ff55 -hi lCursor guifg=#226622 guibg=#55ff55 -" like Cursor, but used when in IME mode |CursorIM| -hi CursorIM guifg=#226622 guibg=#55ff55 -" directory names (and other special names in listings) -hi Directory guifg=#55ff55 guibg=#000000 -" diff mode: Added line |diff.txt| -hi DiffAdd guifg=#55ff55 guibg=#226622 gui=none -" diff mode: Changed line |diff.txt| -hi DiffChange guifg=#55ff55 guibg=#226622 gui=none -" diff mode: Deleted line |diff.txt| -hi DiffDelete guifg=#113311 guibg=#113311 gui=none -" diff mode: Changed text within a changed line |diff.txt| -hi DiffText guifg=#55ff55 guibg=#339933 gui=bold -" error messages on the command line -hi ErrorMsg guifg=#55ff55 guibg=#339933 -" the column separating vertically split windows -hi VertSplit guifg=#339933 guibg=#339933 -" line used for closed folds -hi Folded guifg=#44cc44 guibg=#113311 -" 'foldcolumn' -hi FoldColumn guifg=#44cc44 guibg=#226622 -" 'incsearch' highlighting; also used for the text replaced with -hi IncSearch guifg=#226622 guibg=#55ff55 gui=none -" line number for ":number" and ":#" commands, and when 'number' -hi LineNr guifg=#44cc44 guibg=#000000 -" 'showmode' message (e.g., "-- INSERT --") -hi ModeMsg guifg=#44cc44 guibg=#000000 -" |more-prompt| -hi MoreMsg guifg=#44cc44 guibg=#000000 -" '~' and '@' at the end of the window, characters from -hi NonText guifg=#44cc44 guibg=#113311 -" normal text -hi Normal guifg=#44cc44 guibg=#000000 -" |hit-enter| prompt and yes/no questions -hi Question guifg=#44cc44 guibg=#000000 -" Last search pattern highlighting (see 'hlsearch'). -hi Search guifg=#113311 guibg=#44cc44 gui=none -" Meta and special keys listed with ":map", also for text used -hi SpecialKey guifg=#44cc44 guibg=#000000 -" status line of current window -hi StatusLine guifg=#55ff55 guibg=#339933 gui=none -" status lines of not-current windows -hi StatusLineNC guifg=#113311 guibg=#339933 gui=none -" titles for output from ":set all", ":autocmd" etc. -hi Title guifg=#55ff55 guibg=#113311 gui=bold -" Visual mode selection -hi Visual guifg=#55ff55 guibg=#339933 gui=none -" Visual mode selection when vim is "Not Owning the Selection". -hi VisualNOS guifg=#44cc44 guibg=#000000 -" warning messages -hi WarningMsg guifg=#55ff55 guibg=#000000 -" current match in 'wildmenu' completion -hi WildMenu guifg=#226622 guibg=#55ff55 - -hi Comment guifg=#226622 guibg=#000000 -hi Constant guifg=#55ff55 guibg=#226622 -hi Special guifg=#44cc44 guibg=#226622 -hi Identifier guifg=#55ff55 guibg=#000000 -hi Statement guifg=#55ff55 guibg=#000000 gui=bold -hi PreProc guifg=#339933 guibg=#000000 -hi Type guifg=#55ff55 guibg=#000000 gui=bold -hi Underlined guifg=#55ff55 guibg=#000000 gui=underline -hi Error guifg=#55ff55 guibg=#339933 -hi Todo guifg=#113311 guibg=#44cc44 gui=none diff --git a/.vim/colors/metacosm.vim b/.vim/colors/metacosm.vim deleted file mode 100644 index e5eaa5f..0000000 --- a/.vim/colors/metacosm.vim +++ /dev/null @@ -1,132 +0,0 @@ -" Vim color file -" Maintainer: Robert Melton ( vim at metacosm dot dhs dot org ) -" Last Change: 2004 June 19th - - -" ----------------------------------------------------------------------------- -" This color scheme uses a dark grey background. -" This theme, based on evening (with some input from Torte) is designed to -" seperate active text (code) from background/line numbers/folds/listchars by -" having different background colors on the non-code and the code (just -" slightly). If you look at the screenshot below, you will get the idea. -" All non-code(include indents) and string literals have a black background -" while code has a very dark grey background. -" ----------------------------------------------------------------------------- -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif - -let colors_name = "metacosm" - - -" ----------------------------------------------------------------------------- -" Primary (hyper/selected/colored background) -" ----------------------------------------------------------------------------- -" Search -hi IncSearch guibg=black guifg=cyan -hi Search guibg=black guifg=cyan - -" Visual -hi Visual guibg=black guifg=yellow -hi VisualNOS guibg=black guifg=yellow gui=underline - -" Borders -hi StatusLine guibg=black guifg=white -hi StatusLineNC guibg=grey22 guifg=grey45 -hi VertSplit guibg=black guifg=grey45 - -" Cursors -hi Cursor guibg=white guifg=black -hi lCursor guibg=white guifg=black - -" Diff -hi DiffText guibg=red guifg=white gui=bold -hi DiffAdd guibg=darkblue guifg=white -hi DiffChange guibg=darkmagenta guifg=white -hi DiffDelete guibg=darkcyan guifg=blue gui=bold - -" Misc -hi Title guifg=magenta gui=bold -hi Question guibg=black guifg=green gui=bold -hi Todo guibg=black guifg=cyan -hi Error guibg=red guifg=white -hi WildMenu guibg=cyan guifg=black - - -" ----------------------------------------------------------------------------- -" Primary (active/code/text/grey background) -" ----------------------------------------------------------------------------- -" Normal -hi Normal guibg=grey22 guifg=white - -" Constants -hi Constant guibg=grey22 guifg=#ffa0a0 -hi String guibg=grey22 guifg=#ffa0a0 -hi Character guibg=grey22 guifg=#ffa0a0 -hi Number guibg=grey22 guifg=#ffa0a0 -hi Boolean guibg=grey22 guifg=#ffa0a0 -hi Float guibg=grey22 guifg=#ffa0a0 - -" Identifier -hi Identifier guibg=grey22 guifg=#40ffff -hi Function guibg=grey22 guifg=#40ffff - -" Statement -hi Statement guibg=grey22 guifg=#ffff60 -hi Conditional guibg=grey22 guifg=#ffff60 -hi Repeat guibg=grey22 guifg=#ffff60 -hi Label guibg=grey22 guifg=#ffff60 -hi Operator guibg=grey22 guifg=#ffff60 -hi Keyword guibg=grey22 guifg=#ffff60 -hi Exception guibg=grey22 guifg=#ffff60 - -" PreProc -hi PreProc guibg=grey22 guifg=#ff80ff -hi Include guibg=grey22 guifg=#ff80ff -hi Define guibg=grey22 guifg=#ff80ff -hi Macro guibg=grey22 guifg=#ff80ff -hi PreCondit guibg=grey22 guifg=#ff80ff - -" Type -hi Type guibg=grey22 guifg=#60ff60 -hi StorageClass guibg=grey22 guifg=#60ff60 -hi Structure guibg=grey22 guifg=#60ff60 -hi Typedef guibg=grey22 guifg=#60ff60 - -" Special -hi Special guibg=grey22 guifg=orange -hi SpecialChar guibg=grey22 guifg=orange -hi Tag guibg=grey22 guifg=orange -hi Delimiter guibg=grey22 guifg=orange -hi Debug guibg=grey22 guifg=orange - -" Misc -hi Underlined guibg=grey22 guifg=#ffff60 gui=underline - - -" ----------------------------------------------------------------------------- -" Secondary (inactive/black background) -" ----------------------------------------------------------------------------- -" Comments -hi Comment guibg=black guifg=#80a0ff -hi SpecialComment guibg=black guifg=#80a0ff gui=underline - -" Messages -hi ModeMsg guibg=black guifg=white gui=bold -hi MoreMsg guibg=black guifg=seagreen gui=bold -hi WarningMsg guibg=black guifg=blue gui=bold -hi ErrorMsg guibg=black guifg=red gui=bold - -" Folding -hi Folded guibg=black guifg=grey45 -hi FoldColumn guibg=black guifg=grey45 - -" Misc -hi Ignore guibg=black guifg=grey45 -hi NonText guibg=black guifg=grey45 -hi LineNr guibg=black guifg=grey45 -hi SpecialKey guibg=black guifg=grey45 -hi SignColumn guibg=black guifg=grey45 -hi Directory guibg=black guifg=cyan diff --git a/.vim/colors/midnight.vim b/.vim/colors/midnight.vim deleted file mode 100644 index 5fab610..0000000 --- a/.vim/colors/midnight.vim +++ /dev/null @@ -1,80 +0,0 @@ -" Vim color file -" Maintainer: Michael Brailsford <brailsmt@yahoo.com> -" Date: $Date: 2002/04/11 03:29:51 $ -" Version: $Revision: 1.4 $ - -" cool help screens -" :he group-name -" :he highlight-groups -" :he cterm-colors - -" your pick: -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name="midnight" - -hi Normal guifg=lightsteelblue guibg=#00006f ctermfg=14 - -"Toggle semicolon matching at the end of lines -nmap <silent> <leader>; :call ToggleSemicolonHighlighting()<cr> -"{{{ -function! ToggleSemicolonHighlighting() - if exists("b:semicolon") - unlet b:semicolon - hi semicolon guifg=NONE gui=NONE ctermfg=NONE - else - syn match semicolon #;$# - hi semicolon guifg=red gui=bold ctermfg=1 - let b:semicolon = 1 - endif -endfunction -"}}} - -hi Cursor guifg=bg guibg=fg ctermfg=0 ctermbg=11 -"hi CursorIM -hi Directory gui=bold -hi DiffAdd guifg=yellow guibg=darkgreen ctermbg=0 -"hi DiffChange -"hi DiffDelete -"hi DiffText -hi ErrorMsg guibg=red ctermfg=1 -"hi VertSplit -hi Folded guibg=#000047 ctermbg=4 guifg=yellow ctermfg=11 gui=bold -hi FoldColumn guibg=steelblue3 ctermbg=14 guifg=darkblue ctermfg=11 gui=bold -"hi IncSearch -hi LineNr guifg=yellow ctermfg=11 -hi ModeMsg guifg=yellow gui=bold -"hi MoreMsg -"hi NonText -"hi Question -hi Search guibg=yellow guifg=bg -"hi SpecialKey -hi StatusLine guifg=steelblue1 -hi StatusLineNC guifg=steelblue3 -"hi Title -hi Visual guifg=fg guibg=bg -"hi VisualNOS -"hi WarningMsg -"hi WildMenu -"hi Menu -"hi Scrollbar -"hi Tooltip - -" syntax highlighting groups -hi Comment guifg=green ctermfg=10 -hi Constant guifg=lightmagenta gui=bold ctermfg=13 -hi String guifg=indianred1 ctermfg=5 -hi Character guifg=violet ctermfg=5 -hi Number guifg=turquoise1 ctermfg=5 -"hi Identifier -hi Statement guifg=khaki1 gui=bold ctermfg=15 cterm=underline -hi PreProc guifg=firebrick1 gui=italic ctermfg=9 -hi Type guifg=gold gui=bold ctermfg=3 -"hi Special -"hi Underlined -"hi Ignore -"hi Error -hi Todo guifg=yellow guibg=blue gui=bold diff --git a/.vim/colors/midnight2.vim b/.vim/colors/midnight2.vim deleted file mode 100644 index da99d00..0000000 --- a/.vim/colors/midnight2.vim +++ /dev/null @@ -1,86 +0,0 @@ -" Vim color file -" Maintainer: Michael Brailsford <brailsmt@yahoo.com> -" Date: $Date: 2002/04/11 03:29:51 $ -" Version: $Revision: 1.4 $ -" Inspiration: This colorscheme was inspired by midnight.vim. It is a darker -" version of it. With some colors tweaked. -" Thanks: Thanks go to Hans Fugal for creating the colorscheme template. -" Without it I would have been lost creating the original midnight.vim -" Note: If you do not like the dark look of the colorscheme, you can -" easily lighten things up with the following line: -" :%s/\(\w\)3/\12/g -" It is easily pasteable into the command line. you can also -" change "\12" to "\11", "\1" or "\14" (if you want things even -" darker). If you do use the "\14" replacement, then it looks -" like your monitor in a fog bank. :) - -" your pick: -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name="midnight2" - -hi Normal guifg=slategray3 guibg=#000029 ctermfg=14 - -"Toggle semicolon matching at the end of lines -nmap <silent> <leader>; :call ToggleSemicolonHighlighting()<cr> -"{{{ -function! ToggleSemicolonHighlighting() - if exists("b:semicolon") - unlet b:semicolon - hi semicolon guifg=NONE gui=NONE ctermfg=NONE - else - syn match semicolon #;$# - hi semicolon guifg=red3 gui=bold ctermfg=1 - let b:semicolon = 1 - endif -endfunction -"}}} - -hi Cursor guifg=bg guibg=fg ctermfg=0 ctermbg=11 -"hi CursorIM -hi Directory gui=bold -hi DiffAdd guifg=yellow3 guibg=darkgreen ctermbg=0 -"hi DiffChange -"hi DiffDelete -"hi DiffText -hi ErrorMsg guibg=red3 ctermfg=1 -"hi VertSplit -hi Folded guibg=#00001a ctermbg=4 guifg=yellow3 ctermfg=11 gui=NONE -hi FoldColumn guibg=steelblue3 ctermbg=14 guifg=navyblue ctermfg=11 gui=bold -"hi IncSearch -hi LineNr guifg=yellow3 ctermfg=11 -hi ModeMsg guifg=yellow3 gui=bold -"hi MoreMsg -"hi NonText -"hi Question -hi Search guibg=yellow3 guifg=bg -"hi SpecialKey -hi StatusLine guifg=steelblue3 -hi StatusLineNC guifg=steelblue4 -"hi Title -hi Visual guifg=fg guibg=bg -"hi VisualNOS -"hi WarningMsg -"hi WildMenu -"hi Menu -"hi Scrollbar -"hi Tooltip - -" syntax highlighting groups -hi Comment guifg=chartreuse3 ctermfg=10 -hi Constant guifg=plum3 gui=bold ctermfg=13 -hi String guifg=indianred3 ctermfg=5 -hi Character guifg=mediumpurple3 ctermfg=5 -hi Number guifg=turquoise3 ctermfg=5 -"hi Identifier -hi Statement guifg=khaki3 gui=bold ctermfg=15 cterm=underline -hi PreProc guifg=firebrick3 gui=italic ctermfg=9 -hi Type guifg=gold3 gui=bold ctermfg=3 -"hi Special -"hi Underlined -"hi Ignore -"hi Error -hi Todo guifg=yellow3 guibg=blue3 gui=bold diff --git a/.vim/colors/mod_tcsoft.vim b/.vim/colors/mod_tcsoft.vim deleted file mode 100644 index b36dab2..0000000 --- a/.vim/colors/mod_tcsoft.vim +++ /dev/null @@ -1,68 +0,0 @@ -"mod_tcsoft is based on the tcsoft-color scheme -"(http://www.vim.org/scripts/script.php?script_id=641), made by Ingo Fabbri -"<vim@tcsoft.net> -" -"I changed the cursor and the background-colors. Hope you like it. - -" Author: André Kelpe <fs111 at web dot de> -" Last Change: Jan 13 10:33:46 CET 2005 -" - -set background=light -hi clear -if exists("syntax_on") - syntax reset -endif -let colors_name = "mod_tcsoft" - -hi Normal guifg=#000000 guibg=floralwhite -hi Ignore guifg=bg -hi Comment guifg=#1050ff gui=italic -hi Folded guifg=black guibg=#d1cdc5 -hi FoldColumn guifg=black guibg=#d1cdc5 -hi Constant guifg=#666666 gui=NONE "grau -hi Special guifg=#FF0000 gui=NONE "rot -hi Identifier guifg=#993300 gui=NONE "rostfarbig -hi Statement guifg=#FF9900 gui=NONE "orange -hi PreProc guifg=#009900 gui=NONE "dunkelgrün -hi Type guifg=#FF9900 gui=bold "orange -hi Cursor guifg=#FFFFFF guibg=#000000 "schwarz -hi LineNr guifg=#000000 gui=NONE "schwarz -hi StatusLine guifg=#000000 gui=reverse,bold "schwarz -hi Title guifg=#1050ff gui=bold -hi Todo guibg=#1050ff guifg=floralwhite gui=bold -hi Search guifg=white guibg=#1050ff - - -hi link Function PreProc -hi link String Constant -hi link Character Constant - -hi! link MoreMsg Comment -hi! link ErrorMsg Visual -hi! link WarningMsg ErrorMsg -hi! link Question Comment - -hi link Number Special -hi link Boolean Constant -hi link Float Number - -hi link Operator Identifier -hi link Keyword Statement -hi link Exception Statement -hi link Include PreProc -hi link Define PreProc -hi link Macro PreProc - -hi link Conditional Statement -hi link Repeat Statement -hi link Label Statement - -hi link PreCondit PreProc -hi link StorageClass Type -hi link Structure Type -hi link Typedef Type -hi link SpecialChar Special -hi link Delimiter Special -hi link SpecialComment Comment -hi link Debug Special diff --git a/.vim/colors/navajo-night.vim b/.vim/colors/navajo-night.vim deleted file mode 100644 index f0c27f0..0000000 --- a/.vim/colors/navajo-night.vim +++ /dev/null @@ -1,119 +0,0 @@ -" Vim colour file -" Maintainer: Matthew Hawkins <matt@mh.dropbear.id.au> -" Last Change: Mon, 22 Apr 2002 15:28:04 +1000 -" URI: http://mh.dropbear.id.au/vim/navajo-night.png -" -" This colour scheme uses a "navajo-black" background -" I have added colours for the statusbar and for spell checking -" as taken from Cream (http://cream.sf.net/) - - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif - -let g:colors_name = "navajo-night" - -" This is the list of colour changes from Navajo that -" weren't a simple mathematical subtraction from 0xffffff -" DarkBlue -> #ffff74 -" DarkRed -> #74ffff -" DarkGreen -> #ff9bff -" DarkCyan -> #ff7474 -" DarkMagenta -> #74ff74 -" DarkYellow -> #7474ff -" DarkGray -> #565656 -" Blue -> Yellow -" Red -> Cyan -" Yellow -> Blue -" Gray -> #414141 -" Brown -> #5ad5d5 -" #ff8060 -> #007f9f -" #f6e8d0 -> #09172f -" #edb5cd -> #124a32 -" #c0c0c0 -> #3f3f3f -" #907050 -> #6f8faf -" #808080 -> #7f7f7f -" #707070 -> #8f8f8f -" SeaGreen -> #d174a8 -" LightRed (assuming #ee9090) -> #116f6f -" LightBlue -> #522719 - -hi Normal ctermfg=White guifg=White guibg=#35536f - -hi SpecialKey term=bold ctermfg=darkblue guifg=Yellow -hi NonText term=bold ctermfg=darkblue cterm=bold gui=bold guifg=#7f7f7f -hi Directory term=bold ctermfg=darkblue guifg=Yellow -hi ErrorMsg term=standout ctermfg=grey ctermbg=darkred cterm=bold gui=bold guifg=Black guibg=Cyan -hi IncSearch term=reverse cterm=reverse gui=reverse -hi Search term=reverse ctermbg=White ctermfg=Black cterm=reverse guibg=Black guifg=Yellow -hi MoreMsg term=bold ctermfg=green gui=bold guifg=#d174a8 -hi ModeMsg term=bold cterm=bold gui=bold -hi LineNr term=underline ctermfg=darkcyan ctermbg=grey guibg=#7f7f7f gui=bold guifg=White -hi Question term=standout ctermfg=darkgreen gui=bold guifg=#d174a8 -hi StatusLine term=bold,reverse cterm=bold,reverse gui=bold guifg=Black guibg=White -hi StatusLineNC term=reverse cterm=reverse gui=bold guifg=#116f6f guibg=#8f8f8f -hi VertSplit term=reverse cterm=reverse gui=bold guifg=Black guibg=#8f8f8f -hi Title term=bold ctermfg=green gui=bold guifg=#74ff74 -"+++ Cream: -"hi Visual term=reverse cterm=reverse gui=reverse guifg=#3f3f3f guibg=White -"+++ -hi VisualNOS term=bold,underline cterm=bold,underline gui=reverse guifg=#414141 guibg=Black -hi WarningMsg term=standout ctermfg=darkred gui=bold guifg=Cyan -hi WildMenu term=standout ctermfg=White ctermbg=darkyellow guifg=White guibg=Blue -hi Folded term=standout ctermfg=darkblue ctermbg=grey guifg=White guibg=NONE guifg=#afcfef -hi FoldColumn term=standout ctermfg=darkblue ctermbg=grey guifg=#ffff74 guibg=#3f3f3f -hi DiffAdd term=bold ctermbg=darkblue guibg=Black -hi DiffChange term=bold ctermbg=darkmagenta guibg=#124a32 -hi DiffDelete term=bold ctermfg=darkblue ctermbg=blue cterm=bold gui=bold guifg=#522719 guibg=#09172f -hi DiffText term=reverse ctermbg=darkblue cterm=bold gui=bold guibg=#007f9f -hi Cursor gui=reverse guifg=#bfbfef guibg=Black -hi lCursor guifg=fg guibg=bg -hi Match term=bold,reverse ctermbg=Blue ctermfg=Yellow cterm=bold,reverse gui=bold,reverse guifg=Blue guibg=Yellow - - -" Colours for syntax highlighting -hi Comment term=bold ctermfg=darkblue guifg=#e7e77f -hi Constant term=underline ctermfg=darkred guifg=#3fffa7 -hi Special term=bold ctermfg=darkgreen guifg=#bfbfef -hi Identifier term=underline ctermfg=darkcyan cterm=NONE guifg=#ef9f9f -hi Statement term=bold ctermfg=darkred cterm=bold gui=bold guifg=#5ad5d5 -hi PreProc term=underline ctermfg=darkmagenta guifg=#74ff74 -hi Type term=underline ctermfg=green gui=bold guifg=#d174a8 -hi Ignore ctermfg=grey cterm=bold guifg=bg - -hi Error term=reverse ctermfg=grey ctermbg=darkred cterm=bold gui=bold guifg=Black guibg=Cyan -hi Todo term=standout ctermfg=darkblue ctermbg=Blue guifg=Yellow guibg=Blue - -"+++ Cream: statusbar -" Colours for statusbar -"hi User1 gui=bold guifg=#565656 guibg=#0c0c0c -"hi User2 gui=bold guifg=White guibg=#0c0c0c -"hi User3 gui=bold guifg=Yellow guibg=#0c0c0c -"hi User4 gui=bold guifg=Cyan guibg=#0c0c0c -highlight User1 gui=bold guifg=#999933 guibg=#45637f -highlight User2 gui=bold guifg=#e7e77f guibg=#45637f -highlight User3 gui=bold guifg=Black guibg=#45637f -highlight User4 gui=bold guifg=#33cc99 guibg=#45637f -"+++ - -"+++ Cream: selection -highlight Visual gui=bold guifg=Black guibg=#aacc77 -"+++ - -"+++ Cream: bookmarks -highlight Cream_ShowMarksHL ctermfg=blue ctermbg=lightblue cterm=bold guifg=Black guibg=#aacc77 gui=bold -"+++ - -"+++ Cream: spell check -" Colour misspelt words -"hi BadWord ctermfg=White ctermbg=darkred cterm=bold guifg=Yellow guibg=#522719 gui=bold -" mathematically correct: -"highlight BadWord ctermfg=black ctermbg=lightblue gui=NONE guifg=White guibg=#003333 -" adjusted: -highlight BadWord ctermfg=black ctermbg=lightblue gui=NONE guifg=#ff9999 guibg=#003333 -"+++ - - diff --git a/.vim/colors/navajo.vim b/.vim/colors/navajo.vim deleted file mode 100644 index e7eebe7..0000000 --- a/.vim/colors/navajo.vim +++ /dev/null @@ -1,65 +0,0 @@ -" Vim color file -" Maintainer: R. Edward Ralston <eralston@techsan.org> -" Last Change: 2002-01-24 09:56:48 -" URI: http://eralston.tripod.com/navajo.png -" -" This color scheme uses a "navajo-white" background -" - -set background=light -hi clear -if exists("syntax_on") - syntax reset -endif - -let g:colors_name = "navajo" - -" looks good on Linux -"hi Normal ctermfg=Black guifg=Black guibg=#b39674 -"hi Normal ctermfg=Black guifg=Black guibg=NavajoWhite3 - -" slightly brighter for w32 -hi Normal ctermfg=Black guifg=Black guibg=#ba9c80 - -hi SpecialKey term=bold ctermfg=DarkBlue guifg=Blue -hi NonText term=bold ctermfg=DarkBlue cterm=bold gui=bold guifg=#808080 -hi Directory term=bold ctermfg=DarkBlue guifg=Blue -hi ErrorMsg term=standout ctermfg=Gray ctermbg=DarkRed cterm=bold gui=bold guifg=White guibg=Red -hi IncSearch term=reverse cterm=reverse gui=reverse -hi Search term=reverse ctermbg=Black ctermfg=White cterm=reverse guibg=White -hi MoreMsg term=bold ctermfg=DarkGreen gui=bold guifg=SeaGreen -hi ModeMsg term=bold cterm=bold gui=bold -hi LineNr term=underline ctermfg=DarkCyan ctermbg=Gray guibg=#808080 gui=bold guifg=black -hi Question term=standout ctermfg=DarkGreen gui=bold guifg=SeaGreen -hi StatusLine term=bold,reverse cterm=bold,reverse gui=bold guifg=White guibg=Black -hi StatusLineNC term=reverse cterm=reverse gui=bold guifg=LightRed guibg=#707070 -hi VertSplit term=reverse cterm=reverse gui=bold guifg=White guibg=#707070 -hi Title term=bold ctermfg=DarkMagenta gui=bold guifg=DarkMagenta -hi Visual term=reverse cterm=reverse gui=reverse guifg=#c0c0c0 guibg=black -hi VisualNOS term=bold,underline cterm=bold,underline gui=reverse guifg=Grey guibg=white -hi WarningMsg term=standout ctermfg=DarkRed gui=bold guifg=Red -hi WildMenu term=standout ctermfg=Black ctermbg=DarkYellow guifg=Black guibg=Yellow -hi Folded term=standout ctermfg=DarkBlue ctermbg=Gray guifg=Black guibg=NONE guifg=#907050 -hi FoldColumn term=standout ctermfg=DarkBlue ctermbg=Gray guifg=DarkBlue guibg=#c0c0c0 -hi DiffAdd term=bold ctermbg=DarkBlue guibg=White -hi DiffChange term=bold ctermbg=DarkMagenta guibg=#edb5cd -hi DiffDelete term=bold ctermfg=DarkBlue ctermbg=6 cterm=bold gui=bold guifg=LightBlue guibg=#f6e8d0 -hi DiffText term=reverse ctermbg=DarkRed cterm=bold gui=bold guibg=#ff8060 -hi Cursor gui=reverse guifg=#404010 guibg=white -hi lCursor guifg=bg guibg=fg -hi Match term=bold,reverse ctermbg=Yellow ctermfg=Blue cterm=bold,reverse gui=bold,reverse guifg=yellow guibg=blue - - -" Colors for syntax highlighting -hi Comment term=bold ctermfg=DarkBlue guifg=#181880 -hi Constant term=underline ctermfg=DarkRed guifg=#c00058 -hi Special term=bold ctermfg=DarkMagenta guifg=#404010 -hi Identifier term=underline ctermfg=DarkCyan cterm=NONE guifg=#106060 -hi Statement term=bold ctermfg=DarkRed cterm=bold gui=bold guifg=Brown -hi PreProc term=underline ctermfg=DarkMagenta guifg=DarkMagenta -hi Type term=underline ctermfg=DarkGreen gui=bold guifg=SeaGreen -hi Ignore ctermfg=Gray cterm=bold guifg=bg -hi Error term=reverse ctermfg=Gray ctermbg=DarkRed cterm=bold gui=bold guifg=White guibg=Red -hi Todo term=standout ctermfg=DarkBlue ctermbg=Yellow guifg=Blue guibg=Yellow - -" vim:set list et: diff --git a/.vim/colors/nedit.vim b/.vim/colors/nedit.vim deleted file mode 100644 index 652891f..0000000 --- a/.vim/colors/nedit.vim +++ /dev/null @@ -1,26 +0,0 @@ -" Vim color file -" Maintainer: Vladimir Vrzic <random@bsd.org.yu> -" Last Change: 28. june 2003. -" URL: http://galeb.etf.bg.ac.yu/~random/pub/vim/ - -set background=light -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name="nedit" - -hi Normal guifg=Black guibg=grey90 - -hi Comment gui=italic guifg=gray20 guibg=NONE -hi Constant gui=NONE guifg=darkGreen guibg=NONE -hi Identifier gui=bold guifg=red guibg=NONE -hi Statement gui=bold guifg=black guibg=NONE -hi PreProc gui=NONE guifg=RoyalBlue4 guibg=NONE -hi Type gui=bold guifg=brown guibg=NONE -hi Special gui=NONE guifg=darkGreen guibg=NONE -"hi Underlined -"hi Ignore -"hi Error -"hi Todo - diff --git a/.vim/colors/nedit2.vim b/.vim/colors/nedit2.vim deleted file mode 100644 index 54811f0..0000000 --- a/.vim/colors/nedit2.vim +++ /dev/null @@ -1,29 +0,0 @@ -" Vim color file based on nedit by Vladimir Vrzic <random@bsd.org.yu> -" Maintainer: KraL <kral@paranoici.org> -" Last Change: Friday 13 february 2004. - -set background=light -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name="nedit2" - -hi Normal guifg=Black guibg=grey90 - -hi Cursor guifg=white guibg=black -hi CursorIM guifg=black guibg=black - -hi Comment gui=italic guifg=Purple guibg=NONE -hi Constant gui=NONE guifg=blue guibg=NONE -hi Identifier gui=bold guifg=red guibg=NONE -hi Statement gui=bold guifg=black guibg=NONE -hi PreProc gui=NONE guifg=RoyalBlue4 guibg=NONE -hi Type gui=bold guifg=brown guibg=NONE -hi String gui=NONE guifg=RoyalBlue guibg=NONE -hi Special gui=bold guifg=Magenta3 guibg=NONE -"hi Underlined -"hi Ignore -"hi Error gui=NONE guifg=Red guibg=Linen -"hi Todo - diff --git a/.vim/colors/neon.vim b/.vim/colors/neon.vim deleted file mode 100644 index d0ba309..0000000 --- a/.vim/colors/neon.vim +++ /dev/null @@ -1,70 +0,0 @@ -" Vim color file -" Maintainer: Tiza -" Last Change: 2002/10/25 Fri 16:23. -" version: 1.2 -" This color scheme uses a dark background. - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif - -let colors_name = "neon" - -hi Normal guifg=#f0f0f0 guibg=#303030 - -" Search -hi IncSearch gui=UNDERLINE guifg=#80ffff guibg=#0060c0 -hi Search gui=NONE guifg=#ffffa8 guibg=#808000 -" hi Search gui=NONE guifg=#b0ffb0 guibg=#008000 - -" Messages -hi ErrorMsg gui=BOLD guifg=#ffa0ff guibg=NONE -hi WarningMsg gui=BOLD guifg=#ffa0ff guibg=NONE -hi ModeMsg gui=BOLD guifg=#a0d0ff guibg=NONE -hi MoreMsg gui=BOLD guifg=#70ffc0 guibg=#8040ff -hi Question gui=BOLD guifg=#e8e800 guibg=NONE - -" Split area -hi StatusLine gui=NONE guifg=#000000 guibg=#c4c4c4 -hi StatusLineNC gui=NONE guifg=#707070 guibg=#c4c4c4 -hi VertSplit gui=NONE guifg=#707070 guibg=#c4c4c4 -hi WildMenu gui=NONE guifg=#000000 guibg=#ff80c0 - -" Diff -hi DiffText gui=NONE guifg=#ff78f0 guibg=#a02860 -hi DiffChange gui=NONE guifg=#e03870 guibg=#601830 -hi DiffDelete gui=NONE guifg=#a0d0ff guibg=#0020a0 -hi DiffAdd gui=NONE guifg=#a0d0ff guibg=#0020a0 - -" Cursor -hi Cursor gui=NONE guifg=#70ffc0 guibg=#8040ff -hi lCursor gui=NONE guifg=#ffffff guibg=#8800ff -hi CursorIM gui=NONE guifg=#ffffff guibg=#8800ff - -" Fold -hi Folded gui=NONE guifg=#40f0f0 guibg=#006090 -hi FoldColumn gui=NONE guifg=#40c0ff guibg=#404040 - -" Other -hi Directory gui=NONE guifg=#c8c8ff guibg=NONE -hi LineNr gui=NONE guifg=#707070 guibg=NONE -hi NonText gui=BOLD guifg=#d84070 guibg=#383838 -hi SpecialKey gui=BOLD guifg=#8888ff guibg=NONE -hi Title gui=BOLD guifg=fg guibg=NONE -hi Visual gui=NONE guifg=#b0ffb0 guibg=#008000 -hi VisualNOS gui=NONE guifg=#ffe8c8 guibg=#c06800 - -" Syntax group -hi Comment gui=NONE guifg=#c0c0c0 guibg=NONE -hi Constant gui=NONE guifg=#92d4ff guibg=NONE -hi Error gui=BOLD guifg=#ffffff guibg=#8000ff -hi Identifier gui=NONE guifg=#40f8f8 guibg=NONE -hi Ignore gui=NONE guifg=bg guibg=NONE -hi PreProc gui=NONE guifg=#ffa8ff guibg=NONE -hi Special gui=NONE guifg=#ffc890 guibg=NONE -hi Statement gui=NONE guifg=#dcdc78 guibg=NONE -hi Todo gui=BOLD,UNDERLINE guifg=#ff80d0 guibg=NONE -hi Type gui=NONE guifg=#60f0a8 guibg=NONE -hi Underlined gui=UNDERLINE guifg=fg guibg=NONE diff --git a/.vim/colors/night.vim b/.vim/colors/night.vim deleted file mode 100644 index 8fb7f56..0000000 --- a/.vim/colors/night.vim +++ /dev/null @@ -1,70 +0,0 @@ -" Vim color file -" Maintainer: Tiza -" Last Change: 2002/10/13 Sun 16:59. -" version: 2.2 -" This color scheme uses a dark background. - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif - -let colors_name = "night" - -hi Normal guifg=#f0f0f8 guibg=#303040 - -" Search -hi IncSearch gui=UNDERLINE,BOLD guifg=#f0f0f8 guibg=#d000d0 -hi Search gui=BOLD guifg=#ffd0ff guibg=#c000c0 - -" Messages -hi ErrorMsg gui=BOLD guifg=#ffffff guibg=#f00080 -hi WarningMsg gui=BOLD guifg=#ffffff guibg=#f00080 -hi ModeMsg gui=BOLD guifg=#00e0ff guibg=NONE -hi MoreMsg gui=BOLD guifg=#00ffdd guibg=NONE -hi Question gui=BOLD guifg=#d0d050 guibg=NONE - -" Split area -hi StatusLine gui=NONE guifg=#000000 guibg=#c8c8d8 -hi StatusLineNC gui=NONE guifg=#606080 guibg=#c8c8d8 -hi VertSplit gui=NONE guifg=#606080 guibg=#c8c8d8 -hi WildMenu gui=NONE guifg=#000000 guibg=#e0e078 - -" Diff -hi DiffText gui=NONE guifg=#ffffff guibg=#40a060 -hi DiffChange gui=NONE guifg=#ffffff guibg=#007070 -hi DiffDelete gui=NONE guifg=#ffffff guibg=#40a0c0 -hi DiffAdd gui=NONE guifg=#ffffff guibg=#40a0c0 - -" Cursor -hi Cursor gui=NONE guifg=#ffffff guibg=#d86020 -hi lCursor gui=NONE guifg=#ffffff guibg=#e000b0 -hi CursorIM gui=NONE guifg=#ffffff guibg=#e000b0 - -" Fold -hi Folded gui=NONE guifg=#ffffff guibg=#9060c0 -hi FoldColumn gui=NONE guifg=#c0a0ff guibg=#404052 - -" Other -hi Directory gui=NONE guifg=#00ffff guibg=NONE -hi LineNr gui=NONE guifg=#787894 guibg=NONE -hi NonText gui=BOLD guifg=#8040ff guibg=#383848 -hi SpecialKey gui=BOLD guifg=#60a0ff guibg=NONE -hi Title gui=BOLD guifg=#f0f0f8 guibg=#9000a0 -hi Visual gui=NONE guifg=#ffffff guibg=#c08040 -" hi VisualNOS gui=NONE guifg=#ffffff guibg=#c08040 - -" Syntax group -hi Comment gui=NONE guifg=#e0e070 guibg=NONE -hi Constant gui=NONE guifg=#f0f0f8 guibg=#4830a0 -hi Error gui=BOLD guifg=#ffffff guibg=#f00080 -hi Identifier gui=NONE guifg=#ffa0ff guibg=NONE -hi Ignore gui=NONE guifg=#303040 guibg=NONE -hi Number gui=BOLD guifg=#b8b8c8 guibg=NONE -hi PreProc gui=NONE guifg=#40ffa0 guibg=NONE -hi Special gui=NONE guifg=#40f8f8 guibg=#4830a0 -hi Statement gui=BOLD guifg=#00d8f8 guibg=NONE -hi Todo gui=BOLD guifg=#00ffe0 guibg=#0080a0 -hi Type gui=BOLD guifg=#bbaaff guibg=NONE -hi Underlined gui=UNDERLINE,BOLD guifg=#f0f0f8 guibg=NONE diff --git a/.vim/colors/nightshimmer.vim b/.vim/colors/nightshimmer.vim deleted file mode 100644 index 53dce84..0000000 --- a/.vim/colors/nightshimmer.vim +++ /dev/null @@ -1,111 +0,0 @@ -" Vim color file -" Maintainer: Niklas Lindström <nlm@valtech.se> -" Last Change: 2002-03-22 -" Version: 0.3 -" URI: http://localhost/ - - -""" Init -set background=dark -highlight clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name = "nightshimmer" - - -""""""""\ Colors \"""""""" - - -"""" GUI Colors - -highlight Cursor gui=None guibg=Green guifg=White -highlight CursorIM gui=bold guifg=white guibg=Green1 -highlight Directory guifg=LightSeaGreen guibg=bg -highlight DiffAdd gui=None guifg=fg guibg=DarkCyan -highlight DiffChange gui=None guifg=fg guibg=Green4 -highlight DiffDelete gui=None guifg=fg guibg=black -highlight DiffText gui=bold guifg=fg guibg=bg -highlight ErrorMsg guifg=LightYellow guibg=FireBrick -" previously 'FillColumn': -"highlight FillColumn gui=NONE guifg=black guibg=grey60 -highlight VertSplit gui=NONE guifg=black guibg=grey60 -highlight Folded gui=bold guibg=#305060 guifg=#b0d0e0 -highlight FoldColumn gui=bold guibg=#305060 guifg=#b0d0e0 -highlight IncSearch gui=reverse guifg=fg guibg=bg -highlight LineNr gui=bold guibg=grey6 guifg=Purple3 -highlight ModeMsg guibg=DarkGreen guifg=LightGreen -highlight MoreMsg gui=bold guifg=SeaGreen4 guibg=bg -if version < 600 - " same as SpecialKey - highlight NonText guibg=#123A4A guifg=#3D5D6D -else - " Bottom fill (use e.g. same as LineNr) - highlight NonText gui=None guibg=grey6 guifg=Purple -endif -highlight Normal gui=None guibg=#103040 guifg=honeydew2 -highlight Question gui=bold guifg=SeaGreen2 guibg=bg -highlight Search gui=NONE guibg=Purple4 guifg=NONE -highlight SpecialKey guibg=#123A4A guifg=#426272 -highlight StatusLine gui=bold guibg=grey88 guifg=black -highlight StatusLineNC gui=NONE guibg=grey60 guifg=grey10 -highlight Title gui=bold guifg=MediumOrchid1 guibg=bg -highlight Visual gui=reverse guibg=WHITE guifg=SeaGreen -highlight VisualNOS gui=bold,underline guifg=fg guibg=bg -highlight WarningMsg gui=bold guifg=FireBrick1 guibg=bg -highlight WildMenu gui=bold guibg=Chartreuse guifg=Black - - -"""" Syntax Colors - -highlight Comment gui=reverse guifg=#507080 -"highlight Comment gui=None guifg=#507080 - -highlight Constant guifg=Cyan guibg=bg - "hi String gui=None guifg=Cyan guibg=bg - "hi Character gui=None guifg=Cyan guibg=bg - highlight Number gui=None guifg=Cyan guibg=bg - highlight Boolean gui=bold guifg=Cyan guibg=bg - "hi Float gui=None guifg=Cyan guibg=bg - -highlight Identifier guifg=orchid1 - "hi Function gui=None guifg=orchid1 guibg=bg - -highlight Statement gui=NONE guifg=LightGreen - highlight Conditional gui=None guifg=LightGreen guibg=bg - highlight Repeat gui=None guifg=SeaGreen2 guibg=bg - "hi Label gui=None guifg=LightGreen guibg=bg - highlight Operator gui=None guifg=Chartreuse guibg=bg - highlight Keyword gui=bold guifg=LightGreen guibg=bg - highlight Exception gui=bold guifg=LightGreen guibg=bg - -highlight PreProc guifg=MediumPurple1 - "hi Include gui=None guifg=MediumPurple1 guibg=bg - "hi Define gui=None guifg=MediumPurple1g guibg=bg - "hi Macro gui=None guifg=MediumPurple1g guibg=bg - "hi PreCondit gui=None guifg=MediumPurple1g guibg=bg - -highlight Type gui=NONE guifg=LightBlue - "hi StorageClass gui=None guifg=LightBlue guibg=bg - "hi Structure gui=None guifg=LightBlue guibg=bg - "hi Typedef gui=None guifg=LightBlue guibg=bg - -highlight Special gui=bold guifg=White - "hi SpecialChar gui=bold guifg=White guibg=bg - "hi Tag gui=bold guifg=White guibg=bg - "hi Delimiter gui=bold guifg=White guibg=bg - "hi SpecialComment gui=bold guifg=White guibg=bg - "hi Debug gui=bold guifg=White guibg=bg - -highlight Underlined gui=underline guifg=honeydew4 guibg=bg - -highlight Ignore guifg=#204050 - -highlight Error guifg=LightYellow guibg=FireBrick - -highlight Todo guifg=Cyan guibg=#507080 - -""" OLD COLORS - - - diff --git a/.vim/colors/nightwish.vim b/.vim/colors/nightwish.vim deleted file mode 100644 index e9bfe55..0000000 --- a/.vim/colors/nightwish.vim +++ /dev/null @@ -1,59 +0,0 @@ -" local syntax file - set colors on a per-machine basis: -" vim: tw=0 ts=4 sw=4 -" Vim color file, derived from colorscheme 'murphy' -" Maintainer: Michael Muhler <muhler AT web.de> -" Version: 1.0 -" URL: http://home.arcor.de/muhler -" Last Change: 2003 Apr 15 - -"help see colortest.vim - -hi clear -set background=dark -if exists("syntax_on") - syntax reset -endif -let g:colors_name = "nightwish" - - -hi Comment term=bold ctermfg=LightRed guifg=Orange -hi Constant term=underline ctermfg=LightGreen guifg=White gui=NONE -hi Directory term=bold ctermfg=LightCyan guifg=Cyan -hi Error term=reverse ctermbg=Red ctermfg=White guibg=Red guifg=White -hi ErrorMsg term=standout ctermbg=DarkRed ctermfg=White guibg=Red guifg=White -hi Identifier term=underline ctermfg=LightCyan guifg=#00ffff -hi Ignore ctermfg=black guifg=bg -hi IncSearch term=reverse cterm=reverse gui=reverse -hi LineNr term=underline ctermfg=Yellow guifg=Yellow -hi ModeMsg term=bold cterm=bold gui=bold -hi MoreMsg term=bold ctermfg=LightGreen gui=bold guifg=SeaGreen -hi NonText term=bold ctermfg=Blue gui=bold guifg=Blue -hi PreProc term=underline ctermfg=LightBlue guifg=Wheat -hi Question term=standout ctermfg=LightGreen gui=bold guifg=Cyan -hi Search term=reverse guifg=white guibg=Blue -hi Special term=bold ctermfg=LightRed guifg=magenta -hi SpecialKey term=bold ctermfg=LightBlue guifg=Cyan -hi Statement term=bold ctermfg=Yellow guifg=#ffff00 gui=NONE -hi StatusLine term=reverse,bold cterm=reverse gui=NONE guifg=White guibg=darkblue -hi StatusLineNC term=reverse cterm=reverse gui=NONE guifg=white guibg=#333333 -hi Title term=bold ctermfg=LightMagenta gui=bold guifg=Pink -hi Todo term=standout ctermbg=Yellow ctermfg=Black guifg=Blue guibg=Yellow -hi Type ctermfg=LightGreen guifg=grey gui=none -hi Visual term=reverse cterm=reverse gui=NONE guifg=white guibg=darkgreen -hi WarningMsg term=standout ctermfg=LightRed guifg=Red - -hi Normal ctermbg=Black ctermfg=lightgreen guibg=Black guifg=#a0a0ff -hi Cursor guifg=bg guibg=Green -hi String term=underline cterm=bold ctermfg=magenta guifg=#ffa0a0 -hi Repeat term=underline ctermfg=Magenta guifg=Red -hi Delimiter term=standout ctermfg=Blue guifg=#00ff88 -hi Label term=standout ctermfg=DarkYellow guifg=DarkYellow -hi Keyword term=standout ctermfg=Green guifg=Green -hi Operator term=standout ctermfg=Yellow guifg=#ff5555 -hi Exception term=standout ctermfg=Magenta guifg=#ff0dd5 -hi Tag term=standout ctermfg=Green guifg=#55ff0d - -" missing items in murphy -hi Scrollbar guifg=darkcyan guibg=cyan -hi Menu guifg=black guibg=cyan -hi link Conditional Repeat diff --git a/.vim/colors/northsky.vim b/.vim/colors/northsky.vim deleted file mode 100644 index e705ae4..0000000 --- a/.vim/colors/northsky.vim +++ /dev/null @@ -1,70 +0,0 @@ -" Vim color file based on bluegreen -" Maintainer: Sergey Khorev -" Last Change: -" URL: - - -" cool help screens -" :he group-name -" :he highlight-groups -" :he cterm-colors - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name="northsky" - -hi Normal guifg=white guibg=#061A3E - -" Search -"hi Search guibg=#A28D68 guifg=bg gui=none -"hi Search guibg=#4668A1 guifg=bg gui=none -hi Search guibg=#3D5B8C guifg=yellow gui=none -hi IncSearch guifg=bg guibg=cyan gui=bold - -" highlight groups -hi Cursor guibg=#D74141 guifg=#e3e3e3 -hi VertSplit guibg=#C0FFFF guifg=#075554 gui=none -hi Folded guifg=plum1 guibg=#061A3E -hi FoldColumn guibg=#800080 guifg=tan -hi ModeMsg guifg=#404040 guibg=#C0C0C0 -hi MoreMsg guifg=darkturquoise guibg=#188F90 -hi NonText guibg=#334C75 guifg=#9FADC5 -hi Question guifg=#F4BB7E - -hi SpecialKey guifg=#BF9261 -hi StatusLine guibg=#067C7B guifg=cyan gui=none -hi StatusLineNC guibg=#004443 guifg=DimGrey gui=none -hi Title guifg=#8DB8C3 -"hi Visual gui=bold guifg=black guibg=#C0FFC0 -hi Visual gui=bold guifg=black guibg=#84AF84 -hi WarningMsg guifg=#F60000 gui=underline - -" syntax highlighting groups -hi Comment guifg=DarkGray -hi Constant guifg=#72A5E4 gui=bold -hi Number guifg=chartreuse2 gui=bold -hi Identifier guifg=#ADCBF1 -hi Statement guifg=yellow -hi PreProc guifg=#14967C -hi Type guifg=#FFAE66 -hi Special guifg=#EEBABA -hi Ignore guifg=grey60 -hi Todo guibg=#9C8C84 guifg=#244C0A -hi Label guifg=#ffc0c0 - -" Vim defaults -hi ErrorMsg guifg=White guibg=Red -hi DiffAdd guibg=DarkBlue -hi DiffChange guibg=aquamarine4 -hi DiffDelete gui=bold guifg=Yellow guibg=DarkBlue -hi DiffText gui=bold guibg=firebrick3 -hi Directory guifg=Cyan -hi LineNr guifg=DarkGreen -hi WildMenu guifg=Black guibg=Yellow -" hi lCursor guifg=bg guibg=fg -hi lCursor guibg=SeaGreen1 guifg=NONE -hi Underlined gui=underline guifg=#80a0ff -hi Error guifg=White guibg=Red diff --git a/.vim/colors/nuvola.vim b/.vim/colors/nuvola.vim deleted file mode 100644 index f9a608a..0000000 --- a/.vim/colors/nuvola.vim +++ /dev/null @@ -1,107 +0,0 @@ -" local syntax file - set colors on a per-machine basis: -" vim: tw=0 ts=4 sw=4 -" Vim color file -" Maintainer: Dr. J. Pfefferl <johann.pfefferl@agfa.com> -" Source: $Source: /MISC/projects/cvsroot/user/pfefferl/vim/colors/nuvola.vim,v $ -" Id: $Id: nuvola.vim,v 1.14 2003/08/11 14:03:28 pfefferl Exp $ -" Last Change: $Date: 2003/08/11 14:03:28 $ - -" Intro {{{1 -set background=light -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name = "nuvola" - -" Normal {{{1 -hi Normal ctermfg=black ctermbg=NONE guifg=black guibg=#F9F5F9 - -" Search {{{1 -hi IncSearch cterm=UNDERLINE ctermfg=Black ctermbg=brown gui=UNDERLINE guifg=Black guibg=#FFE568 -hi Search term=reverse cterm=UNDERLINE ctermfg=Black ctermbg=brown gui=NONE guifg=Black guibg=#FFE568 - -" Messages {{{1 -hi ErrorMsg gui=BOLD guifg=#EB1513 guibg=NONE -hi! link WarningMsg ErrorMsg -hi ModeMsg gui=BOLD guifg=#0070ff guibg=NONE -hi MoreMsg guibg=NONE guifg=seagreen -hi! link Question MoreMsg - -" Split area {{{1 -hi StatusLine term=BOLD,reverse cterm=NONE ctermfg=Yellow ctermbg=DarkGray gui=BOLD guibg=#56A0EE guifg=white -hi StatusLineNC gui=NONE guibg=#56A0EE guifg=#E9E9F4 -hi! link VertSplit StatusLineNC -hi WildMenu gui=UNDERLINE guifg=#56A0EE guibg=#E9E9F4 - -" Diff {{{1 -hi DiffText gui=NONE guifg=#f83010 guibg=#ffeae0 -hi DiffChange gui=NONE guifg=#006800 guibg=#d0ffd0 -hi DiffDelete gui=NONE guifg=#2020ff guibg=#c8f2ea -hi! link DiffAdd DiffDelete - -" Cursor {{{1 -hi Cursor gui=none guifg=black guibg=orange -"hi lCursor gui=NONE guifg=#f8f8f8 guibg=#8000ff -hi CursorIM gui=NONE guifg=#f8f8f8 guibg=#8000ff - -" Fold {{{1 -hi Folded gui=NONE guibg=#B5EEB5 guifg=black -"hi FoldColumn gui=NONE guibg=#9FD29F guifg=black -hi! link FoldColumn Folded - -" Other {{{1 -hi Directory gui=NONE guifg=#0000ff guibg=NONE -hi LineNr gui=NONE guifg=#8080a0 guibg=NONE -hi NonText gui=BOLD guifg=#4000ff guibg=#EFEFF7 -"hi SpecialKey gui=NONE guifg=#A35B00 guibg=NONE -hi Title gui=BOLD guifg=#1014AD guibg=NONE -hi Visual term=reverse ctermfg=yellow ctermbg=black gui=NONE guifg=Black guibg=#BDDFFF -hi VisualNOS term=reverse ctermfg=yellow ctermbg=black gui=UNDERLINE guifg=Black guibg=#BDDFFF - -" Syntax group {{{1 -hi Comment term=BOLD ctermfg=darkgray guifg=#3F6B5B -hi Constant term=UNDERLINE ctermfg=red guifg=#B91F49 -hi Error term=REVERSE ctermfg=15 ctermbg=9 guibg=Red guifg=White -hi Identifier term=UNDERLINE ctermfg=Blue guifg=Blue -hi Number term=UNDERLINE ctermfg=red gui=NONE guifg=#00C226 -hi PreProc term=UNDERLINE ctermfg=darkblue guifg=#1071CE -hi Special term=BOLD ctermfg=darkmagenta guifg=red2 -hi Statement term=BOLD ctermfg=DarkRed gui=NONE guifg=#F06F00 -hi Tag term=BOLD ctermfg=DarkGreen guifg=DarkGreen -hi Todo term=STANDOUT ctermbg=Yellow ctermfg=blue guifg=Blue guibg=Yellow -hi Type term=UNDERLINE ctermfg=Blue gui=NONE guifg=Blue -hi! link String Constant -hi! link Character Constant -hi! link Boolean Constant -hi! link Float Number -hi! link Function Identifier -hi! link Conditional Statement -hi! link Repeat Statement -hi! link Label Statemengreen -hi! link Operator Statement -hi! link Keyword Statement -hi! link Exception Statement -hi! link Include PreProc -hi! link Define PreProc -hi! link Macro PreProc -hi! link PreCondit PreProc -hi! link StorageClass Type -hi! link Structure Type -hi! link Typedef Type -hi! link SpecialChar Special -hi! link Delimiter Special -hi! link SpecialComment Special -hi! link Debug Special - -" HTML {{{1 -hi htmlLink gui=UNDERLINE guifg=#0000ff guibg=NONE -hi htmlBold gui=BOLD -hi htmlBoldItalic gui=BOLD,ITALIC -hi htmlBoldUnderline gui=BOLD,UNDERLINE -hi htmlBoldUnderlineItalic gui=BOLD,UNDERLINE,ITALIC -hi htmlItalic gui=ITALIC -hi htmlUnderline gui=UNDERLINE -hi htmlUnderlineItalic gui=UNDERLINE,ITALIC - -" vim600:foldmethod=marker diff --git a/.vim/colors/oceanblack.vim b/.vim/colors/oceanblack.vim deleted file mode 100644 index e6e6be3..0000000 --- a/.vim/colors/oceanblack.vim +++ /dev/null @@ -1,115 +0,0 @@ -" Vim color file -" Maintainer: Chris Vertonghen <chris@vertonghen.org> -" Last Change: 2003-03-25 -" Version: 0.1 -" based on Tom Regner's oceanblue.vim - -""" Init -set background=dark -highlight clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name = "oceanblack" - - -""""""""\ Colors \"""""""" - - -"""" GUI Colors - -highlight Cursor gui=None guibg=PaleTurquoise3 guifg=White -highlight CursorIM gui=bold guifg=white guibg=PaleTurquoise3 -highlight Directory guifg=LightSeaGreen guibg=bg -highlight DiffAdd gui=None guifg=fg guibg=DarkCyan -highlight DiffChange gui=None guifg=fg guibg=Green4 -highlight DiffDelete gui=None guifg=fg guibg=black -highlight DiffText gui=bold guifg=fg guibg=bg -highlight ErrorMsg guifg=LightYellow guibg=FireBrick -" previously 'FillColumn': -"highlight FillColumn gui=NONE guifg=black guibg=grey60 -highlight VertSplit gui=NONE guifg=black guibg=grey60 -highlight Folded gui=bold guibg=#305060 guifg=#b0d0e0 -highlight FoldColumn gui=None guibg=#305060 guifg=#b0d0e0 -highlight IncSearch gui=reverse guifg=fg guibg=bg -"highlight LineNr guibg=grey6 guifg=LightSkyBlue3 -highlight LineNr guibg=grey6 guifg=#777777 -highlight ModeMsg guibg=DarkGreen guifg=LightGreen -highlight MoreMsg gui=bold guifg=SeaGreen4 guibg=bg -if version < 600 - " same as SpecialKey - highlight NonText guibg=#123A4A guifg=#3D5D6D -else - " Bottom fill (use e.g. same as LineNr) - highlight NonText gui=None guibg=#000000 guifg=LightSkyBlue -endif -highlight Normal gui=None guibg=#000000 guifg=honeydew2 -highlight Question gui=bold guifg=SeaGreen2 guibg=bg -highlight Search gui=NONE guibg=LightSkyBlue4 guifg=NONE -highlight SpecialKey guibg=#103040 guifg=#324262 -highlight StatusLine gui=bold guibg=grey88 guifg=black -highlight StatusLineNC gui=NONE guibg=grey60 guifg=grey10 -highlight Title gui=bold guifg=MediumOrchid1 guibg=bg -highlight Visual gui=reverse guibg=WHITE guifg=SeaGreen -highlight VisualNOS gui=bold,underline guifg=fg guibg=bg -highlight WarningMsg gui=bold guifg=FireBrick1 guibg=bg -highlight WildMenu gui=bold guibg=Chartreuse guifg=Black - - -"""" Syntax Colors - -"highlight Comment gui=reverse guifg=#507080 -"highlight Comment gui=None guifg=#507080 -highlight Comment gui=None guifg=#7C7268 - -highlight Constant guifg=cyan3 guibg=bg -"hi String gui=None guifg=turquoise2 guibg=bg -hi String gui=None guifg=#80a0ff guibg=bg - "hi Character gui=None guifg=Cyan guibg=bg - "highlight Number gui=None guifg=Cyan guibg=bg - highlight Number gui=None guifg=Cyan guibg=black - highlight Boolean gui=bold guifg=Cyan guibg=bg - "hi Float gui=None guifg=Cyan guibg=bg - -highlight Identifier guifg=LightSkyBlue3 -hi Function gui=None guifg=DarkSeaGreen3 guibg=bg - -highlight Statement gui=NONE guifg=LightGreen - highlight Conditional gui=None guifg=LightGreen guibg=bg - highlight Repeat gui=None guifg=SeaGreen2 guibg=bg - "hi Label gui=None guifg=LightGreen guibg=bg - highlight Operator gui=None guifg=Chartreuse guibg=bg - highlight Keyword gui=None guifg=LightGreen guibg=bg - highlight Exception gui=None guifg=LightGreen guibg=bg - -highlight PreProc guifg=SkyBlue1 -hi Include gui=None guifg=LightSteelBlue3 guibg=bg -hi Define gui=None guifg=LightSteelBlue2 guibg=bg -hi Macro gui=None guifg=LightSkyBlue3 guibg=bg -hi PreCondit gui=None guifg=LightSkyBlue2 guibg=bg - -highlight Type gui=NONE guifg=LightBlue -hi StorageClass gui=None guifg=LightBlue guibg=bg -hi Structure gui=None guifg=LightBlue guibg=bg -hi Typedef gui=None guifg=LightBlue guibg=bg - -"highlight Special gui=bold guifg=aquamarine3 -highlight Special guifg=#999999 - "hi SpecialChar gui=bold guifg=White guibg=bg - "hi Tag gui=bold guifg=White guibg=bg - "hi Delimiter gui=bold guifg=White guibg=bg - "hi SpecialComment gui=bold guifg=White guibg=bg - "hi Debug gui=bold guifg=White guibg=bg - -highlight Underlined gui=underline guifg=honeydew4 guibg=bg - -highlight Ignore guifg=#204050 - -highlight Error guifg=LightYellow guibg=FireBrick - -highlight Todo guifg=Cyan guibg=#507080 - -""" OLD COLORS - - - diff --git a/.vim/colors/oceandeep.vim b/.vim/colors/oceandeep.vim deleted file mode 100644 index c19b2c0..0000000 --- a/.vim/colors/oceandeep.vim +++ /dev/null @@ -1,111 +0,0 @@ -" Vim color file -" Maintainer: Tom Regner <regner@dievision.de> -" Last Change: 2002-12-05 -" Version: 1.1 -" URL: http://vim.sourceforge.net/script.php?script_id=368 - - -""" Init -set background=dark -highlight clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name = "oceandeep" - - -""""""""\ Colors \"""""""" - - -"""" GUI Colors - -highlight Cursor gui=None guibg=PaleTurquoise3 guifg=White -highlight CursorIM gui=bold guifg=white guibg=PaleTurquoise3 -highlight Directory guifg=LightSeaGreen guibg=bg -highlight DiffAdd gui=None guifg=fg guibg=DarkCyan -highlight DiffChange gui=None guifg=fg guibg=Green4 -highlight DiffDelete gui=None guifg=fg guibg=black -highlight DiffText gui=bold guifg=fg guibg=bg -highlight ErrorMsg guifg=LightYellow guibg=FireBrick -" previously 'FillColumn': -"highlight FillColumn gui=NONE guifg=black guibg=grey60 -highlight VertSplit gui=NONE guifg=black guibg=grey60 -highlight Folded gui=bold guibg=#305060 guifg=#b0d0e0 -highlight FoldColumn gui=bold guibg=#305060 guifg=#b0d0e0 -highlight IncSearch gui=reverse guifg=fg guibg=bg -highlight LineNr gui=bold guibg=grey6 guifg=LightSkyBlue3 -highlight ModeMsg guibg=DarkGreen guifg=LightGreen -highlight MoreMsg gui=bold guifg=SeaGreen4 guibg=bg -if version < 600 - " same as SpecialKey - highlight NonText guibg=#123A4A guifg=#3D5D6D -else - " Bottom fill (use e.g. same as LineNr) - highlight NonText gui=None guibg=#103040 guifg=LightSkyBlue -endif -highlight Normal gui=None guibg=#103040 guifg=honeydew2 -highlight Question gui=bold guifg=SeaGreen2 guibg=bg -highlight Search gui=NONE guibg=LightSkyBlue4 guifg=NONE -highlight SpecialKey guibg=#103040 guifg=#324262 -highlight StatusLine gui=bold guibg=grey88 guifg=black -highlight StatusLineNC gui=NONE guibg=grey60 guifg=grey10 -highlight Title gui=bold guifg=MediumOrchid1 guibg=bg -highlight Visual gui=reverse guibg=WHITE guifg=SeaGreen -highlight VisualNOS gui=bold,underline guifg=fg guibg=bg -highlight WarningMsg gui=bold guifg=FireBrick1 guibg=bg -highlight WildMenu gui=bold guibg=Chartreuse guifg=Black - - -"""" Syntax Colors - -"highlight Comment gui=reverse guifg=#507080 -highlight Comment gui=None guifg=#507080 - -highlight Constant guifg=cyan3 guibg=bg -hi String gui=None guifg=turquoise2 guibg=bg - "hi Character gui=None guifg=Cyan guibg=bg - highlight Number gui=None guifg=Cyan guibg=bg - highlight Boolean gui=bold guifg=Cyan guibg=bg - "hi Float gui=None guifg=Cyan guibg=bg - -highlight Identifier guifg=LightSkyBlue3 -hi Function gui=None guifg=DarkSeaGreen3 guibg=bg - -highlight Statement gui=NONE guifg=LightGreen - highlight Conditional gui=None guifg=LightGreen guibg=bg - highlight Repeat gui=None guifg=SeaGreen2 guibg=bg - "hi Label gui=None guifg=LightGreen guibg=bg - highlight Operator gui=None guifg=Chartreuse guibg=bg - highlight Keyword gui=bold guifg=LightGreen guibg=bg - highlight Exception gui=bold guifg=LightGreen guibg=bg - -highlight PreProc guifg=SkyBlue1 -hi Include gui=None guifg=LightSteelBlue3 guibg=bg -hi Define gui=None guifg=LightSteelBlue2 guibg=bg -hi Macro gui=None guifg=LightSkyBlue3 guibg=bg -hi PreCondit gui=None guifg=LightSkyBlue2 guibg=bg - -highlight Type gui=NONE guifg=LightBlue -hi StorageClass gui=None guifg=LightBlue guibg=bg -hi Structure gui=None guifg=LightBlue guibg=bg -hi Typedef gui=None guifg=LightBlue guibg=bg - -highlight Special gui=bold guifg=aquamarine3 - "hi SpecialChar gui=bold guifg=White guibg=bg - "hi Tag gui=bold guifg=White guibg=bg - "hi Delimiter gui=bold guifg=White guibg=bg - "hi SpecialComment gui=bold guifg=White guibg=bg - "hi Debug gui=bold guifg=White guibg=bg - -highlight Underlined gui=underline guifg=honeydew4 guibg=bg - -highlight Ignore guifg=#204050 - -highlight Error guifg=LightYellow guibg=FireBrick - -highlight Todo guifg=Cyan guibg=#507080 - -""" OLD COLORS - - - diff --git a/.vim/colors/oceanlight.vim b/.vim/colors/oceanlight.vim deleted file mode 100644 index 08fb22e..0000000 --- a/.vim/colors/oceanlight.vim +++ /dev/null @@ -1,105 +0,0 @@ -" Vim color file -" Maintainer: Håkan Wikström <hakan@wikstrom.st> -" Last Change: 2005-01-06 -" Version: 0.1 -" URL: -" Originally based on oceandeep by Tom Regner (Vim script #368) - - -""" Init -set background=light -highlight clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name = "oceanlight" - - -""""""""\ Colors \"""""""" - - -"""" GUI Colors - -highlight Cursor gui=None guibg=PaleTurquoise3 guifg=White -highlight CursorIM gui=none guifg=white guibg=PaleTurquoise3 -highlight Directory guifg=SeaGreen guibg=bg -highlight DiffAdd gui=None guifg=SteelBlue guibg=LightGray -highlight DiffChange gui=None guifg=fg guibg=CadetBlue -highlight DiffDelete gui=None guifg=LightGray guibg=SteelBlue -highlight DiffText gui=none guifg=fg guibg=bg -highlight ErrorMsg guifg=FireBrick guibg=bg -highlight VertSplit gui=NONE guifg=black guibg=grey60 -highlight Folded gui=none guibg=LightSteelBlue guifg=SteelBlue -highlight FoldColumn gui=none guibg=LightSteelBLue guifg=SteelBlue -highlight IncSearch gui=reverse guifg=fg guibg=bg -highlight LineNr gui=none guibg=#d3d3d3 guifg=#5daf83 -highlight ModeMsg guibg=CadetBlue guifg=LightGrey -highlight MoreMsg gui=none guifg=CadetBlue guibg=bg -if version < 600 - " same as SpecialKey - highlight NonText guibg=#d3d3d3 guifg=#3D5D6D -else - " Bottom fill (use e.g. same as LineNr) - highlight NonText gui=None guibg=#d3d3d3 guifg=#5daf83 -endif -highlight Normal gui=None guibg=#f5f5f5 guifg=DimGray -highlight Question gui=none guifg=SeaGreen2 guibg=bg -highlight Search gui=NONE guibg=SlateGray2 guifg=NONE -highlight SpecialKey guibg=LightGray guifg=CadetBlue -highlight StatusLine gui=none guibg=SlateGrey guifg=LightGrey -highlight StatusLineNC gui=NONE guibg=LightGrey guifg=SlateGrey -highlight Title gui=none guifg=MediumOrchid1 guibg=bg -highlight Visual gui=reverse guibg=slategray4 guifg=SlateGray2 -highlight VisualNOS gui=none,underline guifg=fg guibg=bg -highlight WarningMsg gui=none guifg=FireBrick1 guibg=bg -highlight WildMenu gui=none guibg=Chartreuse guifg=Black - - -"""" Syntax Colors - -"highlight Comment gui=reverse guifg=#507080 -highlight Comment gui=None guifg=LightSteelBlue - -highlight Constant guifg=#483d8b guibg=bg -hi String gui=None guifg=MediumAquamarine guibg=bg - "hi Character gui=None guifg=Cyan guibg=bg - highlight Number gui=None guifg=MediumSeaGreen guibg=bg - highlight Boolean gui=none guifg=DarkSeaGreen guibg=bg - "hi Float gui=None guifg=Cyan guibg=bg - -highlight Identifier guifg=CornflowerBlue -hi Function gui=None guifg=DarkSeaGreen guibg=bg - -highlight Statement gui=NONE guifg=SeaGreen - highlight Conditional gui=None guifg=#5daf83 guibg=bg - highlight Repeat gui=None guifg=#5daf83 guibg=bg - "hi Label gui=None guifg=seagreen guibg=bg - highlight Operator gui=None guifg=LightSlateBlue guibg=bg - highlight Keyword gui=none guifg=SeaGreen guibg=bg - highlight Exception gui=none guifg=SeaGreen guibg=bg - -highlight PreProc guifg=SkyBlue1 -hi Include gui=None guifg=SteelBlue guibg=bg -hi Define gui=None guifg=LightSteelBlue2 guibg=bg -hi Macro gui=None guifg=LightSkyBlue3 guibg=bg -hi PreCondit gui=None guifg=LightSkyBlue2 guibg=bg - -highlight Type gui=NONE guifg=SteelBlue -hi StorageClass gui=None guifg=SteelBlue guibg=bg -hi Structure gui=None guifg=SteelBlue guibg=bg -hi Typedef gui=None guifg=SteelBlue guibg=bg - -highlight Special gui=none guifg=aquamarine3 - "hi SpecialChar gui=none guifg=White guibg=bg - "hi Tag gui=none guifg=White guibg=bg - "hi Delimiter gui=none guifg=White guibg=bg - "hi SpecialComment gui=none guifg=White guibg=bg - "hi Debug gui=none guifg=White guibg=bg - -highlight Underlined gui=underline guifg=honeydew4 guibg=bg - -highlight Ignore guifg=#204050 - -highlight Error guifg=FireBrick gui=Bold guibg=bg - -highlight Todo guifg=LightSkyBlue guibg=SlateGray diff --git a/.vim/colors/olive.vim b/.vim/colors/olive.vim deleted file mode 100644 index 26dcd2c..0000000 --- a/.vim/colors/olive.vim +++ /dev/null @@ -1,119 +0,0 @@ -" Vim color file -" Maintainer: Charles <cherry_avium@yahoo.com> -" Last Change: 11 June 2004 -" URL: http:// - -" cool help screens -" :he group-name -" :he highlight-groups -" :he cterm-colors - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name="olive" - -"======================================================= -hi Normal guifg=#D9D9C3 guibg=#333300 -hi Cursor guifg=black guibg=white -hi CursorIM guifg=black guibg=green -hi Directory guifg=gold gui=underline -"hi DiffAdd -"hi DiffChange -"hi DiffDelete -"hi DiffText -hi ErrorMsg guibg=indianred -"hi VertSplit guifg=gold -hi Folded guifg=khaki guibg=darkolivegreen gui=underline -hi FoldColumn guifg=khaki guibg=darkolivegreen gui=none -hi IncSearch guifg=black guibg=khaki -hi LineNr guifg=gray80 -hi ModeMsg guifg=greenyellow gui=bold -hi MoreMsg guifg=greenyellow gui=bold -"hi NonText guibg=black -hi Question guifg=yellowgreen gui=NONE -hi Search guifg=black guibg=khaki gui=NONE -hi SpecialKey guifg=black guibg=darkkhaki -hi StatusLine guifg=palegoldenrod guibg=#808000 gui=none -hi StatusLineNC guifg=gray guibg=darkolivegreen gui=none -hi Title guifg=gold gui=bold -hi Visual guifg=black guibg=darkkhaki gui=NONE -"hi VisualNOS -hi WarningMsg guifg=palevioletred -"hi WildMenu -"hi Menu -"hi Scrollbar -"hi Tooltip - - -" ============================================================ -" syntax highlighting groups -" ============================================================ -hi Comment guifg=darkkhaki guibg=#4C4C00 gui=underline - -hi Constant guifg=navajowhite -hi String guifg=greenyellow -"hi Character -"hi Number -"hi Boolean -"hi Float - -hi Identifier guifg=lightsteelblue -" hi Function guibg=gray60 - -hi Statement guifg=darkseagreen gui=bold -"hi Conditional -"hi Repeat -"hi Label -hi Operator guifg=gold -"hi Keyword -"hi Exception - -hi PreProc guifg=sandybrown gui=bold -"hi Include -"hi Define -"hi Macro -"hi PreCondit - -hi Type guifg=goldenrod -"hi StorageClass -"hi Structure -"hi Typedef - -hi Special guifg=navajowhite gui=underline -"hi SpecialChar -"hi Tag -"hi Delimiter -"hi SpecialComment -"hi Debug - -hi Underlined gui=underline - -hi Ignore guifg=black - -hi Error guifg=white - -hi Todo guifg=black guibg=gold gui=NONE - -" ================================================================= -" Language specific color -" ================================================================= - -" C / C++ -hi cIncluded guifg=yellowgreen - -" HTML -hi Title guifg=palegoldenrod - -" VIM -hi VimError guifg=red gui=bold -hi VimOption guifg=gold - -" TeX / LaTeX -hi texSection guifg=greenyellow -" tex between { and } -hi texMatcher guifg=yellowgreen gui=none -hi texMath gui=none - diff --git a/.vim/colors/papayawhip.vim b/.vim/colors/papayawhip.vim deleted file mode 100644 index 5f8725a..0000000 --- a/.vim/colors/papayawhip.vim +++ /dev/null @@ -1,31 +0,0 @@ -" Vim color file -" Maintainer: Gerald S. Williams -" Last Change: 2003 Apr 17 - -" A nice light background (you guessed it, PapayaWhip) that's relatively easy -" on the eyes yet very usable. Not nearly as "puffy" as peachpuff. -" -" Only values that differ from defaults are specified. - -set background=light -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name = "PapayaWhip" - -hi Normal guifg=#3f1f1f guibg=PapayaWhip ctermbg=Gray ctermfg=Black -hi NonText guibg=Moccasin guifg=Brown ctermfg=Brown -hi LineNr guibg=Moccasin -hi DiffDelete guibg=LightRed guifg=Black ctermbg=DarkRed ctermfg=White -hi DiffAdd guibg=LightGreen ctermbg=DarkGreen ctermfg=White -hi DiffChange guibg=LightCyan3 ctermbg=DarkCyan ctermfg=White -hi DiffText gui=NONE guibg=Gray80 ctermbg=DarkCyan ctermfg=Yellow -hi Comment guifg=MediumBlue -hi Constant guifg=DeepPink -hi PreProc guifg=DarkMagenta -hi StatusLine guibg=White guifg=#5f3705 cterm=bold ctermbg=Brown ctermfg=White -hi StatusLineNC gui=None guibg=Gray -hi VertSplit gui=None guibg=Gray -hi Identifier guifg=#005f5f -hi Statement ctermfg=DarkRed diff --git a/.vim/colors/potts.vim b/.vim/colors/potts.vim deleted file mode 100644 index 79bc5e9..0000000 --- a/.vim/colors/potts.vim +++ /dev/null @@ -1,53 +0,0 @@ -" -*- vim -*- -" FILE: "/home/dp/.vim/colors/potts2.vim" {{{ -" LAST MODIFICATION: "Fri, 08 Feb 2002 09:47:10 (dp)" -" (C) 2001 by Douglas L. Potts, <dlpotts@spectral-sys.com> -" $Id: potts2.vim,v 1.3 2002/02/18 20:25:27 dp Exp $ }}} - -set background=dark -highlight clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name="potts2" - -highlight SpecialKey term=bold ctermfg=9 guifg=Cyan -highlight NonText term=bold ctermfg=9 gui=bold guifg=green -highlight Directory term=bold ctermfg=11 guifg=Cyan -highlight ErrorMsg term=standout ctermfg=15 ctermbg=4 guifg=White guibg=Red -highlight IncSearch term=reverse cterm=reverse gui=reverse -highlight Search term=reverse ctermfg=15 ctermbg=12 guifg=white guibg=Red -highlight MoreMsg term=bold ctermfg=10 gui=bold guifg=SeaGreen -highlight ModeMsg term=bold cterm=bold gui=bold -highlight LineNr term=underline ctermfg=14 guifg=Yellow -highlight Question term=standout ctermfg=10 gui=bold guifg=Green -highlight StatusLine term=bold,reverse cterm=bold,reverse gui=bold,reverse -highlight StatusLineNC term=reverse cterm=reverse gui=reverse -highlight VertSplit term=reverse cterm=reverse gui=reverse -highlight Title term=bold ctermfg=13 gui=bold guifg=Magenta -highlight Visual term=reverse cterm=reverse gui=reverse guifg=gray guibg=black -highlight VisualNOS term=bold,underline cterm=bold,underline gui=bold,underline -highlight WarningMsg term=standout ctermfg=12 guifg=Red -highlight WildMenu term=standout ctermfg=0 ctermbg=14 guifg=Black guibg=Yellow -highlight Folded term=standout cterm=bold ctermfg=11 guifg=cyan guibg=bg -highlight FoldColumn term=standout cterm=bold ctermfg=11 guifg=cyan guibg=bg -highlight DiffAdd term=bold ctermfg=10 ctermbg=9 guifg=Green guibg=Black -highlight DiffChange term=bold ctermfg=15 ctermbg=9 guifg=White guibg=Blue -highlight DiffDelete term=bold ctermfg=13 ctermbg=11 gui=bold guifg=Magenta guibg=Black -highlight DiffText term=reverse cterm=bold ctermfg=15 ctermbg=12 gui=bold guifg=White guibg=Red -highlight Cursor guifg=bg guibg=fg -highlight lCursor guifg=bg guibg=fg -highlight Normal guifg=gray guibg=black font='6x13' -highlight Comment term=bold ctermfg=11 guifg=#80a0ff -highlight Constant term=underline ctermfg=13 guifg=#ffa0a0 -highlight Special term=bold ctermfg=12 guifg=Orange -highlight Identifier term=underline cterm=bold ctermfg=11 guifg=#40ffff -highlight Statement term=bold ctermfg=14 gui=bold guifg=#ffff60 -highlight PreProc term=underline ctermfg=9 guifg=#ff80ff -highlight Type term=underline ctermfg=10 gui=bold guifg=#60ff60 -highlight Underlined term=underline cterm=underline ctermfg=9 gui=underline guifg=#80a0ff -highlight Ignore ctermfg=0 guifg=bg -highlight Error term=reverse ctermfg=15 ctermbg=12 guifg=White guibg=Red -highlight Todo term=standout ctermfg=0 ctermbg=14 guifg=Blue guibg=Yellow -highlight DebugBreak ctermfg=15 ctermbg=4 guifg=white guibg=darkred -highlight DebugStop ctermfg=15 ctermbg=10 guifg=white guibg=lightgreen diff --git a/.vim/colors/print_bw.vim b/.vim/colors/print_bw.vim deleted file mode 100644 index 4be35f4..0000000 --- a/.vim/colors/print_bw.vim +++ /dev/null @@ -1,65 +0,0 @@ -" Vim color file -" Maintainer: Mike Williams <mrw@eandem.co.uk> -" Last Change: 2nd June 2003 -" Version: 1.1 - -" Remove all existing highlighting. -set background=light - -hi clear - -if exists("syntax_on") - syntax reset -endif - -let g:colors_name = "print_bw" - -highlight Normal cterm=NONE ctermfg=black ctermbg=white gui=NONE guifg=black guibg=white -highlight NonText ctermfg=black ctermbg=white guifg=black guibg=white -highlight LineNr cterm=italic ctermfg=black ctermbg=white gui=italic guifg=black guibg=white - -" Syntax highlighting scheme -highlight Comment cterm=italic ctermfg=black ctermbg=white gui=italic guifg=black guibg=white - -highlight Constant ctermfg=black ctermbg=white guifg=black guibg=white -highlight String ctermfg=black ctermbg=white guifg=black guibg=white -highlight Character ctermfg=black ctermbg=white guifg=black guibg=white -highlight Number ctermfg=black ctermbg=white guifg=black guibg=white -" Boolean defaults to Constant -highlight Float ctermfg=black ctermbg=white guifg=black guibg=white - -highlight Identifier ctermfg=black ctermbg=white guifg=black guibg=white -highlight Function ctermfg=black ctermbg=white guifg=black guibg=white - -highlight Statement ctermfg=black ctermbg=white guifg=black guibg=white -highlight Conditional ctermfg=black ctermbg=white guifg=black guibg=white -highlight Repeat ctermfg=black ctermbg=white guifg=black guibg=white -highlight Label ctermfg=black ctermbg=white guifg=black guibg=white -highlight Operator ctermfg=black ctermbg=white guifg=black guibg=white -" Keyword defaults to Statement -" Exception defaults to Statement - -highlight PreProc cterm=bold ctermfg=black ctermbg=white gui=bold guifg=black guibg=white -" Include defaults to PreProc -" Define defaults to PreProc -" Macro defaults to PreProc -" PreCondit defaults to PreProc - -highlight Type cterm=bold ctermfg=black ctermbg=white gui=bold guifg=black guibg=white -" StorageClass defaults to Type -" Structure defaults to Type -" Typedef defaults to Type - -highlight Special cterm=italic ctermfg=black ctermbg=white gui=italic guifg=black guibg=white -" SpecialChar defaults to Special -" Tag defaults to Special -" Delimiter defaults to Special -highlight SpecialComment cterm=italic ctermfg=black ctermbg=white gui=italic guifg=black guibg=white -" Debug defaults to Special - -highlight Todo cterm=italic,bold ctermfg=black ctermbg=white gui=italic,bold guifg=black guibg=white -" Ideally, the bg color would be white but VIM cannot print white on black! -highlight Error cterm=bold,reverse ctermfg=black ctermbg=grey gui=bold,reverse guifg=black guibg=grey - -" vim:et:ff=unix:tw=0:ts=4:sw=4 -" EOF print_bw.vim diff --git a/.vim/colors/ps_color.vim b/.vim/colors/ps_color.vim deleted file mode 100644 index 909abcf..0000000 --- a/.vim/colors/ps_color.vim +++ /dev/null @@ -1,400 +0,0 @@ -" Vim colour file --- PSC -" Maintainer: Pan Shizhu <dicpan@hotmail.com> -" Last Change: 17 November 2004 -" Version: 2.82 -" URL: http://vim.sourceforge.net/scripts/script.php?script_id=760 -" -" Please prepend [VIM] in the title when writing e-mail to me, or it will -" be automatically treated as spam and removed. -" -" See the help document for all details, the help document will be -" installed after the script has been sourced once, do not open the -" script when you source it for the first time. -" - -" Initializations: {{{1 -" -function! s:init_option(var, value) - if !exists("g:psc_".a:var) - execute "let s:".a:var." = ".a:value - else - let s:{a:var} = g:psc_{a:var} - endif -endfunction -command! -nargs=+ InitOpt call s:init_option(<f-args>) - -function! s:multi_hi(setting, ...) - let l:idx = a:0 - while l:idx > 0 - let l:hlgroup = a:{l:idx} - execute "highlight ".l:hlgroup." ".a:setting - let l:idx = l:idx - 1 - endwhile -endfunction -command! -nargs=+ MultiHi call s:multi_hi(<f-args>) - -InitOpt style 'cool' -InitOpt inversed_todo 0 -InitOpt use_default_for_cterm 0 -InitOpt statement_different_from_type 0 -if s:style == 'warm' - InitOpt fontface 'mixed' -else - InitOpt fontface 'plain' -endif - -if !has("gui_running") - call s:init_option("cterm_style", "'".s:style."'") - - " Forces 'cool' style when gui is not present Since the 'warm' style for - " terminal isn't available now, and probably never will be. - if s:cterm_style=='warm' | let s:cterm_style = 'cool' - endif - if s:use_default_for_cterm==1 | let s:cterm_style = 'default' - elseif s:use_default_for_cterm==2 | let s:cterm_style = 'defdark' - endif -endif - - -InitOpt other_style 0 - -if has("gui_running") - if s:style=='warm' || s:style=='default' - set background=light - elseif s:style=='cool' || s:style=='defdark' - set background=dark - else | let s:other_style = 1 - endif -else - if s:cterm_style=='cool' || s:cterm_style=='defdark' - set background=dark - elseif s:cterm_style=='default' - set background=light - else | let s:other_style = 1 - endif -endif - - -highlight clear - -if exists("syntax_on") - syntax reset -endif - -let s:color_name = expand("<sfile>:t:r") - -if s:other_style==0 | let g:colors_name = s:color_name - " Go from console version to gui, the color scheme should be sourced again - execute "autocmd TermChanged * if g:colors_name == '".s:color_name."' | " - \."colo ".s:color_name." | endif" -else - execute "runtime colors/".s:style.".vim" -endif - -" Command to go different schemes easier. -execute "command! -nargs=1 Colo if '".s:color_name."'!=\"<args>\" | " - \'let g:psc_style = "<args>"| endif | colo '.s:color_name - -" Give control to 'reloaded' scheme if possible -if s:style == 'reloaded' - finish -endif - -" }}}1 - -" Relevant Help: -" :h highlight-groups -" :h psc-cterm-color-table -" :ru syntax/hitest.vim -" -" Hardcoded Colors Comment: -" #aabbcc = Red aa, Green bb, Blue cc -" we must use hard-coded colours to get more 'tender' colours -" - - -" GUI: -" -" I don't want to abuse folding, but here folding is used to avoid confusion. -if s:style=='warm' - " Warm style for gui here {{{2 - " LIGHT COLOR DEFINE START - - highlight Normal guifg=#000000 guibg=#e0e0e0 - highlight Search guifg=#902000 guibg=#f8f8f8 - highlight Visual guifg=fg guibg=#a6caf0 - highlight Cursor guifg=#f0f0f0 guibg=#008000 - " The idea of CursorIM is pretty good, however, the feature is still buggy - " in the current version (Vim 6.3). - " The following line will be kept commented until the bug fixed. - " - " highlight CursorIM guifg=#f0f0f0 guibg=#800080 - highlight Special guifg=#907000 guibg=bg - highlight Comment guifg=#505800 guibg=bg - highlight Number guifg=#907000 guibg=bg - highlight Constant guifg=#007068 guibg=bg - highlight StatusLine guifg=fg guibg=#a6caf0 - highlight LineNr guifg=#686868 guibg=bg - highlight Question guifg=fg guibg=#d0d090 - highlight PreProc guifg=#009030 guibg=bg - if s:statement_different_from_type==1 - highlight Statement guifg=#4020a0 guibg=bg - else - highlight Statement guifg=#2060a8 guibg=bg - endif - highlight Type guifg=#0850a0 guibg=bg - if s:inversed_todo==1 - highlight Todo guifg=#e0e090 guibg=#000080 - else - highlight Todo guifg=#800000 guibg=#e0e090 - endif - " NOTE THIS IS IN THE WARM SECTION - highlight Error guifg=#c03000 guibg=bg - highlight Identifier guifg=#a030a0 guibg=bg - highlight ModeMsg guifg=fg guibg=#b0b0e0 - highlight VisualNOS guifg=fg guibg=#b0b0e0 - highlight SpecialKey guifg=#1050a0 guibg=bg - highlight NonText guifg=#002090 guibg=#d0d0d0 - highlight Directory guifg=#a030a0 guibg=bg - highlight ErrorMsg guifg=fg guibg=#f0b090 - highlight MoreMsg guifg=#489000 guibg=bg - highlight Title guifg=#a030a0 guibg=bg - highlight WarningMsg guifg=#b02000 guibg=bg - highlight WildMenu guifg=fg guibg=#d0d090 - highlight Folded guifg=fg guibg=#b0e0b0 - highlight FoldColumn guifg=fg guibg=#90e090 - highlight DiffAdd guifg=fg guibg=#b0b0e0 - highlight DiffChange guifg=fg guibg=#e0b0e0 - highlight DiffDelete guifg=#002090 guibg=#d0d0d0 - highlight DiffText guifg=fg guibg=#c0e080 - highlight SignColumn guifg=fg guibg=#90e090 - highlight IncSearch guifg=#f0f0f0 guibg=#806060 - highlight StatusLineNC guifg=fg guibg=#c0c0c0 - highlight VertSplit guifg=fg guibg=#c0c0c0 - highlight Underlined guifg=#6a5acd guibg=bg gui=underline - highlight Ignore guifg=bg guibg=bg - - " LIGHT COLOR DEFINE END - " }}}2 -elseif s:style=='cool' - " Cool style for gui here {{{2 - " DARK COLOR DEFINE START - - highlight Normal guifg=#d0d0d0 guibg=#202020 - highlight Comment guifg=#d0d090 guibg=bg - highlight Constant guifg=#80c0e0 guibg=bg - highlight Number guifg=#e0c060 guibg=bg - highlight Identifier guifg=#f0c0f0 guibg=bg - if s:statement_different_from_type==1 - highlight Statement guifg=#98a8f0 guibg=bg - else - highlight Statement guifg=#c0d8f8 guibg=bg - endif - highlight PreProc guifg=#60f080 guibg=bg - highlight Type guifg=#b0d0f0 guibg=bg - highlight Special guifg=#e0c060 guibg=bg - highlight Error guifg=#f08060 guibg=bg - if s:inversed_todo==1 - highlight Todo guifg=#d0d090 guibg=#000080 - else - highlight Todo guifg=#800000 guibg=#d0d090 - endif - highlight Search guifg=#e0e0e0 guibg=#800000 - highlight Visual guifg=#000000 guibg=#a6caf0 - highlight Cursor guifg=#000000 guibg=#00f000 - " NOTE THIS IS IN THE COOL SECTION - " highlight CursorIM guifg=#000000 guibg=#f000f0 - highlight StatusLine guifg=#000000 guibg=#a6caf0 - highlight LineNr guifg=#b0b0b0 guibg=bg - highlight Question guifg=#000000 guibg=#d0d090 - highlight ModeMsg guifg=fg guibg=#000080 - highlight VisualNOS guifg=fg guibg=#000080 - highlight SpecialKey guifg=#b0d0f0 guibg=bg - highlight NonText guifg=#6080f0 guibg=#101010 - highlight Directory guifg=#80c0e0 guibg=bg - highlight ErrorMsg guifg=#d0d090 guibg=#800000 - highlight MoreMsg guifg=#c0e080 guibg=bg - highlight Title guifg=#f0c0f0 guibg=bg - highlight WarningMsg guifg=#f08060 guibg=bg - highlight WildMenu guifg=#000000 guibg=#d0d090 - highlight Folded guifg=#d0d0d0 guibg=#004000 - highlight FoldColumn guifg=#e0e0e0 guibg=#008000 - highlight DiffAdd guifg=fg guibg=#000080 - highlight DiffChange guifg=fg guibg=#800080 - highlight DiffDelete guifg=#6080f0 guibg=#202020 - highlight DiffText guifg=#000000 guibg=#c0e080 - highlight SignColumn guifg=#e0e0e0 guibg=#008000 - highlight IncSearch guifg=#000000 guibg=#d0d0d0 - highlight StatusLineNC guifg=#000000 guibg=#c0c0c0 - highlight VertSplit guifg=#000000 guibg=#c0c0c0 - highlight Underlined guifg=#80a0ff guibg=bg gui=underline - highlight Ignore guifg=#000000 guibg=bg - - " DARK COLOR DEFINE END - " }}}2 -elseif s:style=='defdark' - highlight Normal guifg=#f0f0f0 guibg=#000000 -endif - -" Take NT gui for example, If you want to use a console font such as -" Lucida_Console with font size larger than 14, the font looks already thick, -" and the bold font for that will be too thick, you may not want it be bolded. -" The following code does this. -" -" All of the bold font may be disabled, since continuously switching between -" bold and plain font hurts consistency and will inevitably fatigue your eye! - -" Maximum 20 parameters for vim script function -" -MultiHi gui=NONE ModeMsg Search Cursor Special Comment Constant Number LineNr Question PreProc Statement Type Todo Error Identifier Normal - -MultiHi gui=NONE VisualNOS SpecialKey NonText Directory ErrorMsg MoreMsg Title WarningMsg WildMenu Folded FoldColumn DiffAdd DiffChange DiffDelete DiffText SignColumn - -" For reversed stuffs -MultiHi gui=NONE IncSearch StatusLine StatusLineNC VertSplit Visual - -if s:style=="cool" || s:style=="warm" - if s:fontface=="mixed" - MultiHi gui=bold IncSearch StatusLine StatusLineNC VertSplit Visual - endif -else - if s:fontface=="mixed" - hi StatusLine gui=bold,reverse - else - hi StatusLine gui=reverse - endif - MultiHi gui=reverse IncSearch StatusLineNC VertSplit Visual -endif - -" Enable the bold style -if s:fontface=="mixed" - MultiHi gui=bold Question DiffText Statement Type MoreMsg ModeMsg NonText Title VisualNOS DiffDelete -endif - - - - -" Color Term: - -" It's not quite possible to support 'cool' and 'warm' simultaneously, since -" we cannot expect a terminal to have more than 16 color names. -" - -" I assume Vim will never go to cterm mode when has("gui_running") returns 1, -" Please enlighten me if I am wrong. -" -if !has('gui_running') - " cterm settings {{{1 - if s:cterm_style=='cool' - - highlight Normal ctermfg=LightGrey ctermbg=Black - highlight Search ctermfg=White ctermbg=DarkRed - highlight Visual ctermfg=Black ctermbg=DarkCyan - highlight Cursor ctermfg=Black ctermbg=Green - highlight Special ctermfg=Yellow ctermbg=Black - highlight Comment ctermfg=DarkYellow ctermbg=Black - highlight Constant ctermfg=Blue ctermbg=Black - highlight Number ctermfg=Yellow ctermbg=Black - highlight StatusLine ctermfg=Black ctermbg=DarkCyan - highlight LineNr ctermfg=DarkGrey ctermbg=Black - highlight Question ctermfg=Black ctermbg=DarkYellow - highlight PreProc ctermfg=Green ctermbg=Black - highlight Statement ctermfg=Cyan ctermbg=Black - highlight Type ctermfg=Cyan ctermbg=Black - if s:inversed_todo==0 - highlight Todo ctermfg=DarkRed ctermbg=DarkYellow - else - highlight Todo ctermfg=DarkYellow ctermbg=DarkBlue - endif - highlight Error ctermfg=Red ctermbg=Black - highlight Identifier ctermfg=Magenta ctermbg=Black - highlight Folded ctermfg=White ctermbg=DarkGreen - highlight ModeMsg ctermfg=Grey ctermbg=DarkBlue - highlight VisualNOS ctermfg=Grey ctermbg=DarkBlue - highlight SpecialKey ctermfg=Cyan ctermbg=Black - highlight NonText ctermfg=Blue ctermbg=Black - highlight Directory ctermfg=Blue ctermbg=Black - highlight ErrorMsg ctermfg=DarkYellow ctermbg=DarkRed - highlight MoreMsg ctermfg=Green ctermbg=Black - highlight Title ctermfg=Magenta ctermbg=Black - highlight WarningMsg ctermfg=Red ctermbg=Black - highlight WildMenu ctermfg=Black ctermbg=DarkYellow - highlight FoldColumn ctermfg=White ctermbg=DarkGreen - highlight SignColumn ctermfg=White ctermbg=DarkGreen - highlight DiffText ctermfg=Black ctermbg=DarkYellow - highlight DiffDelete ctermfg=Blue ctermbg=Black - - if &t_Co==8 - " 8 colour terminal support, this assumes 16 colour is available through - " setting the 'bold' attribute, will get bright foreground colour. - " However, the bright background color is not available for 8-color terms. - " - " You can manually set t_Co=16 in your .vimrc to see if your terminal - " supports 16 colours, - MultiHi cterm=none DiffText Visual Cursor Comment Todo StatusLine Question DiffChange ModeMsg VisualNOS ErrorMsg WildMenu DiffAdd Folded DiffDelete Normal - MultiHi cterm=bold Search Special Constant Number LineNr PreProc Statement Type Error Identifier SpecialKey NonText MoreMsg Title WarningMsg FoldColumn SignColumn Directory DiffDelete - - else - " Background > 7 is only available with 16 or more colors - - " Only use the s:fontface option when there is 16-colour(or more) - " terminal support - - MultiHi cterm=none WarningMsg Search Visual Cursor Special Comment Constant Number LineNr PreProc Todo Error Identifier Folded SpecialKey Directory ErrorMsg Normal - MultiHi cterm=none WildMenu FoldColumn SignColumn DiffAdd DiffChange Question StatusLine DiffText - MultiHi cterm=reverse IncSearch StatusLineNC VertSplit - - " Well, well, bold font with color 0-7 is not possible. - " So, the Question, StatusLine, DiffText cannot act as expected. - - call s:multi_hi("cterm=".((s:fontface=="plain") ? "none" : "bold"), "Statement", "Type", "MoreMsg", "ModeMsg", "NonText", "Title", "VisualNOS", "DiffDelete") - - endif - - elseif s:cterm_style=='defdark' - highlight Normal ctermfg=LightGrey ctermbg=Black - endif - " }}}1 -endif - - -" Term: -" For console with only 4 colours (term, not cterm), we'll use the default. -" ... -" The default colorscheme is good enough for terms with no more than 4 colours -" - - -" Links: -" -if (s:style=='cool') || (s:style == 'warm') - " COLOR LINKS DEFINE START - - highlight link String Constant - " Character must be different from strings because in many languages - " (especially C, C++) a 'char' variable is scalar while 'string' is pointer, - " mistaken a 'char' for a 'string' will cause disaster! - highlight link Character Number - highlight link SpecialChar LineNr - highlight link Tag Identifier - " The following are not standard hi links, - " these are used by DrChip - highlight link Warning MoreMsg - highlight link Notice Constant - " these are used by Calendar - highlight link CalToday PreProc - " these are used by TagList - highlight link MyTagListTagName IncSearch - highlight link MyTagListTagScope Constant - - " COLOR LINKS DEFINE END -endif - - -" Clean: -" -delcommand InitOpt -delcommand MultiHi - -" vim:et:nosta:sw=2:ts=8: -" vim600:fdm=marker:fdl=1: diff --git a/.vim/colors/putty.vim b/.vim/colors/putty.vim deleted file mode 100644 index 4c86ad5..0000000 --- a/.vim/colors/putty.vim +++ /dev/null @@ -1,82 +0,0 @@ -" Vim color file -" Maintainer: Prachya Boonkwan <kaamanita@hotmail.com> -" Last Change: April 29, 2003 -" Licence: Public Domain - -" This package offers a eye-catching color scheme that resembles the -" default color scheme of Putty telnet terminal. - -" First remove all existing highlighting. -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif - -let colors_name = "putty" - -hi Normal guifg=Grey guibg=Black - -hi ErrorMsg guibg=Red guifg=White -hi IncSearch gui=reverse -hi ModeMsg gui=bold -hi StatusLine gui=reverse,bold -hi StatusLineNC gui=reverse -hi VertSplit gui=reverse -hi Visual gui=reverse guifg=Grey guibg=fg -hi VisualNOS gui=underline,bold -hi DiffText gui=bold guibg=Red -hi Cursor guibg=Green guifg=NONE -hi lCursor guibg=Cyan guifg=NONE -hi Directory guifg=Blue -hi LineNr guifg=#BBBB00 -hi MoreMsg gui=bold guifg=SeaGreen -hi NonText gui=bold guifg=Blue guibg=Black -hi Question gui=bold guifg=SeaGreen -hi Search guibg=#BBBB00 guifg=NONE -hi SpecialKey guifg=Blue -hi Title gui=bold guifg=Magenta -hi WarningMsg guifg=Red -hi WildMenu guibg=Cyan guifg=Black -hi Folded guibg=White guifg=DarkBlue -hi FoldColumn guibg=Grey guifg=DarkBlue -hi DiffAdd guibg=LightBlue -hi DiffChange guibg=LightMagenta -hi DiffDelete gui=bold guifg=Blue guibg=LightCyan - -hi Comment guifg=Blue guibg=Black -hi Constant guifg=#BB0000 guibg=Black -hi PreProc guifg=#BB00BB guibg=Black -hi Statement gui=NONE guifg=#BBBB00 guibg=Black -hi Special guifg=#BB00BB guibg=Black -hi Ignore guifg=Grey -hi Identifier guifg=#00BBBB guibg=Black -hi Type guifg=#00BB00 guibg=Black - -hi link IncSearch Visual -hi link String Constant -hi link Character Constant -hi link Number Constant -hi link Boolean Constant -hi link Float Number -hi link Function Identifier -hi link Conditional Statement -hi link Repeat Statement -hi link Label Statement -hi link Operator Statement -hi link Keyword Statement -hi link Exception Statement -hi link Include PreProc -hi link Define PreProc -hi link Macro PreProc -hi link PreCondit PreProc -hi link StorageClass Type -hi link Structure Type -hi link Typedef Type -hi link Tag Special -hi link SpecialChar Special -hi link Delimiter Special -hi link SpecialComment Special -hi link Debug Special - -" vim: sw=2 diff --git a/.vim/colors/python.vim b/.vim/colors/python.vim deleted file mode 100644 index 6f4a765..0000000 --- a/.vim/colors/python.vim +++ /dev/null @@ -1,104 +0,0 @@ -""" Init -set background=light -highlight clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name = "python" - - -""""""""\ Colors \"""""""" - - -"""" GUI Colors - -highlight Cursor gui=None guibg=Palegreen3 guifg=White -highlight CursorIM gui=bold guifg=white guibg=PaleTurquoise3 -highlight Directory guifg=LightSeaGreen guibg=bg -highlight DiffAdd gui=None guifg=fg guibg=DarkCyan -highlight DiffChange gui=None guifg=fg guibg=Green4 -highlight DiffDelete gui=None guifg=fg guibg=black -highlight DiffText gui=bold guifg=fg guibg=bg -highlight ErrorMsg guifg=LightYellow guibg=FireBrick -" previously 'FillColumn': -"highlight FillColumn gui=NONE guifg=black guibg=grey60 -highlight VertSplit gui=NONE guifg=black guibg=#c8d6b3 -highlight Folded gui=bold guibg=#305060 guifg=#b0d0e0 -highlight FoldColumn gui=bold guibg=#395602 guifg=#6f9b1f -highlight IncSearch gui=reverse guifg=fg guibg=bg -highlight LineNr gui=bold guibg=#395602 guifg=#6f9b1f -highlight ModeMsg guibg=DarkGreen guifg=Green -highlight MoreMsg gui=bold guifg=SeaGreen4 guibg=bg -if version < 600 - " same as SpecialKey - highlight NonText guibg=#123A4A guifg=#3D5D6D -else - " Bottom fill (use e.g. same as LineNr) - highlight NonText gui=None guibg=bg guifg=fg -endif -highlight Normal gui=None guibg=#f6ffe5 guifg=black -highlight Question gui=bold guifg=SeaGreen2 guibg=bg -highlight Search gui=NONE guibg=LightSkyBlue4 guifg=NONE -highlight SpecialKey guibg=#103040 guifg=#324262 -highlight StatusLine gui=bold guibg=#c8d6b3 guifg=black -highlight StatusLineNC gui=NONE guibg=#c8d6b3 guifg=black -highlight Title gui=bold guifg=MediumOrchid1 guibg=bg -highlight Visual gui=reverse guibg=WHITE guifg=SeaGreen -highlight VisualNOS gui=bold,underline guifg=fg guibg=bg -highlight WarningMsg gui=bold guifg=FireBrick1 guibg=bg -highlight WildMenu gui=bold guibg=Chartreuse guifg=Black - - -"""" Syntax Colors - -"highlight Comment gui=reverse guifg=#507080 -highlight Comment gui=italic guifg=#507080 - -highlight Constant guifg=black guibg=bg -hi String gui=None guifg=#ccab3f guibg=bg - "hi Character gui=None guifg=#969248 guibg=bg - highlight Number gui=None guifg=#969248 guibg=bg - highlight Boolean gui=bold guifg=#969248 guibg=bg - "hi Float gui=None guifg=#969248 guibg=bg - -highlight Identifier guifg=#6f9b1f -hi Function gui=None guifg=#775d05 guibg=bg - -highlight Statement gui=NONE guifg=#669907 - highlight Conditional gui=None guifg=Green guibg=bg - highlight Repeat gui=None guifg=SeaGreen2 guibg=bg - "hi Label gui=None guifg=Green guibg=bg - highlight Operator gui=None guifg=Chartreuse guibg=bg - highlight Keyword gui=bold guifg=#6f9b1f guibg=bg - highlight Exception gui=bold guifg=Green guibg=bg - -highlight PreProc guifg=SkyBlue1 -hi Include gui=None guifg=#725c05 guibg=bg -hi Define gui=None guifg=#725c05 guibg=bg -hi Macro gui=None guifg=#486610 guibg=bg -hi PreCondit gui=None guifg=LightSkyBlue2 guibg=bg - -highlight Type gui=NONE guifg=#ccab3f -hi StorageClass gui=None guifg=#ccab3f guibg=bg -hi Structure gui=None guifg=#ccab3f guibg=bg -hi Typedef gui=None guifg=#ccab3f guibg=bg - -highlight Special gui=bold guifg=#ddb100 - "hi SpecialChar gui=bold guifg=White guibg=bg - "hi Tag gui=bold guifg=White guibg=bg - "hi Delimiter gui=bold guifg=White guibg=bg - "hi SpecialComment gui=bold guifg=White guibg=bg - "hi Debug gui=bold guifg=White guibg=bg - -highlight Underlined gui=underline guifg=honeydew4 guibg=bg - -highlight Ignore guifg=#204050 - -highlight Error guifg=LightYellow guibg=FireBrick - -highlight Todo guifg=#969248 guibg=#507080 - -""" OLD COLORS - - - diff --git a/.vim/colors/redblack.vim b/.vim/colors/redblack.vim deleted file mode 100644 index 793af52..0000000 --- a/.vim/colors/redblack.vim +++ /dev/null @@ -1,62 +0,0 @@ -set background=dark -hi clear - -hi Normal ctermbg=black guibg=black ctermfg=grey guifg=grey -hi Boolean ctermbg=black guibg=black ctermfg=grey guifg=grey -hi Character ctermbg=black guibg=black ctermfg=red guifg=red -hi Comment ctermbg=black guibg=black ctermfg=darkgrey guifg=#606060 cterm=bold -hi Condtional ctermbg=black guibg=black ctermfg=red guifg=red -hi Constant ctermbg=black guibg=black ctermfg=red guifg=red -hi Cursor ctermbg=black guibg=white ctermfg=grey guifg=grey -hi Debug ctermbg=black guibg=black ctermfg=grey guifg=grey -hi Define ctermbg=black guibg=black ctermfg=white guifg=white -hi Delimiter ctermbg=black guibg=black ctermfg=grey guifg=grey -hi DiffAdd ctermbg=NONE guibg=NONE ctermfg=NONE guifg=NONE cterm=NONE gui=NONE -hi DiffChange ctermbg=white guibg=white ctermfg=darkgrey guifg=#606060 -hi DiffDelete ctermbg=black guibg=black ctermfg=darkgrey guifg=#606060 cterm=bold -hi DiffText ctermbg=red guibg=red ctermfg=white guifg=white -hi Directory ctermbg=black guibg=black ctermfg=white guifg=white -hi Error ctermbg=red guibg=red ctermfg=white guifg=white -hi ErrorMsg ctermbg=red guibg=red ctermfg=white guifg=white -hi Exception ctermbg=black guibg=black ctermfg=grey guifg=grey -hi Float ctermbg=black guibg=black ctermfg=red guifg=red cterm=NONE gui=NONE -hi FoldColumn ctermbg=black guibg=black ctermfg=grey guifg=grey -hi Folded ctermbg=black guibg=black ctermfg=red guifg=red -hi Function ctermbg=black guibg=black ctermfg=white guifg=white -hi Identifier ctermbg=black guibg=black ctermfg=grey guifg=grey -hi Include ctermbg=black guibg=black ctermfg=white guifg=white -hi IncSearch ctermbg=green guibg=green ctermfg=darkgrey guifg=#606060 -hi Keyword ctermbg=black guibg=black ctermfg=red guifg=red -hi Label ctermbg=black guibg=black ctermfg=white guifg=white -hi LineNr ctermbg=black guibg=black ctermfg=darkgrey guifg=#606060 cterm=bold -hi Macro ctermbg=black guibg=black ctermfg=grey guifg=grey -hi ModeMsg ctermbg=black guibg=black ctermfg=grey guifg=grey -hi MoreMsg ctermbg=black guibg=black ctermfg=grey guifg=grey -hi NonText ctermbg=black guibg=black ctermfg=darkgrey guifg=#606060 cterm=bold -hi Number ctermbg=black guibg=black ctermfg=red guifg=red cterm=NONE gui=NONE -hi Operator ctermbg=black guibg=black ctermfg=white guifg=white -hi PreCondit ctermbg=black guibg=black ctermfg=white guifg=white -hi PreProc ctermbg=black guibg=black ctermfg=white guifg=white -hi Question ctermbg=black guibg=black ctermfg=grey guifg=grey -hi Repeat ctermbg=black guibg=black ctermfg=white guifg=white -hi Search ctermbg=black guibg=black ctermfg=green guifg=green -hi SpecialChar ctermbg=black guibg=black ctermfg=white guifg=white -hi SpecialComment ctermbg=black guibg=black ctermfg=white guifg=white -hi Special ctermbg=black guibg=black ctermfg=white guifg=white -hi SpecialKey ctermbg=white guibg=white ctermfg=black guifg=black -hi Statement ctermbg=black guibg=black ctermfg=white guifg=white -hi StatusLine ctermbg=white guibg=white ctermfg=red guifg=red -hi StatusLineNC ctermbg=black guibg=black ctermfg=grey guifg=grey -hi StorageClass ctermbg=black guibg=black ctermfg=white guifg=white -hi String ctermbg=black guibg=black ctermfg=grey guifg=grey -hi Structure ctermbg=black guibg=black ctermfg=white guifg=white -hi Tag ctermbg=black guibg=black ctermfg=red guifg=red -hi Title ctermbg=black guibg=black ctermfg=grey guifg=grey -hi Todo ctermbg=black guibg=black ctermfg=white guifg=white -hi Typedef ctermbg=black guibg=black ctermfg=white guifg=white -hi Type ctermbg=black guibg=black ctermfg=white guifg=white -hi VertSplit ctermbg=black guibg=black ctermfg=grey guifg=grey -hi Visual ctermbg=black guibg=black ctermfg=grey guifg=grey -hi VisualNOS ctermbg=black guibg=black ctermfg=grey guifg=grey -hi WarningMsg ctermbg=black guibg=black ctermfg=red guifg=red -hi WildMenu ctermbg=white guibg=white ctermfg=darkgrey guifg=#606060 diff --git a/.vim/colors/relaxedgreen.vim b/.vim/colors/relaxedgreen.vim deleted file mode 100644 index 6cc21df..0000000 --- a/.vim/colors/relaxedgreen.vim +++ /dev/null @@ -1,114 +0,0 @@ -" ---------------------------------------------------------------------------------------------------------------------------------- -" Filename: relaxedgreen.vim -" Last Modified: 14 Aug 2006 02:24:33 PM by Dave V -" Maintainer: Dave Vehrs (dvehrs at gmail.com) -" Copyright: 2002,2003,2004,2005,2006 Dave Vehrs -" This script is free software; you can redistribute it and/or -" modify it under the terms of the GNU General Public License as -" published by the Free Software Foundation; either version 2 of -" the License, or (at your option) any later version. -" Description: Vim colorscheme file. -" Install: Put this file in the users colors directory (~/.vim/colors) or -" in the shared colors directory (/usr/shared/vim/vim<version>/colors/), -" then load it with :colorscheme relaxedgreen -" -" -" ---------------------------------------------------------------------------------------------------------------------------------- -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name = "relaxedgreen" -highlight Cursor term=reverse ctermfg=green ctermbg=blue guifg=#000000 guibg=#559955 -highlight CursorIM term=reverse ctermfg=black ctermbg=darkgreen guifg=#000000 guibg=#336633 -highlight CursorColumn term=none ctermbg=darkblue guibg=#333366 -highlight CursorColumn term=none ctermbg=darkblue guibg=#333366 -highlight Comment term=italic ctermfg=darkcyan ctermbg=black guifg=#00a594 -highlight Constant term=underline ctermfg=blue guifg=#0099dd -highlight Debug term=bold ctermfg=red ctermbg=black guifg=#dc0000 guibg=#000000 -highlight DiffAdd term=reverse ctermfg=black ctermbg=cyan guifg=#000000 guibg=#007200 -highlight DiffChange term=underline cterm=reverse ctermfg=darkgreen ctermbg=black guifg=#000000 guibg=#006700 -highlight DiffDelete term=standout ctermfg=black ctermbg=cyan guifg=#000000 guibg=#007200 -highlight DiffText term=bold ctermfg=green ctermbg=black guifg=#00ac00 guibg=#000000 -highlight Directory term=underline ctermfg=green ctermbg=black guifg=#336633 guibg=#000000 -highlight Error term=reverse,bold ctermfg=black ctermbg=red guifg=#000000 guibg=#dc0000 -highlight ErrorMsg term=reverse,bold ctermfg=white ctermbg=red guifg=#ffffff guibg=#dc0000 -highlight Folded ctermfg=darkgreen ctermbg=black guifg=#20de20 guibg=#000000 -highlight FoldColumn ctermfg=darkgreen ctermbg=black guifg=#20de20 guibg=#000000 -highlight Function term=standout ctermfg=darkgreen guifg=#22bb22 -highlight Identifier term=underline ctermfg=darkcyan gui=underline guifg=#008800 -highlight Ignore ctermfg=lightgreen guifg=#33bb33 -highlight IncSearch term=reverse ctermfg=black ctermbg=darkgreen guifg=#000000 guibg=#336633 -highlight LineNr term=bold ctermfg=green guifg=#00ff00 -highlight MatchParen term=bold ctermfg=black ctermbg=green guibg=#00ff00 guifg=#000000 -highlight ModeMsg term=bold cterm=bold gui=bold -highlight MoreMsg term=bold cterm=bold gui=bold -highlight NonText ctermfg=darkcyan guifg=#999999 -highlight Normal ctermfg=gray ctermbg=black guifg=#aaaaaa guibg=#000000 -highlight Pmenu term=reverse ctermfg=black ctermbg=green guifg=#000000 guibg=#337733 -highlight PmenuSel term=bold ctermfg=black ctermbg=gray guifg=#000000 guibg=#999999 -highlight PmenuSbar term=reverse ctermfg=black ctermbg=green guifg=#000000 guibg=#337733 -highlight PmenuThumb term=reverse ctermfg=gray ctermbg=black guifg=#999999 guibg=#000000 -highlight PreProc term=standout ctermfg=darkgreen guifg=#22bb22 -highlight Question term=standout ctermfg=red guifg=#ff0000 -highlight Search term=reverse ctermfg=black ctermbg=darkgreen guifg=#000000 guibg=#228822 -highlight SignColumn ctermfg=darkgreen guifg=#20de20 guibg=#000000 -highlight Special term=bold ctermfg=green guifg=#00ff00 -highlight SpecialKey term=bold ctermfg=green guifg=#00ff00 -highlight SpellBad term=reverse cterm=underline ctermfg=red ctermbg=black gui=undercurl guisp=#ff0000 -highlight SpellCap term=reverse cterm=underline ctermfg=yellow ctermbg=black gui=undercurl guisp=#00ffff -highlight SpellLocal term=reverse cterm=underline ctermfg=blue ctermbg=black gui=undercurl guisp=#0000ff -highlight SpellRare term=reverse cterm=underline ctermfg=darkgreen ctermbg=black gui=undercurl guisp=#00ff00 -highlight Statement term=standout ctermfg=darkred guifg=#ac0000 -highlight StatusLine term=reverse ctermfg=darkgreen ctermbg=black gui=none guibg=#228822 guifg=#000000 -highlight StatusLineNC term=reverse ctermfg=darkgreen ctermbg=blue gui=none guibg=#336633 guifg=#000000 -highlight TabLine term=reverse cterm=reverse ctermfg=black ctermbg=green guibg=#222222 guifg=#228822 -highlight TabLineFill term=reverse cterm=reverse ctermfg=green ctermbg=black guibg=#222222 guifg=#226622 -highlight TabLineSel ctermfg=black ctermbg=green guibg=#228822 guifg=#222222 -highlight Title term=reverse ctermfg=black ctermbg=green guifg=#000000 guibg=#00ff00 -highlight Todo term=reverse cterm=reverse ctermfg=darkgreen ctermbg=black guibg=#336633 guifg=#000000 -highlight Type term=standout ctermfg=green guifg=#559955 -highlight Visual term=reverse cterm=reverse ctermfg=darkgreen guifg=#000000 guibg=#336633 -highlight VisualNOS term=reverse,bold cterm=reverse ctermbg=darkgreen guifg=#000000 guibg=#228822 -highlight VertSplit term=reverse ctermfg=darkgreen guifg=#336633 -highlight User1 term=standout cterm=bold ctermbg=darkgreen ctermfg=red gui=bold guibg=#228822 guifg=#FF0000 -highlight WarningMsg term=reverse ctermfg=black ctermbg=yellow guifg=#000000 guibg=#007a7a -highlight WildMenu term=reverse ctermfg=blue ctermbg=darkgreen guifg=#000099 guibg=#00ac00 - -" ---------------------------------------------------------------------------------------------------------------------------------- -" Common groups that link to other highlight definitions. - -highlight link Constant Character -highlight link Constant Number -highlight link Constant Boolean -highlight link Constant String - -highlight link LineNr Operator - -highlight link Number Float - -highlight link PreProc Define -highlight link PreProc Include -highlight link PreProc Macro -highlight link PreProc PreCondit - -highlight link Question Repeat - -highlight link Repeat Conditional - -highlight link Special Delimiter -highlight link Special SpecialChar -highlight link Special SpecialComment -highlight link Special Tag - -highlight link Statement Exception -highlight link Statement Keyword -highlight link Statement Label - -highlight link Type StorageClass -highlight link Type Structure -highlight link Type Typedef - -" ---------------------------------------------------------------------------------------------------------------------------------- -" vim:tw=132:ts=4:sw=4 diff --git a/.vim/colors/reloaded.vim b/.vim/colors/reloaded.vim deleted file mode 100644 index 0c0c382..0000000 --- a/.vim/colors/reloaded.vim +++ /dev/null @@ -1,856 +0,0 @@ -" Vim colour file: The colorscheme reloaded. -" Maintainer: Pan Shizhu <dicpan@hotmail.com> -" Last Change: 16 July 2004 -" URL: http://vim.sourceforge.net/scripts/script.php?script_id=760 -" Version: 0.6 -" -" Please prepend [VIM] in the title when writing e-mail to me, or it will -" be silently discarded. -" -" Description: -" -" See :h reloaded.txt for details -" -" Release Notes: -" -" v0.6 For default users it may be slow, Added :se lz to disable refresh -" Changed some groups of the sample parameter -" Use bracketed variable instead of the exe statement -" Changed the order of most division calculation to improve accuracy -" v0.5 Initial upload at 15 July 2004. -" - - -" minimal value of all the given numbers, maximum 20 parameters -fu! s:min(num1,num2,...) - let l:min = a:num1<a:num2 ? a:num1 : a:num2 - - let l:idx = a:0 - wh l:idx > 0 - let l:var = a:{l:idx} - if l:var < l:min - let l:min = l:var - en - let l:idx = l:idx - 1 - endw - retu l:min -endf - -" same as above for maximal value -fu! s:max(num1,num2,...) - let l:max = a:num1>a:num2 ? a:num1 : a:num2 - - let l:idx = a:0 - wh l:idx > 0 - let l:var = a:{l:idx} - if l:var > l:max - let l:max = l:var - en - let l:idx = l:idx - 1 - endw - retu l:max -endf - -" guard the var to be in the range between unity and base. -" if base is omitted, treat like degrees. -fu! s:guard(var,unity,...) - if a:0 - if a:var < a:1 - retu a:1 - elsei a:var > a:unity - retu a:unity - en - retu a:var - en - if a:var < 0 - retu a:unity + (a:var % a:unity) - en - retu a:var % a:unity -endf - -" sub-function - " 8-bit integer to 2 digit hexadecimal - fu! s:to_hex(num) - retu '0123456789abcdef' [a:num/16%16] . '0123456789abcdef' [a:num%16] - endf - -" rgb to rgb color string -fu! s:rgb2colors(red,green,blue) - retu "#".s:to_hex(a:red+0).s:to_hex(a:green+0).s:to_hex(a:blue+0) -endf - -" sub-functions - fu! s:hue2rgb(v1, v2, hue) - " trim to the first period - let l:hue = s:guard(a:hue, 360) - - if l:hue < 60 - retu a:v1 + l:hue * (a:v2 - a:v1) / 60 - en - if l:hue < 180 - retu a:v2 - en - if l:hue < 240 - retu a:v1 + (240 - l:hue) * (a:v2 - a:v1) / 60 - en - retu a:v1 - endf - -" hsl to rgb color string -fu! s:hsb2colors(hue,sat,bri) - " Hue: Any integer degree (modular 360) - " Saturation: 0 to 1023/1023 - " Luminance: 0 to 1023/1023 - " RGB results = 0 to 255 - - if a:sat == 0 - let l:lum = a:bri / 4 - retu s:rgb2colors(l:lum, l:lum, l:lum) - en - - if a:bri < 512 - let l:v2 = a:bri * ( 1023 + a:sat ) - el - let l:v2 = ( a:bri + a:sat ) * 1023 - ( a:sat * a:bri ) - en - - let l:v1 = 2 * 1023 * a:bri - l:v2 - - let l:red = s:hue2rgb(l:v1, l:v2, a:hue + 120) / 4092 - let l:green = s:hue2rgb(l:v1, l:v2, a:hue) / 4092 - let l:blue = s:hue2rgb(l:v1, l:v2, a:hue - 120) / 4092 - - retu s:rgb2colors(l:red, l:green, l:blue) - -endf - -" rgb color number to s:rgb -fu! s:color2rgb(color) - let s:red = a:color / 0x10000 - let s:green = (a:color / 0x100) % 0x100 - let s:blue = a:color % 0x100 -endf - -" rgb to s:hsl -fu! s:rgb2hsb(red,green,blue) - - let l:red = a:red * 1023 / 255 - let l:green = a:green * 1023 / 255 - let l:blue = a:blue * 1023 / 255 - - let l:min = s:min(l:red, l:green, l:blue) - let l:max = s:max(l:red, l:green, l:blue) - let l:delta = l:max - l:min - - let s:bri = (l:max + l:min) / 2 - - if l:delta == 0 - let s:hue = 180 " When sat = 0, hue default to 180 - let s:sat = 0 - el - if s:bri < 512 - let s:sat = l:delta * 1023 / (l:max + l:min) - el - let s:sat = l:delta * 1023 / (2*1023 - l:max - l:min) - en - - let l:del_r = ( (l:max-l:red) + (l:delta*3) ) * 60 / l:delta - let l:del_g = ( (l:max-l:green) + (l:delta*3) ) * 60 / l:delta - let l:del_b = ( (l:max-l:blue) + (l:delta*3) ) * 60 / l:delta - - if l:red == l:max - let s:hue = l:del_b - l:del_g - elsei l:green == l:max - let s:hue = 120 + l:del_r - l:del_b - elsei l:blue == l:max - let s:hue = 240 + l:del_g - l:del_r - en - - let s:hue = s:guard(s:hue, 360) - en -endf - -" sub-functions - if !exists("s:loaded") | let s:hue_range = 0 | let s:hue_phase = 0 | en - fu! s:cast_hue(hue) - retu a:hue * s:hue_range / 360 - s:hue_range / 2 + s:hue_phase - endf - - if !exists("s:loaded") | let s:sat_base = 0 | let s:sat_modify = 0 | en - fu! s:cast_sat(sat) - let l:sat = a:sat * (1024 - s:sat_base) / 1024 + s:sat_base - retu l:sat * s:sat_modify / 100 - endf - - if !exists("s:loaded") | let s:bri_base = 0 | let s:bri_modify = 0 | en - fu! s:cast_bri(bri) - let l:bri = a:bri * (1024 - s:bri_base) / 1024 + s:bri_base - retu l:bri * s:bri_modify / 100 - endf - -" input hsl, do modification in HSL color space, output rgb color string -fu! s:make_hsb(hue,sat,bri) - - let l:hue = s:guard(s:cast_hue(a:hue), 360) - let l:sat = s:guard(s:cast_sat(a:sat), 1023, s:sat_base) - let l:bri = s:guard(s:cast_bri(a:bri), 1023, s:bri_base) - - if s:verbose | ec "\"\tH=".l:hue."\tS=".l:sat."\tL=".l:bri | en - retu s:hsb2colors(l:hue, l:sat, l:bri) - -endf - -" input rgb color number, transfer to HSL, then do <sid>make_hsb -fu! s:make_color(color) - cal s:color2rgb(a:color) - cal s:rgb2hsb(s:red, s:green, s:blue) - retu s:make_hsb(s:hue, s:sat, s:bri) -endf - -" input color string, transfer in HSL, output rgb color string -fu! s:parse_color(p) - if a:p[6] == "#" - let l:p = '0x'.strpart(a:p, 7, 6) + 0 - retu strpart(a:p, 0, 6).s:make_color(l:p) - elsei a:p[6] == "@" - let l:hue = s:guard(strpart(a:p, 7, 3) + 0, 360) - let l:sat = s:guard(strpart(a:p, 10, 4) + 0, 1023, 0) - let l:bri = s:guard(strpart(a:p, 14, 4) + 0, 1023, 0) - retu strpart(a:p, 0, 6).s:make_hsb(l:hue, l:sat, l:bri) - el - retu a:p - en -endf - -if !exists("s:loaded") | let s:verbose = 0 | en -fu! s:psc_hi(group, p1, p2, ...) - if a:0 == 0 - let l:p3 = "gui=NONE" - el - let l:p3 = a:1 - en - let l:p1 = s:parse_color(a:p1) - let l:p2 = s:parse_color(a:p2) - if s:verbose | ec "hi ".a:group." ".l:p1." ".l:p2." ".l:p3 | en - exe "hi ".a:group." ".l:p1." ".l:p2." ".l:p3 -endf - -fu! s:multi_hi(setting, ...) - let l:idx = a:0 - wh l:idx > 0 - let l:hlgroup = a:{l:idx} - if s:verbose | ec "hi ".l:hlgroup." ".a:setting | en - exe "hi ".l:hlgroup." ".a:setting - let l:idx = l:idx - 1 - endw -endf - -" Transfer global variable into script variable -fu! s:init_option(var, value) - if !exists("g:psc_".a:var) - exe "let s:".a:var." = ".a:value - el - let s:{a:var} = g:psc_{a:var} - en -endf - -if !exists("loaded") | let s:file = expand("<sfile>") | en - -cal s:init_option("reload_prefix", "'".fnamemodify(s:file,":p:h")."/'") - -fu! s:psc_reload(...) - - " Only do color for GUI - if !has("gui_running") | retu | en - - if a:0 > 10 - echoe "Too many parameters, ".'a:0 == '.a:0 - retu - en - - com! -nargs=+ InitOpt cal s:init_option(<f-args>) - - if a:0 >= 6 - " Hue = phase +- (range/2) - " Sat = sat * modify% then promoted from base to 1024 - " Bri = bri * modify% then promoted from base to 1024 - - let s:hue_range = a:1 - let s:sat_modify = a:2 - let s:bri_modify = a:3 - - let s:hue_phase = a:4 - let s:sat_base = a:5 - let s:bri_base = a:6 - el - InitOpt hue_range 360 - InitOpt sat_modify 100 - InitOpt bri_modify 100 - - InitOpt hue_phase 180 - InitOpt sat_base 0 - InitOpt bri_base 0 - en - - if a:0 >= 7 - let s:lightbg = a:7 - el - InitOpt style 'cool' - if s:style == 'warm' - InitOpt lightbg 1 - el - InitOpt lightbg 0 - en - en - - if a:0 >= 8 - let s:plainfont = a:8 - el - InitOpt fontface 'mixed' - if s:fontface == 'mixed' - InitOpt plainfont 0 - el - InitOpt plainfont 1 - en - en - - if a:0 >= 9 - let s:verbose = a:9 - el - InitOpt verbose 0 - en - - if a:0 == 10 - let s:reload_filename = a:10 - el - InitOpt reload_filename 'ps_color.vim' - en - - delc InitOpt - - let s:reload_filename = s:reload_prefix.s:reload_filename - - if !filereadable(s:reload_filename) - echoe "Color data file ".s:reload_filename." not found." - retu - en - - se lz - - if !s:lightbg | se bg=dark | el | se bg=light | en - - hi clear - - if exists("syntax_on") | sy reset | en - - " This is mandatory, personally I think it is a bug rather than a feature. - let g:colors_name = expand("<sfile>:t:r") - - - " GUI: - " - " Matrix Reloaded style for gui - " - let s:tempfile = '__Temp_Colors__' - - exe "sil! 1new ".s:tempfile - sil! %d - exe "sil! 0r ".s:reload_filename - if s:verbose - ec '" Reloaded color scheme from '.s:reload_filename - ec '" with param ' s:hue_range s:sat_modify s:bri_modify - \s:hue_phase s:sat_base s:bri_base s:lightbg s:plainfont - ec '" ' - en - - if !s:lightbg - sil! 1,/^\s*" DARK COLOR DEFINE START$/d - sil! /^\s*" DARK COLOR DEFINE END$/,$d - el - sil! 1,/^\s*" LIGHT COLOR DEFINE START$/d - sil! /^\s*" LIGHT COLOR DEFINE END$/,$d - en - - sil! 0 - let s:nnb = 1 - com! -nargs=+ PscHi cal s:psc_hi(<f-args>) - wh 1 - let s:nnb = nextnonblank(s:nnb) - if !s:nnb | brea | en - - let s:line = getline(s:nnb) - - let s:nnb = s:nnb + 1 - - " Skip invalid lines - if s:line !~ '^\s*hi\%[ghlight]\s*.*' | con | en - - exe substitute(s:line, '\<hi\%[ghlight]\>', 'PscHi', '') - endw - sil! q! - delc PscHi - - " Enable the bold style - com! -nargs=+ MultiHi cal s:multi_hi(<f-args>) - if !s:plainfont - MultiHi gui=bold Question StatusLine DiffText Statement Type MoreMsg ModeMsg NonText Title VisualNOS DiffDelete - endif - delc MultiHi - - " Color Term: - " Are you crazy? - - - " Term: - " Don't be silly... - - - " Links: - " Something sensible - - exe "sil! 1new ".s:tempfile - sil! %d - exe "sil! 0r ".s:reload_filename - - sil! 1,/^\s*" COLOR LINKS DEFINE START$/d - sil! /^\s*" COLOR LINKS DEFINE END$/,$d - - sil! 0 - let s:nnb = 1 - wh 1 - let s:nnb = nextnonblank(s:nnb) - if !s:nnb - brea - en - let s:line = getline(s:nnb) - - let s:nnb = s:nnb + 1 - " Skip invalid lines - if s:line !~ '^\s*hi\%[ghlight]\s*.*' | con | en - - if s:verbose | ec s:line | en - - sil! exe s:line - endw - sil! q! - -endf - -" To flag the script variables are initialized -let s:loaded = 1 - -com! -nargs=* Reload cal <SID>psc_reload(<f-args>) - -" vim:et:nosta:sw=2:ts=8: -" HelpExtractor: -" The document {{{2 -fu! s:extract_help() - se lz - let docdir = substitute(s:file, '\<colors[/\\].*$', 'doc', '') - if !isdirectory(docdir) - if has("win32") - echoe 'Please make '.docdir.' directory first' - unl docdir - return - elsei !has("mac") - exe "!mkdir ".docdir - en - en - - let curfile = fnamemodify(s:file, ":t:r") - let docfile = substitute(fnamemodify(s:file, ":r").".txt", - \'\<colors\>', 'doc', '') - exe "silent! 1new ".docfile - sil! %d - exe "silent! 0r ".fnamemodify(s:file, ":p") - sil! 1,/^" HelpExtractorDoc:$/d - norm! GVkkd - cal append(line('$'), '') - cal append(line('$'), 'v' . 'im:tw=78:ts=8:noet:ft=help:fo+=t:norl:noet:') - sil! wq! - exe "helptags ".substitute(docfile,'^\(.*doc.\).*$','\1','e') - - exe "silent! 1new ".fnamemodify(s:file, ":p") - 1 - sil! /^" HelpExtractor:$/,$g/.*/d - sil! wq! - - noh -endf - -cal s:extract_help() -fini - -" --------------------------------------------------------------------- -" Put the help after the HelpExtractorDoc label... -" HelpExtractorDoc: -*reloaded.txt* Color Tuner and Reloader Last change: 16 July 2004 - - -PERSONAL COLOUR TUNER AND RELOADER *psc_reload* - - -Author: Pan, Shizhu. <dicpan> at <hotmail o com> > - (prepend '[VIM]' in the title or your mail may be silently removed.) -< -============================================================================== -CONTENTS *pcr* *pcr-contents* - - 1. Contents.....................|pcr-contents| - 2. PCR Overview.................|pcr-overview| - 3. PCR Usage....................|pcr-usage| - 4. PCR Options..................|pcr-options| - 5. PCR FAQ .....................|pcr-faq| - 6. PCR Todo List................|pcr-todo| - -For release notes, please see the header of reloaded.vim - -============================================================================== -PCR FEATURES OVERVIEW *pcr-features* *pcr-overview* - - Features ~ - - . PCR is a color scheme tuner and reloader. - . PCR is an optional utility for ps_color as well as other schemes - . It tunes the whole color scheme in HSL color space. - . Thousands of color styles can be achieved by HSL tuning. - . Tuned output can be saved to create new color schemes. - . Can be configured to tune your own color scheme. - . Works under GUI only, do not affect console version. - - Design Concern ~ - - When I'm designing the color scheme |ps_color|, I realized it is - extremely difficult to fine-tune the color, the whole step is not at - all straight forward. What is more, RGB is not quite comprehensive - for most average people. It would be much better if it is possible to - tune the color scheme in HSL color space. Many color schemes in vim - are actually similar, just some tune in the HSL color space. - - It is very easy to understand HSL color space even if one has NO - previous knowledge. This may be another reason to use HSL color - space. - - Portability ~ - - Before playing the game of colors, you are strongly recommended to - adjust your monitor to 6500k color temperature and proper gamma curve. - This has been described in the |ps_color.txt| at the same - "Portability" section. If you don't know how, just skip it. - - The only portability issue, for the obvious reason, this is GUI only. - ;-) - -============================================================================== -PSC USAGE *pcr-usage* - - For the impatient ~ - - Make sure both ps_color.vim and reloaded.vim are in your - [runtimepath]/colors and type in the following command > - - :colo reloaded -< - in your Vim or append to your |.vimrc|. The [runtimepath] can be any - 'writable' directory listed in |vimfiles|, normally your $HOME/.vim in - Unix or $HOME/vimfiles in Windows. - - Note that you don't need to remove your current :colo lines in .vimrc, - since the :colo reloaded does nothing on color scheme, the - reloaded.vim has to be a color scheme for some bizarre reason. - - Note if you do not want to have ps_color.vim, go to FAQ section to see - how to create your own. - - Experiencing ~ - - Normally, nothing will happen when you sourced the colorscheme - reloaded, this only enables the command :Reload. - - The :Reload command will be available after you sourced the - colorscheme reloaded. If not, type :colo reloaded now. - - Now try the following: -> - :Reload 60 100 100 120 341 0 0 0 0 -< - If you do as above, you will get a greenish feeling like "Matrix - reloaded". You can run the Reload command in vim command line as well - as in .vimrc. To see what the :Reload is capable of, try the - following, one by one: -> - :Reload 120 100 100 60 341 128 - :Reload 120 100 100 60 341 0 1 - :Reload 480 84 84 195 256 96 0 - :Reload 720 71 100 360 0 0 0 - :Reload 60 100 100 150 341 0 0 - :Reload 240 120 100 330 341 0 1 - :Reload 360 100 100 180 0 0 0 1 - :Reload 360 100 100 180 0 0 1 0 -< - (Hint: choose a document which has as much highlight as possible to - see what the come scheme looks like. Vim scripts or Vim help documents - may be good samples.) - - . The first line will give you a golden feeling, followed by - a reversed version. - . Next comes a low contrast dark-cyan-background scheme. - . Next comes a black background with decreased saturation. - . The Hue can be changed anyway. This is a cyan-green style, call it - "Matrix revolution"? - . Be hot, lets try a reddish style. - . The last two lines will give you the same as ps_color 'cool' and - 'warm' style. - - Are you amazed? I guess so. And, of course all the above can be - further fine-tuned. - - If you want to explore the mysteries inside this, see the next - section. - -============================================================================== -PCR OPTIONS *pcr-options* - - Since it is much easier and straight forward to specify command line - arguments, there are no need to create individual options. Here we - describe the 10 parameters. - - Synopsis ~ - - :Reload h_r s_m l_m h_p s_b l_b [ lbg [ pf [ vb [ cdf ] ] ] ] - - Scope ~ - - Hue is the dominant parameter to a color, because the human eye is - very sensitive to the changing of hue. Generally, the hue is - expressed by angle, can be 0 to 360 degrees, where 359 degree is equal - to -1 degree, 360 degree is equal to 0 degree, 361 degree is equal to - 1 degree, etc. - - The human eye is less sensitive to Saturation, the Black, Grey, and - White has saturation=0, The pure Red, Green, and Blue has - saturation=max, usually, saturation is defined to be between 0 and 1. - But Vim is not capable of handling floating points, so I defined the - saturation to be between 0 and 1023. - - The saturation is the amount the different color elements differs, if - the red, green, blue are similar, the saturation is low. - - The human eye is least sensitive to Luminance, since the dynamic range - of human eye can be changed on the fly. The luminance, or to say - brightness, needs no explanation, since the meaning is quite obvious. - - The Luminance is also defined to be 0 to 1023, for the same reason. - - Parameter h_r and h_p ~ - - This refers to hue range and hue phase. - - set the hue range to any positive value, the hue will be in the range - of hue_phase-(hue_range/2) to hue_phase-(hue_range/2) - - The normal hue is from 0 to 360, let hue_range=360 and hue_phase=180 - will have the range 0 to 360, hence the hue of original color scheme - will be retained. - - Set the hue range to between 0 and 360 will have the hue range - compressed, or to say a color-filtered look. Set the hue range to - 0 will force all colors in the color scheme to have the same hue value - as hue_phase. You may not want it to be that low, since the - hue_range=60 will in most cases enough to give the whole color scheme - a color-filtered look. - - Set the hue range to >360 will have the color changed without compress - the hue range, the behavior is not easy to describe, you need to do - more experiments to understand what it does. - - Set the hue range to <0 is illegal. - - The hue_phase is the base value the whole color scheme designed - around. Usually, the Hue=0 is Red, Hue=60 is Yellow, Hue=120 is - Green, Hue=180 is Cyan, Hue=240 is Blue, Hue=300 is Magenta, any other - value is between two color, for example, Hue=30 is Orange color. - - It would be very interesting to see how a color scheme changes when - change the hue_phase. - - Parameter s_m and s_b ~ - - This refers to saturation modify and saturation base - - The saturation modify is a percent value, 100 means no modify. - If set to 50, all saturation will be decreased to 50%, - If set to 0, the screen will be black and white (greyscale), - If set to 200, all saturation will be increased to 200% times the - original value. - - The saturation base is a linear value, it defines the minimum - saturation. - If set to 0, the saturation will not be modified. - If set to 256, the minimum saturation will be 1/4. - If set to 341, the minimum saturation will be 1/3. - If set to 512, the minimum saturation will be 1/2. - - Oops, please _note_ that a too high value of saturation is not quite - comfortable for most people. - - Parameter l_m and l_b ~ - - This refers to luminance modify and luminance base - - The luminance modify is a percent value, 100 means no modify. - If set to 50, all luminance will be decreased to 50%, - If set to 0, the screen will be completely dark (can be possibly used - for boss key?) - If set to 200, all luminance will be increased to 200% times the - original value. - - The luminance base is a linear value, it defines the minimum - luminance. - - Main use of this is to tune the background for a dark background - colorscheme. - If set to 0, the background will be black. - If set to 128, the background will be a 1/8 dark one, the color of - background can be tuned by saturation_base and hue_phase. - If set to 1023, the screen will be completely white. - - For light background, it is recommended to set luminance base to 0. - - - Parameter lbg ~ - - This refers to light background - - when set to 1, the reloader choose a light background scheme and set - bg to light, otherwise, it is set to 0. - - This options is optional, if omitted, it checks the value of - g:psc_style, if the style is 'warm', the light background is set to 1. - - Parameter pf ~ - - This refers to plain font - - Optional, set to 1 will turn all bolded font to plain font. - When not set, will check for g:psc_fontface, if non-exists, - default to 0. - - Parameter vb ~ - - This refers to 'verbose' - - When set to 1, some debug messages will be echoed when running the - command. - - Parameter cdf ~ - - This refers to custom data file - - The default data file is the ps_color.vim placed at the same directory - as reloaded.vim. You can set it to any file you want. - - When present, it should be the file name of your data file. - For example, if your data file is ~/.vim/colors/template.vim: -> - :Reload 360 100 100 180 0 0 1 0 0 template.vim -< - will reload the light color scheme in template.vim - *pcr-custom-data* - Designing a data file ~ - - The data file can be a normal color scheme script, such as - ps_color.vim, You may need to know more if you want to do - modifications. - - The ps_color.vim is fairly complicated, but only part of the file are - imported as data. Mainly, you only need to see how it organizes - statements in between "DEFINE START" and "DEFINE END" blocks. - - The data file should conform to some restrictions: - - . Must be in the same directory as reloaded.vim - - . ALL highlight group must be defined, do not accept any default - value, this include the Underline and Ignore groups, this also hints - that both foreground and background must be defined. Use :ru - syntax/hitest.vim to check if all highlight groups are defined. - - . Color names like "SlateBlue" should not be used, only hardcoded color - like #rrggbb is acceptable, the fg and bg can be used though, Since - fg and bg comes from the group Normal, and Normal group must be - defined with #rrggbb form of foreground and background. - - . The following should exist in the file -> - " DARK COLOR DEFINE START - " DARK COLOR DEFINE END - " LIGHT COLOR DEFINE START - " LIGHT COLOR DEFINE END - " COLOR LINKS DEFINE START - " COLOR LINKS DEFINE END -< - the highlight statement should be placed in between START and END. - All statement other than the 'highlight' will be silently discarded. - - You can put dark color scheme defines in dark color define section, - or light color scheme in light color section. It doesn't matter if - you have nothing in the section, since the defaults are used. - However, the defaults will not be tuned in the HSL color space, - which may be you want, and may not! - - Further statements can be put in color links define section, you can - put any 'highlight' statements in this section since the statements - in this section will be execute unparsed, if you want to manually - change some groups in a reloaded scheme, put something there. - - -============================================================================== -PCR FAQ AND TIPS *pcr-faq* -> - Q: How to make my own color to be tunable? -< - A: Your own color scheme must conform to some restrictions, - see |pcr-custom-data| for details. -> - Q: How to run reloaded.vim without having ps_color.vim? -< - A: reloaded.vim is just a utility to reload colorscheme, it does not - contain any colors. You must have a data file, or to say - colorscheme, contains the 'highlight' statements like those in - ps_color.vim, and tell the reloaded.vim to use that file. - Instructions on creating custom data file is described in - |pcr-custom-data|. -> - Q: How to export the tuned output to create new color scheme? -< - A: This is still under construction, currently you can set verbose in - the command line parameter and capture the output, but it is not - working very well. -> - Q: Why this should be a colorschme instead of a plugin utility? -< - A: This seems to be a Vim bug (or to say 'feature' if you prefer), the - main function will hang up if run as a plugin and you will not be - able to source the colorscheme in the current Vim session, so, - please put reloaded.vim in ~/.vim/colors, do NOT put it in - ~/.vim/plugin ! -> - Q: Why it is impossible to browse functions in reloaded.vim with - taglist plugin? -< - A: The old versions of exuberant ctags utility do not cope with <sid> - functions very well, please download and recompile the newest - version of exuberant ctags utility. - - -============================================================================== -PCR TODO LIST *pcr-todo* - - o Fix the remaining bugs. - o Try to be able to parse color names - o Improve the output feature - -============================================================================== -vim:et:nosta:sw=2:ts=8: -}}}2 vim600:fdm=marker:fdl=1: diff --git a/.vim/colors/revolutions.vim b/.vim/colors/revolutions.vim deleted file mode 100644 index 15450c9..0000000 --- a/.vim/colors/revolutions.vim +++ /dev/null @@ -1,75 +0,0 @@ -" MATRIX-REVOLUTIONS colorscheme -" Author: Christian MICHON -" Version: 1.0 -" Last Change: 23 Jun 2004 - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif - -let g:colors_name = 'revolutions' - -hi Boolean guifg=#e6fff3 guibg=#43705a gui=none -hi Character guifg=#e6fff3 guibg=#43705a gui=none -hi Comment guifg=#43705a guibg=#000000 gui=underline -hi Conditional guifg=#e6fff3 guibg=#000000 gui=bold -hi Constant guifg=#e6fff3 guibg=#43705a gui=none -hi Cursor guifg=#43705a guibg=#e6fff3 gui=none -hi Debug guifg=#61a181 guibg=#000000 gui=none -hi Define guifg=#e6fff3 guibg=#000000 gui=none -hi Delimiter guifg=#61a181 guibg=#000000 gui=none -hi DiffAdd guifg=#e6fff3 guibg=#43705a gui=bold -hi DiffChange guifg=#e6fff3 guibg=#43705a gui=none -hi DiffDelete guifg=#e6fff3 guibg=#43705a gui=none -hi DiffText guifg=#000000 guibg=#e6fff3 gui=bold -hi Directory guifg=#e6fff3 guibg=#000000 gui=none -hi Error guifg=#e6fff3 guibg=#61a181 gui=bold -hi ErrorMsg guifg=#e6fff3 guibg=#61a181 gui=bold -hi Exception guifg=#e6fff3 guibg=#000000 gui=bold -hi Float guifg=#e6fff3 guibg=#43705a gui=none -hi FoldColumn guifg=#9bcfb5 guibg=#43705a gui=bold -hi Folded guifg=#9bcfb5 guibg=#43705a gui=bold -hi Function guifg=#e6fff3 guibg=#000000 gui=none -hi Identifier guifg=#e6fff3 guibg=#000000 gui=none -hi Ignore guifg=#000000 guibg=#000000 gui=none -hi Include guifg=#e6fff3 guibg=#000000 gui=none -hi IncSearch guifg=#1d3026 guibg=#61a181 gui=bold -hi Keyword guifg=#e6fff3 guibg=#000000 gui=bold -hi Label guifg=#e6fff3 guibg=#000000 gui=bold -hi lCursor guifg=#43705a guibg=#e6fff3 gui=none -hi LineNr guifg=#9bcfb5 guibg=#000000 gui=bold -hi Macro guifg=#e6fff3 guibg=#000000 gui=none -hi ModeMsg guifg=#9bcfb5 guibg=#000000 gui=bold -hi MoreMsg guifg=#9bcfb5 guibg=#000000 gui=bold -hi NonText guifg=#9bcfb5 guibg=#1d3026 gui=bold -hi Normal guifg=#9bcfb5 guibg=#000000 gui=none -hi Number guifg=#e6fff3 guibg=#000000 gui=none -hi Operator guifg=#e6fff3 guibg=#000000 gui=bold -hi PreCondit guifg=#e6fff3 guibg=#000000 gui=none -hi PreProc guifg=#61a181 guibg=#000000 gui=none -hi Question guifg=#9bcfb5 guibg=#000000 gui=bold -hi Repeat guifg=#e6fff3 guibg=#000000 gui=bold -hi Search guifg=#1d3026 guibg=#61a181 gui=bold -hi Special guifg=#61a181 guibg=#000000 gui=none -hi SpecialChar guifg=#61a181 guibg=#000000 gui=none -hi SpecialComment guifg=#61a181 guibg=#000000 gui=none -hi SpecialKey guifg=#9bcfb5 guibg=#000000 gui=none -hi Statement guifg=#e6fff3 guibg=#000000 gui=bold -hi StatusLine guifg=#e6fff3 guibg=#61a181 gui=bold -hi StatusLineNC guifg=#1d3026 guibg=#61a181 gui=bold -hi StorageClass guifg=#f070a0 guibg=#000000 gui=bold -hi String guifg=#e6fff3 guibg=#000000 gui=none -hi Structure guifg=#f070a0 guibg=#000000 gui=bold -hi Tag guifg=#61a181 guibg=#000000 gui=none -hi Title guifg=#e6fff3 guibg=#1d3026 gui=bold -hi Todo guifg=#1d3026 guibg=#9bcfb5 gui=none -hi Type guifg=#e6fff3 guibg=#000000 gui=bold -hi Typedef guifg=#f070a0 guibg=#000000 gui=bold -hi Underlined guifg=#e6fff3 guibg=#000000 gui=underline -hi VertSplit guifg=#61a181 guibg=#61a181 gui=none -hi Visual guifg=#e6fff3 guibg=#61a181 gui=none -hi VisualNOS guifg=#9bcfb5 guibg=#000000 gui=underline -hi WarningMsg guifg=#1d3026 guibg=#61a181 gui=bold -hi WildMenu guifg=#43705a guibg=#e6fff3 gui=none diff --git a/.vim/colors/robinhood.vim b/.vim/colors/robinhood.vim deleted file mode 100644 index b6eb1bd..0000000 --- a/.vim/colors/robinhood.vim +++ /dev/null @@ -1,99 +0,0 @@ -" vim: set tw=0 sw=4 sts=4 et: - -" Vim color file -" Maintainer: Datila Carvalho <datila@saci.homeip.net> -" Last Change: November, 3, 2003 -" Version: 0.1 - -" This is a VIM's version of the emacs color theme -" _Robin Hood_ created by Alex Schroede. - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif - -let g:colors_name = "robinhood" - - -""" Colors - -" GUI colors -hi Cursor guifg=fg guibg=gray -hi CursorIM guifg=NONE guibg=gray -"hi Directory -"hi DiffAdd -"hi DiffChange -"hi DiffDelete -"hi DiffText -hi ErrorMsg gui=bold guifg=White guibg=Red -"hi VertSplit -"hi Folded -"hi FoldColumn -"hi IncSearch -"hi LineNr -"hi ModeMsg -"hi MoreMsg -"hi NonText -hi Normal guibg=#304020 guifg=navajowhite -"hi Question -hi Search gui=bold guifg=Black guibg=gray -"hi SpecialKey -hi StatusLine guifg=palegreen -hi StatusLineNC guifg=yellowgreen -"hi Title -hi Visual guifg=darkslategrey guibg=fg -hi VisualNOS gui=bold guifg=Black guibg=fg -hi WarningMsg guifg=White guibg=Tomato -"hi WildMenu - -" Colors for syntax highlighting -hi Comment guifg=lightblue - -hi Constant gui=bold guifg=lightcyan - hi String guifg=lightsalmon - hi Character guifg=lightsalmon - hi Number gui=bold guifg=lightcyan - hi Boolean gui=bold guifg=lightcyan - hi Float gui=bold guifg=lightcyan - -hi Identifier gui=bold guifg=palegreen - hi Function guifg=yellowgreen - -hi Statement gui=bold guifg=salmon - hi Conditional gui=bold guifg=salmon - hi Repeat gui=bold guifg=salmon - hi Label guifg=salmon - hi Operator guifg=salmon - "hi Keyword - "hi Exception - -hi PreProc guifg=palegreen - hi Include gui=bold guifg=palegreen - hi Define guifg=palegreen - hi Macro guifg=aquamarine - hi PreCondit guifg=palegreen - -hi Type gui=bold guifg=palegreen - hi StorageClass gui=bold guifg=aquamarine - hi Structure gui=bold guifg=aquamarine - hi Typedef gui=bold guifg=aquamarine - -"hi Special - ""Underline Character - "hi SpecialChar gui=underline - "hi Tag gui=bold,underline - ""Statement - "hi Delimiter gui=bold - ""Bold comment (in Java at least) - "hi SpecialComment gui=bold - "hi Debug gui=bold - -hi Underlined gui=underline - -hi Ignore guifg=bg - -hi Error gui=bold guifg=White guibg=Red - -"hi Todo diff --git a/.vim/colors/sand.vim b/.vim/colors/sand.vim deleted file mode 100644 index cc673df..0000000 --- a/.vim/colors/sand.vim +++ /dev/null @@ -1,30 +0,0 @@ -" Vim color file -" Maintainer: Tim Alexeevsky <realtim@mail.ru> -" Last Change: 2002-03-14 -" Version: 0.5 -" URL: http://sunsite.cs.msu.su/~tim/vim/sand.vim -" -" Thanx to Hans Fugal for his colorscheme_template.vim - -set background=light -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name="sand" - -highlight Normal guibg=cornsilk guifg=NONE -highlight PreProc guibg=NONE guifg=Maroon4 -highlight Comment guibg=NONE guifg=SteelBlue4 -highlight Constant guibg=NONE guifg=NavajoWhite4 -highlight Special guibg=NONE guifg=SlateBlue4 -highlight Identifier guibg=NONE guifg=SeaGreen -highlight Statement guibg=NONE guifg=bisque4 -highlight Type guibg=NONE guifg=DarkOliveGreen -highlight Todo guibg=LightYellow3 guifg=Blue4 -highlight NonText guibg=NONE guifg=DarkGreen -highlight LineNr guibg=NONE guifg=Brown -highlight StatusLineNC guifg=#8090a0 -highlight StatusLine guifg=#005070 - -"vim: tw=0 sw=3 ts=3 sts=3 et diff --git a/.vim/colors/scite.vim b/.vim/colors/scite.vim deleted file mode 100644 index 609ad98..0000000 --- a/.vim/colors/scite.vim +++ /dev/null @@ -1,48 +0,0 @@ -" Vim color file -" Maintainer: Gergely Kontra <kgergely@mcl.hu> -" Last Change: 2002. 04. 09. - -" I'm a bit red-blind, so if you have suggestions, don't hesitate :) -" ^^^^^^^^^ Sorry, I cannot speak English well, just want to say, -" that in some rare cases I cannot distinguish between some colors -" (I've just realized it, when I see some special tests) - -set background=light -hi clear -if exists("syntax_on") - syntax reset -endif -"colorscheme default -let g:colors_name = "scite" - -" hardcoded colors : - -" GUI -"highlight Normal guifg=#7F6F5F guibg=#eeeeee -highlight Normal guifg=#7F6F5F guibg=#ffffff -highlight Search guibg=#bbbbbb gui=bold -highlight Visual guifg=#DADADA -highlight Folded guifg=#ffffff guibg=#666666 -highlight Cursor guifg=#666666 guibg=#000000 gui=bold -highlight Special guifg=#7F007F guibg=#eeeeff gui=bold -highlight Comment guifg=#007F00 guibg=#eeeeee -highlight StatusLine guifg=#000000 guibg=#aacccc -highlight StatusLineNC guifg=#557777 guibg=#ffffff -highlight Statement guifg=#007F7F gui=bold -highlight Type guifg=#0000ff gui=NONE -highlight Function guifg=#007F7F gui=bold -highlight LineNr guifg=#000000 guibg=#bbbbbb -highlight FoldColumn guifg=#000000 guibg=#dddddd -highlight Define guifg=#00007F guibg=#ddddff gui=bold -highlight Number guifg=#000000 guibg=#eeffff gui=bold -highlight Subtitle guifg=#000000 guibg=#66bbbb gui=bold,underline -highlight String guifg=#7F007F guibg=#ffdddd -highlight Delimiter guifg=#000000 guibg=#dde0dd gui=bold -highlight PreProc guifg=#0000ff guibg=#ffffff gui=bold -highlight Constant guifg=#000000 guibg=#aaaaaa gui=underline,bold - -"{{{ - -"}}} - - diff --git a/.vim/colors/sea.vim b/.vim/colors/sea.vim deleted file mode 100644 index 0c79c47..0000000 --- a/.vim/colors/sea.vim +++ /dev/null @@ -1,69 +0,0 @@ -" Vim color file -" Maintainer: Tiza -" Last Change: 2002/10/30 Wed 00:01. -" version: 1.0 -" This color scheme uses a dark background. - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif - -let colors_name = "sea" - -hi Normal guifg=#f0f0f8 guibg=#343478 - -" Search -hi IncSearch gui=UNDERLINE,BOLD guifg=#ffffff guibg=#c030ff -hi Search gui=BOLD guifg=#f0e0ff guibg=#b020ff - -" Messages -hi ErrorMsg gui=BOLD guifg=#ffffff guibg=#f000a0 -hi WarningMsg gui=BOLD guifg=#ffffff guibg=#f000a0 -hi ModeMsg gui=BOLD guifg=#00e0ff guibg=NONE -hi MoreMsg gui=BOLD guifg=#00ffff guibg=#6060ff -hi Question gui=BOLD guifg=#00f0d0 guibg=NONE - -" Split area -hi StatusLine gui=NONE guifg=#000000 guibg=#d0d0e0 -hi StatusLineNC gui=NONE guifg=#606080 guibg=#d0d0e0 -hi VertSplit gui=NONE guifg=#606080 guibg=#d0d0e0 -hi WildMenu gui=NONE guifg=#000000 guibg=#ff90ff - -" Diff -hi DiffText gui=UNDERLINE guifg=#ffff00 guibg=#000000 -hi DiffChange gui=NONE guifg=#ffffff guibg=#000000 -hi DiffDelete gui=NONE guifg=#60ff60 guibg=#000000 -hi DiffAdd gui=NONE guifg=#60ff60 guibg=#000000 - -" Cursor -hi Cursor gui=NONE guifg=#ffffff guibg=#d86020 -hi lCursor gui=NONE guifg=#ffffff guibg=#e000b0 -hi CursorIM gui=NONE guifg=#ffffff guibg=#e000b0 - -" Fold -hi Folded gui=NONE guifg=#ffffff guibg=#0080a0 -hi FoldColumn gui=NONE guifg=#9090ff guibg=#3c3c88 - -" Other -hi Directory gui=NONE guifg=#00ffff guibg=NONE -hi LineNr gui=NONE guifg=#7070e8 guibg=NONE -hi NonText gui=BOLD guifg=#8080ff guibg=#2c2c78 -hi SpecialKey gui=BOLD guifg=#60c0ff guibg=NONE -hi Title gui=BOLD guifg=#f0f0f8 guibg=NONE -hi Visual gui=NONE guifg=#ffffff guibg=#6060ff -" hi VisualNOS gui=NONE guifg=#ffffff guibg=#6060ff - -" Syntax group -hi Comment gui=NONE guifg=#b0b0c8 guibg=NONE -hi Constant gui=NONE guifg=#60ffff guibg=NONE -hi Error gui=BOLD guifg=#ffffff guibg=#f000a0 -hi Identifier gui=NONE guifg=#c0c0ff guibg=NONE -hi Ignore gui=NONE guifg=#303080 guibg=NONE -hi PreProc gui=NONE guifg=#ffb0ff guibg=NONE -hi Special gui=NONE guifg=#ffd858 guibg=NONE -hi Statement gui=NONE guifg=#f0f060 guibg=NONE -hi Todo gui=BOLD,UNDERLINE guifg=#ff70e0 guibg=NONE -hi Type gui=NONE guifg=#40ff80 guibg=NONE -hi Underlined gui=UNDERLINE,BOLD guifg=#f0f0f8 guibg=NONE diff --git a/.vim/colors/sean.vim b/.vim/colors/sean.vim deleted file mode 100644 index 1aa2b1e..0000000 --- a/.vim/colors/sean.vim +++ /dev/null @@ -1,83 +0,0 @@ -" local syntax file - set colors on a per-machine basis: -" vim: tw=0 ts=4 sw=4 -" Vim color file -" Maintainer:Sean Richards -" Last Change:Fri Aug 30 8:50 2002 NZST - -hi clear -set background=dark -if exists("syntax_on") - syntax reset -endif -let g:colors_name = "sean" -hi Normal guifg=white guibg=black -hi SpecialKey guifg=Blue -hi NonText gui=bold guifg=Blue -hi Directory guifg=Blue -hi ErrorMsg guifg=White guibg=Red -hi Search guifg=white guibg=Red -hi MoreMsg gui=bold guifg=SeaGreen -hi ModeMsg gui=bold guifg=White guibg=Blue -hi LineNr ctermfg=Darkyellow guifg=Yellow -hi Question gui=bold guifg=Green -hi StatusLineNC cterm=none ctermfg=grey ctermbg=darkblue gui=NONE guifg=white guibg=darkblue -hi StatusLine cterm=none ctermfg=white ctermbg=darkblue gui=bold guifg=white guibg=darkblue -hi VertSplit gui=bold guifg=White guibg=darkblue -hi Title gui=bold guifg=Magenta -hi Visual cterm=none ctermfg=white ctermbg=darkgreen gui=NONE guifg=white guibg=darkgreen -hi WarningMsg guifg=Red -hi FoldColumn ctermfg=Black ctermbg=Grey guibg=DarkGrey guifg=Black -hi Folded ctermfg=Black ctermbg=Grey guifg=Black -hi Cursor guifg=bg guibg=Green -hi Comment cterm=none ctermfg=darkgreen gui=italic guifg=green -hi Constant ctermfg=darkcyan guifg=darkcyan -hi Special ctermfg=darkyellow guifg=Orange -hi Identifier ctermfg=cyan guifg=cyan -hi Statement ctermfg=darkyellow gui=bold guifg=darkyellow -hi Number ctermfg=Cyan guifg=Cyan -hi PreProc ctermfg=darkmagenta guifg=darkmagenta -hi String ctermfg=darkred guifg=Red -hi Type ctermfg=darkblue guifg=blue -hi Error ctermfg=red guifg=Red guibg=Black -hi Todo ctermfg=blue ctermbg=yellow guifg=Blue guibg=Yellow -hi link IncSearch Visual -hi link String Constant -hi link Character Constant -hi link Number Constant -hi link Boolean Constant -hi link Float Number -hi link Function Identifier -hi link Conditional Statement -hi link Repeat Statement -hi link Label Statement -hi link Operator Statement -hi link Keyword Statement -hi link Exception Statement -hi link Include PreProc -hi link Define PreProc -hi link Macro PreProc -hi link PreCondit PreProc -hi link StorageClass Type -hi link Structure Type -hi link Typedef Type -hi link Tag Special -hi link SpecialChar Special -hi link Delimiter Special -hi link SpecialComment Special -hi link Debug Special - - -"Toggle semicolon matching at the end of lines, author unknown! -nmap <silent> <leader>sc :call ToggleSemicolonHighlighting()<cr> -"{{{ -function! ToggleSemicolonHighlighting() - if exists("b:semicolon") - unlet b:semicolon - hi semicolon guifg=NONE gui=NONE ctermfg=NONE - else - syn match semicolon #;$# - hi semicolon guifg=red gui=bold ctermfg=1 - let b:semicolon = 1 - endif -endfunction -"}}} diff --git a/.vim/colors/seashell.vim b/.vim/colors/seashell.vim deleted file mode 100644 index 130785d..0000000 --- a/.vim/colors/seashell.vim +++ /dev/null @@ -1,32 +0,0 @@ -" Vim color file -" Maintainer: Gerald S. Williams -" Last Change: 2003 Apr 17 - -" This is very reminiscent of a seashell. Good contrast, yet not too hard on -" the eyes. This is something of a cross between zellner and peachpuff, if -" such a thing is possible... -" -" Only values that differ from defaults are specified. - -set background=light -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name = "seashell" - -hi Normal guibg=seashell ctermbg=Gray ctermfg=Black -hi NonText guibg=LavenderBlush guifg=Gray30 -hi LineNr guibg=LavenderBlush guifg=Gray30 -hi DiffDelete guibg=LightRed guifg=Black ctermbg=DarkRed ctermfg=White -hi DiffAdd guibg=LightGreen ctermbg=DarkGreen ctermfg=White -hi DiffChange guibg=Gray90 ctermbg=DarkCyan ctermfg=White -hi DiffText gui=NONE guibg=LightCyan2 ctermbg=DarkCyan ctermfg=Yellow -hi Comment guifg=MediumBlue -hi Constant guifg=DeepPink -hi PreProc guifg=DarkMagenta -hi StatusLine guibg=White guifg=DarkSeaGreen cterm=None ctermfg=White ctermbg=DarkGreen -hi StatusLineNC gui=None guibg=Gray -hi VertSplit gui=None guibg=Gray -hi Identifier guifg=#006f6f -hi Statement ctermfg=DarkRed diff --git a/.vim/colors/sf.vim b/.vim/colors/sf.vim deleted file mode 100644 index 5b3033f..0000000 --- a/.vim/colors/sf.vim +++ /dev/null @@ -1,76 +0,0 @@ -" GUI-only vim color file, based on colors from vim.sf.net -" Author: Christian MICHON -" Email: christian_michon@yahoo.fr -" Version: 1.1 -" Last Change: 28 Jul 2004 - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif - -let g:colors_name = "sf" - -hi Boolean guifg=#007f00 guibg=#f0f0dd gui=none -hi Character guifg=#007f00 guibg=#f0f0dd gui=none -hi Comment guifg=#b0b0b0 guibg=#f0f0dd gui=underline -hi Conditional guifg=#0000ee guibg=#f0f0dd gui=bold -hi Constant guifg=#007f00 guibg=#f0f0dd gui=none -hi Cursor guifg=#f0f0dd guibg=#cc0000 gui=none -hi Debug guifg=#0000ee guibg=#f0f0dd gui=none -hi Define guifg=#cc0000 guibg=#f0f0dd gui=none -hi Delimiter guifg=#0000ee guibg=#f0f0dd gui=none -hi DiffAdd guifg=#551a8b guibg=#007f00 gui=bold -hi DiffChange guifg=#f0f0dd guibg=#007f00 gui=none -hi DiffDelete guifg=#551a8b guibg=#007f00 gui=none -hi DiffText guifg=#f0f0dd guibg=#551a8b gui=bold -hi Directory guifg=#cc0000 guibg=#f0f0dd gui=underline -hi Error guifg=#ffffff guibg=#cc0000 gui=bold -hi ErrorMsg guifg=#ffffff guibg=#cc0000 gui=bold -hi Exception guifg=#0000ee guibg=#f0f0dd gui=bold -hi Float guifg=#007f00 guibg=#f0f0dd gui=none -hi FoldColumn guifg=#f0f0dd guibg=#007f00 gui=bold -hi Folded guifg=#f0f0dd guibg=#007f00 gui=bold -hi Function guifg=#cc0000 guibg=#f0f0dd gui=none -hi Identifier guifg=#cc0000 guibg=#f0f0dd gui=none -hi Ignore guifg=#f0f0dd guibg=#f0f0dd gui=none -hi Include guifg=#cc0000 guibg=#f0f0dd gui=none -hi IncSearch guifg=#ffffff guibg=#38d878 gui=bold -hi Keyword guifg=#0000ee guibg=#f0f0dd gui=bold -hi Label guifg=#0000ee guibg=#f0f0dd gui=bold -hi lCursor guifg=#000066 guibg=#f0f0dd gui=none -hi LineNr guifg=#b0b0b0 guibg=#007f00 gui=bold -hi Macro guifg=#cc0000 guibg=#f0f0dd gui=none -hi ModeMsg guifg=#000066 guibg=#f0f0dd gui=bold -hi MoreMsg guifg=#551a8b guibg=#f0f0dd gui=bold -hi NonText guifg=#b0b0b0 guibg=#f0f0dd gui=bold -hi Normal guifg=#000066 guibg=#f0f0dd gui=none -hi Number guifg=#007f00 guibg=#f0f0dd gui=none -hi Operator guifg=#0000ee guibg=#f0f0dd gui=bold -hi PreCondit guifg=#cc0000 guibg=#f0f0dd gui=none -hi PreProc guifg=#cc0000 guibg=#f0f0dd gui=none -hi Question guifg=#551a8b guibg=#f0f0dd gui=bold -hi Repeat guifg=#0000ee guibg=#f0f0dd gui=bold -hi Search guifg=#ffffff guibg=#38d878 gui=bold -hi Special guifg=#999973 guibg=#f0f0dd gui=none -hi SpecialChar guifg=#0000ee guibg=#f0f0dd gui=none -hi SpecialComment guifg=#0000ee guibg=#f0f0dd gui=none -hi SpecialKey guifg=#cc0000 guibg=#f0f0dd gui=none -hi Statement guifg=#0000ee guibg=#f0f0dd gui=bold -hi StatusLine guifg=#f0f0dd guibg=#cc0000 gui=bold -hi StatusLineNC guifg=#f0f0dd guibg=#000066 gui=bold -hi StorageClass guifg=#551a8b guibg=#f0f0dd gui=bold -hi String guifg=#007f00 guibg=#f0f0dd gui=none -hi Structure guifg=#551a8b guibg=#f0f0dd gui=bold -hi Tag guifg=#0000ee guibg=#f0f0dd gui=none -hi Title guifg=#007f00 guibg=#f0f0dd gui=bold -hi Todo guifg=#f0f0dd guibg=#0000ee gui=none -hi Type guifg=#551a8b guibg=#f0f0dd gui=bold -hi Typedef guifg=#551a8b guibg=#f0f0dd gui=bold -hi Underlined guifg=#0000ee guibg=#f0f0dd gui=underline -hi VertSplit guifg=#f0f0dd guibg=#000066 gui=bold -hi Visual guifg=#ffffff guibg=#00009c gui=none -hi VisualNOS guifg=#ffffff guibg=#b0b0b0 gui=none -hi WarningMsg guifg=#ffffff guibg=#cc0000 gui=bold -hi WildMenu guifg=#f0f0dd guibg=#0000ee gui=none diff --git a/.vim/colors/simpleandfriendly.vim b/.vim/colors/simpleandfriendly.vim deleted file mode 100644 index 6222e76..0000000 --- a/.vim/colors/simpleandfriendly.vim +++ /dev/null @@ -1,56 +0,0 @@ -" Vim color file -" Maintainer: Thomas Schmall <ts_nowhere@NOSPAM_yahoo.com> -" Last Change: 2004 Nov 20 -" URL: http://www.vim.org/scripts/script.php?script_id=792 -" Version: 1.3 - -" This color scheme uses a light grey background. - -" Last Changes: -" *line number colors changed - - -" First remove all existing highlighting. -set background=light -hi clear -if exists("syntax_on") - syntax reset -endif - -let g:colors_name = "simpleandfriendly" - -"Set nice colors #DC6210 -"Cursor is Cyan when ":lmap" mappings are active -hi lCursor guibg=Cyan guifg=NONE -hi LineNr guifg=white guibg=#acbbff - -"Text below the last line is darker grey -hi NonText guibg=grey80 -"Normal text is black background is grey -hi Normal guifg=black guibg=grey89 ctermfg=Black ctermbg=LightGrey -hi Comment guifg=Orange guibg=grey94 ctermfg=DarkCyan term=bold -"Constants are not underlined but have a slightly lighter background -hi Constant guifg=#8080a0 guibg=grey92 gui=NONE term=underline -hi String guifg=#80a0ff guibg=grey93 gui=NONE term=underline -hi Number guifg=#80a5ff guibg=grey91 gui=NONE ctermfg=Gray term=none -"Words like _if_ or _else_ (Grey27) -hi Statement guifg=#4A2B99 gui=NONE ctermfg=Blue - -hi Title guifg=red ctermfg=red gui=NONE term=BOLD -"color for _NONE_ for instance: -hi PreProc term=underline ctermfg=LightBlue guifg=#DC6210 -"color for _guifg_ for instance: (SlateBlue works here nice too) -hi Type guifg=#008080 ctermfg=LightGreen gui=None term=underline -hi Function guifg=#61577A term=bold -"in lingo the defined functions. (alt: SlateBlue) -hi Identifier guifg=Seagreen -"hi Identifier term=underline cterm=bold ctermfg=Cyan guifg=#40ffff - -"hi Repeat term=underline ctermfg=White guifg=white -"hi Ignore guifg=bg ctermfg=black -hi Error term=reverse ctermbg=Red ctermfg=White guibg=Red guifg=White -hi Todo term=standout ctermbg=Yellow ctermfg=Black guifg=Blue guibg=Yellow -"Special Characters -hi Special guibg=grey90 guifg=Slateblue gui=UNDERLINE - -hi operator guifg=gray25 ctermfg=Black term=bold cterm=bold gui=bold diff --git a/.vim/colors/taqua.vim b/.vim/colors/taqua.vim deleted file mode 100644 index 947ebc9..0000000 --- a/.vim/colors/taqua.vim +++ /dev/null @@ -1,85 +0,0 @@ -" Vim color file -" Maintainer: TaQ <eustaquiorangel@yahoo.com> -" Last Change: 18 March 2003 -" URL: http://taq.cjb.net - -" cool help screens -" :he group-name -" :he highlight-groups -" :he cterm-colors - -set background=light -hi clear -if exists("syntax_on") - syntax reset -endif -let colors_name="taqua" - -hi Normal gui=NONE guifg=#303030 guibg=#FFFFFF -hi NonText gui=BOLD guifg=#303030 guibg=#FFFFFF - -" Search -hi IncSearch gui=BOLD guifg=#008000 guibg=#CCFF00 -hi Search gui=BOLD guifg=#008000 guibg=#CCFF00 - -" Messages -hi ErrorMsg gui=BOLD guifg=#FFFFFF guibg=#FF0000 -hi WarningMsg gui=BOLD guifg=#008000 guibg=#CCFF00 - -" Split area -hi StatusLine gui=BOLD guifg=#FFFFFF guibg=#0E8ED3 -hi StatusLineNC gui=BOLD guifg=#FFFFFF guibg=#0A6799 - -" Diff -hi DiffText gui=BOLD guifg=#FF0000 guibg=#FFEAE0 -hi DiffChange gui=BOLD guifg=#303030 guibg=#FFFFFF -hi DiffDelete gui=NONE guifg=#FFFFFF guibg=#FF0000 -hi DiffAdd gui=NONE guifg=#008000 guibg=#00FF00 - -" Cursor -hi Cursor gui=BOLD guifg=#FFFFFF guibg=#000000 -hi lCursor gui=BOLD guifg=#f8f8f8 guibg=#162CF7 -hi CursorIM gui=NONE guifg=#f8f8f8 guibg=#162CF7 - -" Fold -hi Folded gui=BOLD guifg=#0E8ED3 guibg=#DBF2FF -hi FoldColumn gui=NONE guifg=#0E8ED3 guibg=#DBF2FF - -" Other -hi LineNr gui=BOLD guifg=#00A0FF guibg=#DBF2FF -hi Directory gui=BOLD guifg=#0A6799 guibg=#FFFFFF -hi NonText gui=BOLD guifg=#009999 guibg=#FFFFFF -hi SpecialKey gui=BOLD guifg=#2020FF guibg=#FFFFFF -hi Title gui=BOLD guifg=#0000A0 guibg=#FFFFFF -hi Visual gui=NONE guifg=#404060 guibg=#dddde8 - -" Syntax group -" purple was #8000FF -hi Comment gui=NONE guifg=#0E8ED3 guibg=#DBF2FF -hi Constant gui=NONE guifg=#303030 guibg=#F5F5F5 -hi Error gui=BOLD guifg=#FF0000 guibg=#FFFFFF -hi Identifier gui=NONE guifg=#1F89E0 guibg=#FFFFFF -hi Ignore gui=NONE guifg=#f8f8f8 guibg=#FFFFFF -hi PreProc gui=BOLD guifg=#0BBF20 guibg=#FFFFFF -hi Special gui=NONE guifg=#0E8ED3 guibg=#DBF2FF -hi Statement gui=BOLD guifg=#2E9BF4 guibg=#FFFFFF -hi Todo gui=NONE guifg=#FF0070 guibg=#FFE0F4 -hi Type gui=BOLD guifg=#0971F9 guibg=#FFFFFF -hi Underlined gui=UNDERLINE guifg=#0000ff guibg=NONE - -" HTML -hi htmlLink gui=UNDERLINE guifg=#0000ff guibg=NONE -hi htmlBold gui=BOLD -hi htmlBoldItalic gui=BOLD,ITALIC -hi htmlBoldUnderline gui=BOLD,UNDERLINE -hi htmlBoldUnderlineItalic gui=BOLD,UNDERLINE,ITALIC -hi htmlItalic gui=ITALIC -hi htmlUnderline gui=UNDERLINE -hi htmlUnderlineItalic gui=UNDERLINE,ITALIC - -" Scrollbar -hi Scrollbar gui=BOLD guifg=#00C0FF guibg=#FFFFFF -hi VertSplit gui=BOLD guifg=#FFFFFF guibg=#0E8ED3 -hi Visual gui=BOLD guifg=#FFFFFF guibg=#1679F9 - - diff --git a/.vim/colors/tcsoft.vim b/.vim/colors/tcsoft.vim deleted file mode 100644 index 072831e..0000000 --- a/.vim/colors/tcsoft.vim +++ /dev/null @@ -1,62 +0,0 @@ -" Vim Farben-Datei -" Ersteller: Ingo Fabbri <vim@tcsoft.net> -" Letzte Änderung: 2003 May 13 - -" Mein persönliches Farbschema. Es schont die Augen, da es keine grellen Farben verwendet. -" Am Besten geignet für PHP - -set background=light -hi clear -if exists("syntax_on") - syntax reset -endif -let colors_name = "TCSoft" - -" Farb-Einstellungen für das GUI -hi Normal guifg=#000000 guibg=#FFFFFF "Schwarze Schrift auf weißem Hintergrund - -hi Ignore guifg=bg - -hi Comment guifg=#000099 gui=italic "dunkelblau -hi Constant guifg=#666666 gui=NONE "grau -hi Special guifg=#FF0000 gui=NONE "rot -hi Identifier guifg=#993300 gui=NONE "rostfarbig -hi Statement guifg=#FF9900 gui=NONE "orange -hi PreProc guifg=#009900 gui=NONE "dunkelgrün -hi Type guifg=#FF9900 gui=bold "orange -hi Cursor guifg=#000000 gui=reverse "schwarz -hi LineNr guifg=#000000 gui=NONE "schwarz -hi StatusLine guifg=#000000 gui=reverse,bold "schwarz - -hi link Function PreProc -hi link String Constant -hi link Character Constant - -hi! link MoreMsg Comment -hi! link ErrorMsg Visual -hi! link WarningMsg ErrorMsg -hi! link Question Comment - -hi link Number Special -hi link Boolean Constant -hi link Float Number - -hi link Operator Identifier -hi link Keyword Statement -hi link Exception Statement -hi link Include PreProc -hi link Define PreProc -hi link Macro PreProc - -hi link Conditional Statement -hi link Repeat Statement -hi link Label Statement - -hi link PreCondit PreProc -hi link StorageClass Type -hi link Structure Type -hi link Typedef Type -hi link SpecialChar Special -hi link Delimiter Special -hi link SpecialComment Comment -hi link Debug Special diff --git a/.vim/colors/tibet.vim b/.vim/colors/tibet.vim deleted file mode 100644 index 48807bf..0000000 --- a/.vim/colors/tibet.vim +++ /dev/null @@ -1,101 +0,0 @@ -" Vim color file -" Maintainer: Miguel Figueiredo - -" /usr/X11R6/lib/X11 -set background=dark - -if exists("syntax_on") - syntax reset -endif - -let g:colors_name="tibet" - -hi Normal guifg=ivory guibg=darkred - -" highlight groups -"hi Cursor guibg=khaki guifg=slategrey -hi Cursor guibg=blue4 guifg=white -"hi CursorIM -"hi Directory -"hi DiffAdd -"hi DiffChange -"hi DiffDelete -"hi DiffText -"hi ErrorMsg -"hi VertSplit guibg=#c2bfa5 guifg=grey50 gui=none -hi VertSplit guibg=darkgreen guifg=white gui=none -hi Folded guibg=darkred guifg=gold -hi FoldColumn guibg=grey30 guifg=tan -hi IncSearch guifg=slategrey guibg=khaki -hi LineNr guifg=yellow guibg=darkred -hi ModeMsg guifg=goldenrod -hi MoreMsg guifg=SeaGreen -hi NonText guifg=LightBlue guibg=darkred -hi Question guifg=springgreen -hi Search guibg=peru guifg=wheat -hi SpecialKey guifg=yellowgreen -hi StatusLine guibg=#c2bfa5 guifg=black gui=none -hi StatusLineNC guibg=#c2bfa5 guifg=grey50 gui=none -hi Title guifg=indianred -"hi Visual gui=none guifg=khaki guibg=olivedrab -hi Visual gui=none guifg=white guibg=#003300 -"hi VisualNOS -hi WarningMsg guifg=salmon -"hi WildMenu -"hi Menu -"hi Scrollbar -"hi Tooltip - -" syntax highlighting groups -hi Comment guifg=goldenrod -hi Constant guifg=#ffa0a0 -"hi String guifg=blue -hi Identifier guifg=palegreen -hi Statement guifg=khaki -hi PreProc guifg=#ffa0a0 -"hi Type guifg=darkkhaki -hi Type guifg=khaki -hi Special guifg=navajowhite -"hi Underlined -hi Ignore guifg=grey40 -"hi Error -hi Todo guifg=yellow guibg=#003300 - -" color terminal definitions -hi SpecialKey ctermfg=darkgreen -hi NonText cterm=bold ctermfg=darkblue -hi Directory ctermfg=darkcyan -hi ErrorMsg cterm=bold ctermfg=7 ctermbg=1 -hi IncSearch cterm=NONE ctermfg=yellow ctermbg=green -hi Search cterm=NONE ctermfg=grey ctermbg=blue -hi MoreMsg ctermfg=darkgreen -hi ModeMsg cterm=NONE ctermfg=brown -hi LineNr ctermfg=3 -hi Question ctermfg=green -hi StatusLine cterm=bold,reverse -hi StatusLineNC cterm=reverse -hi VertSplit cterm=reverse -hi Title ctermfg=5 -hi Visual cterm=reverse -hi VisualNOS cterm=bold,underline -hi WarningMsg ctermfg=1 -hi WildMenu ctermfg=0 ctermbg=3 -hi Folded ctermfg=darkgrey ctermbg=NONE -hi FoldColumn ctermfg=darkgrey ctermbg=NONE -hi DiffAdd ctermbg=4 -hi DiffChange ctermbg=5 -hi DiffDelete cterm=bold ctermfg=4 ctermbg=6 -hi DiffText cterm=bold ctermbg=1 -hi Comment ctermfg=darkcyan -hi Constant ctermfg=brown -hi Special ctermfg=5 -hi Identifier ctermfg=6 -hi Statement ctermfg=3 -hi PreProc ctermfg=5 -hi Type ctermfg=2 -hi Underlined cterm=underline ctermfg=5 -hi Ignore ctermfg=darkgrey -hi Error cterm=bold ctermfg=7 ctermbg=1 - - -" diff --git a/.vim/colors/tolerable.vim b/.vim/colors/tolerable.vim deleted file mode 100644 index 7b97b9a..0000000 --- a/.vim/colors/tolerable.vim +++ /dev/null @@ -1,43 +0,0 @@ -" Vim color file -" Maintainer: Ian Langworth -" Last Change: 2004 Dec 24 -" Email: <langworth.com> - -" Color settings inspired by BBEdit for Mac OS, plus I liked -" the low-contrast comments from the 'oceandeep' colorscheme - -set background=light -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name="tolerable" - -hi Cursor guifg=white guibg=darkgreen - -hi Normal gui=none guifg=black guibg=white -hi NonText gui=none guifg=orange guibg=white - -hi Statement gui=none guifg=blue -hi Special gui=none guifg=red -hi Constant gui=none guifg=darkred -hi Comment gui=none guifg=#555555 -hi Preproc gui=none guifg=darkcyan -hi Type gui=none guifg=darkmagenta -hi Identifier gui=none guifg=darkgreen -hi Title gui=none guifg=black - -hi StatusLine gui=none guibg=#333333 guifg=white -hi StatusLineNC gui=none guibg=#333333 guifg=white -hi VertSplit gui=none guibg=#333333 guifg=white - -hi Visual gui=none guibg=green guifg=black -hi Search gui=none guibg=yellow -hi Directory gui=none guifg=darkblue -hi WarningMsg gui=none guifg=red -hi Error gui=none guifg=white guibg=red -hi Todo gui=none guifg=black guibg=yellow - -hi MoreMsg gui=none -hi ModeMsg gui=none - diff --git a/.vim/colors/tomatosoup.vim b/.vim/colors/tomatosoup.vim deleted file mode 100644 index 7864aed..0000000 --- a/.vim/colors/tomatosoup.vim +++ /dev/null @@ -1,80 +0,0 @@ -" Vim color file -" Maintainer: Michael Brailsford <brailsmt@yahoo.com> -" Date: $Date: 2002/04/11 03:29:51 $ -" Version: $Revision: 1.4 $ - -" cool help screens -" :he group-name -" :he highlight-groups -" :he cterm-colors - -" your pick: -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name="tomatosoup" - -hi Normal guifg=black guibg=tomato1 ctermfg=14 - -"Toggle semicolon matching at the end of lines -nmap <silent> <leader>; :call ToggleSemicolonHighlighting()<cr> -"{{{ -function! ToggleSemicolonHighlighting() - if exists("b:semicolon") - unlet b:semicolon - hi semicolon guifg=NONE gui=NONE ctermfg=NONE - else - syn match semicolon #;$# - hi semicolon guifg=red gui=bold ctermfg=1 - let b:semicolon = 1 - endif -endfunction -"}}} - -hi Cursor guifg=bg guibg=fg ctermfg=0 ctermbg=11 -"hi CursorIM -hi Directory gui=bold -hi DiffAdd guifg=yellow guibg=darkgreen ctermbg=0 -"hi DiffChange -"hi DiffDelete -"hi DiffText -hi ErrorMsg guibg=red ctermfg=1 -"hi VertSplit -hi Folded guibg=darkred ctermbg=4 guifg=gold ctermfg=11 gui=bold -hi FoldColumn guibg=darkred ctermbg=14 guifg=gold ctermfg=11 gui=bold -"hi IncSearch -hi LineNr guifg=yellow ctermfg=11 -hi ModeMsg guifg=yellow gui=bold -"hi MoreMsg -"hi NonText -"hi Question -hi Search guibg=yellow guifg=bg -"hi SpecialKey -hi StatusLine guifg=brown -hi StatusLineNC guifg=darkred -"hi Title -hi Visual guifg=fg guibg=bg -"hi VisualNOS -"hi WarningMsg -"hi WildMenu -"hi Menu -"hi Scrollbar -"hi Tooltip - -" syntax highlighting groups -hi Comment guifg=pink ctermfg=10 -hi Constant guifg=lightmagenta gui=bold ctermfg=13 -hi String guifg=grey85 ctermfg=5 -hi Character guifg=violet ctermfg=5 -hi Number guifg=red ctermfg=5 -"hi Identifier -hi Statement guifg=khaki1 gui=bold ctermfg=15 cterm=underline -hi PreProc guifg=white gui=italic ctermfg=9 -hi Type guifg=yellow gui=bold ctermfg=3 -hi Special guifg=red gui=bold -"hi Underlined -"hi Ignore -"hi Error -hi Todo guifg=yellow guibg=blue gui=bold diff --git a/.vim/colors/toothpik.vim b/.vim/colors/toothpik.vim deleted file mode 100644 index 22e07a1..0000000 --- a/.vim/colors/toothpik.vim +++ /dev/null @@ -1,45 +0,0 @@ -set background=light -highlight clear -if exists( "syntax_on" ) - syntax reset -endif -let g:colors_name="toothpik" - -highlight Comment term=bold guifg=Yellow -highlight Constant term=underline guifg=Blue guibg=grey -highlight Cursor gui=reverse guifg=red guibg=white -highlight lCursor guifg=black guibg=green -highlight DiffAdd term=bold guibg=LightBlue -highlight DiffChange term=bold guibg=LightMagenta -highlight DiffDelete term=bold gui=bold guifg=Blue guibg=LightCyan -highlight DiffText term=reverse gui=bold guibg=Red -highlight Directory term=bold guifg=Blue -highlight Error term=reverse guifg=White guibg=Red -highlight ErrorMsg term=standout guifg=White guibg=Red -highlight Folded term=standout guifg=DarkBlue guibg=LightGrey -highlight FoldColumn term=standout guifg=DarkBlue guibg=Grey -highlight Identifier term=underline guifg=DarkCyan -highlight Ignore guifg=bg -highlight IncSearch term=reverse gui=reverse -highlight LineNr term=underline guifg=Brown -highlight MoreMsg term=bold gui=bold guifg=SeaGreen -highlight ModeMsg term=bold gui=bold -highlight NonText term=bold gui=bold guifg=Blue guibg=grey -highlight Normal guibg=grey font='Fixedsys' -highlight Question term=standout gui=bold guifg=SeaGreen -highlight PreProc term=underline guifg=Purple -highlight Search term=reverse guibg=Yellow -highlight Special term=bold guifg=darkred guibg=grey -highlight SpecialKey term=bold guifg=Blue -highlight Statement term=bold gui=bold guifg=Brown -highlight StatusLine term=bold,reverse gui=bold,reverse -highlight StatusLineNC term=reverse gui=reverse -highlight Title term=bold gui=bold guifg=Magenta -highlight Todo term=standout guifg=Blue guibg=Yellow -highlight Type term=underline gui=bold guifg=DarkGreen -highlight Underlined term=underline gui=underline guifg=SlateBlue -highlight VertSplit term=reverse gui=reverse -highlight Visual term=reverse gui=reverse guifg=Yellow guibg=Black -highlight VisualNOS term=bold,underline gui=bold,underline -highlight WarningMsg term=standout guifg=Red -highlight WildMenu term=standout guifg=Black guibg=Yellow diff --git a/.vim/colors/torte.vim b/.vim/colors/torte.vim deleted file mode 100644 index f28ed60..0000000 --- a/.vim/colors/torte.vim +++ /dev/null @@ -1,51 +0,0 @@ -" Vim color file -" Maintainer: Thorsten Maerz <info@netztorte.de> -" Last Change: 2001 Jul 23 -" grey on black -" optimized for TFT panels -" $Revision: 1.1 $ - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif -"colorscheme default -let g:colors_name = "torte" - -" hardcoded colors : -" GUI Comment : #80a0ff = Light blue - -" GUI -highlight Normal guifg=Grey80 guibg=Black -highlight Search guifg=Black guibg=Red gui=bold -highlight Visual guifg=Grey25 gui=bold -highlight Cursor guifg=Black guibg=Green gui=bold -highlight Special guifg=Orange -highlight Comment guifg=#80a0ff -highlight StatusLine guifg=blue guibg=white -highlight Statement guifg=Yellow gui=NONE -highlight Type gui=NONE - -" Console -highlight Normal ctermfg=LightGrey ctermbg=Black -highlight Search ctermfg=Black ctermbg=Red cterm=NONE -highlight Visual cterm=reverse -highlight Cursor ctermfg=Black ctermbg=Green cterm=bold -highlight Special ctermfg=Brown -highlight Comment ctermfg=Blue -highlight StatusLine ctermfg=blue ctermbg=white -highlight Statement ctermfg=Yellow cterm=NONE -highlight Type cterm=NONE - -" only for vim 5 -if has("unix") - if v:version<600 - highlight Normal ctermfg=Grey ctermbg=Black cterm=NONE guifg=Grey80 guibg=Black gui=NONE - highlight Search ctermfg=Black ctermbg=Red cterm=bold guifg=Black guibg=Red gui=bold - highlight Visual ctermfg=Black ctermbg=yellow cterm=bold guifg=Grey25 gui=bold - highlight Special ctermfg=LightBlue cterm=NONE guifg=LightBlue gui=NONE - highlight Comment ctermfg=Cyan cterm=NONE guifg=LightBlue gui=NONE - endif -endif - diff --git a/.vim/colors/transparent.vim b/.vim/colors/transparent.vim deleted file mode 100644 index 274cd8e..0000000 --- a/.vim/colors/transparent.vim +++ /dev/null @@ -1,97 +0,0 @@ -" Vim color file -" Maintainer: Sir Raorn <raorn@altlinux.ru> -" Last Change: Nov 10, 2002 -" URL: http://hell.binec.ru/ - -" This color scheme uses "transparent" background (dark dark blue in gvim) -" Looks really nice when vim (console) started in transparent aterm -" But gvim is good either -set background=dark - -" First remove all existing highlighting. -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name="transparent" - -" default groups -hi Normal ctermfg=Gray ctermbg=NONE guifg=Gray guibg=#00002A - -hi Cursor guifg=Black guibg=Green -"hi CursorIM NONE guifg=Black guibg=Purple -hi Directory ctermfg=White guifg=White -hi DiffAdd ctermfg=White ctermbg=DarkCyan guifg=White guibg=DarkCyan -hi DiffChange ctermfg=Black ctermbg=Gray guifg=Black guibg=DarkGray -hi DiffDelete ctermfg=White ctermbg=DarkRed guifg=White guibg=DarkRed -hi DiffText cterm=bold ctermfg=White ctermbg=Gray gui=bold guifg=White guibg=DarkGray -hi ErrorMsg ctermfg=White ctermbg=DarkRed guifg=White guibg=DarkRed -hi VertSplit cterm=reverse gui=reverse -hi Folded cterm=bold ctermfg=Cyan ctermbg=NONE gui=bold guifg=Cyan guibg=DarkCyan -hi FoldColumn ctermfg=Green ctermbg=NONE guifg=Green guibg=#00002A -hi IncSearch ctermfg=White ctermbg=Black guifg=White guibg=Black -hi LineNr ctermfg=Yellow guifg=DarkCyan -hi ModeMsg cterm=bold ctermfg=White gui=bold guifg=White -hi MoreMsg cterm=bold ctermfg=White gui=bold guifg=White -hi NonText ctermfg=NONE guifg=NONE -hi Question ctermfg=Green guifg=Green -hi Search cterm=reverse ctermfg=fg ctermbg=NONE gui=reverse guifg=fg guibg=bg -hi SpecialKey ctermfg=LightRed guifg=Red -hi StatusLine cterm=bold,reverse ctermfg=White ctermbg=Black gui=bold,reverse guifg=White guibg=Black -hi StatusLineNC cterm=reverse ctermfg=Gray ctermbg=Black gui=reverse guifg=DarkGray guibg=Black -hi Title ctermfg=LightGreen gui=bold guifg=Green -hi Visual cterm=inverse ctermfg=White ctermbg=DarkGray gui=inverse guifg=DarkGray guibg=Black -hi VisualNOS cterm=bold,underline gui=bold,underline -hi WarningMsg ctermfg=White ctermbg=DarkRed guifg=White guibg=DarkRed -hi WildMenu cterm=bold ctermfg=Black ctermbg=Yellow gui=bold guifg=Black guibg=Yellow -"hi Menu -"hi Scrollbar -"hi Tooltip - -" syntax highlighting groups -hi Comment ctermfg=DarkCyan guifg=DarkCyan - -hi Constant ctermfg=LightGreen guifg=LightGreen -hi String ctermfg=Yellow guifg=Yellow -hi Character ctermfg=Yellow guifg=Yellow -"hi Number -"hi Boolean -"hi Float - -hi Identifier ctermfg=LightCyan guifg=LightCyan -hi Function ctermfg=White guifg=White - -hi Statement ctermfg=Yellow guifg=Yellow -"hi Conditional -"hi Repeat -hi Label ctermfg=White guifg=White -hi Operator ctermfg=Green guifg=Green -"hi Keyword -hi Exception ctermfg=Black ctermbg=DarkRed guifg=Black guibg=DarkRed - -hi PreProc ctermfg=DarkGreen guifg=DarkGreen -"hi Include -"hi Define -"hi Macro -"hi PreCondit - -hi Type ctermfg=Green guifg=Green -"hi StorageClass -"hi Structure -hi Typedef ctermfg=Red guifg=Red - -hi Special ctermfg=Red guifg=Red -"hi SpecialChar -hi Tag ctermfg=LightGreen guifg=LightGreen -hi Delimiter ctermfg=Green guifg=Green -"hi SpecialComment -hi Debug ctermfg=White ctermbg=Black guifg=White guibg=Black - -hi Underlined cterm=underline gui=underline - -hi Ignore ctermfg=DarkBlue guifg=DarkBlue - -hi Error ctermfg=White ctermbg=DarkRed guifg=White guibg=DarkRed - -hi Todo ctermfg=Black ctermbg=Gray guifg=Black guibg=Gray - diff --git a/.vim/colors/turbo.vim b/.vim/colors/turbo.vim deleted file mode 100644 index c6fda54..0000000 --- a/.vim/colors/turbo.vim +++ /dev/null @@ -1,68 +0,0 @@ -" Vim color file -" Maintainer: Bryant Casteel -" Web Site: http://bethings.provoplatinum.com -" Last Change: 2004 Jan. 22 - -" turbo -- Intended to look like the color scheme -" from Borland's Turbo C++ and Turbo Pascal. - -set bg=dark -hi clear -if exists("syntax_on") - syntax reset -endif - -let colors_name = "turbo" - - -hi Normal guifg=yellow guibg=#000040 ctermfg=yellow ctermbg=black -hi ErrorMsg guifg=#ffffff guibg=#287eff ctermfg=white ctermbg=lightblue -hi Visual guifg=#8080ff guibg=fg gui=reverse ctermfg=lightblue ctermbg=fg cterm=reverse -hi VisualNOS guifg=#8080ff guibg=fg gui=reverse,underline ctermfg=lightblue ctermbg=fg cterm=reverse,underline -hi Todo guifg=#d14a14 guibg=#1248d1 ctermfg=red ctermbg=darkblue -hi Search guifg=#90fff0 guibg=#2050d0 ctermfg=white ctermbg=darkblue cterm=underline -hi IncSearch guifg=#b0ffff guibg=#2050d0 ctermfg=darkblue ctermbg=gray - - -hi SpecialKey guifg=cyan ctermfg=darkcyan -hi Directory guifg=cyan ctermfg=cyan -hi Title guifg=magenta gui=none ctermfg=magenta cterm=bold -hi WarningMsg guifg=red ctermfg=red -hi WildMenu guifg=yellow guibg=black ctermfg=yellow ctermbg=black cterm=none -hi ModeMsg guifg=#22cce2 ctermfg=lightblue -hi MoreMsg guifg=darkgreen ctermfg=darkgreen -hi Question guifg=green gui=none ctermfg=green cterm=none -hi NonText guifg=#0030ff ctermfg=darkblue - -" Split window status bar -hi StatusLine guifg=blue guibg=yellow gui=none ctermfg=blue ctermbg=gray cterm=none -hi StatusLineNC guifg=black guibg=green gui=none ctermfg=black ctermbg=gray cterm=none -hi VertSplit guifg=black guibg=orange gui=none ctermfg=black ctermbg=gray cterm=none - -" Folded code -hi Folded guifg=#808080 guibg=#000040 ctermfg=darkgrey ctermbg=black cterm=bold -hi FoldColumn guifg=#808080 guibg=#000040 ctermfg=darkgrey ctermbg=black cterm=bold -hi LineNr guifg=#90f020 ctermfg=green cterm=none - - -hi DiffAdd guibg=darkblue ctermbg=darkblue cterm=none -hi DiffChange guibg=darkmagenta ctermbg=magenta cterm=none -hi DiffDelete guifg=Blue guibg=DarkCyan gui=bold ctermfg=blue ctermbg=cyan -hi DiffText guibg=Red gui=bold ctermbg=red cterm=bold - -" Cursor -hi Cursor guifg=#000020 guibg=#ffaf38 ctermfg=bg ctermbg=brown -hi lCursor guifg=#ffffff guibg=#000000 ctermfg=bg ctermbg=darkgreen - -" Syntax highlighting: -hi Comment guifg=darkcyan ctermfg=darkcyan -hi Constant guifg=darkred ctermfg=darkred cterm=none -hi Special guifg=magenta gui=none ctermfg=magenta cterm=none -hi Identifier guifg=green ctermfg=green cterm=none -hi Statement guifg=white gui=bold ctermfg=white cterm=bold -hi PreProc guifg=darkgreen gui=none ctermfg=darkgreen cterm=none -hi type guifg=grey gui=bold ctermfg=grey cterm=bold -hi Underlined gui=underline cterm=underline -hi Ignore guifg=bg ctermfg=bg - - diff --git a/.vim/colors/umber-green.vim b/.vim/colors/umber-green.vim deleted file mode 100644 index d1743a1..0000000 --- a/.vim/colors/umber-green.vim +++ /dev/null @@ -1,89 +0,0 @@ -" Vim color file -" Maintainer: horrorvacui-at-gmx.net -" Last Change: today... oh yes, it's 16.9.03 -" URL: - -" cool help screens -" :he group-name -" :he highlight-groups -" :he cterm-colors - -" your pick: -set background=dark " or light -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name="umber-green" - -"hi Normal - -" OR - -" highlight clear Normal -" set background& -" highlight clear -" if &background == "light" -" highlight Error ... -" ... -" else -" highlight Error ... -" ... -" endif - -" A good way to see what your colorscheme does is to follow this procedure: -" :w -" :so % -" -" Then to see what the current setting is use the highlight command. -" For example, -" :hi Cursor -" gives -" Cursor xxx guifg=bg guibg=fg - -" Uncomment and complete the commands you want to change from the default. - -hi Cursor guibg=#ffffff -"hi CursorIM -"hi Directory -"hi DiffAdd -"hi DiffChange -"hi DiffDelete -"hi DiffText -"hi ErrorMsg -"hi VertSplit -"hi Folded -"hi FoldColumn -"hi IncSearch -hi LineNr guifg=#e2844d guibg=#000000 -"hi ModeMsg -"hi MoreMsg -"hi NonText -"hi Question -"hi Search -"hi SpecialKey -hi StatusLine guifg=#ffffff -hi StatusLineNC guifg=#ffffff -"hi Title -"hi Visual -"hi VisualNOS -"hi WarningMsg -"hi WildMenu -"hi Menu -"hi Scrollbar -"hi Tooltip - -" syntax highlighting groups -hi Normal guifg=#eeaa11 guibg=#333333 -hi Comment guifg=#ff5555 -hi Constant guifg=#eeaa11 -hi Identifier guifg=#0000ff -hi Statement guifg=#77ee44 -hi PreProc guifg=#ff0000 -hi Type guifg=#eecc88 -hi Special guifg=#ddffcc -"hi Underlined -"hi Ignore -"hi Error -"hi Todo - diff --git a/.vim/colors/vc.vim b/.vim/colors/vc.vim deleted file mode 100644 index 53ecc22..0000000 --- a/.vim/colors/vc.vim +++ /dev/null @@ -1,24 +0,0 @@ -" Vim color file -" Maintainer: Vladimir Vrzic <random@bsd.org.yu> -" Last Change: 28. june 2003. -" URL: http://galeb.etf.bg.ac.yu/~random/pub/vim/ - -set background=light -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name="vc" - -hi Comment gui=NONE guifg=SeaGreen guibg=NONE -hi Constant gui=NONE guifg=#004488 guibg=NONE -"hi Identifier gui=NONE guifg=Blue guibg=NONE -hi Statement gui=NONE guifg=Blue guibg=NONE -hi PreProc gui=NONE guifg=Blue guibg=NONE -hi Type gui=NONE guifg=Blue guibg=NONE -hi Special gui=NONE guifg=SteelBlue guibg=NONE -"hi Underlined -"hi Ignore -"hi Error -"hi Todo - diff --git a/.vim/colors/vcbc.vim b/.vim/colors/vcbc.vim deleted file mode 100644 index 07777c3..0000000 --- a/.vim/colors/vcbc.vim +++ /dev/null @@ -1,31 +0,0 @@ -" Vim color file -" Maintainer: Rajas Sambhare <rajas dot sambhare squigglylittleA gmail dot com> -" Last Change: Nov 18, 2004 -" Version: 1.0 -" Based on the colors for Visual C++ 6.0 and Beyond Compare for diffs. -" Inspired by vc.vim by Vladimir Vrzic - -set background=light -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name="vcbc" - -hi Normal cterm=NONE ctermfg=Black ctermbg=White gui=NONE guifg=NONE guibg=NONE -hi NonText cterm=NONE ctermfg=Black ctermbg=Grey gui=NONE guifg=NONE guibg=LightGrey -hi LineNr cterm=NONE ctermfg=Black ctermbg=LightGrey gui=NONE guifg=NONE guibg=LightGrey -hi Comment cterm=NONE ctermfg=DarkGreen ctermbg=White gui=italic guifg=DarkGreen guibg=NONE -hi Constant cterm=NONE ctermfg=Red ctermbg=White gui=NONE guifg=Red guibg=NONE -hi Identifier cterm=NONE ctermfg=LightBlue ctermbg=White gui=NONE guifg=LightBlue guibg=NONE -hi Statement cterm=bold ctermfg=Blue ctermbg=White gui=bold guifg=Blue guibg=NONE -hi PreProc cterm=NONE ctermfg=DarkRed ctermbg=White gui=NONE guifg=DarkRed guibg=NONE -hi Type cterm=NONE ctermfg=Blue ctermbg=White gui=NONE guifg=Blue guibg=NONE -hi Underlined cterm=NONE ctermfg=Black ctermbg=White gui=underline guifg=NONE guibg=NONE -hi Error cterm=NONE ctermfg=Yellow ctermbg=Red gui=NONE guifg=Yellow guibg=Red -hi Todo cterm=NONE ctermfg=Black ctermbg=Yellow gui=NONE guifg=NONE guibg=LightYellow -"Diff colors -hi DiffAdd cterm=NONE ctermfg=Red ctermbg=LightGrey gui=NONE guifg=Red guibg=#fff0f0 -hi DiffChange cterm=NONE ctermfg=Red ctermbg=LightGrey gui=NONE guifg=Red guibg=#fff0f0 -hi DiffText cterm=NONE ctermfg=White ctermbg=DarkRed gui=bold,italic guifg=Red guibg=#fff0f0 -hi DiffDelete cterm=NONE ctermfg=White ctermbg=LightGrey gui=NONE guifg=DarkGrey guibg=#f0f0f0 diff --git a/.vim/colors/white.vim b/.vim/colors/white.vim deleted file mode 100644 index 25d055b..0000000 --- a/.vim/colors/white.vim +++ /dev/null @@ -1,62 +0,0 @@ -" Vim color file -" created by mksa on 30.10.2003 10:58:20 -" cool help screens -" :he group-name -" :he highlight-groups -" :he cterm-colors - - - -set background=light -" First remove all existing highlighting. -hi clear -if exists("syntax_on") - syntax reset -endif - -let g:colors_name="white" - -" color terminal definitions -hi Normal ctermfg=black ctermbg=white guifg=black guibg=white -hi SpecialKey ctermfg=darkgreen guifg=darkgreen -hi NonText ctermfg=black ctermbg=white guifg=black guibg=white -hi Directory ctermfg=darkcyan guifg=darkcyan -hi ErrorMsg ctermfg=lightred ctermbg=yellow guifg=lightred guibg=yellow -hi IncSearch ctermfg=white ctermbg=black guifg=white guibg=black -hi Search ctermfg=white ctermbg=black guifg=white guibg=black -hi MoreMsg ctermfg=darkgreen guifg=darkgreen -hi ModeMsg ctermfg=red guifg=red -hi LineNr ctermfg=yellow ctermbg=darkgrey guifg=yellow guibg=darkgrey -hi Question ctermfg=darkgreen guifg=darkgreen -"hi StatusLine cterm=reverse -hi StatusLineNC cterm=reverse -hi VertSplit cterm=reverse -hi Title ctermfg=lightred ctermbg=yellow guifg=red -hi Visual cterm=reverse -hi VisualNOS cterm=reverse -hi WarningMsg ctermfg=darkblue guifg=darkblue -hi WildMenu ctermfg=black ctermbg=darkcyan guifg=black guibg=darkcyan -hi Folded ctermfg=yellow ctermbg=darkgrey guifg=yellow guibg=darkgrey -hi FoldColumn ctermfg=yellow ctermbg=darkgrey guifg=yellow guibg=darkgrey -hi DiffAdd ctermfg=white ctermbg=red guifg=white guifg=red -hi DiffChange ctermfg=yellow ctermbg=magenta guifg=yellow guifg=magenta -hi DiffDelete ctermfg=red ctermbg=brown guifg=red guibg=brown -hi DiffText ctermbg=blue guibg=blue - -hi Comment ctermfg=white ctermbg=darkgrey guifg=white guibg=darkgrey -hi Constant ctermfg=darkblue guifg=darkblue -hi Special ctermfg=darkred guifg=darkred -hi Identifier ctermfg=darkmagenta guifg=darkmagenta -hi Statement ctermfg=blue guifg=blue -hi Operator ctermfg=blue guifg=blue -hi PreProc ctermfg=darkmagenta guifg=darkmagenta -hi Type ctermfg=blue guifg=blue -hi Underlined ctermbg=Yellow ctermfg=blue guifg=blue -hi Ignore ctermfg=grey guifg=grey -hi Error ctermfg=white ctermbg=red guifg=white guibg=red -hi Todo ctermfg=white ctermbg=darkgreen guifg=white guibg=darkgreen -hi String ctermfg=darkgreen guifg=darkgreen -hi Number ctermfg=magenta guifg=magenta - - -"vim: sw=4 diff --git a/.vim/colors/whitedust.vim b/.vim/colors/whitedust.vim deleted file mode 100644 index a12dc7d..0000000 --- a/.vim/colors/whitedust.vim +++ /dev/null @@ -1,62 +0,0 @@ -set background=light -hi clear - -hi Boolean guifg=#235C5C gui=bold -hi Character guifg=#235C5C gui=bold -hi Comment guifg=#808080 -hi Condtional guifg=#700000 -hi Constant guifg=#235C5C gui=bold -hi Cursor guifg=#FFFFFF guibg=#515151 -hi Debug guifg=#235C5C gui=bold -hi Define guifg=#003050 gui=bold -hi Delimiter guifg=#707070 -hi DiffAdd guibg=#9EC3B9 -hi DiffChange guibg=#CCCCCC -hi DiffDelete guifg=#CCCCCC guibg=#B9B9B9 gui=none -hi DiffText guifg=#000000 guibg=#E0E0E0 gui=bold -hi Directory guifg=#000000 gui=bold -hi Error guifg=#FFFFFF guibg=#FF0000 -hi ErrorMsg guifg=#FFFFFF guibg=#FF3F30 -hi Exception guifg=#700000 gui=underline -hi Float guifg=#636C4C -hi FoldColumn guifg=#235C5C guibg=#B9B9B9 -hi Folded guifg=#235C5C guibg=#CCCCCC -hi Function guifg=#000070 -hi Identifier guifg=#000000 -hi Include guifg=#003050 gui=bold -hi IncSearch guifg=#FFFFFF guibg=#3EA399 -hi Keyword guifg=#000000 gui=bold -hi Label guifg=#700000 gui=underline -hi LineNr guifg=#808080 guibg=#B9B9B9 -hi Macro guifg=#003050 gui=bold -hi ModeMsg guifg=#235C5C gui=bold -hi MoreMsg guifg=#000000 gui=bold -hi NonText guifg=#E0E0E0 -hi Normal guifg=#333333 guibg=#C0C0C0 -hi Number guifg=#535F5C -hi Operator guifg=#000000 -hi PreCondit guifg=#205070 gui=bold -hi PreProc guifg=#003050 gui=bold -hi Question guifg=#000000 gui=bold -hi Repeat guifg=#700000 gui=underline -hi Search guifg=#FFFFFF guibg=#3EA399 -hi SpecialChar guifg=#235C5C gui=bold -hi SpecialComment guifg=#235C5C gui=bold -hi Special guifg=#808080 -hi SpecialKey guifg=#818181 -hi Statement guifg=#700000 -hi StatusLine guifg=#CCCCCC guibg=#0E7369 -hi StatusLineNC guifg=#CCCCCC guibg=#333333 -hi StorageClass guifg=#000000 gui=bold -hi String guifg=#336C6C -hi Structure guifg=#000000 gui=bold,underline -hi Tag guifg=#235C5C gui=bold -hi Title guifg=#000000 guibg=#CCCCCC gui=bold -hi Todo guifg=#000000 guibg=#FFFFFF gui=bold -hi Typedef guifg=#000000 gui=bold,underline -hi Type guifg=#000000 gui=bold -hi VertSplit guifg=#CCCCCC guibg=#333333 -hi Visual guifg=#CCCCCC guibg=#0E7369 gui=reverse -hi VisualNOS guifg=#CCCCCC guibg=#0E7369 gui=bold,underline -hi WarningMsg guifg=#000000 guibg=#CCCCCC gui=bold -hi WildMenu guifg=#FFFFFF guibg=#235C5C diff --git a/.vim/colors/wintersday.vim b/.vim/colors/wintersday.vim deleted file mode 100644 index 9a77f7e..0000000 --- a/.vim/colors/wintersday.vim +++ /dev/null @@ -1,60 +0,0 @@ -" Vim color file -" Mark Thomas <mark.thomas@bigswamp.org> -" Sun Feb 16, 2003 - -" This color scheme uses a dark background. - -" First remove all existing highlighting. -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif - -let g:colors_name = "wintersday" - -hi Normal guifg=#CCCCCC guibg=#000000 - -hi Cursor gui=NONE guifg=#B9D3EE guibg=#8B8878 -"hi CursorIM -hi Directory gui=NONE guifg=#FFFFFF guibg=#000000 -hi DiffAdd gui=NONE guifg=#A0D0FF guibg=#0020A0 -hi DiffChange gui=NONE guifg=#E03870 guibg=#601830 -hi DiffDelete gui=NONE guifg=#A0D0FF guibg=#0020A0 -hi DiffText gui=NONE guifg=#FF9933 guibg=#A02860 -hi ErrorMsg gui=BOLD guifg=#FF6347 guibg=NONE -hi VertSplit gui=BOLD guifg=#FFFFFF guibg=#8B4513 -hi Folded gui=NONE guifg=#40F0F0 guibg=#005080 -hi FoldColumn gui=NONE guifg=#40C0FF guibg=#00305C -hi IncSearch gui=UNDERLINE guifg=#FFD700 guibg=#778899 -hi LineNr gui=NONE guifg=#696969 -hi ModeMsg gui=BOLD guifg=#990000 guibg=NONE -hi MoreMsg gui=BOLD guifg=#CC6666 guibg=NONE -hi NonText gui=BOLD guifg=#CC00FF guibg=NONE -hi Question gui=BOLD guifg=#CC00FF guibg=NONE -hi Search gui=NONE guifg=#FFD700 guibg=#778899 -hi SpecialKey gui=BOLD guifg=#CCCCCC guibg=NONE -hi StatusLine gui=BOLD guifg=#FFFFFF guibg=#8B4513 -hi StatusLineNC gui=BOLD guifg=#8B4513 guibg=#FFFFFF -hi Title gui=BOLD guifg=#CCCCCC guibg=NONE -hi Visual gui=NONE guifg=#B9D3EE guibg=#8B8878 -"hi VisualNOS -hi WarningMsg gui=BOLD guifg=#FFA0FF guibg=NONE -hi WildMenu gui=NONE guifg=#000000 guibg=#a0a0ff -"hi Menu -"hi Scrollbar -"hi Tooltip - -" syntax highlighting groups -hi Comment gui=NONE guifg=#6699CC guibg=NONE -hi Constant gui=NONE guifg=#99CCFF guibg=NONE -hi Identifier gui=NONE guifg=#FFD700 guibg=NONE -hi Statement gui=NONE guifg=#CC6666 guibg=NONE -hi PreProc gui=NONE guifg=#40F0A0 guibg=NONE -hi Type gui=NONE guifg=#B0C4DE guibg=NONE -hi Special gui=NONE guifg=#00FFCC guibg=NONE -hi Underlined gui=NONE guifg=#FFFFFF guibg=NONE -hi Ignore gui=NONE guifg=#000000 guibg=NONE -hi Error gui=NONE guifg=#FFFFFF guibg=#FF0088 -hi Todo gui=BOLD guifg=#FFA0A0 guibg=NONE -hi Number gui=NONE guifg=#FFCCCC guibg=NONE diff --git a/.vim/colors/wombat.vim b/.vim/colors/wombat.vim deleted file mode 100644 index 9ad1e56..0000000 --- a/.vim/colors/wombat.vim +++ /dev/null @@ -1,51 +0,0 @@ -" Maintainer: Lars H. Nielsen (dengmao@gmail.com) -" Last Change: January 22 2007 - -set background=dark - -hi clear - -if exists("syntax_on") - syntax reset -endif - -let colors_name = "wombat" - - -" Vim >= 7.0 specific colors -if version >= 700 - hi CursorLine guibg=#2d2d2d - hi CursorColumn guibg=#2d2d2d - hi MatchParen guifg=#f6f3e8 guibg=#857b6f gui=bold - hi Pmenu guifg=#f6f3e8 guibg=#444444 - hi PmenuSel guifg=#000000 guibg=#cae682 -endif - -" General colors -hi Cursor guifg=NONE guibg=#656565 gui=none -hi Normal guifg=#f6f3e8 guibg=#242424 gui=none -hi NonText guifg=#808080 guibg=#303030 gui=none -hi LineNr guifg=#857b6f guibg=#000000 gui=none -hi StatusLine guifg=#f6f3e8 guibg=#444444 gui=italic -hi StatusLineNC guifg=#857b6f guibg=#444444 gui=none -hi VertSplit guifg=#444444 guibg=#444444 gui=none -hi Folded guibg=#384048 guifg=#a0a8b0 gui=none -hi Title guifg=#f6f3e8 guibg=NONE gui=bold -hi Visual guifg=#f6f3e8 guibg=#444444 gui=none -hi SpecialKey guifg=#808080 guibg=#343434 gui=none - -" Syntax highlighting -hi Comment guifg=#99968b gui=italic -hi Todo guifg=#8f8f8f gui=italic -hi Constant guifg=#e5786d gui=none -hi String guifg=#95e454 gui=italic -hi Identifier guifg=#cae682 gui=none -hi Function guifg=#cae682 gui=none -hi Type guifg=#cae682 gui=none -hi Statement guifg=#8ac6f2 gui=none -hi Keyword guifg=#8ac6f2 gui=none -hi PreProc guifg=#e5786d gui=none -hi Number guifg=#e5786d gui=none -hi Special guifg=#e7f6da gui=none - - diff --git a/.vim/colors/xemacs.vim b/.vim/colors/xemacs.vim deleted file mode 100644 index c47607c..0000000 --- a/.vim/colors/xemacs.vim +++ /dev/null @@ -1,46 +0,0 @@ - -" Vim color file -" Maintainer: tranquility@portugalmail.pt -" Last Change: 5 June 2002 - - -" cool help screens -" :he group-name -" :he highlight-groups -" :he cterm-colors - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name="xemacs" - -hi Normal guibg=#cdcecd guifg=black -hi Cursor guibg=red guifg=grey gui=bold -hi VertSplit guibg=grey60 guifg=black gui=none -hi Folded guibg=royalblue3 guifg=white -hi FoldColumn guibg=royalblue4 guifg=white -hi ModeMsg guifg=#cdcecd guibg=black -hi MoreMsg guifg=#cdcecd guibg=black -hi NonText guifg=black guibg=#cdcecd gui=none -hi Question guifg=black -hi Search guibg=#aceeee -hi SpecialKey guifg=navyblue -hi Special guifg=navyblue -hi StatusLine guibg=#b7b7b7 guifg=black gui=none -hi StatusLineNC guibg=#a6b7b7 guifg=black gui=none -hi Title guifg=bisque3 -hi Subtitle guifg=black -hi Visual guibg=#a4a5a3 guifg=black gui=none -hi WarningMsg guibg=#cdcecd guifg=black gui=bold -hi Comment guifg=#00008b -hi Constant guifg=#008900 -hi Identifier guibg=#cdcecd guifg=black -hi Statement guifg=royalblue4 -hi PreProc guifg=#0000cd -hi Type guifg=#4a81b4 gui=NONE -hi Ignore guifg=grey29 -hi Todo guibg=gold guifg=black -hi WildMenu guibg=#b7b7b7 guibg=grey91 -hi Directory guibg=#cdcecd guifg=navyblue diff --git a/.vim/colors/xian.vim b/.vim/colors/xian.vim deleted file mode 100644 index 3cc02d8..0000000 --- a/.vim/colors/xian.vim +++ /dev/null @@ -1,50 +0,0 @@ -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif - -let g:colors_name = "xian" - -hi Comment guifg=#C0C0C0 guibg=#946464 gui=underline -hi Constant guifg=#00FF80 guibg=#946464 gui=none -hi Cursor guifg=#00FFFF guibg=#000000 gui=reverse -hi DiffAdd guifg=#00FFFF guibg=#754F4F gui=bold,underline -hi DiffChange guibg=#754F4F -hi DiffDelete guifg=#C0C0C0 guibg=#754F4F gui=bold -hi DiffText guifg=#000000 guibg=#FF0000 gui=bold,underline -hi Directory guifg=#FFFF00 guibg=#946464 gui=underline -hi Error guifg=#000000 guibg=#FF0000 gui=bold,underline -hi ErrorMsg guifg=#000000 guibg=#FF0000 gui=bold,underline -hi FoldColumn guifg=#ffff74 guibg=#754F4F gui=bold -hi Folded guifg=#ffff74 guibg=#754F4F gui=underline -hi Identifier guifg=#EEAA73 guibg=#946464 gui=none -hi Ignore guifg=#946464 guibg=#946464 gui=none -hi IncSearch guifg=#FFFFFF guibg=#946464 gui=reverse -hi lCursor guifg=#FFFFFF guibg=#946464 gui=none -hi LineNr guifg=#C0C0C0 guibg=#754F4F gui=bold -hi Match guifg=#0000FF guibg=#FFFF00 gui=bold,reverse -hi ModeMsg guifg=#FFFFFF guibg=#946464 gui=bold -hi MoreMsg guifg=#d174a8 guibg=#946464 gui=bold -hi NonText guifg=#C0C0C0 guibg=#946464 gui=none -hi Normal guifg=#FFFFFF guibg=#946464 gui=none -hi PreProc guifg=#FFFF00 guibg=#946464 gui=none -hi Question guifg=#d174a8 guibg=#946464 gui=bold -hi Search guifg=#FFFF00 guibg=#FF8500 gui=underline -hi Special guifg=#bfbfef guibg=#946464 gui=none -hi SpecialKey guifg=#FFFF00 guibg=#946464 gui=none -hi Statement guifg=#5ad5d5 guibg=#946464 gui=bold -hi StatusLine guifg=#000000 guibg=#FFFFFF gui=bold -hi StatusLineNC guifg=#C0C0C0 guibg=#754F4F gui=bold -hi Title guifg=#74FF74 guibg=#946464 gui=bold -hi Todo guifg=#FFFF00 guibg=#0000FF gui=none -hi Type guifg=#FF74A8 guibg=#946464 gui=bold -hi User1 guifg=#999933 guibg=#45637F gui=bold -hi User2 guifg=#E7E77F guibg=#45637F gui=bold -hi User3 guifg=#000000 guibg=#45637F gui=bold -hi User4 guifg=#33CC99 guibg=#45637F gui=bold -hi VertSplit guifg=#FFFF00 guibg=#000000 gui=bold -hi Visual guifg=#FFFF00 guibg=#6B959B gui=none -hi VisualNOS guifg=#FFFFFF guibg=#946464 gui=underline -hi WarningMsg guifg=#000000 guibg=#FF0000 gui=bold,underline -hi WildMenu guifg=#FFFFFF guibg=#0000FF gui=none diff --git a/.vim/colors/zenburn.vim b/.vim/colors/zenburn.vim deleted file mode 100644 index af9c07f..0000000 --- a/.vim/colors/zenburn.vim +++ /dev/null @@ -1,133 +0,0 @@ -" Vim color file -" Maintainer: Jani Nurminen <jani.nurminen@intellitel.com> -" Last Change: $Id: zenburn.vim,v 1.13 2002/09/16 18:03:49 jnurmine Exp $ -" URL: Not yet... -" License: GPL -" -" Nothing too fancy, just some alien fruit salad to keep you in the zone. -" This syntax file was designed to be used with dark environments and -" low light situations. Of course, if it works during a daybright office, go -" ahead :) -" -" Owes heavily to other Vim color files! With special mentions -" to "BlackDust", "Camo" and "Desert". -" -" To install, copy to ~/.vim/colors directory. Then :colorscheme zenburn. -" See also :help syntax -" -" CONFIGURABLE PARAMETERS: -" -" You can use the default (don't set any parameters), or you can -" set some parameters to tweak the Zenlook colours. -" -" * To get more contrast to the Visual selection, use -" -" let g:zenburn_alternate_Visual = 1 -" -" * To use alternate colouring for Error message, use -" -" let g:zenburn_alternate_Error = 1 -" -" * The new default for Include is a duller orang.e To use the original -" colouring for Include, use -" -" let g:zenburn_alternate_Include = 1 -" -" * To turn the parameter(s) back to defaults, use unlet. -" -" That's it, enjoy! -" -" TODO -" - IME colouring (CursorIM) -" - obscure syntax groups: check and colourize -" - add more groups if necessary - -set background=dark -hi clear -if exists("syntax_on") - syntax reset -endif -let g:colors_name="zenburn" - -hi Boolean guifg=#dca3a3 -hi Character guifg=#dca3a3 gui=bold -hi Comment guifg=#7f9f7f -hi Conditional guifg=#f0dfaf gui=bold -hi Constant guifg=#dca3a3 gui=bold -hi Cursor guifg=#000d18 guibg=#8faf9f gui=bold -hi Debug guifg=#dca3a3 gui=bold -hi Define guifg=#ffcfaf gui=bold -hi Delimiter guifg=#8f8f8f -hi DiffAdd guifg=#709080 guibg=#313c36 gui=bold -hi DiffChange guibg=#333333 -hi DiffDelete guifg=#333333 guibg=#464646 -hi DiffText guifg=#ecbcbc guibg=#41363c gui=bold -hi Directory guifg=#dcdccc gui=bold -hi ErrorMsg guifg=#60b48a guibg=#3f3f3f gui=bold -hi Exception guifg=#c3bf9f gui=bold -hi Float guifg=#c0bed1 -hi FoldColumn guifg=#93b3a3 guibg=#3f4040 -hi Folded guifg=#93b3a3 guibg=#3f4040 -hi Function guifg=#efef8f -hi Identifier guifg=#efdcbc -hi IncSearch guibg=#f8f893 guifg=#385f38 -hi Keyword guifg=#f0dfaf gui=bold -hi Label guifg=#dfcfaf gui=underline -hi LineNr guifg=#7f8f8f guibg=#464646 -hi Macro guifg=#ffcfaf gui=bold -hi ModeMsg guifg=#ffcfaf gui=none -hi MoreMsg guifg=#ffffff gui=bold -hi NonText guifg=#404040 -hi Normal guifg=#dcdccc guibg=#3f3f3f -hi Number guifg=#8cd0d3 -hi Operator guifg=#f0efd0 -hi PreCondit guifg=#dfaf8f gui=bold -hi PreProc guifg=#ffcfaf gui=bold -hi Question guifg=#ffffff gui=bold -hi Repeat guifg=#ffd7a7 gui=bold -hi Search guifg=#ffffe0 guibg=#385f38 -hi SpecialChar guifg=#dca3a3 gui=bold -hi SpecialComment guifg=#82a282 gui=bold -hi Special guifg=#cfbfaf -hi SpecialKey guifg=#9ece9e -hi Statement guifg=#e3ceab guibg=#3f3f3f gui=none -hi StatusLine guifg=#1e2320 guibg=#acbc90 -hi StatusLineNC guifg=#2e3330 guibg=#88b090 -hi StorageClass guifg=#c3bf9f gui=bold -hi String guifg=#cc9393 -hi Structure guifg=#efefaf gui=bold -hi Tag guifg=#dca3a3 gui=bold -hi Title guifg=#efefef guibg=#3f3f3f gui=bold -hi Todo guifg=#7faf8f guibg=#3f3f3f gui=bold -hi Typedef guifg=#dfe4cf gui=bold -hi Type guifg=#dfdfbf gui=bold -hi Underlined guifg=#dcdccc guibg=#3f3f3f gui=underline -hi VertSplit guifg=#303030 guibg=#688060 -hi VisualNOS guifg=#333333 guibg=#f18c96 gui=bold,underline -hi WarningMsg guifg=#ffffff guibg=#333333 gui=bold -hi WildMenu guibg=#2c302d guifg=#cbecd0 gui=underline - -if exists("g:zenburn_alternate_Visual") - " Visual with more contrast, thanks to Steve Hall & Cream posse - hi Visual guifg=#000000 guibg=#71d3b4 -else - " use default visual - hi Visual guifg=#233323 guibg=#71d3b4 -endif - -if exists("g:zenburn_alternate_Error") - " use a bit different Error - hi Error guifg=#ef9f9f guibg=#201010 gui=bold -else - " default - hi Error guifg=#e37170 guibg=#332323 gui=none -endif - -if exists("g:zenburn_alternate_Include") - " original setting - hi Include guifg=#ffcfaf gui=bold -else - " new, less contrasted one - hi Include guifg=#dfaf8f gui=bold -endif - " TODO check every syntax group that they're ok diff --git a/.vim/compiler/ghc.vim b/.vim/compiler/ghc.vim deleted file mode 100644 index 77a36ce..0000000 --- a/.vim/compiler/ghc.vim +++ /dev/null @@ -1,470 +0,0 @@ - -" Vim Compiler File -" Compiler: GHC -" Maintainer: Claus Reinke <claus.reinke@talk21.com> -" Last Change: 21/04/2009 -" -" part of haskell plugins: http://projects.haskell.org/haskellmode-vim - -" ------------------------------ paths & quickfix settings first -" - -if exists("current_compiler") && current_compiler == "ghc" - finish -endif -let current_compiler = "ghc" - -let s:scriptname = "ghc.vim" - -if (!exists("g:ghc") || !executable(g:ghc)) - if !executable('ghc') - echoerr s:scriptname.": can't find ghc. please set g:ghc, or extend $PATH" - finish - else - let g:ghc = 'ghc' - endif -endif -let ghc_version = substitute(system(g:ghc . ' --numeric-version'),'\n','','') -if (!exists("b:ghc_staticoptions")) - let b:ghc_staticoptions = '' -endif - -" set makeprg (for quickfix mode) -execute 'setlocal makeprg=' . g:ghc . '\ ' . escape(b:ghc_staticoptions,' ') .'\ -e\ :q\ %' -"execute 'setlocal makeprg=' . g:ghc .'\ -e\ :q\ %' -"execute 'setlocal makeprg=' . g:ghc .'\ --make\ %' - -" quickfix mode: -" fetch file/line-info from error message -" TODO: how to distinguish multiline errors from warnings? -" (both have the same header, and errors have no common id-tag) -" how to get rid of first empty message in result list? -setlocal errorformat= - \%-Z\ %#, - \%W%f:%l:%c:\ Warning:\ %m, - \%E%f:%l:%c:\ %m, - \%E%>%f:%l:%c:, - \%+C\ \ %#%m, - \%W%>%f:%l:%c:, - \%+C\ \ %#%tarning:\ %m, - -" oh, wouldn't you guess it - ghc reports (partially) to stderr.. -setlocal shellpipe=2> - -" ------------------------- but ghc can do a lot more for us.. -" - -" allow map leader override -if !exists("maplocalleader") - let maplocalleader='_' -endif - -" initialize map of identifiers to their types -" associate type map updates to changedtick -if !exists("b:ghc_types") - let b:ghc_types = {} - let b:my_changedtick = b:changedtick -endif - -if exists("g:haskell_functions") - finish -endif -let g:haskell_functions = "ghc" - -" avoid hit-enter prompts -set cmdheight=3 - -" edit static GHC options -" TODO: add completion for options/packages? -command! GHCStaticOptions call GHC_StaticOptions() -function! GHC_StaticOptions() - let b:ghc_staticoptions = input('GHC static options: ',b:ghc_staticoptions) - execute 'setlocal makeprg=' . g:ghc . '\ ' . escape(b:ghc_staticoptions,' ') .'\ -e\ :q\ %' - let b:my_changedtick -=1 -endfunction - -map <LocalLeader>T :call GHC_ShowType(1)<cr> -map <LocalLeader>t :call GHC_ShowType(0)<cr> -function! GHC_ShowType(addTypeDecl) - let namsym = haskellmode#GetNameSymbol(getline('.'),col('.'),0) - if namsym==[] - redraw - echo 'no name/symbol under cursor!' - return 0 - endif - let [_,symb,qual,unqual] = namsym - let name = qual=='' ? unqual : qual.'.'.unqual - let pname = ( symb ? '('.name.')' : name ) - call GHC_HaveTypes() - if !has_key(b:ghc_types,name) - redraw - echo pname "type not known" - else - redraw - for type in split(b:ghc_types[name],' -- ') - echo pname "::" type - if a:addTypeDecl - call append( line(".")-1, pname . " :: " . type ) - endif - endfor - endif -endfunction - -" show type of identifier under mouse pointer in balloon -if has("balloon_eval") - set ballooneval - set balloondelay=600 - set balloonexpr=GHC_TypeBalloon() - function! GHC_TypeBalloon() - if exists("b:current_compiler") && b:current_compiler=="ghc" - let [line] = getbufline(v:beval_bufnr,v:beval_lnum) - let namsym = haskellmode#GetNameSymbol(line,v:beval_col,0) - if namsym==[] - return '' - endif - let [start,symb,qual,unqual] = namsym - let name = qual=='' ? unqual : qual.'.'.unqual - let pname = name " ( symb ? '('.name.')' : name ) - silent call GHC_HaveTypes() - if has("balloon_multiline") - return (has_key(b:ghc_types,pname) ? split(b:ghc_types[pname],' -- ') : '') - else - return (has_key(b:ghc_types,pname) ? b:ghc_types[pname] : '') - endif - else - return '' - endif - endfunction -endif - -map <LocalLeader>si :call GHC_ShowInfo()<cr> -function! GHC_ShowInfo() - let namsym = haskellmode#GetNameSymbol(getline('.'),col('.'),0) - if namsym==[] - redraw - echo 'no name/symbol under cursor!' - return 0 - endif - let [_,symb,qual,unqual] = namsym - let name = qual=='' ? unqual : (qual.'.'.unqual) - let output = GHC_Info(name) - pclose | new - setlocal previewwindow - setlocal buftype=nofile - setlocal noswapfile - put =output - wincmd w - "redraw - "echo output -endfunction - -" fill the type map, unless nothing has changed since the last attempt -function! GHC_HaveTypes() - if b:ghc_types == {} && (b:my_changedtick != b:changedtick) - let b:my_changedtick = b:changedtick - return GHC_BrowseAll() - endif -endfunction - -" update b:ghc_types after successful make -au QuickFixCmdPost make if GHC_CountErrors()==0 | silent call GHC_BrowseAll() | endif - -" count only error entries in quickfix list, ignoring warnings -function! GHC_CountErrors() - let c=0 - for e in getqflist() | if e.type=='E' && e.text !~ "^[ \n]*Warning:" | let c+=1 | endif | endfor - return c -endfunction - -command! GHCReload call GHC_BrowseAll() -function! GHC_BrowseAll() - " let imports = haskellmode#GatherImports() - " let modules = keys(imports[0]) + keys(imports[1]) - let imports = {} " no need for them at the moment - let current = GHC_NameCurrent() - let module = current==[] ? 'Main' : current[0] - if GHC_VersionGE([6,8,1]) - return GHC_BrowseBangStar(module) - else - return GHC_BrowseMultiple(imports,['*'.module]) - endif -endfunction - -function! GHC_VersionGE(target) - let current = split(g:ghc_version, '\.' ) - let target = a:target - for i in current - if ((target==[]) || (i>target[0])) - return 1 - elseif (i==target[0]) - let target = target[1:] - else - return 0 - endif - endfor - return 1 -endfunction - -function! GHC_NameCurrent() - let last = line("$") - let l = 1 - while l<last - let ml = matchlist( getline(l), '^module\s*\([^ (]*\)') - if ml != [] - let [_,module;x] = ml - return [module] - endif - let l += 1 - endwhile - redraw - echo "cannot find module header for file " . expand("%") - return [] -endfunction - -function! GHC_BrowseBangStar(module) - redraw - echo "browsing module " a:module - let command = ":browse! *" . a:module - let orig_shellredir = &shellredir - let &shellredir = ">" " ignore error/warning messages, only output or lack of it - let output = system(g:ghc . ' ' . b:ghc_staticoptions . ' -v0 --interactive ' . expand("%") , command ) - let &shellredir = orig_shellredir - return GHC_ProcessBang(a:module,output) -endfunction - -function! GHC_BrowseMultiple(imports,modules) - redraw - echo "browsing modules " a:modules - let command = ":browse " . join( a:modules, " \n :browse ") - let command = substitute(command,'\(:browse \(\S*\)\)','putStrLn "-- \2" \n \1','g') - let output = system(g:ghc . ' ' . b:ghc_staticoptions . ' -v0 --interactive ' . expand("%") , command ) - return GHC_Process(a:imports,output) -endfunction - -function! GHC_Info(what) - " call GHC_HaveTypes() - let output = system(g:ghc . ' ' . b:ghc_staticoptions . ' -v0 --interactive ' . expand("%"), ":i ". a:what) - return output -endfunction - -function! GHC_ProcessBang(module,output) - let module = a:module - let b = a:output - let linePat = '^\(.\{-}\)\n\(.*\)' - let contPat = '\s\+\(.\{-}\)\n\(.*\)' - let typePat = '^\(\)\(\S*\)\s*::\(.*\)' - let commentPat = '^-- \(\S*\)' - let definedPat = '^-- defined locally' - let importedPat = '^-- imported via \(.*\)' - if !(b=~commentPat) - echo s:scriptname.": GHCi reports errors (try :make?)" - return 0 - endif - let b:ghc_types = {} - let ml = matchlist( b , linePat ) - while ml != [] - let [_,l,rest;x] = ml - let mlDecl = matchlist( l, typePat ) - if mlDecl != [] - let [_,indent,id,type;x] = mlDecl - let ml2 = matchlist( rest , '^'.indent.contPat ) - while ml2 != [] - let [_,c,rest;x] = ml2 - let type .= c - let ml2 = matchlist( rest , '^'.indent.contPat ) - endwhile - let id = substitute( id, '^(\(.*\))$', '\1', '') - let type = substitute( type, '\s\+', " ", "g" ) - " using :browse! *<current>, we get both unqualified and qualified ids - let qualified = (id =~ '\.') && (id =~ '[A-Z]') - let b:ghc_types[id] = type - if !qualified - for qual in qualifiers - let b:ghc_types[qual.'.'.id] = type - endfor - endif - else - let mlImported = matchlist( l, importedPat ) - let mlDefined = matchlist( l, definedPat ) - if mlImported != [] - let [_,modules;x] = mlImported - let qualifiers = split( modules, ', ' ) - elseif mlDefined != [] - let qualifiers = [module] - endif - endif - let ml = matchlist( rest , linePat ) - endwhile - return 1 -endfunction - -function! GHC_Process(imports,output) - let b = a:output - let imports = a:imports - let linePat = '^\(.\{-}\)\n\(.*\)' - let contPat = '\s\+\(.\{-}\)\n\(.*\)' - let typePat = '^\(\s*\)\(\S*\)\s*::\(.*\)' - let modPat = '^-- \(\S*\)' - " add '-- defined locally' and '-- imported via ..' - if !(b=~modPat) - echo s:scriptname.": GHCi reports errors (try :make?)" - return 0 - endif - let b:ghc_types = {} - let ml = matchlist( b , linePat ) - while ml != [] - let [_,l,rest;x] = ml - let mlDecl = matchlist( l, typePat ) - if mlDecl != [] - let [_,indent,id,type;x] = mlDecl - let ml2 = matchlist( rest , '^'.indent.contPat ) - while ml2 != [] - let [_,c,rest;x] = ml2 - let type .= c - let ml2 = matchlist( rest , '^'.indent.contPat ) - endwhile - let id = substitute(id, '^(\(.*\))$', '\1', '') - let type = substitute( type, '\s\+', " ", "g" ) - " using :browse *<current>, we get both unqualified and qualified ids - if current_module " || has_key(imports[0],module) - if has_key(b:ghc_types,id) && !(matchstr(b:ghc_types[id],escape(type,'[].'))==type) - let b:ghc_types[id] .= ' -- '.type - else - let b:ghc_types[id] = type - endif - endif - if 0 " has_key(imports[1],module) - let qualid = module.'.'.id - let b:ghc_types[qualid] = type - endif - else - let mlMod = matchlist( l, modPat ) - if mlMod != [] - let [_,module;x] = mlMod - let current_module = module[0]=='*' - let module = current_module ? module[1:] : module - endif - endif - let ml = matchlist( rest , linePat ) - endwhile - return 1 -endfunction - -let s:ghc_templates = ["module _ () where","class _ where","class _ => _ where","instance _ where","instance _ => _ where","type family _","type instance _ = ","data _ = ","newtype _ = ","type _ = "] - -" use ghci :browse index for insert mode omnicompletion (CTRL-X CTRL-O) -function! GHC_CompleteImports(findstart, base) - if a:findstart - let namsym = haskellmode#GetNameSymbol(getline('.'),col('.'),-1) " insert-mode: we're 1 beyond the text - if namsym==[] - redraw - echo 'no name/symbol under cursor!' - return -1 - endif - let [start,symb,qual,unqual] = namsym - return (start-1) - else " find keys matching with "a:base" - let res = [] - let l = len(a:base)-1 - call GHC_HaveTypes() - for key in keys(b:ghc_types) - if key[0 : l]==a:base - let res += [{"word":key,"menu":":: ".b:ghc_types[key],"dup":1}] - endif - endfor - return res - endif -endfunction -set omnifunc=GHC_CompleteImports -set completeopt=menu,menuone,longest - -map <LocalLeader>ct :call GHC_CreateTagfile()<cr> -function! GHC_CreateTagfile() - redraw - echo "creating tags file" - let output = system(g:ghc . ' ' . b:ghc_staticoptions . ' -e ":ctags" ' . expand("%")) - " for ghcs older than 6.6, you would need to call another program - " here, such as hasktags - echo output -endfunction - -command! -nargs=1 GHCi redraw | echo system(g:ghc. ' ' . b:ghc_staticoptions .' '.expand("%").' -e "'.escape(<f-args>,'"').'"') - -" use :make 'not in scope' errors to explicitly list imported ids -" cursor needs to be on import line, in correctly loadable module -map <LocalLeader>ie :call GHC_MkImportsExplicit()<cr> -function! GHC_MkImportsExplicit() - let save_cursor = getpos(".") - let line = getline('.') - let lineno = line('.') - let ml = matchlist(line,'^import\(\s*qualified\)\?\s*\([^( ]\+\)') - if ml!=[] - let [_,q,mod;x] = ml - silent make - if getqflist()==[] - if line=~"import[^(]*Prelude" - call setline(lineno,substitute(line,"(.*","","").'()') - else - call setline(lineno,'-- '.line) - endif - silent write - silent make - let qflist = getqflist() - call setline(lineno,line) - silent write - let ids = {} - for d in qflist - let ml = matchlist(d.text,'Not in scope: \([^`]*\)`\([^'']*\)''') - if ml!=[] - let [_,what,qid;x] = ml - let id = ( qid =~ "^[A-Z]" ? substitute(qid,'.*\.\([^.]*\)$','\1','') : qid ) - let pid = ( id =~ "[a-zA-Z0-9_']\\+" ? id : '('.id.')' ) - if what =~ "data" - call GHC_HaveTypes() - if has_key(b:ghc_types,id) - let pid = substitute(b:ghc_types[id],'^.*->\s*\(\S*\).*$','\1','').'('.pid.')' - else - let pid = '???('.pid.')' - endif - endif - let ids[pid] = 1 - endif - endfor - call setline(lineno,'import'.q.' '.mod.'('.join(keys(ids),',').')') - else - copen - endif - endif - call setpos('.', save_cursor) -endfunction - -if GHC_VersionGE([6,8,2]) - let opts = filter(split(substitute(system(g:ghc . ' -v0 --interactive', ':set'), ' ', '','g'), '\n'), 'v:val =~ "-f"') -else - let opts = ["-fglasgow-exts","-fallow-undecidable-instances","-fallow-overlapping-instances","-fno-monomorphism-restriction","-fno-mono-pat-binds","-fno-cse","-fbang-patterns","-funbox-strict-fields"] -endif - -amenu ]OPTIONS_GHC.- :echo '-'<cr> -aunmenu ]OPTIONS_GHC -for o in opts - exe 'amenu ]OPTIONS_GHC.'.o.' :call append(0,"{-# OPTIONS_GHC '.o.' #-}")<cr>' -endfor -if has("gui_running") - map <LocalLeader>opt :popup ]OPTIONS_GHC<cr> -else - map <LocalLeader>opt :emenu ]OPTIONS_GHC. -endif - -amenu ]LANGUAGES_GHC.- :echo '-'<cr> -aunmenu ]LANGUAGES_GHC -if GHC_VersionGE([6,8]) - let ghc_supported_languages = split(system(g:ghc . ' --supported-languages'),'\n') - for l in ghc_supported_languages - exe 'amenu ]LANGUAGES_GHC.'.l.' :call append(0,"{-# LANGUAGE '.l.' #-}")<cr>' - endfor - if has("gui_running") - map <LocalLeader>lang :popup ]LANGUAGES_GHC<cr> - else - map <LocalLeader>lang :emenu ]LANGUAGES_GHC. - endif -endif diff --git a/.vim/compiler/tex.vim b/.vim/compiler/tex.vim deleted file mode 100644 index 993ecfe..0000000 --- a/.vim/compiler/tex.vim +++ /dev/null @@ -1,293 +0,0 @@ -" File: tex.vim -" Type: compiler plugin for LaTeX -" Original Author: Artem Chuprina <ran@ran.pp.ru> -" Customization: Srinath Avadhanula <srinath@fastmail.fm> -" CVS: $Id: tex.vim 997 2006-03-20 09:45:45Z srinathava $ -" Description: {{{ -" This file sets the 'makeprg' and 'errorformat' options for the LaTeX -" compiler. It is customizable to optionally ignore certain warnings and -" provides the ability to set a dynamic 'ignore-warning' level. -" -" By default it is set up in a 'non-verbose', 'ignore-common-warnings' mode, -" which means that irrelevant lines from the compilers output will be -" ignored and also some very common warnings are ignored. -" -" Depending on the 'ignore-level', the following kinds of messages are -" ignored. An ignore level of 3 for instance means that messages 1-3 will be -" ignored. By default, the ignore level is set to 4. -" -" 1. LaTeX Warning: Specifier 'h' changed to 't'. -" This errors occurs when TeX is not able to correctly place a floating -" object at a specified location, because of which it defaulted to the -" top of the page. -" 2. LaTeX Warning: Underfull box ... -" 3. LaTeX Warning: Overfull box ... -" both these warnings (very common) are due to \hbox settings not being -" satisfied nicely. -" 4. LaTeX Warning: You have requested ..., -" This warning occurs in slitex when using the xypic package. -" 5. Missing number error: -" Usually, when the name of an included eps file is spelled incorrectly, -" then the \bb-error message is accompanied by a bunch of "missing -" number, treated as zero" error messages. This level ignores these -" warnings. -" NOTE: number 5 is actually a latex error, not a warning! -" -" Use -" TCLevel <level> -" where level is a number to set the ignore level dynamically. -" -" When TCLevel is called with the unquoted string strict -" TClevel strict -" then the 'efm' switches to a 'verbose', 'no-lines-ignored' mode which is -" useful when you want to make final checks of your document and want to be -" careful not to let things slip by. -" -" TIP: MikTeX has a bug where it sometimes erroneously splits a line number -" into multiple lines. i.e, if the warning is on line 1234. the compiler -" output is: -" LaTeX Warning: ... on input line 123 -" 4. -" In this case, vim will wrongly interpret the line-number as 123 instead -" of 1234. If you have cygwin, a simple remedy around this is to first -" copy the file vimlatex (provided) into your $PATH, make sure its -" executable and then set the variable g:tex_flavor to vimlatex in your -" ~/.vimrc (i.e putting let "g:tex_flavor = 'vimlatex'" in your .vimrc). -" This problem occurs rarely enough that its not a botheration for most -" people. -" -" TODO: -" 1. menu items for dynamically selecting a ignore warning level. -" }}} - -" avoid reinclusion for the same buffer. keep it buffer local so it can be -" externally reset in case of emergency re-sourcing. -if exists('b:doneTexCompiler') && !exists('b:forceRedoTexCompiler') - finish -endif -let b:doneTexCompiler = 1 - -" ============================================================================== -" Customization of 'efm': {{{ -" This section contains the customization variables which the user can set. -" g:Tex_IgnoredWarnings: This variable contains a ¡ seperated list of -" patterns which will be ignored in the TeX compiler's output. Use this -" carefully, otherwise you might end up losing valuable information. -if !exists('g:Tex_IgnoredWarnings') - let g:Tex_IgnoredWarnings = - \'Underfull'."\n". - \'Overfull'."\n". - \'specifier changed to'."\n". - \'You have requested'."\n". - \'Missing number, treated as zero.'."\n". - \'There were undefined references'."\n". - \'Citation %.%# undefined' -endif -" This is the number of warnings in the g:Tex_IgnoredWarnings string which -" will be ignored. -if !exists('g:Tex_IgnoreLevel') - let g:Tex_IgnoreLevel = 7 -endif -" There will be lots of stuff in a typical compiler output which will -" completely fall through the 'efm' parsing. This options sets whether or not -" you will be shown those lines. -if !exists('g:Tex_IgnoreUnmatched') - let g:Tex_IgnoreUnmatched = 1 -endif -" With all this customization, there is a slight risk that you might be -" ignoring valid warnings or errors. Therefore before getting the final copy -" of your work, you might want to reset the 'efm' with this variable set to 1. -" With that value, all the lines from the compiler are shown irrespective of -" whether they match the error or warning patterns. -" NOTE: An easier way of resetting the 'efm' to show everything is to do -" TCLevel strict -if !exists('g:Tex_ShowallLines') - let g:Tex_ShowallLines = 0 -endif - -" }}} -" ============================================================================== -" Customization of 'makeprg': {{{ - -" There are several alternate ways in which 'makeprg' is set up. -" -" Case 1 -" ------ -" The first is when this file is a part of latex-suite. In this case, a -" variable called g:Tex_DefaultTargetFormat exists, which gives the default -" format .tex files should be compiled into. In this case, we use the TTarget -" command provided by latex-suite. -" -" Case 2 -" ------ -" The user is using this file without latex-suite AND he wants to directly -" specify the complete 'makeprg'. Then he should set the g:Tex_CompileRule_dvi -" variable. This is a string which should be directly be able to be cast into -" &makeprg. An example of one such string is: -" -" g:Tex_CompileRule_dvi = 'pdflatex \\nonstopmode \\input\{$*\}' -" -" NOTE: You will need to escape back-slashes, {'s etc yourself if you are -" using this file independently of latex-suite. -" TODO: Should we also have a check for backslash escaping here based on -" platform? -" -" Case 3 -" ------ -" The use is using this file without latex-suite and he doesnt want any -" customization. In this case, this file makes some intelligent guesses based -" on the platform. If he doesn't want to specify the complete 'makeprg' but -" only the name of the compiler program (for example 'pdflatex' or 'latex'), -" then he sets b:tex_flavor or g:tex_flavor. - -if exists('g:Tex_DefaultTargetFormat') - exec 'TTarget '.g:Tex_DefaultTargetFormat -elseif exists('g:Tex_CompileRule_dvi') - let &l:makeprg = g:Tex_CompileRule_dvi -else - " If buffer-local variable 'tex_flavor' exists, it defines TeX flavor, - " otherwize the same for global variable with same name, else it will be LaTeX - if exists("b:tex_flavor") - let current_compiler = b:tex_flavor - elseif exists("g:tex_flavor") - let current_compiler = g:tex_flavor - else - let current_compiler = "latex" - end - if has('win32') - let escChars = '' - else - let escChars = '{}\' - endif - " Furthermore, if 'win32' is detected, then we want to set the arguments up so - " that miktex can handle it. - if has('win32') - let options = '--src-specials' - else - let options = '' - endif - let &l:makeprg = current_compiler . ' ' . options . - \ escape(' \nonstopmode \input{$*}', escChars) -endif - -" }}} -" ============================================================================== -" Functions for setting up a customized 'efm' {{{ - -" IgnoreWarnings: parses g:Tex_IgnoredWarnings for message customization {{{ -" Description: -function! <SID>IgnoreWarnings() - let i = 1 - while s:Strntok(g:Tex_IgnoredWarnings, "\n", i) != '' && - \ i <= g:Tex_IgnoreLevel - let warningPat = s:Strntok(g:Tex_IgnoredWarnings, "\n", i) - let warningPat = escape(substitute(warningPat, '[\,]', '%\\\\&', 'g'), ' ') - exe 'setlocal efm+=%-G%.%#'.warningPat.'%.%#' - let i = i + 1 - endwhile -endfunction - -" }}} -" SetLatexEfm: sets the 'efm' for the latex compiler {{{ -" Description: -function! <SID>SetLatexEfm() - - let pm = ( g:Tex_ShowallLines == 1 ? '+' : '-' ) - - set efm= - - if !g:Tex_ShowallLines - call s:IgnoreWarnings() - endif - - setlocal efm+=%E!\ LaTeX\ %trror:\ %m - setlocal efm+=%E!\ %m - - setlocal efm+=%+WLaTeX\ %.%#Warning:\ %.%#line\ %l%.%# - setlocal efm+=%+W%.%#\ at\ lines\ %l--%*\\d - setlocal efm+=%+WLaTeX\ %.%#Warning:\ %m - - exec 'setlocal efm+=%'.pm.'Cl.%l\ %m' - exec 'setlocal efm+=%'.pm.'Cl.%l\ ' - exec 'setlocal efm+=%'.pm.'C\ \ %m' - exec 'setlocal efm+=%'.pm.'C%.%#-%.%#' - exec 'setlocal efm+=%'.pm.'C%.%#[]%.%#' - exec 'setlocal efm+=%'.pm.'C[]%.%#' - exec 'setlocal efm+=%'.pm.'C%.%#%[{}\\]%.%#' - exec 'setlocal efm+=%'.pm.'C<%.%#>%m' - exec 'setlocal efm+=%'.pm.'C\ \ %m' - exec 'setlocal efm+=%'.pm.'GSee\ the\ LaTeX%m' - exec 'setlocal efm+=%'.pm.'GType\ \ H\ <return>%m' - exec 'setlocal efm+=%'.pm.'G\ ...%.%#' - exec 'setlocal efm+=%'.pm.'G%.%#\ (C)\ %.%#' - exec 'setlocal efm+=%'.pm.'G(see\ the\ transcript%.%#)' - exec 'setlocal efm+=%'.pm.'G\\s%#' - exec 'setlocal efm+=%'.pm.'O(%*[^()])%r' - exec 'setlocal efm+=%'.pm.'P(%f%r' - exec 'setlocal efm+=%'.pm.'P\ %\\=(%f%r' - exec 'setlocal efm+=%'.pm.'P%*[^()](%f%r' - exec 'setlocal efm+=%'.pm.'P(%f%*[^()]' - exec 'setlocal efm+=%'.pm.'P[%\\d%[^()]%#(%f%r' - if g:Tex_IgnoreUnmatched && !g:Tex_ShowallLines - setlocal efm+=%-P%*[^()] - endif - exec 'setlocal efm+=%'.pm.'Q)%r' - exec 'setlocal efm+=%'.pm.'Q%*[^()])%r' - exec 'setlocal efm+=%'.pm.'Q[%\\d%*[^()])%r' - if g:Tex_IgnoreUnmatched && !g:Tex_ShowallLines - setlocal efm+=%-Q%*[^()] - endif - if g:Tex_IgnoreUnmatched && !g:Tex_ShowallLines - setlocal efm+=%-G%.%# - endif - -endfunction - -" }}} -" Strntok: extract the n^th token from a list {{{ -" example: Strntok('1,23,3', ',', 2) = 23 -fun! <SID>Strntok(s, tok, n) - return matchstr( a:s.a:tok[0], '\v(\zs([^'.a:tok.']*)\ze['.a:tok.']){'.a:n.'}') -endfun - -" }}} -" SetTexCompilerLevel: sets the "level" for the latex compiler {{{ -function! <SID>SetTexCompilerLevel(...) - if a:0 > 0 - let level = a:1 - else - call Tex_ResetIncrementNumber(0) - echo substitute(g:Tex_IgnoredWarnings, - \ '^\|\n\zs\S', '\=Tex_IncrementNumber(1)." ".submatch(0)', 'g') - let level = input("\nChoose an ignore level: ") - if level == '' - return - endif - endif - if level == 'strict' - let g:Tex_ShowallLines = 1 - elseif level =~ '^\d\+$' - let g:Tex_ShowallLines = 0 - let g:Tex_IgnoreLevel = level - else - echoerr "SetTexCompilerLevel: Unkwown option [".level."]" - end - call s:SetLatexEfm() -endfunction - -com! -nargs=? TCLevel :call <SID>SetTexCompilerLevel(<f-args>) -" }}} - -" }}} -" ============================================================================== - -call s:SetLatexEfm() - -if !exists('*Tex_Debug') - function! Tex_Debug(...) - endfunction -endif - -call Tex_Debug("compiler/tex.vim: sourcing this file", "comp") - -" vim: fdm=marker:commentstring=\ \"\ %s diff --git a/.vim/doc/csupport.txt b/.vim/doc/csupport.txt deleted file mode 100644 index 266b8db..0000000 --- a/.vim/doc/csupport.txt +++ /dev/null @@ -1,1577 +0,0 @@ -*csupport.txt* C/C++ Support November 21 2007 - -C/C++ Support *c-support* *csupport* - Plugin version 5.0.5 - for Vim version 6.0 and above - Fritz Mehner <mehner@fh-swf.de> - -C/C++-IDE for Vim/gVim. It is written to considerably speed up writing code in -a consistent style. This is done by inserting complete statements,idioms, code -snippets, templates, and comments. Syntax checking, compiling, running a -program, running a code checker or indent can be done with a keystroke. - - - 1. Usage |csupport-usage-gvim| - 1.1 Menu 'Comments' |csupport-comm| - 1.1.1 Append aligned comments |csupport-comm-aligned| - 1.1.2 Adjust end-of-line comments |csupport-comm-realign| - 1.1.3 Code to comment |csupport-code-to-comm| - 1.1.4 Comment to code |csupport-comm-to-code| - 1.1.5 Frame comments, file header, ... |csupport-comm-frame| - 1.1.6 KEYWORD + comment |csupport-comm-keywords| - 1.1.7 C to C++ comments and vice versa |csupport-comm-c-cpp| - 1.1.8 Date and date+time |csupport-comm-date| - 1.2 Menu 'Statements' |csupport-stat| - 1.2.1 Normal mode, insert mode. |csupport-stat-normal-mode| - 1.2.2 Visual mode. |csupport-stat-visual-mode| - 1.3 Menu 'Preprocessor' |csupport-prep| - 1.3.1 Normal mode, insert mode. |csupport-prep-normal-mode| - 1.3.2 Visual mode. |csupport-prep-visual-mode| - 1.3.3 Block out code with #if 0 .. #endif |csupport-prep-if0| - 1.4 Menu 'Idioms' |csupport-idioms| - 1.5 Menu 'Snippets' |csupport-snippets| - 1.5.1 Code snippets |csupport-snippets| - 1.5.2 Picking up prototypes |csupport-proto| - 1.6 Menu 'C++' |csupport-c++| - 1.6.1 Normal mode, insert mode. |csupport-c++-normal-mode| - 1.6.2 Visual mode. |csupport-c++-visual-mode| - 1.6.3 Method implementation |csupport-c++-method-impl| - 1.7 Menu 'Run' |csupport-run| - 1.7.1 Minimal make functionality |csupport-run-buffer| - 1.7.2 Command line arguments |csupport-run-cmdline-args| - 1.7.3 Run make |csupport-run-make| - 1.7.4 Command line arguments for make |csupport-run-make-args| - 1.7.5 Splint |csupport-run-splint| - 1.7.6 CodeCheck |csupport-run-codecheck| - 1.7.7 Indent |csupport-run-indent| - 1.7.8 Hardcopy |csupport-run-hardcopy| - 1.7.9 Rebuild templates |csupport-run-templates| - 1.7.10 Xterm size |csupport-run-xterm| - 1.7.11 Output redirection |csupport-run-output| - 1.8 Help |csupport-help| - - 2. Usage without GUI |csupport-usage-vim| - 3. Hotkeys |csupport-hotkeys| - 4. Customization and configuration |csupport-custom| - 4.1 Global variables |csupport-custom-glob-vars| - 4.2 The root menu |csupport-custom-root-menu| - 4.3 System-wide installation |csupport-system-wide| - 5. Template files and tags |csupport-templates| - 5.1 Template files |csupport-templates-files| - 5.2 Macros |csupport-templates-macros| - 5.3 Templates |csupport-templates-names| - 5.3.1 Template names |csupport-templates-names| - 5.3.2 Template definition |csupport-templates-definition| - 5.3.3 Template expansion |csupport-templates-expansion| - 6. C/C++ Dictionaries |csupport-dictionary| - 7. Extend taglist.vim for make and qmake |csupport-taglist| - 8. Syntax based folding |csupport-folding| - 9. Windows particularities |csupport-windows| -10. Troubleshooting |csupport-troubleshooting| -11. Release Notes /Change Log |csupport-release-notes| - - How to add this help file to Vim's help |add-local-help| - - -============================================================================== -1. USAGE WITH GUI (gVim) *csupport-usage-gvim* -============================================================================== - -If the root menu 'C/C++' is not visible call it with the item "Load C Support" -from the standard Tools-menu. -The item "Load C Support" can also be used to unload the C/C++-root menu. - -Nearly all menu entries insert code snippets or comments. All these stuff is -taken from template files and can be changed by the user to meet his -requirements (see|csupport-templates|). - ------------------------------------------------------------------------------- -1.1 MENU 'Comments' *csupport-comm* ------------------------------------------------------------------------------- - -1.1.1 APPEND ALIGNED COMMENTS TO CONSECUTIVE LINES *csupport-comm-aligned* - -In NORMAL MODE the menu items 'end-of-line comment' will append an comment to -the current line. -In VISUAL MODE these item will append aligned comments to all marked lines. -Marking the first 4 lines - - print_double_array ( double array[], - int n, - int columns, - char* arrayname - ) - -and choosing 'end-of-line com. /**/' will yield. - - print_double_array ( double array[], /* */ - int n, /* */ - int columns, /* */ - char* arrayname /* */ - ) /* */ - -If one ore more lines go beyond the starting column (s.below) the comments -will start at the 2. column after the longest line. The cursor will be -positioned inside the first comment. - -The default starting column is 49 ( = (multiple of 2,4, or 8) + 1 ). This can -be changed by setting a global variable in the file ~/.vimrc , e.g. : - - let g:C_LineEndCommColDefault = 45 - -The starting column can also be set by the menu item -'Comments->set end-of-line com. col' . Just position the cursor in an -arbitrary column (column number is shown in the Vim status line) and choose -this menu item. This setting is buffer related. - -If the cursor was at the end of a line you will be asked for a column number -because this position is most likely not the desired starting column. -Your choice will be confirmed. - ------------------------------------------------------------------------------- - -1.1.2 ADJUST END-OF-LINE COMMENTS *csupport-comm-realign* - -After some changes end-of-line comments may be no longer aligned: - - print_double_array ( double array[], /* */ - long int n, /* */ - unsigned int columns, /* */ - char* a_name /* */ - ) /* */ - -Realignment can be achieved with the menu item 'adjust end-of-line com.' In -normal mode the comment (if any) in the current line will be aligned to the -end-of-line comment column (see above) if possible. In visual mode the -comments in the marked block will be aligned: - - print_double_array ( double array[], /* */ - long int n, /* */ - unsigned int columns, /* */ - char* a_name /* */ - ) /* */ - ------------------------------------------------------------------------------- - -1.1.3 CODE TO COMMENT *csupport-code-to-comm* - -The marked block - -xxxxxxxx -xxxxxxxx -xxxxxxxx - -will be changed by the menu item 'code->comment /**/' into the multiline -comment (all (partially) marked lines): - -/* xxxxxxxx - * xxxxxxxx - * xxxxxxxx - */ - -The marked block will be changed by the menu item 'code->comment //' into the -multiline comment - -//xxxxxxxx -//xxxxxxxx -//xxxxxxxx - -The menu items works also for a single line. A single line needs not to be -marked. - ------------------------------------------------------------------------------- - -1.1.4 COMMENT TO CODE *csupport-comm-to-code* - -If one (or more) complete comment (i.e. all lines belonging to the comment) is -marked the item 'comment->code' will uncomment it. If the following lines -are marked - - * printf ("\n"); - */ - - printf ("\n"); - - // printf ("\n"); - // - - /* - * printf ("\n"); - */ - -uncommenting will yield - - * printf ("\n"); - */ - - printf ("\n"); - - printf ("\n"); - - - - printf ("\n"); - -The first 2 lines are only a part of a C-comment and remain unchanged. -A C-comment can start with /* , /** or /*! . - -The menu item works also for a single line with a leading // . A single line -needs not to be marked. - ------------------------------------------------------------------------------- - -1.1.5 FRAME COMMENTS, FILE HEADER, ... *csupport-comm-frame* - -Frame comments, file header comments and function, methods, class descriptions -are read as templates from the appropriate files (see |csupport-templates|). - ------------------------------------------------------------------------------- - -1.1.6 KEYWORD+comment *csupport-comm-keywords* - -Preliminary comments to document (and find again) places where works will be -resumed shortly. Usually not meant for the final documentation. - ------------------------------------------------------------------------------- - -1.1.7 C TO C++ COMMENTS AND VICE VERSA *csupport-comm-c-cpp* - -The menu item '// xxx -> /* xxx */' changes a C++ comment into an C comment. -This is done for the current line in normal or insert mode and for a marked -area of lines in visual mode. -If there are multiple C comments only the first one will be changed: - printf ("\n"); /* one */ /* two */ /* three */ -will be changed into - printf ("\n"); // one /* two */ /* three */ - -The menu item '/* xxx */ -> // xxx' changes a C comment into an C++ comment. - ------------------------------------------------------------------------------- - -1.1.8 DATE AND DATE+TIME *csupport-comm-date* - -The format for 'date' and 'date time' can be defined by the user (see -|csupport-templates-date|). - ------------------------------------------------------------------------------- -1.2 MENU 'Statements' *csupport-stat* ------------------------------------------------------------------------------- - -1.2.1 NORMAL MODE, INSERT MODE. *csupport-stat-normal-mode* - -An empty statement will be inserted and properly indented. The item 'if{}' -will insert an if-statement: - -if ( ) -{ -} - - -1.2.2 VISUAL MODE. *csupport-stat-visual-mode* - -STATEMENTS WITH BLOCKS AND CASE LABEL. --------------------------------------- -The highlighted area - -xxxxx -xxxxx - -can be surrounded by one of the following statements: - - +----------------------------+-----------------------------+ - | if ( ) | if ( ) | - | { | { | - | xxxxx | xxxxx | - | xxxxx | xxxxx | - | } | } | - | | else | - | | { | - | | } | - +----------------------------+-----------------------------+ - | for ( ; ; ) | while ( ) | - | { | { | - | xxxxx | xxxxx | - | xxxxx | xxxxx | - | } | } | - +----------------------------+-----------------------------+ - | do | | - | { | { | - | xxxxx | xxxxx | - | xxxxx | xxxxx | - | } | } | - | while ( ); | | - +----------------------------+-----------------------------+ - | switch ( ) { | - | case : | - | break; | - | | - | case : | - | break; | - | | - | case : | - | break; | - | | - | case : | - | break; | - | | - | default: | - | break; | - | } | - +----------------------------+-----------------------------+ - -For 'switch' and 'case' see |csupport-stat-switch| and |csupport-stat-case|. - -The whole statement will be indented after insertion. - - -STATEMENTS WITHOUT BLOCKS. --------------------------- -One of the following statements can be inserted: - - +-------------------------------+--------------------------+ - | if ( ) | for ( ; ; ) | - +-------------------------------+--------------------------+ - | if ( ) | while ( ) | - | else | | - +-------------------------------+--------------------------+ - | case : | | - | break; | | - +-------------------------------+--------------------------+ - - ------------------------------------------------------------------------------- -1.3 MENU 'Preprocessor' *csupport-prep* ------------------------------------------------------------------------------- - -1.3.1 NORMAL MODE, INSERT MODE. *csupport-prep-normal-mode* - -The preprocessor statements will be inserted and properly indented. - -1.3.2 VISUAL MODE. *csupport-prep-visual-mode* - -STATEMENTS WITH BLOCKS ----------------------- -The highlighted area - -xxxxx -xxxxx - -can be surrounded by one of the following statements: - - +----------------------------+-----------------------------+ - | #if CONDITION | - | xxxxx | - | xxxxx | - | #else /* ----- #if CONDITION ----- */ | - | | - | #endif /* ----- #if CONDITION ----- */ | - +----------------------------------------------------------+ - | #ifdef CONDITION | - | xxxxx | - | xxxxx | - | #else /* ----- #ifdef CONDITION ----- */ | - | | - | #endif /* ----- #ifdef CONDITION ----- */ | - +----------------------------------------------------------+ - | #ifndef CONDITION | - | xxxxx | - | xxxxx | - | #else /* ----- #ifndef CONDITION ----- */ | - | | - | #endif /* ----- #ifndef CONDITION ----- */ | - +----------------------------------------------------------+ - | #ifndef INC_TEST | - | #define INC_TEST | - | xxxxx | - | xxxxx | - | #endif /* ----- #ifndef INC_TEST ----- */ | - +----------------------------------------------------------+ - | #if 0 /* ----- #if 0 : If0Label_1 ----- */ | - | | - | #endif /* ----- #if 0 : If0Label_1 ----- */ | - +----------------------------------------------------------+ - -The macro name for an include guard (e.g. INC_TEST above) will be derived as a -suggestion from the file name. - -1.3.3 BLOCK OUT CODE WITH #if 0 ... #endif *csupport-prep-if0* - -The menu item #if 0 #endif inserts the lines - - #if 0 /* ----- #if 0 : If0Label_1 ----- */ - - #endif /* ----- #if 0 : If0Label_1 ----- */ - -In visual mode the marked block of lines will be surrounded by these lines. - -This is usually done to temporarily block out some code. The label names like -If0Label_1 are automatically inserted into the comments. The trailing numbers -are automatically incremented. These numbers can be changed by the user. The -next number will be one above the highest number found in the current buffer. - -A corresponding label can be found by searching with the vim star command (*). -All labels can be found with a global search like :g/If0Label_/ or -:g/If0Label_\d\+/. All corresponding lines can be deleted with :g/If0Label_/d . - - -REMOVE THE ENCLOSING #if 0 ... #endif -CONSTRUCT. - -The menu item 'remove #if #endif' removes such a construct if the cursor is -in the middle of such a section or on one of the two enclosing lines. Nested -constructs will be untouched. - ------------------------------------------------------------------------------- -1.4 MENU 'Idioms' *csupport-idioms* ------------------------------------------------------------------------------- - -1.4.1 ENTRY 'function' - -NORMAL MODE, INSERT MODE: -The name of the function is asked for and the following lines (for function -name "f") will be inserted: - - void - f ( ) - { - return ; - } /* ---------- end of function f ---------- */ - -VISUAL MODE: -Main or [static] function: the highlighted lines will go inside the new -function or main. -for-loops: the highlighted lines will be set in braces. - -1.4.2 ENTRY 'open input file' - -The item 'open input file' will create the statements to open and close an -input file (e.g. with the file pointer 'infile'). - -1.4.3 ENTRY 'open output file' - -The item 'open output file' will create the statements to open and close an -output file (e.g. with the file pointer 'outfile'). - ------------------------------------------------------------------------------- -1.5 MENU 'Snippets' *csupport-snippets* ------------------------------------------------------------------------------- - -1.5.1 CODE SNIPPETS - -Code snippets are pieces of code which are kept in separate files in a special -directory (e.g. a few lines of code or a complete template for a Makefile). -File names are used to identify the snippets. The snippet directory will be -created during the installation ( $HOME/.vim/codesnippets-c is the default). -Snippets are managed with the 3 items - - C/C++ -> Snippets -> read code snippet - C/C++ -> Snippets -> write code snippet - C/C++ -> Snippets -> edit code snippet - -from the Snippets submenu. - -CREATING A NEW SNIPPET -When nothing is marked, "write code snippet" will write the whole buffer -to a snippet file, otherwise the marked area will be written to a file. - -INSERT A SNIPPET -Select the appropriate file from the snippet directory ("read code snippet"). -The inserted lines will be indented. - -EDIT A SNIPPET -This is a normal edit. - -INDENTATION / NO INDENTATION -Code snippets are normally indented after insertion. To suppress indentation -add the file extension "ni" or "noindent" to the snippet file name, e.g. - - parameter_handling.c.noindent - - -1.5.2 PICKING UP PROTOTYPES *csupport-proto* - -PICK UP PROTOTYPES. -To make a prototype from a function head mark the function head and choose -'Snippets -> pick up prototype'. From the first six lines of - - void - print_double_array ( double array[], /* array to print */ - int n, /* number of elements to print */ - int columns, /* number of elements per column */ - char* arrayname /* array name */ - ) - { - ... - } /* ---------- end of function print_double_array ---------- */ - -the prototype - - void print_double_array ( double array[], int n, int columns, char* arrayname ); - -is produced and put in an internal buffer. -- Leading and trailing whitespaces are removed. -- All inner whitespaces are squeezed. -- All comments will be discarded. -- Trailing parts of the function body (e.g a '{' ) will also be removed. -- The class name and the scope resolution operator will be removed (C++ method - implementations). -Further prototypes can be picked up and gathered in the buffer. - -For C++ methods namespace names and class names will be removed -(exception: 'std::' ). The first two lines of - - std::string - ROBOT::Robot::get_name ( void ) - { - return type_name; - } /* ----- end of method Robot::get_name ----- */ - -result in the prototype - - std::string get_name ( void ); - -Folding may help picking up prototypes (see |csupport-folding|). - - -INSERT PROTOTYPES -With 'Snippets -> insert prototype(s)' all picked up prototypes currently in -the buffer will be inserted below the cursor. -The prototype buffer will be cleared after insertion. - - -DISCARD PROTOTYPES -The prototype buffer can be cleared with 'Snippets -> clear prototype(s)' . - - -SHOW PROTOTYPES -The list of gathered prototypes can be shown with -'Snippets -> show prototype(s)'. The number and the filename are shown, e.g. - - (1) matrix.c # double** calloc_double_matrix ( int rows, int columns ); - (2) matrix.c # void free_double_matrix ( double **m ); - (3) foomain.c # void foo ( ); - - -REMARK. Generating prototypes this way is nice in a small project. You may -want to use an extractor like cextract or something else. - - ------------------------------------------------------------------------------- -1.6 MENU 'C++' *csupport-c++* ------------------------------------------------------------------------------- - -1.6.1 NORMAL MODE, INSERT MODE. *csupport-c++-normal-mode* - -An empty statement will be inserted and in some cases properly indented. The -item 'try .. catch' will insert the following lines: - - try { - } - catch ( const &ExceptObj ) { // handle exception: - } - catch (...) { // handle exception: unspezified - } - -The cursor will go into the try block. - -1.6.2 VISUAL MODE. *csupport-c++-visual-mode* - -The highlighted area can be surrounded by one of the following statements: - - try - catch - catch - catch(...) - namespace { } - extern "C" { } - -The whole statement will be indented after insertion. - -1.6.3 METHOD IMPLEMENTATION *csupport-c++-method-impl* - -The menu item 'method implement.' asks for a method name. If this item is -called the first time you will see just an scope resolution operator. If you -specify the scope this is used the next time you call this item. If you use -one of the menu items to generate a class (see |csupport-templates|) the -scope will be extracted and used for the next method. - ------------------------------------------------------------------------------- -1.7 MENU 'Run' *csupport-run* ------------------------------------------------------------------------------- - -1.7.1 MINIMAL MAKE FUNCTIONALITY *csupport-run-buffer* - -The 'Run' menu provides a minimal make functionality for single file projects -(e.g. in education) : - -SAVE AND COMPILE -'save and compile' saves the buffer and run the compiler with the given -options (see |csupport-custom-glob-vars|). - -An error window will be opened if the compiler reports errors and/or warnings. -Quickfix commands can now be used to jump to an error location. - -Consider using maps like - map <silent> <F7> <Esc>:cp<CR> - map <silent> <F8> <Esc>:cn<CR> -in your ~/.vimrc file to jump over the error locations and make navigation -easier. The error list and the error locations in your source buffer will be -synchronized. - - -LINK -'link' makes an executable from the current buffer. If the buffer is not -saved, or no object is available or the object is older then the source step -'save and compile' is executed first. - -The behavior of the compiler / linker is determined by the options assigned to -the variables described in |csupport-custom-glob-vars| (4.group). - -RUN -'run' runs the executable with the same name (extension .e) as the current -buffer. If the buffer is not saved, or no executable is available or the -executable is older then the source steps 'save and compile' and 'link' are -executed first. - - -1.7.2 COMMAND LINE ARGUMENTS *csupport-run-cmdline-args* - -The item 'command line arguments' calls an input dialog which asks for command -line arguments. These arguments are forwarded to the program which is run by -the 'run' item. The arguments are kept until you change them. - -The arguments belong to the current buffer (that is, each buffer can have its -own arguments). -If the buffer gets a new name with "save as" the arguments will now belong to -the buffer with the new name. - -The command line arguments can be followed by pipes and redirections: - - 11 22 | sort -rn | head -10 > out - -Caveat: If you look for the current arguments by calling this menu item again -be sure to leave it with a CR (not Esc !). Due to a limitation of an internal -Vim function CR will keep the arguments, Esc with discard them. - - -1.7.3 RUN make *csupport-run-make* - -The item 'make' runs the external make program. - - -1.7.4 COMMAND LINE ARGUMENTS FOR make *csupport-run-make-args* - -The item 'command line arguments for make' calls an input dialog which asks -for command line arguments for make. These arguments are forwarded to make -when called by the item 'make'. - - -1.7.5 SPLINT *csupport-run-splint* - -Splint is a tool for statically checking C programs (see http://www.splint.org). -Of course it has to be installed in order to be used within Vim. The menu -item 'Run->splint' will run the current buffer through splint. - -An error window will be opened if splint has something to complain about. -Quickfix commands can now be used to jump to an error location. For easier -navigation see tip under 'SAVE AND COMPILE' |csupport-run-buffer|. - -Splint has many options. Presumably the best way is to keep the options in an -option file (~/.splintrc). For a quick try you can use the menu item -'Run->cmd. line arg. for splint' to specify some buffer related options. - -When vim is started this plugin will check whether splint is executable. If -not, the menu item will *NOT' be visible. - - -1.7.6 CODECHECK *csupport-run-codecheck* - -CodeCheck (TM) is a commercial code analyzing tool produced by Abraxas -Software, Inc. (www.abraxas-software.com). -Of course it has to be installed in order to be used within Vim. The menu -item 'Run->CodeCheck' will run the current buffer through CodeCheck. - -An error window will be opened if CodeCheck has something to complain about. -Quickfix commands can now be used to jump to an error location. For easier -navigation see tip under 'SAVE AND COMPILE' |csupport-run-buffer|. - -CodeCheck has many options. For a quick try you can use the menu item -'Run->cmd. line arg. for CodeCheck' to specify some buffer related options. - -CodeCheck will be run with default options (see |csupport-custom-glob-vars|). -The default options can be overwritten by placing a global variable in -~/.vimrc , e.g. - - let g:C_CodeCheckOptions = "-K13 -Rmeyers" - -The default name for the executable is 'check'. There are other names in use -on different platforms. The name can be changed by placing a global variable -in ~/.vimrc , e.g. - - let g:C_CodeCheckExeName = "chknt.exe" - -When vim is started this plugin will check whether CodeCheck is executable. If -not, the menu item will *NOT' be visible. - - -1.7.7 INDENT *csupport-run-indent* - -The formatter 'indent' can be run over the whole buffer or a marked region. -Before formatting the whole buffer this buffer will be saved to disk and you -will be asked for a confirmation. - -Indent has many options. These are kept in the file '.indent.pro' in your home -directory. See the indent manual for more information. - - -1.7.8 HARDCOPY *csupport-run-hardcopy* - -Generates a PostScript file from the whole buffer or from a marked region. -On a Windows system a printer dialog is displayed. - -The print header contains date and time for the current locale. The definition -used is - - let s:C_Printheader = "%<%f%h%m%< %=%{strftime('%x %X')} Page %N" - -The current locale can be overwritten by changing the language, e.g. - - :language C - -or by setting a global variable in the file ~/.vimrc , e.g. : - - let g:C_Printheader = "%<%f%h%m%< %=%{strftime('%x %X')} SEITE %N" - -See :h printheader and :h strftime() for more details. - - -1.7.9 REBUILD TEMPLATES *csupport-run-templates* - -After editing one or more template files a click on this item rereads the -template files and rebuilds all templates. - - -1.7.10 XTERM SIZE *csupport-run-xterm* - -The size of the xterm used for running a program (below) can be set by this -menu item. The default is 80 columns with 24 lines. -This feature is not available under Windows. - - -1.7.11 OUTPUT REDIRECTION *csupport-run-output* - -Running a program can be done in one of three ways: -(1) Run the program from the gVim command line. - This is for interactive programs with little input and output. -(2) Run the program and direct the output into a window with name "C-Output". - The buffer and its content will disappear when the window is closed and - reused otherwise. - This is for non-interactive programs with little to very much output. - You have unlimited line length, regex search, navigation, ... - The tabstop value will be set to 8 for "C-Output". -(3) Run the program in an xterm. - -The output method can be chosen from the menu item 'Run->output: ...'. -This menu has three states: - - output: VIM->buffer->xterm - output: BUFFER->xterm->vim - output: XTERM->vim->buffer - -The first (uppercase) item shows the current method. The default is 'vim'. -This can be changed by setting the variable g:C_OutputGvim to another value. -Possible values are 'vim', 'buffer' and 'xterm' . - -The xterm defaults can be set in ~/.vimrc by the variable g:C_XtermDefaults . -The default is "-fa courier -fs 12 -geometry 80x24" : - font name : -fa courier - font size : -fs 12 - terminal size : -geometry 80x24 -See 'xterm -help' for more options. Xterms are not available under Windows. - ------------------------------------------------------------------------------- -1.8 'help' *csupport-help* ------------------------------------------------------------------------------- - -The root menu item 'help' shows this plugin help in a help window. The help -tags must have been generated with - :helptags ~/.vim/doc - -============================================================================== -2. USAGE WITHOUT GUI (Vim) *csupport-usage-vim* -============================================================================== - -The frequently used constructs can be inserted with key mappings. The -mappings are also described in the document c-hot-keys.pdf (reference card, -part of this package). -Hint: Typing speed matters. The combination of a leader ('\') and the -following character(s) will only be recognized for a short time. -The insert mode mappings start with ` (backtick). - -Legend: (i) insert mode, (n) normal mode, (v) visual mode - - -- Load / Unload C/C++ Support ---------------------------------------- - - \lcs Load C/C++ Support Menus (n, GUI only)} - \ucs Unload C/C++ Support Menus (n, GUI only)} - - -- Comments ----------------------------------------------------------- - - \cl end-of-line comment (n,v,i) - \cj adjust end-of-line comment(s) (n,v,i) - \cs set end-of-line comment column (n) - \c* code -> comment /* */ (n,v) - \c/ code -> comment // (n,v) - \co comment -> code (n,v) - \cfr frame comment (n,i) - \cfu function comment (n,i) - \cme method description (n,i) - \cca class description (n,i) - \cd date (n,i) - \ct date \& time (n,i) - - -- Statements --------------------------------------------------------- - - \sd do { } while (n,v,i) - \sf for (n,i) - \sfo for { } (n,v,i) - \si if (n,i) - \sif if { } (n,v,i) - \sie if else (n,v,i) - \sife if { } else { } (n,v,i) - \sw while (n,i) - \swh while { } (n,v,i) - \ss switch (n,v,i) - \sc case (n,i) - \s{ { } (n,v,i) - - -- Preprocessor ------------------------------------------------------- - - \p< #include <> (n,i) - \p" #include "" (n,i) - \pd #define (n,i) - \pu #undef (n,i) - \pie #if #else #endif (n,v,i) - \pid #ifdef #else #endif (n,v,i) - \pin #ifndef #else #endif (n,v,i) - \pind #ifndef #def #endif (n,v,i) - \pi0 #if 0 #endif (n,v,i) - \pr0 remove #if 0 #endif (n) - -- Idioms ------------------------------------------------------------- - - \if function (n,v,i) - \isf static function (n,v,i) - \im main() (n,v,i) - \i0 for( x=0; x<n; x+=1 ) (n,v,i) - \in for( x=n-1; x>=0; x-=1 ) (n,v,i) - \ie enum + typedef (n,i) - \is struct + typedef (n,i) - \iu union + typedef (n,i) - \ip printf() (n,i) - \isc scanf() (n,i) - \ica p=calloc() (n,i) - \ima p=malloc() (n,i) - \isi sizeof() (n,v,i) - \ias assert() (n,v,i) - \ii open input file (n,i) - \io open output file (n,i) - - -- Snippets ----------------------------------------------------------- - - \nr read code snippet (n) - \nw write code snippet (n,v) - \ne edit code snippet (n) - \np pick up prototype (n,v) - \ni insert prototype(s) (n) - \nc clear prototype(s) (n) - \ns show prototype(s) (n) - - -- C++ ---------------------------------------------------------------- - - \+m method implementation (n,i) - \+c class (n,i) - \+cn class (using new) (n,i) - \+tm template method implementation (n,i) - \+tc template class (n,i) - \+tcn template class (using new) (n,i) - \+tf template function (n,i) - \+ec error class (n,i) - \+tr try ... catch (n,v,i) - \+ca catch (n,v,i) - \+c. catch(...) (n,v,i) - - -- Run ---------------------------------------------------------------- - - \rc save and compile (n) - \rl link (n) - \rr run (n) - \ra set comand line arguments (n) - \rm run make (n) - \rg cmd. line arg. for make (n) - \rp run splint (n) - \ri cmd. line arg. for splint (n) - \rk run CodeCheck (TM) (n) - \re cmd. line arg. for CodeCheck (TM) (n) - \rd run indent (n,v) - \rh hardcopy buffer (n,v) - \rs show plugin settings (n) - \rx set xterm size (n, only Linux/UNIX & GUI) - \ro change output destination (n) - \rt rebuild templates (n) - -The hotkeys are defined in the file type plugin c.vim (part of this csupport -plugin package) and described in the document c-hot-keys.pdf - -============================================================================== -3. HOTKEYS *csupport-hotkeys* -============================================================================== - -The following hotkeys are defined in normal, visual and insert mode: - - F9 compile and link - Alt-F9 write buffer and compile - Ctrl-F9 run executable - Shift-F9 set command line arguments - - Shift-F2 switch between source files and header files - -Shift-F2 can be used to switch between source files and header files if the -plugin a.vim is present. To suppress the creation of a new header file when -switching from a source file the file ~/.vimrc should contain a line - - let g:alternateNoDefaultAlternate = 1 - -A header file will only be opened if it already exists. - -The hotkeys are defined in the file type plugin c.vim . - -All hotkeys from the non-GUI mode also work for gVim (see |csupport-usage-vim|). - -============================================================================== -4. CUSTOMIZATION *csupport-custom* -============================================================================== - ------------------------------------------------------------------------------- -4.1 GLOBAL VARIABLES *csupport-custom-glob-vars* ------------------------------------------------------------------------------- - -Several global variables are checked by the script to customize it: - - ---------------------------------------------------------------------------- - GLOBAL VARIABLE DEFAULT VALUE TAG (see below) - ---------------------------------------------------------------------------- - g:C_GlobalTemplateFile plugin_dir.'c-support/templates/Templates' - g:C_LocalTemplateFile $HOME.'/.vim/c-support/templates/Templates' - g:C_TemplateOverwrittenMsg 'yes' - - g:C_CodeSnippets plugin_dir."/c-support/codesnippets/" - g:C_Dictionary_File "" - g:C_LoadMenus "yes" - g:C_MenuHeader "yes" - g:C_OutputGvim "vim" - g:C_XtermDefaults "-fa courier -fs 12 -geometry 80x24" - g:C_Printheader "%<%f%h%m%< %=%{strftime('%x %X')} Page %N" - - Linux/UNIX: - g:C_ObjExtension ".o" - g:C_ExeExtension "" - g:C_CCompiler "gcc" - g:C_CplusCompiler "g++" - Windows: - g:C_ObjExtension ".obj" - g:C_ExeExtension ".exe" - g:C_CCompiler "gcc.exe" - g:C_CplusCompiler "g++.exe" - g:C_CFlags "-Wall -g -O0 -c" - g:C_LFlags "-Wall -g -O0" - g:C_Libs "-lm" - g:C_LineEndCommColDefault 49 - g:C_CExtension "c" - g:C_TypeOfH "cpp" - - g:C_CodeCheckExeName "check" - g:C_CodeCheckOptions "-K13" - -The variable plugin_dir will automatically be set to one of the following values: - $HOME.'/.vim/' for Linux/Unix - $VIM.'/vimfiles/' for Windows - - ---------------------------------------------------------------------------- - -1. group: g:C_GlobalTemplateFile : Sets the master template file (see|csupport-templates|) - g:C_LocalTemplateFile : Sets the local template file (see|csupport-templates|) - g:C_TemplateOverwrittenMsg : message if template is overwritten - -2. group: g:C_CodeSnippets : The name of the code snippet directory - (see |csupport-snippets|). - g:C_Dictionary_File : The name(s) of the dictionary file(s) used for - word completion (see also |csupport-dictionary|) - g:C_Root : the name of the root menu of this plugin - g:C_LoadMenus : Load menus and mappings ("yes", "no") at startup. - g:C_MenuHeader : Switch the submenu header on/off. - g:C_OutputGvim : when program is running output goes to the vim - command line ("vim"), to a buffer ("buffer") or to - an xterm ("xterm"). - g:C_XtermDefaults : the xterm defaults - g:C_Printheader : hardcopy: definition of the page header - -3. group: g:C_CExtension : Extension of C files. Everything else is C++. - g:C_TypeOfH : filetype of header files with extension 'h' (c,cpp) - (see |csupport-comm-style|) - g:C_CCompiler : The name of the C compiler. - g:C_CplusCompiler : The name of the C++ compiler. - g:C_CFlags : Compiler flags used for a compilation. - g:C_LFlags : Compiler flags used for linkage. - g:C_Libs : Libraries to link with. - g:C_ObjExtension : C/C+ file extension for objects - (leading point required if not empty) - g:C_ExeExtension : C/C+ file extension for executables - (leading point required if not empty) - g:C_LineEndCommColDefault : Default starting column for end-of-line comments. - g:C_CodeCheckExeName : The name of the CodeCheck (TM) executable - (the default is 'check') - g:C_CodeCheckOptions : Default options for CodeCheck (TM) - (see |csupport-run-codecheck|). - -To override the default add appropriate assignments to ~/.vimrc . - ------------------------------------------------------------------------------- -4.2 THE ROOT MENU *csupport-custom-root-menu* ------------------------------------------------------------------------------- - -The variable g:C_Root, if set (in ~/.vimrc or in ~/.gvimrc), gives the name of -the single Vim root menu item in which the C/C++ submenus will be put. The -default is - '&C\/C\+\+.' -Note the terminating dot. A single root menu can be used if the screen is -limited or several plugins are used in parallel. - -If set to "", this single root menu item will not appear. Now all submenus -are put into the Vim root menu. This is nice for beginners in a lab -installation or for C-only programmers. - ------------------------------------------------------------------------------- -4.3 SYSTEM-WIDE INSTALLATION *csupport-system-wide* ------------------------------------------------------------------------------- - -A system-wide installation (one installation for all users) is done as -follows. - -As *** SUPERUSER *** : - -(1) Find the Vim installation directory. -The Vim ex command ':echo $VIM' gives '/usr/local/share/vim' or something like -that. Beyond this directory you will find the Vim installation, e.g. in -'/usr/local/share/vim/vim71' if Vim version 7.1 has been installed. - -(2) Create a new subdirectory 'vimfiles', e.g. '/usr/local/share/vim/vimfiles'. - -(3) Install C/C++ Support -Copy the archive cvim.zip to this new directory and unpack it: - unzip cvim.zip - -(4) Generate the help tags: - :helptags $VIM/vimfiles/doc - - -As *** USER *** : - -Create your private snippet directory: - - mkdir --parents ~/.vim/c-support/codesnippets - -You may want to copy the snippets comming with this plugin (in -$VIM/vimfiles/c-support/codesnippets) into the new directory or to set a -link to the global directory. - -Create your private template directory: - - mkdir --parents ~/.vim/c-support/template - -Create a private template file 'Templates' in this directory to overwrite some -macros, e.g. - - *|AUTHOR|* = your name - *|AUTHORREF|* = ... - *|EMAIL|* = ... - *|COMPANY|* = ... - *|COPYRIGHT|* = ... - -You can also have local templates which overwrite the global ones. To suppress -the messages in this case set a global variable in '~/.vimrc' : - - let g:C_TemplateOverwrittenMsg= 'no' - -The default is 'yes'. - -============================================================================== -5. TEMPLATE FILES AND TAGS *csupport-templates* -============================================================================== - ------------------------------------------------------------------------------- -5.1 TEMPLATE FILES *csupport-templates-files* ------------------------------------------------------------------------------- - -Nearly all menu entries insert code snippets or comments. All these stuff is -taken from template files and can be changed by the user to meet his -requirements. - -The master template file is '$HOME/.vim/c-support/templates/Templates' for a -user installation and '$VIM/vimfiles/c-support/templates/Templates' for a -system-wide installation (see|csupport-system-wide|). - -The master template file starts with a macro section followed by templates for -single menu items or better by including other template files grouping the -templates according to the menu structure of this plugin. The master file -could look like this: - - $ - $ ============================================================= - $ ========== USER MACROS ====================================== - $ ============================================================= - $ - *|AUTHOR|* = Dr. Fritz Mehner - *|AUTHORREF|* = mn - *|EMAIL|* = mehner@fh-swf.de - *|COMPANY|* = FH Südwestfalen, Iserlohn - *|COPYRIGHT|* = Copyright (c)*|YEAR|, |AUTHOR|* - $ - $ ============================================================= - $ ========== FILE INCLUDES ==================================== - $ ============================================================= - $ - *|includefile|* = c.comments.template - *|includefile|* = c.cpp.template - *|includefile|* = c.idioms.template - *|includefile|* = c.preprocessor.template - *|includefile|* = c.statements.template - -Lines starting with a dollar sign are comments. The section starting -with *|AUTHOR|* assigns values to predefined tags -(see|csupport-templates-macros|) to personalize some templates. Other -predefined tags with given default values can be used (e.g. *|YEAR|* ). - -User defined tags are possible. They have the following syntax: - - *|macroname|* = replacement - -A macroname starts with a letter (uppercase or lowercase) followed by zero or -more letters, digits or underscores. - ------------------------------------------------------------------------------- -5.2 MACROS *csupport-templates-macros* ------------------------------------------------------------------------------- - -The following macro names are predefined. The first group is used to -personalize templates. - - ---------------------------------------------------------------------------- - PREDEFINED MACROS DEFAULT VALUE - ---------------------------------------------------------------------------- -*|AUTHOR|* "" -*|AUTHORREF|* "" -*|EMAIL|* "" -*|COMPANY|* "" -*|PROJECT|* "" -*|COPYRIGHTHOLDER|* "" -*|includefile|* "" - -*|BASENAME|* filename without path and suffix -*|DATE|* the preferred date representation for the current locale - without the time -*|FILENAME|* filename without path -*|PATH|* path without filename -*|SUFFIX|* filename suffix -*|TIME|* the preferred time representation for the current locale - without the date and the time zone or name or abbreviation -*|YEAR|* the year as a decimal number including the century - -*|includefile|* can be used to include an additional template file. A file -will be included only once. Commenting and uncommenting include macros is a -simple way to switch between several sets of templates (see also -|csupport-run-templates|). Overwriting existing macros and templates is -possible. - - ---------------------------------------------------------------------------- - PREDEFINED TAGS - ---------------------------------------------------------------------------- - <CURSOR> The cursor position after insertion of a template - <SPLIT> The split point when inserting in visual mode - (see|csupport-templates-definition|) - -A dependent template file can start with its own macro section. There is no -need to have all user defined macros in the master file. -When the first template definition is found (see below) macro definitions are -no longer recognized. - - ---------------------------------------------------------------------------- - USER DEFINED FORMATS FOR DATE AND TIME *csupport-templates-date* - ---------------------------------------------------------------------------- -The format for *|DATE|* ,*|TIME|* , and*|YEAR|* can be set by the user. The -defaults are - *|DATE|* '%x' - *|TIME|* '%X' - *|YEAR|* '%Y' -See the manual page of the C function strftime() for the format. The accepted -format depends on your system, thus this is not portable! The maximum length -of the result is 80 characters. - -User defined formats can be set using the following global variables in -~/.vimrc , e.g. - let g:C_FormatDate = '%D' - let g:C_FormatTime = '%H:%M' - let g:C_FormatYear = 'year %Y' - ------------------------------------------------------------------------------- -5.3 TEMPLATES *csupport-templates-names* ------------------------------------------------------------------------------- - -5.3.1 Template names - -The template behind a menu entry is identified by a given name. The first part -of the name identifies the menu, the second part identifies the item. The -modes are also hard coded (see|csupport-templates-definition|for the use of -<SPLIT>). - - TEMPLATE NAME MODES - -------------------------------------------------------------------------- - comment.end-of-line-comment normal visual - comment.frame normal - comment.function normal - comment.method normal - comment.class normal - comment.file-description normal - comment.keyword-bug normal - comment.keyword-compiler normal - comment.keyword-todo normal - comment.keyword-tricky normal - comment.keyword-warning normal - comment.keyword-workaround normal - comment.keyword-keyword normal - comment.file-section-cpp-header-includes normal - comment.file-section-cpp-macros normal - comment.file-section-cpp-typedefs normal - comment.file-section-cpp-data-types normal - comment.file-section-cpp-class-defs normal - comment.file-section-cpp-local-variables normal - comment.file-section-cpp-prototypes normal - comment.file-section-cpp-function-defs-exported normal - comment.file-section-cpp-function-defs-local normal - comment.file-section-cpp-class-implementations-exported normal - comment.file-section-cpp-class-implementations-local normal - comment.file-section-hpp-header-includes normal - comment.file-section-hpp-macros normal - comment.file-section-hpp-exported-typedefs normal - comment.file-section-hpp-exported-data-types normal - comment.file-section-hpp-exported-class-defs normal - comment.file-section-hpp-exported-variables normal - comment.file-section-hpp-exported-function-declarations normal - - cpp.method-implementation normal - cpp.class normal - cpp.class-using-new normal - cpp.error-class normal - cpp.template-method-implementation normal - cpp.template-class normal - cpp.template-class-using-new normal - cpp.template-function normal - cpp.operator-in normal - cpp.operator-out normal - cpp.try-catch normal visual - cpp.catch normal visual - cpp.catch-points normal visual - cpp.extern normal visual - cpp.open-input-file normal - cpp.open-output-file normal - cpp.namespace normal visual - - idioms.function normal visual - idioms.function-static normal visual - idioms.main normal visual - idioms.enum normal visual - idioms.struct normal visual - idioms.union normal visual - idioms.calloc normal - idioms.malloc normal - idioms.open-input-file normal - idioms.open-output-file normal - idioms.fprintf normal - idioms.fscanf normal - - preprocessor.define normal - preprocessor.undefine normal - preprocessor.if-else-endif normal visual - preprocessor.ifdef-else-endif normal visual - preprocessor.ifndef-else-endif normal visual - preprocessor.ifndef-def-endif normal visual - - statements.do-while normal visual - statements.for normal - statements.for-block normal visual - statements.if normal - statements.if-block normal visual - statements.if-else normal visual - statements.if-block-else normal visual - statements.while normal - statements.while-block normal visual - statements.switch normal visual - statements.case normal - statements.block normal visual - - - -5.3.2 Template definition *csupport-templates-definition* - -A template definition starts with a template head line with the following -syntax: - - == templatename == [ position == ] - -The templatename is one of the above template identifiers. The position -attribute is optional. Possible attribute values are: - - above insert the template before the current line - append append the template to the current line - below insert the template below the current line - insert insert the template at the cursor position - start insert the template before the first line of the buffer - -An example: - - == comment.function == - /* - * === FUNCTION ======================================================= - * Name: <CURSOR> - * Description: - * ====================================================================== - */ - -The definition of a template ends at the next head line or at the end of the -file. - -Templates for the visual mode can use <SPLIT>. The text before <SPLIT> will -than be inserted above the marked area, the text after <SPLIT> will be -inserted behind the marked area. An example: - - == statements.if-block-else == - if ( <CURSOR> ) { - <SPLIT>} else { - } - -If applied to the marked block - - xxxxxxxxxxx - xxxxxxxxxxx - -this template yields - - if ( ) { - xxxxxxxxxxx - xxxxxxxxxxx - } else { - } - -The templates with a visual mode are shown in the table under -|csupport-templates-names|. - -5.3.3 Template expansion *csupport-templates-expansion* - -There are additional ways to control the expansion of a template. - -USER INPUT ----------- -If the usage of a yet undefined user macro starts with a question mark the -user will be asked for the replacement first, e.g. with the following template - - == idioms.function == - void<CURSOR> - *|?FUNCTION_NAME|* ( ) - { - <SPLIT> return ; - } /* ----- end of function*|FUNCTION_NAME|* ----- */ - -The can specify the function name which then will be applied twice. If the -macro was already in use the old value will be suggested as default. - -MACRO MANIPULATION ------------------- - -A macro expansion can be controlled by the following attributes - - :l change macro text to lowercase - :u change macro text to uppercase - :c capitalize macro text - :L legalize name - -The include guard template is an example for the use of ':L' : - - == preprocessor.ifndef-def-endif == - #ifndef *|?BASENAME:L|_INC* - #define *|BASENAME|_INC* - <CURSOR><SPLIT> - #endif // ----- #ifndef*|BASENAME|_INC* ----- - -The base name of the file shall be used as part of the include guard name. -The predefined macro*|BASENAME|* is used to ask for this part because this -macro has already a defined value. That value can accepted or replaced by the -user. For the filename 'test test++test.h' the legalized base name -'TEST_TEST_TEST' will be suggested. - -Legalization means: - - replace all whitespaces by underscores - - replace all non-word characters by underscores - - replace '+' and '-' by underscore - - -============================================================================== -6. C/C++ DICTIONARY *csupport-dictionary* -============================================================================== - -The files - - c-c++-keywords.list - k+r.list - stl_index.list - -are a part of this plugin and can be used (together with your own lists) as -dictionaries for automatic word completion. This feature is enabled by -default. The default word lists are - - plugin_dir/c-support/wordlists/c-c++-keywords.list - plugin_dir/c-support/wordlists/k+r.list - plugin_dir/c-support/wordlists/stl_index.list - -The variable plugin_dir will automatically be set by the plugin to one of the -following values: - $HOME.'/.vim/' for Linux/Unix - $VIM.'/vimfiles/' for Windows -If you want to use an additional list MyC.list put the following lines into - ~/.vimrc : - - let g:C_Dictionary_File = PLUGIN_DIR.'/c-support/wordlists/c-c++-keywords.list,'. - \ PLUGIN_DIR.'/c-support/wordlists/k+r.list,'. - \ PLUGIN_DIR.'/c-support/wordlists/stl_index.list,'. - \ PLUGIN_DIR.'/c-support/wordlists/MyC.list' - -When in file ~/.vimrc the name PLUGIN_DIR has to be replaced by $HOME or -$VIM (see above). Whitespaces in the pathnames have to be escaped with a -backslash. -The right side is a comma separated list of files. Note the point at the end -of the first line (string concatenation) and the backslash in front of the -second line (continuation line). -You can use Vim's dictionary feature CTRL-X, CTRL-K (and CTRL-P, CTRL-N). - - -============================================================================== -7. EXTEND taglist.vim FOR make AND qmake *csupport-taglist* -============================================================================== - -The use of the Vim plugin taglist.vim (Author: Yegappan Lakshmanan) is highly -recommended. It uses the program ctags which generates tag files for 3 dozen -languages (Exuberant Ctags, Darren Hiebert, http://ctags.sourceforge.net). -With the following extensions the list of targets in a makefile can be shown -in the taglist window. - -1) Append the file customization.ctags to the file $HOME/.ctags . - -2) Add the following lines (from customization.vimrc) to $HOME/.vimrc : - - " - "------------------------------------------------------------------- - " taglist.vim : toggle the taglist window - " taglist.vim : define the title texts for make - " taglist.vim : define the title texts for qmake - "------------------------------------------------------------------- - noremap <silent> <F11> <Esc><Esc>:Tlist<CR> - inoremap <silent> <F11> <Esc><Esc>:Tlist<CR> - - let tlist_make_settings = 'make;m:makros;t:targets' - let tlist_qmake_settings = 'qmake;t:SystemVariables' - - if has("autocmd") - " ---------- qmake : set file type for *.pro ---------- - autocmd BufNewFile,BufRead *.pro set filetype=qmake - endif " has("autocmd") - -3) restart vim/gvim - -The two maps will toggle the taglist window (hotkey F11) in all editing modes. -The two assignments define the headings for the (q)make sections in the -taglist window. The autocmd set the file type 'qmake' for the filename -extension 'pro' (ctags needs this). - -============================================================================== -8. SYNTAX BASED FOLDING *csupport-folding* -============================================================================== - -Syntax based folding can be enabled by adding the following lines to the file -'~/.vim/syntax/c.vim': - - syn region cBlock start="{" end="}" transparent fold - set foldmethod=syntax - " initially all folds open: - set foldlevel=999 - -You may have to create this file first. See |folding| for more information. - -============================================================================== -9. WINDOWS PARTICULARITIES *csupport-windows* -============================================================================== - -The plugin should go into the directory structure below the local -installation directory $HOME/.vim/ for LINUX/UNIX and $VIM/vimfiles/ for -Windows. -The values of the two variables can be found from inside Vim: - :echo $VIM -or - :echo $HOME - -Configuration files: - - LINUX/UNIX : $HOME/.vimrc and $HOME/.gvimrc - Windows : $VIM/_vimrc and $VIM/_gvimrc - -Compiler settings: - -It could be necessary to add further settings for your compiler. To compile -C++-programs using a Dev-C++ installation (http://www.bloodshed.net) the -following item in $VIM/_vimrc is needed (depends on the Dev-C++ install -directory): - - let g:C_CFlags = '-Wall -g -o0 -c -I c:\programs\dev-c++\include\g++' - -============================================================================== -10. TROUBLESHOOTING *csupport-troubleshooting* -============================================================================== - -* I do not see any new main menu item. - - Was the archive extracted into the right directory? - -* How can I see what was loaded? - - Use ':scriptnames' from the Vim command line. - -* No main menu item. - - Loading of plugin files must be enabled. If not use - :filetype plugin on - This is the minimal content of the file '$HOME/.vimrc'. Create one if there - is none, or better use customization.vimrc. - -* Most key mappings do not work. - - They are defined in a filetype plugin in '$HOME/.vim/ftplugin/'. Use ':filetype' - to check if filetype plugins are enabled. If not, add the line - filetype plugin on - to the file '~/.vimrc'. - -* Some hotkeys do not work. - - The hotkeys might be in use by your graphical desktop environment. - Under KDE Ctrl-F9 is the hotkey which let you switch to the 9. desktop. - The key settings can usually be redefined. - -* Splint and/or CodeCheck menu item not visible. - - The program is not installed or not found (path not set) or not executable. - -============================================================================== -11. RELEASE NOTES *csupport-release-notes* -============================================================================== -See file c-support/doc/ChangeLog . - -============================================================================== -vim:tw=78:noet:ts=2:ft=help:norl: diff --git a/.vim/doc/haskellmode.txt b/.vim/doc/haskellmode.txt deleted file mode 100644 index 905349c..0000000 --- a/.vim/doc/haskellmode.txt +++ /dev/null @@ -1,456 +0,0 @@ -*haskellmode.txt* Haskell Mode Plugins 23/04/2009 - -Authors: - Claus Reinke <claus.reinke@talk21.com> ~ - -Homepage: - http://projects.haskell.org/haskellmode-vim - -CONTENTS *haskellmode* - - 1. Overview |haskellmode-overview| - 1.1 Runtime Requirements |haskellmode-requirements| - 1.2 Quick Reference |haskellmode-quickref| - 2. Settings |haskellmode-settings| - 2.1 GHC and web browser |haskellmode-settings-main| - 2.2 Fine tuning - more configuration options |haskellmode-settings-fine| - 3. GHC Compiler Integration |haskellmode-compiler| - 4. Haddock Integration |haskellmode-haddock| - 4.1 Indexing |haskellmode-indexing| - 4.2 Lookup |haskellmode-lookup| - 4.3 Editing |haskellmode-editing| - 5. Hpaste Integration |haskellmode-hpaste| - 6. Additional Resources |haskellmode-resources| - -============================================================================== - *haskellmode-overview* -1. Overview ~ - - The Haskell mode plugins provide advanced support for Haskell development - using GHC/GHCi on Windows and Unix-like systems. The functionality is - based on Haddock-generated library indices, on GHCi's interactive - commands, or on simply activating (some of) Vim's built-in program editing - support in Haskell-relevant fashion. These plugins live side-by-side with - the pre-defined |syntax-highlighting| support for |haskell| sources, and - any other Haskell-related plugins you might want to install (see - |haskellmode-resources|). - - The Haskell mode plugins consist of three filetype plugins (haskell.vim, - haskell_doc.vim, haskell_hpaste.vim), which by Vim's |filetype| detection - mechanism will be auto-loaded whenever files with the extension '.hs' are - opened, and one compiler plugin (ghc.vim) which you will need to load from - your vimrc file (see |haskellmode-settings|). - - - *haskellmode-requirements* -1.1 Runtime Requirements ~ - - The plugins require a recent installation of GHC/GHCi. The functionality - derived from Haddock-generated library indices also requires a local - installation of the Haddock documentation for GHC's libraries (if there is - no documentation package for your system, you can download a tar-ball from - haskell.org), as well as an HTML browser (see |haddock_browser|). If you - want to use the experimental hpaste interface, you will also need Wget. - - * GHC/GHCi ~ - Provides core functionality. http://www.haskell.org/ghc - - * HTML library documentation files and indices generated by Haddock ~ - These usually come with your GHC installation, possibly as a separate - package. If you cannot get them this way, you can download a tar-ball - matching your GHC version from http://www.haskell.org/ghc/docs/ - - * HTML browser with basic CSS support ~ - For browsing Haddock docs. - - * Wget ~ - For interfacing with http://hpaste.org. - - Wget is widely available for modern Unix-like operating systems. Several - ports also exist for Windows, including: - - - Official GNU Wget (natively compiled for Win32) - http://www.gnu.org/software/wget/#downloading - - - UnxUtils Wget (natively compiled for Win32, bundled with other ported - Unix utilities) - http://sourceforge.net/projects/unxutils/ - - - Cygwin Wget (emulated POSIX in Win32, must be run under Cygwin) - http://cygwin.com/packages/wget/ - - *haskellmode-quickref* -1.2 Quick Reference ~ - -|:make| load into GHCi, show errors (|quickfix| |:copen|) -|_ct| create |tags| file -|_si| show info for id under cursor -|_t| show type for id under cursor -|_T| insert type declaration for id under cursor -|balloon| show type for id under mouse pointer -|_?| browse Haddock entry for id under cursor -|_?1| search Hoogle for id under cursor -|_?2| search Hayoo! for id under cursor -|:IDoc| {identifier} browse Haddock entry for unqualified {identifier} -|:MDoc| {module} browse Haddock entry for {module} -|:FlagReference| {s} browse Users Guide Flag Reference for section {s} -|_.| qualify unqualified id under cursor -|_i| add 'import <module>(<identifier>)' for id under cursor -|_im| add 'import <module>' for id under cursor -|_iq| add 'import qualified <module>(<identifier>)' for id under cursor -|_iqm| add 'import qualified <module>' for id under cursor -|_ie| make imports explit for import statement under cursor -|_opt| add OPTIONS_GHC pragma -|_lang| add LANGUAGE pragma -|i_CTRL-X_CTRL-O| insert-mode completion based on imported ids (|haskellmode-XO|) -|i_CTRL-X_CTRL-U| insert-mode completion based on documented ids (|haskellmode-XU|) -|i_CTRL-N| insert-mode completion based on imported sources -|:GHCi|{command/expr} run GHCi command/expr in current module - -|:GHCStaticOptions| edit static GHC options for this buffer -|:DocSettings| show current Haddock-files-related plugin settings -|:DocIndex| populate Haddock index -|:ExportDocIndex| cache current Haddock index to a file -|:HpasteIndex| Read index of most recent entries from hpaste.org -|:HpastePostNew| Submit current buffer as a new hpaste - - -============================================================================== - *haskellmode-settings* -2. Settings ~ - - The plugins try to find their dependencies in standard locations, so if - you're lucky, you will only need to set |compiler| to ghc, and configure - the location of your favourite web browser. You will also want to make - sure that |filetype| detection and |syntax| highlighting are on. Given the - variety of things to guess, however, some dependencies might not be found - correctly, or the defaults might not be to your liking, in which case you - can do some more fine tuning. All of this configuration should happen in - your |vimrc|. -> - " enable syntax highlighting - syntax on - - " enable filetype detection and plugin loading - filetype plugin on -< - - *haskellmode-settings-main* -2.1 GHC and web browser ~ - - *compiler-ghc* *ghc-compiler* - To use the features provided by the GHC |compiler| plugin, use the - following |autocommand| in your vimrc: -> - au BufEnter *.hs compiler ghc -< - *g:ghc* - If the compiler plugin can't locate your GHC binary, or if you have - several versions of GHC installed and have a preference as to which binary - is used, set |g:ghc|: -> - :let g:ghc="/usr/bin/ghc-6.6.1" -< - *g:haddock_browser* - The preferred HTML browser for viewing Haddock documentation can be set as - follows: -> - :let g:haddock_browser="/usr/bin/firefox" -< - - *haskellmode-settings-fine* -2.2 Fine tuning - more configuration options ~ - - Most of the fine tuning is likely to happen for the haskellmode_doc.vim - plugin, so you can check the current settings for this plugin via the - command |:DocSettings|. If all the settings reported there are to your - liking, you probably won't need to do any fine tuning. - - *g:haddock_browser_callformat* - By default, the web browser|g:haddock_browser| will be started - asynchronously (in the background) on Windows or when vim is running in a - GUI, and synchronously (in the foreground) otherwise. These settings seem - to work fine if you are using a console mode browser (eg, when editing in - a remote session), or if you are starting a GUI browser that will launch - itself in the background. But if these settings do not work for you, you - can change the default browser launching behavior. - - This is controlled by |g:haddock_browser_callformat|. It specifies a - format string which uses two '%s' parameters, the first representing the - path of the browser to launch, and the second is the documentation URL - (minus the protocol specifier, i.e. file://) passed to it by the Haddock - plugin. For instance, to launch a GUI browser on Unix-like systems and - force it to the background (see also |shellredir|): -> - :let g:haddock_browser_callformat = '%s file://%s '.printf(&shellredir,'/dev/null').' &' -< - *g:haddock_docdir* - Your system's installed Haddock documentation for GHC and its libraries - should be automatically detected. If the plugin can't locate them, you - must point |g:haddock_docdir| to the path containing the master index.html - file for the subdirectories 'libraries', 'Cabal', 'users_guide', etc.: -> - :let g:haddock_docdir="/usr/local/share/doc/ghc/html/" -< - *g:haddock_indexfiledir* - The information gathered from Haddock's index files will be stored in a - file called 'haddock_index.vim' in a directory derived from the Haddock - location, or in $HOME. To configure another directory for the index file, - use: -> - :let g:haddock_indexfiledir="~/.vim/" -< - *g:wget* - If you also want to try the experimental hpaste functionality, you might - you need to set |g:wget| before the |hpaste| plugin is loaded (unless wget - is in your PATH): -> - :let g:wget="C:\Program Files\wget\wget.exe" -< - - Finally, the mappings actually use|<LocalLeader>|behind the scenes, so if - you have to, you can redefine|maplocalleader|to something other than '_'. - Just remember that the docs still refer to mappings starting with '_', to - avoid confusing the majority of users!-) - -============================================================================== - *haskellmode-compiler* *ghc* -3. GHC Compiler Integration ~ - - The GHC |compiler| plugin sets the basic |errorformat| and |makeprg| to - enable |quickfix| mode using GHCi, and provides functionality for show - info (|_si|), show type (|_t| or mouse |balloon|), add type declaration - (|_T|), create tag file (|_ct|), and insert-mode completion - (|i_CTRL-X_CTRL-O|) based on GHCi browsing of the current and imported - modules. - - To avoid frequent calls to GHCi, type information is cached in Vim. The - cache will be populated the first time a command depends on it, and will - be refreshed every time a |:make| goes through without generating errors - (if the |:make| does not succeed, the old types will remain available in - Vim). You can also unconditionally force reloading of type info using - |:GHCReload| (if GHCi cannot load your file, the type info will be empty). - - - In addition to the standard|quickfix| commands, the GHC compiler plugin - provides: - - *:GHCReload* -:GHCReload Reload modules and unconditionally refresh cache of - type info. Usually, |:make| is prefered, as that will - refresh the cache only if GHCi reports no errors, and - show the errors otherwise. - - *:GHCStaticOptions* -:GHCStaticOptions Edit the static GHC options for the current buffer. - Useful for adding hidden packages (-package ghc). - - *:GHCi* -:GHCi {command/expr} Run GHCi commands/expressions in the current module. - - *_ct* -_ct Create |tags| file for the current Haskell source - file. This uses GHCi's :ctags command, so it will work - recursively, but will only list tags for exported - entities. - - *_opt* -_opt Shows a menu of frequently used GHC compiler options - (selecting an entry adds the option as a pragma to the - start of the file). Uses popup menu (GUI) or :emenu - and command-line completion (CLI). - - *_lang* -_lang Shows a menu of the LANGUAGE options supported by GHC - (selecting an entry adds the language as a pragma to - the start of the file). Uses popup menu (GUI) or - :emenu and command-line completion (CLI). - - *_si* -_si Show extended information for the name under the - cursor. Uses GHCi's :info command. Output appears in - |preview-window| (when done, close with |:pclose|). - - *_t* -_t Show type for the name under the cursor. Uses cached - info from GHCi's :browse command. - - *_T* -_T Insert type declaration for the name under the cursor. - Uses cached info from GHCi's :browse command. - - *haskellmode-XO* *haskellmode-omni-completion* -CTRL-X CTRL-O Standard insert-mode omni-completion based on the - cached type info from GHCi browsing current and - imported modules. Only names from the current and from - imported modules are included (the completion menu - also show the type of each identifier). - -============================================================================== - *haskellmode-haddock* *haddock* -4. Haddock Integration ~ - - Haskell mode integrates with Haddock-generated HTML documentation, - providing features such as navigating to the Haddock entry for the - identifier under the cursor (|_?|), completion for the identifier under - the cursor (|i_CTRL-X_CTRL-U|), and adding import statements (|_i| |_im| - |_iq| |_iqm|) or module qualifier (|_.|) for the identifier under the - cursor. - - These commands operate on an internal Haddock index built from the - platform's installed Haddock documentation for GHC's libraries. Since - populating this index takes several seconds, it should be stored as a - file called 'haddock_index.vim' in the directory specified by - |g:haddock_indexfiledir|. - - Some commands present a different interface (popup menu or command-line - completion) according to whether the current Vim instance is graphical or - console-based (actually: whether or not the GUI is running). Such - differences are marked below with the annotations (GUI) and (CLI), - respectively. - - |:DocSettings| shows the settings for this plugin. If you are happy with - them, you can call |:ExportDocIndex| to populate and write out the - documentation index (should be called once for every new version of GHC). - - *:DocSettings* -:DocSettings Show current Haddock-files-related plugin settings. - - - *haskellmode-indexing* -4.1 Indexing ~ - - *:DocIndex* -:DocIndex Populate the Haddock index from the GHC library - documentation. - - *:ExportDocIndex* -:ExportDocIndex Cache the current Haddock index to a file (populate - index first, if empty). - - - *haskellmode-lookup* -4.2 Lookup ~ - - *_?* -_? Open the Haddock entry (in |haddock_browser|) for an - identifier under the cursor, selecting full - qualifications from a popup menu (GUI) or via - command-line completion (CLI), if the identifier is - not qualified. - - *_?1* -_?1 Search Hoogle (using |haddock_browser|) for an - identifier under the cursor. - - - *_?2* -_?2 Search Hayoo! (using |haddock_browser|) for an - identifier under the cursor. - - *:IDoc* -:IDoc {identifier} Open the Haddock entry for the unqualified - {identifier} in |haddock_browser|, suggesting possible - full qualifications. - - *:MDoc* -:MDoc {module} Open the Haddock entry for {module} in - |haddock_browser| (with command-line completion for - the fully qualified module name). - - *:FlagReference* -:FlagReference {s} Browse Users Guide Flag Reference for section {s} - (with command-line completion for section headers). - - - *haskellmode-editing* -4.3 Editing ~ - - *_.* -_. Fully qualify the unqualified name under the cursor - selecting full qualifications from a popup menu (GUI) - or via command-line completion (CLI). - - *_iq* *_i* -_i _iq Add 'import [qualified] <module>(<identifier>)' - statement for the identifier under the cursor, - selecting fully qualified modules from a popup menu - (GUI) or via command-line completion (CLI), if the - identifier is not qualified. This currently adds one - import statement per call instead of merging into - existing import statements. - - *_iqm* *_im* -_im Add 'import [qualified] <module>' statement for the - identifier under the cursor, selecting fully qualified - modules from a popup menu (GUI) or via command-line - completion (CLI), if the identifier is not qualified. - This currently adds one import statement per call - instead of merging into existing import statements. - - *_ie* -_ie On an 'import <module>' line, in a correctly loadable - module, temporarily comment out import and use :make - 'not in scope' errors to explicitly list imported - identifiers. - - *haskellmode-XU* *haskellmode-user-completion* -CTRL-X CTRL-U User-defined insert mode name completion based on all - names known to the Haddock index, including package - names. Completions are presented in a popup menu which - also displays the fully qualified module from which - each entry may be imported. - - CamelCode shortcuts are supported, meaning that - lower-case letters can be elided, using only - upper-case letters and module qualifier separators (.) - for disambiguation: - - pSL -> putStrLn - C.E.t -> Control.Exception.t - C.M.MP -> Control.Monad.MonadPlus - - To reduce unwanted matches, the first letter of such - shortcuts and the first letter after each '.' have to - match directly. - -============================================================================== - *haskellmode-hpaste* *hpaste* -5. Hpaste Integration ~ - - This experimental feature allows browsing and posting to - http://hpaste.org, a Web-based pastebin tailored for Haskell code. - - - *:HpasteIndex* -:HpasteIndex Read the most recent entries from hpaste.org. Show an - index of the entries in a new buffer, where ',r' will - open the current highlighted entry [and ',p' will - annotate it with the current buffer]. - - *:HpastePostNew* -:HpastePostNew Submit current buffer as a new hpaste entry. - [This, and ',p' above, are temporarily disabled, - needs update to new hpaste.org layout] - -============================================================================== - *haskellmode-resources* -6. Additional Resources ~ - - An quick screencast tour through of these plugins is available at: - - http://projects.haskell.org/haskellmode-vim/screencasts.html - - Other Haskell-related Vim plugins can be found here: - - http://www.haskell.org/haskellwiki/Libraries_and_tools/Program_development#Vim - - Make sure to read about Vim's other program-editing features in its online - |user-manual|. Also have a look at Vim tips and plugins at www.vim.org - - two other plugins I tend to use when editing Haskell are AlignPlugin.vim - (to line up regexps for definitions, keywords, comments, etc. in - consecutive lines) and surround.vim (to surround text with quotes, - brackets, parentheses, comments, etc.). - -============================================================================== - vim:tw=78:ts=8:ft=help: diff --git a/.vim/doc/imaps.txt b/.vim/doc/imaps.txt deleted file mode 100644 index 087b3db..0000000 --- a/.vim/doc/imaps.txt +++ /dev/null @@ -1,116 +0,0 @@ - IMAP -- A fluid replacement for :imap - *imaps.txt* - Srinath Avadhanula <srinath AT fastmail DOT fm> - - - - Abstract - ======== -This plugin provides a function IMAP() which emulates vims |:imap| function. The -motivation for providing this plugin is that |:imap| suffers from problems -which get increasingly annoying with a large number of mappings. - -Consider an example. If you do > - imap lhs something - - -then a mapping is set up. However, there will be the following problems: -1. The 'ttimeout' option will generally limit how easily you can type the lhs. - if you type the left hand side too slowly, then the mapping will not be - activated. - -2. If you mistype one of the letters of the lhs, then the mapping is deactivated - as soon as you backspace to correct the mistake. - -3. The characters in lhs are shown on top of each other. This is fairly - distracting. This becomes a real annoyance when a lot of characters initiate - mappings. - -This script provides a function IMAP() which does not suffer from these -problems. - - - - *imaps.txt-toc* -|im_1| Using IMAP - -================================================================================ -Viewing this file - -This file can be viewed with all the sections and subsections folded to ease -navigation. By default, vim does not fold help documents. To create the folds, -press za now. The folds are created via a foldexpr which can be seen in the -last section of this file. - -See |usr_28.txt| for an introduction to folding and |fold-commands| for key -sequences and commands to work with folds. - -================================================================================ -Using IMAP *im_1* *imaps-usage* - - - -Each call to IMAP is made using the syntax: > - call IMAP (lhs, rhs, ft [, phs, phe]) - - -This is equivalent to having <lhs> map to <rhs> for all files of type <ft>. - -Some characters in the <rhs> have special meaning which help in cursor placement -as described in |imaps-placeholders|. The optional arguments define these -special characters. - -Example One: > - call IMAP ("bit`", "\\begin{itemize}\<cr>\\item <++>\<cr>\\end{itemize}<++>", "tex") - - -This effectively sets up the map for "bit`" whenever you edit a latex file. When -you type in this sequence of letters, the following text is inserted: > - \begin{itemize} - \item * - \end{itemize}<++> - -where * shows the cursor position. The cursor position after inserting the text -is decided by the position of the first "place-holder". Place holders are -special characters which decide cursor placement and movement. In the example -above, the place holder characters are <+ and +>. After you have typed in the -item, press <C-j> and you will be taken to the next set of <++>'s. Therefore by -placing the <++> characters appropriately, you can minimize the use of movement -keys. - -Set g:Imap_UsePlaceHolders to 0 to disable placeholders altogether. - -Set g:Imap_PlaceHolderStart and g:Imap_PlaceHolderEnd to something else if you -want different place holder characters. Also, b:Imap_PlaceHolderStart and -b:Imap_PlaceHolderEnd override the values of g:Imap_PlaceHolderStart and -g:Imap_PlaceHolderEnd respectively. This is useful for setting buffer specific -place holders. - -Example Two: You can use the <C-r> command to insert dynamic elements such as -dates. > - call IMAP ('date`', "\<c-r>=strftime('%b %d %Y')\<cr>", '') - - - -With this mapping, typing date` will insert the present date into the file. - -================================================================================ -About this file - -This file was created automatically from its XML variant using db2vim. db2vim is -a python script which understands a very limited subset of the Docbook XML 4.2 -DTD and outputs a plain text file in vim help format. - -db2vim can be obtained via anonymous CVS from sourceforge.net. Use - -cvs -d:pserver:anonymous@cvs.vim-latex.sf.net:/cvsroot/vim-latex co db2vim - -Or you can visit the web-interface to sourceforge CVS at: -http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/vim-latex/db2vim/ - -The following modelines should nicely fold up this help manual. - -vim:ft=help:fdm=expr:nowrap -vim:foldexpr=getline(v\:lnum-1)=~'-\\{80}'?'>2'\:getline(v\:lnum-1)=~'=\\{80}'?'>1'\:getline(v\:lnum)=~'=\\{80}'?'0'\:getline(v\:lnum)=~'-\\{80}'?'1'\:'=' -vim:foldtext=substitute(v\:folddashes.substitute(getline(v\:foldstart),'\\s*\\*.*',"",""),'^--','--\ \ \ \ ','') -================================================================================ diff --git a/.vim/doc/latex-suite-quickstart.txt b/.vim/doc/latex-suite-quickstart.txt deleted file mode 100644 index 8c18b72..0000000 --- a/.vim/doc/latex-suite-quickstart.txt +++ /dev/null @@ -1,448 +0,0 @@ - A (very) quick introduction to Latex-Suite - *latex-suite-quickstart.txt* - Srinath Avadhanula <srinath AT fastmail DOT fm> - - - - Abstract - ======== -Latex-Suite is a comprehensive set of scripts to aid in editing, compiling and -viewing LaTeX documents. A thorough explanation of the full capabilities of -Latex-Suite is described in the user manual. This guide on the other hand, -provides a quick 30-45 minute running start to some of the more commonly used -functionalities of Latex-Suite. - - *latex-suite-quickstart.txt-toc* -|lq_1| Using this tutorial -|lq_2| Inserting a template -|lq_3| Inserting a package -|lq_4| Inserting an Environment -|lq_5| A few keyboard shortcuts -|lq_6| Folding in Latex-Suite -|lq_7| Inserting a Reference -|lq_8| Compiling a document - |lq_8_1| Debugging LaTeX source files -|lq_9| Viewing DVI files - |lq_9_1| Performing forward searches - |lq_9_2| Performing inverse searches -|lq_10| Conclusions - -================================================================================ -Viewing this file - -This file can be viewed with all the sections and subsections folded to ease -navigation. By default, vim does not fold help documents. To create the folds, -press za now. The folds are created via a foldexpr which can be seen in the -last section of this file. - -See |usr_28.txt| for an introduction to folding and |fold-commands| for key -sequences and commands to work with folds. - -================================================================================ -Using this tutorial *lq_1* *lq_a_bc* - *lsq-using-tutorial* - - - -This tutorial assumes that you have vim version 6.1+ installed on your machine. -To check, open vim and type > - :ver -You will see the version in the first line of the output. Get the latest vim -version from http://vim.sf.net |lq_u_1|. - -Assuming you have Vim 6.1+ already up and running, follow the instructions here -|lq_u_2| to set up Latex-Suite. Remember to make sure your 'grepprg' setting of -Vim works. - -Good, now you are all set to start the tutorial. Since this tutorial aims to -explain the newbie-friendly version of Latex-Suite, it needs some GUI -functionality. Therefore, at least for this tutorial, open the gui version of -vim. (On MS windows, this is the default). Open up this help file in either the -same gvim session in a split window or in a different session and follow the -(friendly) instructions. - -================================================================================ -Inserting a template *lq_2* *lq_a_bd* - *lsq-inserting-template* - - - -Start up gvim and begin editing a new file. > - e newfile.tex -If the installation went well, you should see a new set of menus appear. Goto -Tex-Suite > Templates. You will see a number of templates to choose from. For -now, choose to insert a template for an article. You should get the following in -the main vim window (after possibly a hit-enter prompt). > - - 1 % File: sample.tex - 2 % Created: Sun Jun 22 04:00 PM 2003 P - 3 % Last Change: Sun Jun 22 04:00 PM 2003 P - 4 % - 5 \documentclass[a4paper]{article} - 6 \begin{document} - 7 - 8 \end{document} - 9 - 10 ~ - 11 ~ - 12 ~ - 13 ~ - -- INSERT -- 7,1 All - - - -The cursor is left on line 7 (just after the \begin{document} line) from where -you can start typing straight away. Trying to lessen movement is a recurring -theme in Latex-Suite. - -================================================================================ -Inserting a package *lq_3* *lq_a_be* - *lsq-lsq-inserting-package* - - - -Assume that we are writing a mathematical paper and we want to use the popular -amsmath package. We will use some functionality which Latex-Suite provides -specifically for including LaTeX packages, providing options etc. Navigate to -before the \begin{document} line (The portion of the document before the -\begin{document} is called the _preamble_ in LaTeX). On an empty line in the -preamble, type the single word amsmath and then press <F5> in normal mode. The -line will change to > - \usepackage[]{amsmath}<++> -with the cursor positioned conviniently between the []'s. For now, do not worry -about the trailing <++> at the end of this line. Assume we want to provide the -sumlimits options to amsmath. You can either type in this option manually, or -choose from a menu of package options which Latex-Suite automatically creates -when you insert a package using <F5>. With the cursor still placed between the -[], goto TeX-Suite > Packages > amsmath Options. Choose the sumlimits option. -The package line should get converted to: > - \usepackage[sumlimits,]{amsmath}<++> - - -with the cursor before ]. Press <C-j> in insert mode. You will see the cursor -jump to the end of the package line and the trailing <++> will dissapear. What -just happened?! You had your first taste of _Placeholders_. Read more about them -(later) here |lq_u_3|. In short, pressing <C-j> in insert mode takes you to the -next <++> in the text. - -================================================================================ -Inserting an Environment *lq_4* *lq_a_bf* - *lsq-insert-environment* - - - -Now let us type in a simple formula in LaTeX. Move back to the body of the -document (The portion of the document between \begin{document} and -\end{document} is called the body). Type in a few simple sentences and then on -an empty line, type the single word eqnarray. Escape to normal mode and press -<F5>. (Remember: <F5> is very useful!) This time, the line will change to: > - \begin{eqnarray} - \label{}<++> - \end{eqnarray}<++> -<with the cursor between the {}. Enter a label. We will use eqn:euler. After -typing in eqn:euler, press <C-j>. This will take you outside the curly-braces. -Another time you used a Placeholder! - -================================================================================ -A few keyboard shortcuts *lq_5* *lq_a_bg* - *lsq-keyboard-shortcuts* - - - -Now to type in the famous Euler formula. Our aim is to type > - e^{j\pi} + 1 &=& 0 -Instead of typing this blindly, let us use a few shortcuts to reduce movement. -Start out by typing e^. Now instead of typing {, type another ^. You will see -the e^^ change instantly to e^{}<++> with the cursor between {}'s. (The ^^ -changed to ^{}<++>.) Continue with the following sequence of letters: j`p. This -will change instantly to j\pi. (The `p changed to \pi.) Having typed in all we -need to type between the {}'s, press <C-j>. You will pop back out of the -curly-braces. Continue typing the rest of the formula. You can use == as a -shortcut for &=&. Latex-Suite provides a large number of such shortcuts which -should making typing much more fun and fast if you get acquainted with them. A -list is provided here |lq_u_4|. Definitely spend some time getting a feel for -them. Most of them are pretty intuitive like `/ for \frac{}{}, `8 for \infty -etc. - -In order to understand the next section better, it will be helpful to have one -more \label. Lets use the handy <F5> key to insert another equation. This time -something simple like the following will do: > - \begin{eqnarray} - \label{eqn:simple} - 1 + 1 = 2 - \end{eqnarray} - - -================================================================================ -Folding in Latex-Suite *lq_6* *lq_a_bh* *lsq-folding* - - - -Okay, we have typed enough. At this stage, hopefully, your file is looking -something like this: > - - 1 % File: sample.tex - 2 % Created: Sun Jun 22 04:00 PM 2003 P - 3 % Last Change: Mon Dec 15 07:00 PM 2003 - 4 % - 5 \documentclass[a4paper]{article} - 6 - 7 \usepackage[sumlimits,]{amsmath} - 8 - 9 \begin{document} - 10 \begin{eqnarray} - 11 \label{eqn:euler} - 12 e^{j\pi} + 1 &=& 0 - 13 \end{eqnarray} - 14 This is the famous euler equation. I - 15 will type another equation, just as - 16 true: - 17 \begin{eqnarray} - 18 \label{eqn:simple} - 19 1 + 1 &=& 2 - 20 \end{eqnarray} - 21 This is my contribution to mathematics. - 22 \end{document} - -In normal mode, press \rf. This will fold up the entire file and you should see -the file looking as below: > - - 1 % File: sample.tex - 2 % Created: Sun Jun 22 04:00 PM 2003 P - 3 % Last Change: Mon Dec 15 07:00 PM 2003 - 4 % - 5 +-- 4 lines: Preamble: \documentclass[a4paper]{article} ----- - 9 \begin{document} - 10 +-- 4 lines: eqnarray (eqn:euler) \label{eqn:euler} ----------- - 14 This is the famous euler equation. I - 15 will type another equation, just as - 16 true: - 10 +-- 4 lines: eqnarray (eqn:simple) \label{eqn:simple} --------- - 21 This is my contribution to mathematics. - 22 \end{document} - -What has happened is that Latex-Suite folded away blocks of LaTeX code into -folded regions. You can open and close folds by using the command za in normal -mode. - -================================================================================ -Inserting a Reference *lq_7* *lq_a_bi* - *lsq-inserting-reference* - - - -A necessary part of LaTeX editing is referencing equations, figures, -bibliographic entries etc. This is done with the \ref and the \cite commands. -Latex-Suite provides an easy way to do this. Somewhere in the body of the -document, type in the following sentence > - This is a reference to (\ref{}). -With the cursor between the {} press <F9> in insert mode. Your vim session will -sprout two new windows and it should look like below: > - - 9 \begin{document} - 10 +-- 4 lines: eqnarray (eqn:euler) : \label{eqn:euler}----------------------- - 14 This is the famous euler equation. I - 15 will type another equation, just as - 16 true: - 17 +-- 4 lines: eqnarray (eqn:simple) : \label{eqn:simple}--------------------- - 21 This is my contribution to mathematics. - 22 This is a reference to (\ref{}<++>)<++> - 23 \end{document} - ~ - ~ - ~ - test.tex [+] 22,29 Bot - test.tex|11| \label{eqn:euler} - test.tex|18| \label{eqn:simple} - ~ - ~ - ~ - [Error List] 1,1 All - 7 \usepackage[sumlimits,]{amsmath} - 8 - 9 \begin{document} - 10 \begin{eqnarray} - 11 \label{eqn:euler} - 12 e^{j\pi} + 1 &=& 0 - 13 \end{eqnarray} - 14 This is the famous euler equation. I - 15 will type another equation, just as - 16 true: - test.tex [Preview][+] 11,2-5 46% - - - -The cursor will relocate to the middle window which shows all \labels found in -all the .tex file in the current directory. You can scroll up and down in the -middle window till you reach the reference you want to insert. Notice how when -you scroll in the middle window, the bottom "Preview" window scrolls -automatically to show you the location of the current selection. This helps you -identify the reference with greater ease because often times, \labels are not -descriptive enough or there might be too many of them. To insert the reference, -just position the cursor on the relevant line in the middle window and press -<enter>. The line which you were editing will change to: > - This is a reference to (\ref{eqn:euler}) -<and the bottom windows close automatically. - -The <F9> key also works for inserting \cite commands to reference bibliographich -entries, inserting file names for the \inputgraphics command and just plain -searching for words. Click here |lq_u_5| for more information. - -================================================================================ -Compiling a document *lq_8* *lq_a_bj* - *lsq-compiling* - -|lq_8_1| Debugging LaTeX source files - - -Great! We have just created a small latex file. The next step is to make the -latex compiler create a .dvi file from it. Compiling via latex-suite is simple. -Goto normal mode and press \ll (replace \ with whatever mapleader setting you -have). This will call the latex compiler. If all goes well, then the focus -should return to the vim window. - -Nothing happend? Ouch! You might need to do some additional settings as -described here. |lq_u_6| - - --------------------------------------------------------------------------------- -Debugging LaTeX source files *lq_8_1* *lq_a_bk* - *lsq-debugging* - -To illustrate the debugging procedure, let's create a few mistakes in the file. -Insert the following ``mistakes'' in the file: > - This is a $\mistake$. - And this is $\another$ -Now press \ll again. This time you will notice that after compilation finishes, -the cursor automatically lands on $\mistake$. In addition, 2 new windows will -appear as shown here: - -The middle window is an _Error List_ window showing you the errors which the -latex compiler found. Th bottom window is a _Log Preview_ window, which shows -you the context of the error made by displaying the relevant portion of the .log -file created during the latex compilation procedure. Jump to the _Error List_ -window and try scrolling around in it using either the j, k keys or the arrow -keys. You will notice that the _Log Preview_ window scrolls automatically to -retain the context of the error you are currently located on. If you press -<enter> on any line, you will see the cursor jump to the location of the error. -Latex-Suite tries to guess the column location as best as it can so you can -continue typing straight away. -Having got a taste for compiling, proceed by deleting the erroneous lines and -re-compiling. - -The Latex-Suite compiler is capable of much more including selectively filtering -out common errors which you might want to ignore for the moment, compiling parts -of a document, setting levels of verbosity in the compiler output etc. See here -|lq_u_7| for more. - -================================================================================ -Viewing DVI files *lq_9* *lq_a_bl* - *lsq-viewing-dvi* - -|lq_9_1| Performing forward searches -|lq_9_2| Performing inverse searches - - -Now that you have compiled your first latex source, its time to view it. Again, -this should be pretty simple. Press \lv in normal mode. Depending on your -platform, a DVI viewer program should open up and display the dvi file generated -in compilation step previously. - -Nothing happend? Ouch! You might need to do some additional settings as -described here. |lq_u_8| - - --------------------------------------------------------------------------------- -Performing forward searches *lq_9_1* *lq_a_bm* - *lsq-quick-forward-searching* - -If you are using a modern DVI viewer, then it is possible to do what is called -forward and inverse searching. However, you will need to customize the standard -Latex-Suite distribution in order to utilize this functionality. Type in the -following on the command line: > - :let g:Tex_CompileRule_dvi = 'latex -src-specials -interaction=nonstopmode $*' - :TCTarget dvi - - -Now recompile the latex file by pressing \ll. This time, instead of pressing \lv -to view the file, press \ls from within the tex file. If the DVI viewer supports -forward searching (most of them do), then the viewer will actually display the -portion of the DVI file corresponding to the location where you were editing the -tex file. - -NOTE: The reason Latex-Suite does not have this setting by default is that on - some systems this causes unpredictable results in the DVI output. If you - find the DVI output satisfactory, then you can insert the first of the 2 - lines above into your $VIM/ftplugin/tex.vim file. $VIM is ~/vimfiles for - windows and ~/.vim for *nix machines. - - - --------------------------------------------------------------------------------- -Performing inverse searches *lq_9_2* *lq_a_bn* - *lsq-quick-inverse-searching* - -Most DVI viewers also support inverse searching, whereby you can make the DVI -viewer ask vim to display the tex source corresponding to the DVI file being -shown. This is extremeley helpful while proofreading large documents. - -Simply double-click anywhere in the viewer window. If the viewer supports it, -then it will attempt to open an editor window at the location corresponding to -where you double-clicked. On *nix platforms, Latex-Suite attempts to start the -viewer program in such a way that it already knows to use vim to open the tex -source. Thus you should see a vim window open up showing the tex file. However, -if there is an error, or some other program is used, you will need to tell the -viewer program to use gvim as the editor. On windows platforms, if you use the -commonly available yap viewer (available as part of the miktex distribution), -then this option can be set from View > Options > Inverse Search. In the Command -line: window, write > - "C:\Program Files\vim\vim61\gvim" -c ":RemoteOpen +%l %f" -(Customize the path according to where you have installed gvim). If you double -click in the view pane now, you will see gvim start up and take you to the -relevant portion of the tex file. - -================================================================================ -Conclusions *lq_10* *lq_a_bo* - *lsq-conclusions* - - - -Thats all folks! By now, you should know enough of the basic functions of -latex-suite. Ofcourse, latex-suite is capable of much, much more such as -compiling files multiple times to resolve changed labels, compiling -dependencies, handling user packages and more. To get a feel for that, you will -need to take a look at the Latex-Suite user manual. |lq_u_9| - -================================================================================ -URLs used in this file - -*lq_u_1* : http://vim.sf.net -*lq_u_2* : http://vim-latex.sourceforge.net/index.php?subject=download&title=Download -*lq_u_3* : http://vim-latex.sourceforge.net/documentation/latex-suite/latex-macros.html -*lq_u_4* : http://vim-latex.sourceforge.net/documentation/latex-suite/auc-tex-mappings.html -*lq_u_5* : http://vim-latex.sourceforge.net/documentation/latex-suite/latex-completion.html -*lq_u_6* : http://vim-latex.sourceforge.net/index.php?subject=faq&title=FAQ#faq-2 -*lq_u_7* : http://vim-latex.sourceforge.net/documentation/latex-suite/latex-compiling.html -*lq_u_8* : http://vim-latex.sourceforge.net/index.php?subject=faq&title=FAQ#faq-3 -*lq_u_9* : http://vim-latex.sourceforge.net/index.php?subject=manual&title=Manual#user-manual - -================================================================================ -About this file - -This file was created automatically from its XML variant using db2vim. db2vim is -a python script which understands a very limited subset of the Docbook XML 4.2 -DTD and outputs a plain text file in vim help format. - -db2vim can be obtained via anonymous CVS from sourceforge.net. Use - -cvs -d:pserver:anonymous@cvs.vim-latex.sf.net:/cvsroot/vim-latex co db2vim - -Or you can visit the web-interface to sourceforge CVS at: -http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/vim-latex/db2vim/ - -The following modelines should nicely fold up this help manual. - -vim:ft=help:fdm=expr:nowrap -vim:foldexpr=getline(v\:lnum-1)=~'-\\{80}'?'>2'\:getline(v\:lnum-1)=~'=\\{80}'?'>1'\:getline(v\:lnum)=~'=\\{80}'?'0'\:getline(v\:lnum)=~'-\\{80}'?'1'\:'=' -vim:foldtext=substitute(v\:folddashes.substitute(getline(v\:foldstart),'\\s*\\*.*',"",""),'^--','\ \ \ \ \ \ ','') -================================================================================ diff --git a/.vim/doc/latex-suite.txt b/.vim/doc/latex-suite.txt deleted file mode 100644 index a44cd9b..0000000 --- a/.vim/doc/latex-suite.txt +++ /dev/null @@ -1,3418 +0,0 @@ - Latex-Suite Reference - *latex-suite.txt* - Srinath Avadhanula <srinath AT fastmail DOT fm> - Mikolaj Machowski <mikmach AT wp DOT pl> - - - - Abstract - ======== -Latex-Suite attempts to provide a comprehensive set of tools to view, edit and -compile LaTeX documents in Vim. Together, they provide tools starting from -macros to speed up editing LaTeX documents to functions for forward searching -.dvi documents. Latex-Suite has been possible because of the contributions of -many people. Please see latex-suite-credits [|ls_a_dU|] for a list of people who -have helped. - -Latex-Suite is released under the Vim charityware license. For license and -conditions of use look at |copyright|. Replace all occurrences of ``Vim'' with -``Latex-Suite''. The current copyright holders of Latex-Suite are Srinath -Avadhanula and Mikolaj Machowski. - -Homepage: http://vim-latex.sourceforge.net |ls_u_1| - - - - *latex-suite.txt-toc* -|ls_1| Installation and recommended Settings -|ls_2| Inserting Templates -|ls_3| Latex-Suite Macros - |ls_3_1| Environment Mappings - |ls_3_2| Command Mappings - |ls_3_3| Font Mappings - |ls_3_4| Section Mappings - |ls_3_5| Greek Letter Mappings - |ls_3_6| Auc-Tex Key Bindings - |ls_3_7| Diacritics - |ls_3_8| BibTeX Shortcuts - |ls_3_9| Smart Key Mappings - |ls_3_10| Alt Key Macros - |ls_3_11| Custom Macros - |ls_3_12| Making your own Macros via IMAP() -|ls_4| Package Handling - |ls_4_1| Inserting package commands - |ls_4_2| Actions taken for supported packages - |ls_4_3| Automatic Package detection - |ls_4_4| Writing supporting for a package -|ls_5| Latex Completion - |ls_5_1| Latex-Suite completion example - |ls_5_2| Latex-Suite \ref completion - |ls_5_3| Latex-Suite \cite completion - |ls_5_4| Latex-Suite filename completion - |ls_5_5| Custom command completion -|ls_6| LaTeX Compiling - |ls_6_1| Setting Compilation rules - |ls_6_2| Handling dependencies in compilation - |ls_6_3| Compiling multiple times - |ls_6_4| Customizing the compiler output - |ls_6_5| Compiling parts of a file -|ls_7| Latex Viewing and Searching - |ls_7_1| Setting Viewing rules - |ls_7_2| Forward Searching DVI documents - |ls_7_3| Inverse Searching -|ls_8| Latex Folding - |ls_8_1| Default Folding Scheme in Latex-Suite - |ls_8_2| Customizing what to fold - |ls_8_3| Editing the folding.vim file directly -|ls_9| Multiple file LaTeX projects - |ls_9_1| Latex-Suite project settings - |ls_9_2| Specifying which file to compile -|ls_10| Latex-Suite Commands and Maps - |ls_10_1| Latex-Suite Maps - |ls_10_2| Latex Suite Commands -|ls_11| Customizing Latex-Suite - |ls_11_1| General Settings - |ls_11_2| Place-Holder Customization - |ls_11_3| Macro Customization - |ls_11_4| Smart Key Customization - |ls_11_5| Latex Completion Customization - |ls_11_6| Compiler Customization - |ls_11_7| Viewer Customization - |ls_11_8| Menu Customization - |ls_11_9| Folding Customization - |ls_11_10| Package Handling Customization -|ls_12| Credits - -================================================================================ -Viewing this file - -This file can be viewed with all the sections and subsections folded to ease -navigation. By default, vim does not fold help documents. To create the folds, -press za now. The folds are created via a foldexpr which can be seen in the -last section of this file. - -See |usr_28.txt| for an introduction to folding and |fold-commands| for key -sequences and commands to work with folds. - -================================================================================ -Installation and recommended Settings *ls_1* *ls_a_bc* - *recommended-settings* - - - -If you are reading this, it most probably means that you have already installed -Latex-Suite and the help files. If this is not the case, follow the detailed -instructions on Latex-Suite's download page |ls_u_2|. - -Make sure that you create a few necessary settings in your ~/.vimrc. > - - " REQUIRED. This makes vim invoke Latex-Suite when you open a tex file. - filetype plugin on - - " IMPORTANT: win32 users will need to have 'shellslash' set so that latex - " can be called correctly. - set shellslash - - " IMPORTANT: grep will sometimes skip displaying the file name if you - " search in a singe file. This will confuse Latex-Suite. Set your grep - " program to always generate a file-name. - set grepprg=grep\ -nH\ $* - - " OPTIONAL: This enables automatic indentation as you type. - filetype indent on - - - -In addition, the following settings could go in your ~/.vim/ftplugin/tex.vim -file: > - " this is mostly a matter of taste. but LaTeX looks good with just a bit - " of indentation. - set sw=2 - " TIP: if you write your \label's as \label{fig:something}, then if you - " type in \ref{fig: and press <C-n> you will automatically cycle through - " all the figure labels. Very useful! - set iskeyword+=: - - - -================================================================================ -Inserting Templates *ls_2* *ls_a_bd* - *latex-suite-templates* - - - -This functionality is available via the TeX-Suite > Templates menu. This module -provides a way to insert custom templates at the beginning of the current file. - -When Latex-Suite first starts up, it scans the -$VIM/ftplugin/latex-suite/templates/ directory and creates menu items based on -the files found there. When you select a template from this menu, the file will -be read in above the first line of the current file. - -A template file can utilize placeholders for initializing the cursor position -when the template is read in and subsequent movement. In addition, template -files can contain dynamic elements such as the time of creation of a file etc, -by using vim expressions. - -You can place your own templates in the $VIM/ftplugin/latex-suite/templates/ -directory in order for them to be available via the menu. Unless Latex-Suite -releases a template with the same name, these files should not get over-written -when you install a new release over an existing one. - -NOTE: Templates are also accessible for non-gui users with the command - |:TTemplate|. The argument should be name of the corresponding template - file. If the command is called without arguments (preferred usage), then a - list of available templates is displayed and the user is asked to choose - one of them. - - - -================================================================================ -Latex-Suite Macros *ls_3* *ls_a_be* - *latex-macros* - -|ls_3_1| Environment Mappings -|ls_3_2| Command Mappings -|ls_3_3| Font Mappings -|ls_3_4| Section Mappings -|ls_3_5| Greek Letter Mappings -|ls_3_6| Auc-Tex Key Bindings -|ls_3_7| Diacritics -|ls_3_8| BibTeX Shortcuts -|ls_3_9| Smart Key Mappings -|ls_3_10| Alt Key Macros -|ls_3_11| Custom Macros -|ls_3_12| Making your own Macros via IMAP() - - -Latex-Suite ships with a very comprehensive set of insert mode and |visual-mode| -mappings and menu items to typeset most of the LaTeX elements. - -NOTE: These mappings are are not standard mappings in the sense that only the - last character is mapped. See plugin/imaps.vim for further documentation. - For example, in the case of the mapping EFI provided by Latex-Suite you - can press the characters 'E', 'F' and 'I' as slowly as you wish (unlike - the normal imap command where timeout issues are involved). The characters - are visible as you type them (unlike normal imaps) and you can use the - movement or backspace key to correct yourself unlike normal mappings. - - - *place-holder* *ls_a_dV* - *place-holders* *ls_a_eD* -NOTE: Place Holders - ------------- - Almost all macros provided in Latex-Suite implement Stephen Riem's - bracketing system and Gergely Kontra's JumpFunc() for handling - place-holders. This consists of using "place-holders" to mark off - locations where the next relevant editing has to be done. As an example, - when you type EFI in |insert-mode|, you will get the following: > - \begin{figure}[h] - \centerline{\psfig{figure=<+eps file+>}} - \caption{<+caption text+>} - \label{fig:<+label+>} - \end{figure}<++> -< The text <+eps file+> will be selected and you will be left in - |select-mode| so that you can continue typing straight away. After having - typed in the file name, you can press <Ctrl-J> (while still in - insert-mode). This will take you directly to the next "place-holder". i.e, - <+caption text+> will be visually selected with Vim in select mode again - for typing in the caption. This saves on a lot of key presses. - - - *overriding-macros* *ls_a_eE* -NOTE: Over-riding Latex-Suite Macros - ------------------------------ - If you wish to change these macros from their default values, for example, - if you wish to change `w to expand to \omega instead of its default - expansion to \wedge, you should use the IMAP function as described in the - Using IMAP() [|ls_a_bG|] section. - - An important thing to note is that if you wish to over-ride macros created - by Latex-Suite rather than merely create new macros, you should place the - IMAP() calls in a script which gets sourced after the files in - Latex-Suite. A good place typically is as a file-type plugin file in the - ~/.vim/after/ftplugin/ directory. (Use ~/vimfiles if you are using - WINDOWS). For example to over-ride `w to \omega instead of \wedge, place - the following line in (say) ~/.vim/after/ftplugin/tex_macros.vim: > - call IMAP('`w', '\omega', 'tex') -< - - NOTE: It is important to use a file-name which will get sourced on a - FileType event. Therefore you must use a file-name which conforms to - the standards as described in |ftplugin-name|. - - - - *pausing-imaps* *ls_a_eF* -NOTE: Pausing Macro expansion - ----------------------- - If you wish to temporarily suspend the imaps functionality, then you can - set the Imap_FreezeImap to 1. If you set g:Imap_FreezeImap to 1, then it - will be a system-wide setting. Setting b:Imap_FreezeImap will affect only - the current buffer. - - -The following sections describe the various editing macros provided by -Latex-Suite. - - --------------------------------------------------------------------------------- -Environment Mappings *ls_3_1* *ls_a_bf* - *environment-mappings* - -Latex-Suite provides a rich set of mappings to insert, enclose and modify LaTeX -environments, i.e, \begin{...} ... \end{...} pairs. - -Inserting Environments *ls_3_1_1* *ls_a_bg* - *inserting-environments* - -Latex-Suite provides the following ways to insert environments - - - -Method 1: Pressing <F5> *ls_3_1_1_1* *ls_a_bh* - *inserting-env-f5* - -If you press <F5> in the insert or normal mode while on an empty line, -Latex-Suite prompts you with a list of environments you might want to insert. -You can either choose one from the list or type in a new environment name. If -you press <F5> on a line which already has a word, then that word is used -instead of prompting. - -See Tex_Env_name [|ls_a_cZ|] for a description of how Latex-Suite uses the word -to form the expansion and how to modify Latex-Suite's behavior. - -The list of environments which Latex-Suite prompts you with (when <F5> is -pressed on an empty line) is formed from the Tex_PromptedEnvironments -[|ls_a_di|] setting. - -In addition to this setting, Latex-Suite also lists environments found in custom -packages as described in the section Package actions. [|ls_a_bL|] - - -Method 2: Using <S-F1>-<S-F4> *ls_3_1_1_2* *ls_a_bi* - *inserting-env-shift-f1* - -The shifted function keys, <S-F1> to <S-F4> can be mapped to insert very -commonly used environments. The environments mapped to each key can be -customized via the g:Tex_HotKeyMappings [|ls_a_dj|] setting. - - -Method 3: Using three letter sequences *ls_3_1_1_3* *ls_a_bj* - *inserting-env-threeletter* - -Environments can also be inserted by pressing a 3 capital letter sequence -starting with an E. The sequence of 3 letters generally tries to follow the -following rules: - - -1. All environment mappings begin with E - -2. If the environment can be broken up into 2 distinct words, such as flushright - (flush + right), then the next 2 letters are the first letters of the 2 - words. Example: > - flushleft (_f_lush + _l_eft) ---> EFL - flushright (_f_lush + _r_ight) ---> EFR - eqnarray (_e_qn + _a_rray) ---> EEA -< If on the other hand, the environment name cannot be broken up into 2 - distinct words, then the next 2 letters are the first 2 letters of the name - of the environment. Example: > - equation (_eq_uation) ---> EEQ -< -Unfortunately there are some environments that cannot be split in two words and -first two letters in name are identical. In this case shortcut is created from -E, first and last letter. Example: > - quote (_q_uot_e_) ---> EQE - quotation (_q_uotatio_n_) ---> EQN -Of course, not every last one of the environments can follow this rule because -of ambiguities. In case of doubt, pull down the Tex-Environments menu. The menu -item should give the hint for the map. - - -Enclosing in Environments *ls_3_1_2* *ls_a_bk* - *enclosing-environments* - -Latex-Suite provides visual-mode mappings which enclose visually selected -portions of text in environments. There are two ways provided to do this. - - - -Method 1: Pressing <F5> *ls_3_1_2_1* *ls_a_bl* - *enclosing-env-f5* - -You can also select a portion of text visually and press <F5> while still in -visual mode. This will prompt you with a list of environments. (This list can be -customized via the g:Tex_PromptedEnvironments [|ls_a_di|] setting). You can -either choose from this list or type in a new environment name. Once the -selection is done, Latex-Suite encloses the visually selected portion in the -chosen environment. - - -Method 2: Using three letter mappings *ls_3_1_2_2* *ls_a_bm* - *enclosing-env-threeletter* - -You can also select text visually and press a sequence of three characters -beginning with , (the single comma character) and the selected text will be -enclosed in the chosen environment. The three letter sequence follows directly -from the three letter sequence used to insert environments as described here -[|ls_a_bj|]. The following example describes the rule used: - -If ECE inserts a \begin{center}...\end{center} environment, then to enclose a -block of selected text in \begin{center}...\end{center}, simply select the text -and press ,ce. The rule simply says that the leading E is converted to , and the -next 2 letters are small case. -Some of the visual mode mappings are sensitive to whether you choose line-wise -or character-wise. For example, if you choose a word and press ,ce, then you get -\centerline{word}, whereas if you press ,ce on a line-wise selection, you get: > - \begin{center} - line - \end{center} - - - -Changing Environments *ls_3_1_3* *ls_a_bn* - *changing-environments* - -Pressing <S-F5> in normal mode detects which environment the cursor is presently -located in and prompts you to replace it with a new one. The innermost -environment is detected. For example, in the following source: > - \begin{eqnarray} - \begin{array}{ccc} - 2 & 3 & 4 - \end{array} - \end{eqnarray} -if you are located in the middle "2 & 3 & 4" line, then pressing <S-F5> will -prompt you to change the array environment, not the eqnarray environment. In -addition, Latex-Suite will also try to change lines within the environment to be -consistent with the new environment. For example, if the original environment -was an eqnarray environment with a \label command, then changing it to an -eqnarray* environment will delete the \label. - -Pressing <F5> in normal mode has the same effect as pressing <F5> in -insert-mode, namely you will be prompted to choose an environment to insert. - --------------------------------------------------------------------------------- -Command Mappings *ls_3_2* *ls_a_bo* - *latex-command-maps* - -Latex-Suite provides a rich set of mappings to insert, enclose and modify LaTeX -commands. - -Inserting LaTeX commands *ls_3_2_1* *ls_a_bp* - *inserting-commands* - - *ls-imap-f7* *ls_a_dW* - *ls-imap-s-f7* *ls_a_dX* -Pressing <F7> in insert or normal mode while the cursor is touching a word will -insert a command formed from the word touching the cursor. - -For certain common commands, Latex-Suite will expand them to include additional -arguments as needed. For example, frac becomes \frac{<++>}{<++>}<++>. Otherwise, -it will simply change the word under the cursor as follows > - word --> \word{<++>}<++> -You can define custom expansions of commands using the Tex_Com_{name} setting as -described in here [|ls_a_da|]. - -If <F7> is pressed when the cursor is on white-space, then Latex-Suite will -prompt you to choose a command and insert that instead.The list of commands is -constructed from the g:Tex_PromptedCommands [|ls_a_dk|] setting and also from -commands which Latex-Suite finds while scanning custom packages which -Latex-Suite finds. See the Package actions [|ls_a_bL|] section for details on -which files are scanned etc. - - -Enclosing in a command *ls_3_2_2* *ls_a_bq* - *enclosing-commands* - -You can select a portion of text visually and press <F7> while still in visual -mode. This will prompt you with a list of commands. (This list can be customized -via the g:Tex_PromptedCommands [|ls_a_dk|] setting). You can either choose from -this list or type in a new command name. Once the selection is done, Latex-Suite -encloses the visually selected portion in the chosen command. - - -Changing commands *ls_3_2_3* *ls_a_br* - *changing-commands* - - *ls-vmap-f7* *ls_a_dY* -In both insert and normal mode <S-F7> will find out if you are presently within -an environment and then prompt you with a list of commands to change it to. - --------------------------------------------------------------------------------- -Font Mappings *ls_3_3* *ls_a_bs* *font-maps* - -These mappings insert font descriptions such as: \textsf{<++>}<++> with the -cursor left in place of the first placeholder [|ls_a_eD|] (the <++> characters). - -Mnemonic: -1. first letter is always F (F for font) - -2. next 2 letters are the 2 letters describing the font. - -Example: Typing FEM in insert-mode expands to \emph{<++>}<++>. - -Just like environment mappings, you can visually select an area and press `sf to -have it enclosed in: \textsf{word} or > - {\sffamily - line - } -depending on character-wise or line-wise selection. - --------------------------------------------------------------------------------- -Section Mappings *ls_3_4* *ls_a_bt* - *section-mappings* - -These maps insert LaTeX sections such as: > - \section{<++>}<++> -etc. Just as in the case of environments and fonts, can be enclosed with a -visual selection. The enclosing is not sensitive to character or line-wise -selection. - -Mnemonic: (make your own!) > - SPA for part - SCH for chapter - SSE for section - SSS for subsection - SS2 for subsubsection - SPG for paragraph - SSP for subparagraph - - -Example: SSE in insert mode inserts > - \section{<++>}<++> -If you select a word or line and press ,se, then you get > - \section{section name} -The menu item in Tex-Environments.Sections have a sub-menu called 'Advanced'. -Choosing an item from this sub-menu asks a couple of questions (whether you want -to include the section in the table of contents, whether there is a shorter name -for the table of contents) and then creates a more intelligent template. - --------------------------------------------------------------------------------- -Greek Letter Mappings *ls_3_5* *ls_a_bu* - *greek-letter-mappings* - -Lower case - -`a through `z expand to \alpha through \zeta.Upper case: - - > - `D = \Delta - `F = \Phi - `G = \Gamma - `Q = \Theta - `L = \Lambda - `X = \Xi - `Y = \Psi - `S = \Sigma - `U = \Upsilon - `W = \Omega -NOTE: LaTeX does not support upper case for all greek alphabets. - - -Just like other Latex-Suite mappings, these mappings are not created using the -standard imap command. Thus you can type slowly, correct using <BS> etc. - --------------------------------------------------------------------------------- -Auc-Tex Key Bindings *ls_3_6* *ls_a_bv* - *auc-tex-mappings* - -These are simple 2 key expansions for some very commonly used LaTeX elements: - - > - `^ Expands To \Hat{<++>}<++> - `_ expands to \bar{<++>}<++> - `6 expands to \partial - `8 expands to \infty - `/ expands to \frac{<++>}{<++>}<++> - `% expands to \frac{<++>}{<++>}<++> - `@ expands to \circ - `0 expands to ^\circ - `= expands to \equiv - `\ expands to \setminus - `. expands to \cdot - `* expands to \times - `& expands to \wedge - `- expands to \bigcap - `+ expands to \bigcup - `( expands to \subset - `) expands to \supset - `< expands to \le - `> expands to \ge - `, expands to \nonumber - `~ expands to \tilde{<++>}<++> - `; expands to \dot{<++>}<++> - `: expands to \ddot{<++>}<++> - `2 expands to \sqrt{<++>}<++> - `| expands to \Big| - `I expands to \int_{<++>}^{<++>}<++> -(again, notice the convenient place-holders) - -In addition the visual mode macros are provided: - - > - `( encloses selection in \left( and \right) - `[ encloses selection in \left[ and \right] - `{ encloses selection in \left\{ and \right\} - `$ encloses selection in $$ or \[ \] depending on characterwise or - linewise selection - - --------------------------------------------------------------------------------- -Diacritics *ls_3_7* *ls_a_bw* - *diacritic-mappings* - -These mappings speed up typing European languages which contain diacritic -characters such as a-umlaut etc. > - +<l> expands to \v{<l>} - =<l> expands to \'{<l>} -where <l> is an alphabet. - - > - +} expands to \"{a} - +: expands to \^{o} -Latex-Suite also ships with smart backspacing [|ls_a_dZ|] functionality which -provides another convenience while editing languages with diacritics. - -NOTE: Diacritics are disabled by default in Latex-Suite because they can - sometimes be a little too intrusive. Moreover, most European users can - nowadays use font encodings which display diacritic characters directly - instead of having to rely on Latex-Suite's method of displaying - diacritics. - - Set the g:Tex_Diacritics [|ls_a_df|] variable to enable diacritics. - - - --------------------------------------------------------------------------------- -BibTeX Shortcuts *ls_3_8* *ls_a_bx* - *bibtex-bindings* - -Latex-Suite provides an easy way of entering bibliographic entries. Four -insert-mode mappings: BBB, BBL, BBH and BBX are provided, all of which -essentially act in the same manner. When you type any of these in insert-mode, -you will get a prompt asking you to choose a entry type for the bibliographic -entry. - -When you choose an entry type, a bibliographic entry template will be inserted. -For example, if you choose the option 'book' via the map BBB, then the following -template will be inserted: > - @BOOK{<+key+>, - author = {<++>}, - editor = {<++>}, - title = {<++>}, - publisher = {<++>}, - year = {<++>}, - otherinfo = {<++>} - }<++> - - -<+key+> will be highlighted in select-mode and you can type in the bib-key. -After that you can use <Ctrl-J> to navigate to successive locations in the -template and enter new values. - -BBB inserts a template with only the fields mandatorily required for a given -entry type. BBL inserts a template with commonly used extra options. BBH inserts -a template with more options which are not as commonly used. BBX inserts a -template with all the fields which the entry type supports. - -NOTE: Mnemonic - -------- - B for Bibliographic entry, L for Large entry, H for Huge entry, and X - stands for all eXtras. - - - - -Customizing Bib-TeX fields *ls_3_8_1* *ls_a_by* - *adding-bib-options* - -If you wish the BBB command to insert a few additional fields in addition to the -fields it creates, then you will need to define global variables of the form > - g:Bib_{type}_options -in you $VIM/ftplugin/bib.vim file, where {type} is a string like 'article', -'book' etc. This variable should contain one of the letters defined in the -following table - -Character Field Type~ -w address -a author -b booktitle -c chapter -d edition -e editor -h howpublished -i institution -k isbn -j journal -m month -z note -n number -o organization -p pages -q publisher -r school -s series -t title -u type -v volume -y year - -For example, by default, choosing 'article' via BBB inserts the following -template by default > - @ARTICLE{<+key+>, - author = {<++>}, - title = {<++>}, - journal = {<++>}, - year = {<++>}, - otherinfo = {<++>} - }<++> -However, if g:Bib_article_options is defined as 'mnp', then 'article' will -insert the following template > - @ARTICLE{<+key+>, - author = {<++>}, - title = {<++>}, - journal = {<++>}, - year = {<++>}, - month = {<++>}, - number = {<++>}, - pages = {<++>}, - otherinfo = {<++>} - }<++> - - -If you have some other fields you wish to associate with an article which are -not listed above, then you will have to use the Bib_{type}_extrafields option. -This is a newline separated string of complete field names which will be -included in the template. For example, if you define > - let g:Bib_article_extrafields = "crossref\nabstract" -then the article template will include the lines > - crossref = {<++>}, - abstract = {<++>}, - - -NOTE: You will need to define Bib_* settings in your - $VIMRUNTIME/ftplugin/bib.vim file. - - - --------------------------------------------------------------------------------- -Smart Key Mappings *ls_3_9* *ls_a_bz* - *smart-keys* - -Latex-Suite ships with the following smart keys: - -Smart Backspace ---------------- - *smart-backspace* *ls_a_dZ* -Pressing <BS> in insert mode checks to see whether we are just after something -like \'{a} and if so, deletes all of it. i.e, diacritics are treated as single -characters for backspacing. - -Smart Quotes ------------- -Pressing " (English double quote) will insert `` or '' by making an intelligent -guess about whether we intended to open or close a quote. - -Smart Space ------------ -Latex-Suite maps the <space> key in such a way that $ characters are not broken -across lines. It does this by first setting tw=0 so that Vim will not -automatically break lines and then maps the <space> key to insert newlines -keeping $$'s on the same line. - -Smart Dots ----------- -Pressing ... (3 dots) results in \ldots outside math mode and \cdots in math -mode. - --------------------------------------------------------------------------------- -Alt Key Macros *ls_3_10* *ls_a_bA* - *altkey-mappings* - -Latex-Suite utilizes a set of macros originally created by Carl Mueller in -auctex.vim to make inserting all the \left ... \right stuff very easy and to -also make some use of the heavily under-utilized <Alt> key. - -NOTE: By default, typing Alt-<key> in Vim takes focus to the menu bar if a menu - with the hotkey <key> exists. If in your case, there are conflicts due to - this behavior, you will need to set > - set winaltkeys=no -< in your $VIM/ftplugin/tex.vim in order to use these maps. - - -NOTE: Customizing the maps - -------------------- - If for some reason, you wish to not map the <Alt> keys, (some European - users need to use the <Alt> key to enter diacritics), you can change these - maps to other keys as described in the section Customizing Alt-key maps - [|ls_a_cx|]. - - - - -<Alt-L> *ls_3_10_1* *ls_a_bB* *Alt-L* - -This is a polymorphic insert-mode mapping which expands to one of the following -depending on the character just before the cursor location. - -Character before cursor Expansion~ -( \left( <++> \right) -[ \left[ <++> \right] -| \left| <++> \right| -{ \left\{ <++> \right\} -< \langle <++> \rangle -q \lefteqn{<++>}<++> - -If the character before the cursor is none of the above, then it will simply -insert a \label{<++>}<++>. - - -<Alt-B> *ls_3_10_2* *ls_a_bC* *Alt-B* - -This insert-mode mapping encloses the previous character in \mathbf{}. - - -<Alt-C> *ls_3_10_3* *ls_a_bD* *Alt-C* - -In insert mode, this key is polymorphic as follows: - - -1. If the previous character is a letter or number, then capitalize it and - enclose it in \mathcal{}. - -2. otherwise insert \cite{}. -In visual mode, it will simply enclose the selection in \mathcal{} - - -<Alt-I> *ls_3_10_4* *ls_a_bE* *Alt-I* - -This mapping inserts an \item command at the current cursor location depending -on which environment the cursor is enclosed in. The style of the \item command -is dependent on the enclosing environment. By default, <Alt-I> has styles -defined forthe following environments: - -Environment Style~ -itemize \item -enumerate \item -theindex \item -thebibliography \item[<+biblabel+>]{<+bibkey+>} <++> -description \item[<+label+>] <++> - -<Alt-I> is intelligent enough to account for nested environments. For example, > - \begin{itemize} - \item first item - \item second item - \begin{description} - \item[label1] first desc - \item[label2] second - % <Alt-I> will insert "\item[<+label+>] <++>" if - % used here - \end{description} - \item third item - % <Alt-I> will insert "\item " when if used here. - \end{itemize} - % <Alt-I> will insert nothing ("") if used here -< - -The style used by <Alt-I> can be customized using the -g:Tex_ItemStyle_environment [|ls_a_dl|] variable. - --------------------------------------------------------------------------------- -Custom Macros *ls_3_11* *ls_a_bF* - *custom-macros-menu* - -This functionality available via the TeX-Suite.Macros menu, provides a way of -inserting customized macros into the current file via the menu. - -When Latex-Suite starts up, it scans the $VIM/ftplugin/latex-suite/macros/ -directory and creates a menu from the files found there. Each file is considered -as a single macro. You can place your own macros in this directory, using -placeholders [|ls_a_eD|] if wanted. - -When you choose a macro from the menu, the corresponding file is read into the -current buffer after the current cursor position. In non-gui mode, you can use -the |TMacro| command instead of choosing from the menu. This command takes the -macro file name as an argument. When called without arguments (preferred usage), -then a list of available macro files is displayed and the user is prompted to -choose one of them). - -There are some other tools provided in this menu, namely: - - -{New} Creates a new (unnamed) buffer in the latex-suite/macros/ directory. - Use the command :TexMacroNew in non-gui mode. -{Edit} Opens up the corresponding macro file for editing. Use |:TexMacroEdit| - in non-gui mode. When you try to edit {macro} not from local directory - Latex-Suite will copy it to your local directory with suffix "-local". - If local copy already exists Latex-Suite prompt for overwriting it. -{Delete} Deletes the corresponding macro. Use the prefixed numbers for fast - navigation of menus. Use |:TexMacroDelete| in non-gui mode. When you - choose to delete {macro} which is not in your local directory - Latex-Suite will refuse to delete it. -{Redraw} Rescans the macros/ directories and refreshes the macros list. - --------------------------------------------------------------------------------- -Making your own Macros via IMAP() *ls_3_12* *ls_a_bG* - *ls-new-macros* - -If you find the need to create your own macros, then you can use the IMAP() -function provided with Latex-Suite. See [|ls_a_bH|] for a short explanation of -why you might prefer IMAP() over Vim's standard :imap command. An example best -explains the usage: > - :call IMAP('NOM', '\nomenclature{<++>}<++>', 'tex') -This will create a Latex-Suite-style mapping, where if you type NOM in insert -mode, you will get \nomenclature{<++>}<++> with the cursor left in place of the -first <++> characters. See [|ls_a_bI|] for a detailed explanation of the IMAP() -command. - -For maps which are triggered for a given filetype, the IMAP() command above -should be put in the filetype plugin script for that file. For example, for -tex-specific mappings, the IMAP() calls should go in $VIM/ftplugin/tex.vim. For -globally visible maps, you will need to use the following in either your -~/.vimrc or a file in your $VIM/plugin directory. > - augroup MyIMAPs - au! - au VimEnter * call IMAP('Foo', 'foo', '') - augroup END - - - - -Why use IMAP() *ls_3_12_1* *ls_a_bH* - *why-IMAP* - -Using IMAP instead of Vim's built-in :imap command has a couple of advantages: -1. The 'ttimeout' option will generally limit how easily you can type the left - hand side for a normal :imap. if you type the left hand side too slowly, then - the mapping will not be activated. - -2. If you mistype one of the letters of the lhs, then the mapping is deactivated - as soon as you backspace to correct the mistake. - -3. The characters in lhs are shown on top of each other. This is fairly - distracting. This becomes a real annoyance when a lot of characters initiate - mappings. - - -IMAP() syntax *ls_3_12_2* *ls_a_bI* - *ls-imaps-syntax* - -Formally, the syntax which is used for the IMAP function is: > - call IMAP (lhs, rhs, ft [, phs, phe]) - - -Argument Explanation~ -lhs This is the "left-hand-side" of the mapping. When you use IMAP, only - the last character of this word is actually mapped, although the - effect is that the whole word is mapped. - - If you have two mappings which end in a common lhs, then the mapping - with the longer lhs is used. For example, if you do > - call IMAP('BarFoo', 'something', 'tex') - call IMAP('Foo', 'something else', 'tex') -< Then typing BarFoo inserts "something", whereas Foo by itself inserts - "something else". - - Also, the nature of IMAP() makes creating certain combination of - mappings impossible. For example if you have > - call IMAP('foo', 'something', 'tex') - call IMAP('foobar', 'something else', 'tex') -< Then you will never be able to trigger "foobar" because typing "foo" - will immediately insert "something". This is the "cost" which you - incur over the normal :imap command for the convenience of no - 'timeout' problems, the ability to correct lhs etc. - - -rhs The "right-hand-side" of the mapping. This is the expansion you will - get when you type lhs. - - This string can also contain special characters such as <enter> etc. - To do this, you will need to specify the second argument in - double-quotes as follows: > - :call IMAP('EFE', "\\begin{figure}\<CR><++>\\end{figure}<++>", 'tex') -< With this, typing EFE is equivalent to typing in the right-hand side - with all the special characters in insert-mode. This has the advantage - that if you have filetype indentation set up, then the right hand side - will also be indented just as if you had typed it in normally. - - *IMAP_PutTextWithMovement* *ls_a_ea* - You can also set up a Latex-Suite style mapping which calls a custom - function as follows: > - :call IMAP('FOO', "\<C-r>=MyFoonction()\<CR>", 'tex') -< where MyFoonction is a custom function you have written. If - MyFoonction also has to return a string containing <++> characters, - then you will need to use the function IMAP_PutTextWithMovement(). An - example best explains the usage: - - > - call IMAP('FOO', "\<C-r>=AskVimFunc()\<CR>", 'vim') - " Askvimfunc: Asks For Function Name And Sets Up Template - " Description: - function! AskVimFunc() - let name = input('Name of the function : ') - if name == '' - let name = "<+Function Name+>" - end - let islocal = input('Is this function scriptlocal ? [y]/n : ', 'y') - if islocal == 'y' - let sidstr = '<SID>' - else - let sidstr = '' - endif - return IMAP_PutTextWithMovement( - \ "\" ".name.": <+short description+> \<cr>" . - \ "Description: <+long description+>\<cr>" . - \ "\<C-u>function! ".name."(<+arguments+>)<++>\<cr>" . - \ "<+function body+>\<cr>" . - \ "endfunction \" " - \ ) - endfunction -< - - -ft The file type for which this mapping is active. When this string is - left empty, the mapping applies for all file-types. A filetype - specific mapping will always take precedence. - - -phs, phe If you prefer to write the rhs with characters other than <+ and +> to - denote place-holders, you can use the last 2 arguments to specify - which characters in the rhs specify place-holders. By default, these - are <+ and +> respectively. - - Note that the phs and phe arguments do not control what characters - will be displayed for the placeholders when the mapping is actually - triggered. What characters are used to display place-holders when you - trigger an IMAP are controlled by the Imap_PlaceHolderStart - [|ls_a_cV|] and Imap_PlaceHolderEnd [|ls_a_er|] settings. - - - -================================================================================ -Package Handling *ls_4* *ls_a_bJ* - *latex-packages* - -|ls_4_1| Inserting package commands -|ls_4_2| Actions taken for supported packages -|ls_4_3| Automatic Package detection -|ls_4_4| Writing supporting for a package - - -Latex-Suite has a lot of functionality written to ease working with packages. -Packages here refers to files which you include into the LaTeX document using -the \usepackage command. - - --------------------------------------------------------------------------------- -Inserting package commands *ls_4_1* *ls_a_bK* - *inserting-packages* - -When you first invoke Latex-Suite, it scans the -$VIM/ftplugin/latex-suite/packages directory for package script files and -creates a menu from all the files found there. This menu is created under -TeX-Suite > Packages > Supported. This menu contains a list of packages -"supported" by Latex-Suite. When you choose one of the packages from this menu -(for example the amsmath package), then a line of the form > - \usepackage[<++>]{amsmath}<++> -will be inserted into the current file. - -The \usepackage line can also be inserted in an easy manner in the current file -by pressing <F5> while in the preamble of the current document. This will set up -a prompt from the supported packages and ask you to choose from one of them. If -you do not find the package you want to insert in the list, you can type in a -package-name and it will use that. Pressing <F5> in the preamble on a line -containing a single word will construct a \usepackage line from that word. - -You can also use the TPackage [|ls_a_cD|] to insert the \usepackage line. - -Once you have inserted a \usepackage line, for supported packages, you can use -the Options and Commands menus described in the next section [|ls_a_bL|]. - --------------------------------------------------------------------------------- -Actions taken for supported packages *ls_4_2* *ls_a_bL* - *package-actions* - -Latex-Suite takes the following actions for packages detected when a file is -loaded, or a new \usepackage line is inserted using one of the methods described -in the previous section [|ls_a_bK|]. - -If you are using the GUI and you have g:Tex_Menus [|ls_a_dI|] set to 1, -Latex-Suite will create the following sub-menus -TeX-Suite > Packages > <package> Options - -TeX-Suite > Packages > <package> Commands - -where <package> is the package you just inserted (or was detected). You can use -these menus to insert commands, environments and options which Latex-Suite -recognizes as belonging to this package. - -NOTE: While inserting an option, you need to position yourself in the - appropriate place in the document, most commonly inside the square braces - in the \usepackage[]{packname} command. Latex-Suite will not navigate to - that location. - - -In addition to creating these sub-menus, Latex-Suite will also scan the -$VIM/ftplugin/latex-suite/dictionaries directory and if a dictionary file -corresponding to the package file is found, then it will add the file to the -'dict' setting in Vim so you can use the <C-X><C-K> command to complete words -from that file. - -For example, the SIUnits package has a custom dictionary. - - *latex-package-scanning* *ls_a_eb* -If a package detected at startup is found by Latex-Suite in the current -directory or in a location specified by the g:Tex_TEXINPUTS [|ls_a_dT|] -variable, Latex-Suite will scan the package for \newenvironment and newcommand -lines and also append any commands and environments found to the list of -commands and environments which you are prompted with when you press <F5> -[|ls_a_bh|] or <F7> [|ls_a_dW|] in insert mode. -In addition, the TeX-Suite > Packages menu also contains the following submenus - -Update ------- -This command is to be invoked with the cursor placed on the package name. If the -corresponding package is found, then a sub-menu with the supported commands and -options is created. - -Update All ----------- -This function reads the preamble of the document for \usepackage lines and if -Latex-Suite supports the detected packages, then sub-menus containing the -package options and commands are created. - - --------------------------------------------------------------------------------- -Automatic Package detection *ls_4_3* *ls_a_bM* - *automatic-package-detection* - -Whenever Latex-Suite begins editing a new LaTeX file, it scans it for -\usepackage{name} lines, and if a supported package is found, then it will -create sub-menus and add to the 'dict' setting as described above. - -If a master-file [|ls_a_ct|] has been specified, then it will scan that file -instead of the current file. See the section Custom Packages [|ls_a_bN|] to see -which files Latex-Suite will scan in more detail. - -For all the packages detected in this manner, Latex-Suite will take certain -actions as described in the section package support. [|ls_a_bL|]. - - - -Custom Packages *ls_4_3_1* *ls_a_bN* - *custom-packages* - -Often times, the preamble can become too long, and some people prefer to put -most of their personalization in a custom package and include that using a -\usepackage line. Latex-Suite tries to search such customs package for other -\usepackage lines, so that supported packages included in this indirect manner -can also be used to create sub-menus, extend the 'dict' setting etc. The most -obvious place to place such custom packages is in the same directory as the -edited file. In addition, LaTeX also supports placing custom packages in places -pointed to by the $TEXINPUTS environment variable. - -If you use the $TEXINPUTS variable in LaTeX, and you wish Latex-Suite to search -these custom packages for \usepackage lines, then you need to initialize the -g:Tex_TEXINPUTS [|ls_a_dT|] variable. - -The g:Tex_TEXINPUTS variable needs to be set in the same format which Vim uses -for the 'path' setting. This format is explained in detail if you do > - :help file-searching -from within Vim. - -Therefore the value of g:Tex_TEXINPUTS will most probably be different from -$TEXINPUTS which your native LaTeX distribution uses. - -Example: > - let g:Tex_TEXINPUTS = '~/texmf/mypackages/**,./**' -The ** indicates that all directories below the directory ~/texmf/mypackages and -./ are to be scanned for custom packages. - -NOTE: The present directory '.' is always searched. You need not include that in - g:Tex_TEXINPUTS. - - - --------------------------------------------------------------------------------- -Writing supporting for a package *ls_4_4* *ls_a_bO* - *supporting-packages* - -Supporting a package is easy and consists of writing a vim script with the same -name as the package and placing it in the $VIM/ftplugin/latex-suite/packages -directory. A package script should define two variables as described in the next -two sections. In addition to these two variables, you can also define any -functions, environment definitions etc. in this file. - - - -g:Tex_package_option_<package> *ls_4_4_1* *ls_a_bP* - -This setting is a string containing a comma separated list of options supported -by this package. - -Example: > - g:Tex_package_option_mypack = 'opt1,opt2=,sbr:group1,opt3,opt4' -The = suffix means that the option takes a value. Use sbr:group name to separate -options into sub-menus. All successive options will be clubbed into the group1 -sub-menu till the next sbr: option is encountered. - - -g:Tex_package_<package> *ls_4_4_2* *ls_a_bQ* - - > - - g:TeX_package_<package> = "pre:Command,pre:Command1" - More detailed example is in latex-suite/packages/exmpl file (slightly - outdated). - Here is short summary of prefixes which can be used in package files: - (x - place with cursor, <++> - |placeholder|) - - {env:command} Environment: creates simple environment template - \begin{command} - x - \end{command}<++> - {eno:command} Environment with option: - \begin[x]{command} - <++> - \end{command}<++> - {ens:command[<<option>>]...} Environment special: - \begin[<<option>>]...{command} - <++> - \end{command}<++> - {bra:command} Brackets: - \command{x}<++> - {brd:command} Brackets double: - \command{x}{<++>}<++> - {brs:command[<<option>>]...} Brackets special (as environment special: - \command[<+x+>]{<++>}{<++>}<++> - {nor:command} Normal: - \command<Space - {noo:command} Normal with option: - \command[x]<++> - {nob:command} Normal with option and brackets: - \command[x]{<++>}<++> - {pla:command} Plain: - command<Space - {spe:command} Special: - command <-literal insertion of command - {sep:command} creates separator. Good for aesthetics and usability :) - {sbr:command} Breaks menu into submenus. <command> will be title of submenu. - Can be used also in package variable. - - Command can be also given without prefix:. The result is - \command - - - -================================================================================ -Latex Completion *ls_5* *ls_a_bR* - *latex-completion* - -|ls_5_1| Latex-Suite completion example -|ls_5_2| Latex-Suite \ref completion -|ls_5_3| Latex-Suite \cite completion -|ls_5_4| Latex-Suite filename completion -|ls_5_5| Custom command completion - - -Latex-Suite provides an easy way to insert references to labels and -bibliographic entries and also provide filename arguments to commands such as -\includegraphics. Although the completion capabilities are very diverse, -Latex-Suite only uses a single key (<F9> by default) to do all of it. Pressing -the <F9> key does different things based on where you are located. Latex-Suite -tries to guess what you might be trying to complete at the location where you -pressed <F9>. For example, pressing <F9> when you are within a \ref command will -try to list the \label's in the present directory. Pressing it when you are in a -\cite command will list bibliography keys. Latex-Suite also recognizes commands -which need a file name argument and will put up an explorer window for you to -choose a filename. - - *ls-set-grepprg* *ls_a_eG* -NOTE: Before you start with Latex-Suite's completion function... - ---------------------------------------------------------- - All of Latex-Suite's completion capabilities depend on a external program - being available on your system which can search through a number of files - for a reg-exp pattern. On *nix systems, the pre-installed grep utility is - more than adequate. Most windows systems come with a utility findstr, but - that has proven to be very inadequate (for one, it does not have an option - to force the file name to be displayed when searching through a single - file). Your best bet is to install cygwin |ls_u_3|, but if you think - that's overkill, you can search for |ls_u_4| a windows implementation of - GNU grep. (Latex-Suite testing on windows has been done with cygwin's port - of GNU grep). - - Once you have a grep program installed, you need to set the 'grepprg' - option for vim. Make sure you use a setting which forces the program to - display file names even when you are searching through a single file. For - GNU grep, the syntax is > - set grepprg=grep\ -nH\ $* -< - - - --------------------------------------------------------------------------------- -Latex-Suite completion example *ls_5_1* *ls_a_bS* - *ls-completion-usage* - -Consider the situation where you are editing a file with two equations labelled -eqn:euler and eqn:einstein. Now you want to insert a reference to one of these -equations. To do this, you type the \ref{eqn:} command and with the cursor -placed after eqn:, press <F9>. This will bring up two new windows beneath the -main window you were working in as shown in the figure below. > - - 8 These are a couple of equations: - 9 +-- 4 lines: eqnarray (eqn:euler) : e^{j\pi} + 1 &=& 0--------------- - 13 +-- 4 lines: equation (eqn:einstein) : E = m c^2--------------------- - 17 - 18 These are a couple of figures: - 19 +-- 7 lines: figure (fig:monkeys) : Monkeys can Type------------------- - 26 +-- 7 lines: figure (fig:shakespeare) : Shakespeare could not type----- - 33 - 34 This is a reference to \ref{eqn:}<++> - 35 - 36 - 37 \end{document} - 38 - ~ - ~ - ~ - newfile.tex 34,32 Bot - newfile.tex|11| \label{eqn:euler} - newfile.tex|15| \label{eqn:einstein} - ~ - [Error List] 1,1 All - 7 - 8 These are a couple of equations: - 9 \begin{eqnarray} - 10 e^{j\pi} + 1 &=& 0 - 11 \label{eqn:euler} - 12 \end{eqnarray} - 13 \begin{equation} - 14 E = m c^2 - 15 \label{eqn:einstein} - 16 \end{equation} - newfile.tex [Preview] 11,3 21% - - - -The first window (shown as [ErrorList] above) is a |cwindow| containing a list -of possible matches for the reference. The cursor will be located in the first -line of this window. The bottom window is a preview-window showing the context -of the \label. Moving around in the [ErrorList] window automatically scrolls the -preview window so as to always keep showing the context of the \label being -viewed in the [ErrorList] window. You can also press J and K in the [ErrorList] -window to scroll the preview window up and down. - -To insert one of the labels, simply position the cursor in the correct line in -the [ErrorList] window and press <enter>. This will immediately close the two -newly opened windows, get back to the correct location in the original file -being edited and insert the label into the \ref command. - -If you notice carefully in the example above, the [ErrorList] window only showed -the matches for the equations and did not list any of the figure labels. This is -because we pressed <F9> after \ref{eqn: instead of simply after \ref{. This -caused Latex-Suite to search only for those labels which started with the string -eqn:. If you had pressed <F9> after a \ref{, you would have been shown matches -from _all_ labels, not just those starting with eqn:. - -Thus prefixing all your labels with eqn:, fig:, tab: etc. depending on what you -are labelling will lead to an easier time completing references. - --------------------------------------------------------------------------------- -Latex-Suite \ref completion *ls_5_2* *ls_a_bT* - *ls-completion-ref* - -Pressing <F9> when you are within a partially completed \ref command will split -open a window (named __OUTLINE__) which contains a nicely formatted list of all -the \labels found in the present project. The \labels are heirarchically -arranged according to which \section, \subsection etc of the overall document -structure they are present in. For example, when you first press <F9> after -typing \ref{, you should see something like: > - - +-- 54 lines: 2. Kinematics-------------------------------- - +-- 98 lines: 3. Aerodynamics of the MFI thorax------------ - +-- 40 lines: 4. Jump Resonance in Fourbar Mechanisms------ - +-- 28 lines: 5. Design and Fabrication Issues------------- - -Each chapter is |fold|ed away so that you can quickly jump to the correct -section/subsection in which the relevant equation is defined. This makes -inserting references significantly faster for large projects with hundreds of -equations. You can then open some of the folds to see for example: > - - +-- 54 lines: 2. Kinematics-------------------------------- - 3. Aerodynamics of the MFI thorax - 3.1. Aerodynamic modeling of the MFI wing forces - 3.1.1. Geometric Specification - eqn:wingnormal-pos - \nhat = T_z(\theta_2) T_y(\theta_y)T_x(\theta_x)\nhat_0, - eqn:T-1 - T_1(\theta_2) &=& T_z(\theta_2) - -The <Tab> key is mapped in this window to toggle folds so that you can quickly -open/close folds in order to navigate the heirarchy faster. Once you are -positioned on a label, press <Enter>. This closes the __OUTLINE__ window, -returns to the window in which you pressed <F9> and inserts the reference at the -current cursor position. - -NOTE: Filtering labels by prefix - -------------------------- - You can press <F9> after typing part of the \label. In this case, - Latex-Suite only presents \labels which begin with the already filled - characters. You can use this to choose between equations, figures, tables - etc. if you consistently label equations to begin with eqn:, figures to - begin with fig: etc. For example, with this scheme, pressing <F9> after - typing \ref{eqn: will only list equations. - - -NOTE: Latex-Suite works the same way if you press <F9> after any command which - contains the letters ref. Thus you can complete \eqref in exactly the same - manner. - - -NOTE: Requirements - ------------ - This method of preseting the \labels depends on Vim being compiled with - python support. To check if you have this, see the output of the :ver - command. If you see something like +python, you are all set. Failing this, - you will need to have python somewhere in your $PATH. - - - --------------------------------------------------------------------------------- -Latex-Suite \cite completion *ls_5_3* *ls_a_bU* - *latex-completion-cite* - -Latex-Suite provides an easy way to insert references to bibliographic entries. -Pressing <F9> when the cursor is placed inside a partially completed \cite -command will split open a new window (named __OUTLINE__) which contains a -formatted and syntax highlighted list of all bibtex entries found. For example, -pressing <F9> after typing \ref{ should present you with a window which looks -something like this: > - - Article [dickinson:science:99] - "Wing rotation and aerodynamic basis of insect flight" - M. H. Dickinson and F-O. Lehman and S. P. Sane - In Science, 1999 - - Article [ellington:84:part1] - "The Aerodynamics of Hovering Insect Flight. I. The Quasi-Steady Analysis" - Ellington, C P - In Philosophical Transactions of the Royal Society of London. Series B, Biological Sciences, 1984 - - Article [ellington:84:part2] - "The Aerodynamics of Hovering Insect Flight. II. Morphological Parameters" - Ellington, C P - In Philosophical Transactions of the Royal Society of London. Series B, Biological Sciences, 1984 - - - -You can easily jump from one entry to another using the 'n' and 'p' keys (to go -to the next / previous entry respectively). - -You can also filter out a subset of the bibtex entries by pressing 'f' while in -this window. Doing this presents the following prompt: > - - Field acronyms: (`:let g:Tex_EchoBibFields = 0` to avoid this message) - [t] title [a] author [b] booktitle - [j] journal [y] year [p] bibtype - (you can also enter the complete field name) - Enter filter criterion [field<space>value]: - -At the prompt, type > - a ellington -Notice that the letter a is an acronym for author according to the prompt above. -Therefore this filter only shows those bibtex entries whose author field -contains the text ellington. You can keep narrowing your selection by repeatedly -filtering the results. If you would like to remove all the filters and see all -entries again, press 'a', which removes all the filters. - -You can also sort the bibtex entries based on a field. To do this, press 's'. -This will present you with a prompt like in the case of the filter and you are -asked to choose a field. In this case, you would type in a single character. -This sorts the entries according to that field. - -NOTE: <F9> will also work in a similar way after any command which contains the - word cite in it. For example, pressing <F9> will also work with \citenum - etc. - - -The following logic is applied to find out which bibliographic entries are -included in the completion. - - -1. Firstly, if the present file has a master-file [|ls_a_ct|] defined for it, - then Latex-Suite will perform the following steps on that file instead of on - the current file. - -2. First, the file is scanned for a \bibliography command. To explain better, - assume that a command > - \bibliography{file1,file2} -< is found in the present file. For each bibliography file, say file1, - Latex-Suite first tries to see if a .bib file, file1.bib can be found. If so, - it will scan it for bib-keys of the form @BOOK{ etc., and add these searches - to the completion list. If a .bib file cannot be found, then it will try to - see if file1.bbl can be found. If so, Latex-Suite will search it for bib-keys - of the form \bibitem and add these to the completion list. - - You can set the location where Latex-Suite will search for .bib and .bbl - files using the |Tex_BIBINPUTS| [|ls_a_dr|] variable. - -3. If a \bibliography command is not found, then Latex-Suite tries to scan the - present file for a \begin{thebibliography} environment. If found, Latex-Suite - searches the present file for bib-keys of the form \bibitem. - -4. Finally, it will try to see if this file includes other files via the \input - command. For each such file found, Latex-Suite will repeat the previous two - steps stopping at the first file which has either a \bibliography command or - a thebibliography environment. - - -Caching the \cite completion results *ls_5_3_1* *ls_a_bV* - *cite-search-caching* - - *TClearCiteHist* *ls_a_ec* -Often times, the editing cycle proceeds by first laying out a comprehensive -bibliography and then completing all the \cite commands in one session. In such -situations, it is inefficient to scan the whole list of bibliography files for -bib-keys each time. Latex-Suite provides a way to cache the results of the cite -completion search using the Tex_RememberCiteSearch [|ls_a_du|] variable. If set, -Latex-Suite will perform the search only the first time <F9> is used. Next time -on, it will reuse the search results. If you wish to redo the search results, -issue the command > - TClearCiteHist -This will redo the completion list next time you use <F9>. - --------------------------------------------------------------------------------- -Latex-Suite filename completion *ls_5_4* *ls_a_bW* - *ls-filename-completion* - -When you press <F9> at a location where Latex-Suite guesses a filename needs to -be typed, then a new explorer window will open up with the list of files. You -can use this window to change directories etc. Pressing <enter> on a filename in -the explorer window will automatically close the explorer window, return to the -location where you pressed <F9> from and insert the filename into that position. - -Latex-Suite also tries to guess what kinds of files you might not want to insert -and hides those accordingly. For example, if you press <F9> when you are located -at \includegraphics{, then Latex-Suite knows that you will not want to insert -.tex files. Therefore, the explorer window will automatically hide these files. - -As of now, Latex-Suite recognizes the following commands for filename -completion. Along with the commands, this table also lists the files which -Latex-Suite will not show for completing each command. - -command hide pattern~ -\bibliography '^\.,\.[^b]..$' -\include \includeonly '^\.,\.[^t]..$' -\includegraphics \psfig '^\.,\.tex$,\.bib$,\.bbl$,\.zip$,\.gz$' -\input '' - --------------------------------------------------------------------------------- -Custom command completion *ls_5_5* *ls_a_bX* - *ls-completion-custom* - -Latex-Suite also recognizes certain commonly used LaTeX commands for the <F9> -key. At the moment, the \bibliographystyle, \addtocontents and the -\addcontentsline commands are recognized, although more will be added in the -future. When you press the <F9> after such a command, Latex-Suite will prompt -you with a list of arguments which make sense for the command. - -This functionality is available for commands for which a global variable of the -form g:Tex_completion_{<command>} is defined where <command> is the command -name. This variable is a comma separated list of values which this command -takes. For example, the argument to the \bibliographystyle command is commonly -one of abbr,alpha,plain,unsrt. Therefore, Latex-Suite defines > - let g:Tex_completion_bibliographystyle = 'abbr,alpha,plain,unsrt' -You can define your own completion variables in a similar manner for commands -which you might use. - -================================================================================ -LaTeX Compiling *ls_6* *ls_a_bY* - *latex-compiling* - -|ls_6_1| Setting Compilation rules -|ls_6_2| Handling dependencies in compilation -|ls_6_3| Compiling multiple times -|ls_6_4| Customizing the compiler output -|ls_6_5| Compiling parts of a file - - -This functionality, available via the TeX-Suite menu, provides various tools to -compile and debug LaTeX files from within Vim. - -If you are using commonly used LaTeX tools, then you should be all set as soon -as you download and install Latex-Suite. In order to compile a LaTeX file, -simply press \ll while editing the file. This runs latex on the current file and -displays the errors in a |quickfix-window| below the file being edited. You can -then scroll through the errors and press <enter> to be taken to the location of -the corresponding error. Along with the errors being listed in the quickfix -window, the corresponding log file is also opened in |preview| mode beneath the -quickfix window. It is scrolled automatically to keep in sync with the error -being viewed in the quickfix window. You will be automatically taken to the -location of the first error/warning unless you set the g:Tex_GotoError -[|ls_a_dD|] variable to 0. - -Latex-Suite also supports compiling LaTeX into formats other than DVI. By -default, Latex-Suite supports PDF and PS formats. In order to choose a format -other than DVI, use the TTarget command or the TeX-Suite > Target Format menu -item. This will ask you to type in the name of the target format you want to -compile to. If a rule has been defined for the format (as described in the next -section [|ls_a_bZ|]), then Latex-Suite will switch to that format. - -Trying to choose a format for which no rule has been defined will result in -Latex-Suite displaying a warning message without taking any action. - -If you are using a multiple file project and need to compile a master file while -editing other files, then Latex-Suite provides a way to specify the file to be -compiled as described in latex-master-file [|ls_a_ct|]. - - --------------------------------------------------------------------------------- -Setting Compilation rules *ls_6_1* *ls_a_bZ* - *compiler-rules* - -In order to compile LaTeX files into various formats, Latex-Suite needs to know -which external programs to call and in which way they need to be called. This -information is provided to Latex-Suite via a number of "rules". For each format -you want to compile to, you need to specify a rule. A rule is specified by -defining a variable of the form: > - g:Tex_CompileRule_<format> -where <format> is a string like "pdf", "dvi" etc. - -Example: By default, Latex-Suite uses the following rule for compiling LaTeX -documents into DVI. > - g:Tex_CompileRule_dvi = 'latex --interaction=nonstopmode $*' - - -Default values are also provided for ps and pdf formats. You might want to -change these rules in texrc according to your local tex environment. - -NOTE: For win32 users user MikTeX, sometimes the latex compiler's output has a - bug where a single number is split across different lines. In this case, - put the included vim-latex file distributed with Latex-Suite. - - - --------------------------------------------------------------------------------- -Handling dependencies in compilation *ls_6_2* *ls_a_ca* - *compiler-dependency* - -Latex-Suite also handles compiling dependencies automatically via certain rules -which specify the "dependency chain" for each target format. For example, if in -your case, you use > - .tex -> .dvi -> .ps -> .pdf -to generate pdf files from dvi files, then you will need to specify the -following setting in your Latex-Suite configuration (see customizing Latex-Suite -[|ls_a_cP|] for where these settings should go): > - - let g:Tex_FormatDependency_pdf = 'dvi,ps,pdf' - -This is a comma separated string of formats specifying the order in which the -formats to be compiled into should be chosen. With this setting, if you set the -target format to pdf, then the next time you compile via the \ll shortcut, -Latex-Suite will first generate a dvi file, then use that to generate the ps -file and finally create the pdf file from that. - -NOTE: If any of the intermediate formats is listed in the - g:Tex_MultipleCompileFormats setting as described in the section Compiling - multiple times [|ls_a_cb|], then Latex-Suite might make multiple calls to - the compiler to generate the output file of that format. - - -Along with the g:Tex_FormatDependency_{format} setting, you should ofcourse -specify the rule for compiling to each of the formats as described in the -previous section [|ls_a_bZ|]. For example, with the setting above, you could -use: > - - let g:Tex_CompileRule_dvi = 'latex --interaction=nonstopmode $*' - let g:Tex_CompileRule_ps = 'dvips -Ppdf -o $*.ps $*.dvi' - let g:Tex_CompileRule_pdf = 'ps2pdf $*.ps' - - -NOTE: By default, Latex-Suite does not specify any compiler dependencies. Each - target format for which a rule has been derived will be compiled - independently. - - - --------------------------------------------------------------------------------- -Compiling multiple times *ls_6_3* *ls_a_cb* - *compiling-multiple* - -Most LaTeX compilers need to be re-run several times in several commonly -occurring situations in order to get a final camera ready copy. For example, -when \label's change, when new \cite commands are added etc. If the target -format you are compiling to requires multiple compilations, then you will need -to include the format in the g:Tex_MultipleCompileFormats setting. This is a -comma separated string of formats which need multiple compilations to be -generated correctly. - -By default, this setting contains just the dvi format. If you use the pdflatex -compiler to generate pdf files, then you might want to also include pdf into the -above setting. - -For every format included in the g:Tex_MultipleCompileFormats setting described -above, Latex-Suite will use the following logic to generate the file. Note that -although the following description uses latex to refer to the compiler, it could -be some other compiler such as pdflatex for generating pdf output. - -1. If there was a .idx file, then remember its contents. - -2. Run latex. - -3. If the .idx file changed due to the latex compiler, then run makeindex to - redo the .ind file and then remember to rerun latex. - -4. If the .aux file generated by the latex compiler contains a \bibdata line, - then it means that we are using a .bib file. Therefore, run bibtex. - - NOTE: This means that we will always run bibtex whenever we use the - \bibliography command whether or not we actually need to. At this time, - Latex-Suite does not parse the .aux file before and after the latex - compiler to see if we are required to rerun bibtex. - -5. If the .bbl file changes because of this, then remember to rerun latex again. - -6. Also, we check to see if the LaTeX compiler gives certain standard warnings - which notify that we need to compile once again. In this case also, remember - to rerun LaTeX. - -7. If we found we had to rerun latex, then we repeat the steps above but not - running makeindex or bibtex again. - -The LaTeX file is compiled atmost 5 times using this logic. These steps will -ensure that on most platforms/environments, you will get a clean output with all -the cross-references, citations etc correctly labelled and ordered. - --------------------------------------------------------------------------------- -Customizing the compiler output *ls_6_4* *ls_a_cc* - *compiler-output-customization* - -Most LaTeX compilers produce a very large amount of output during compilation, -most of which is not relevant to debugging type-setting errors. The compiler -plugin provided with Latex-Suite (which is an enhanced version of the standard -compiler plugin maintained by Artem Chuprina), provides a way to filter the -compiler output so that the actual errors/warnings can be presented much more -concisely. - -The compiler plugin is set up by default to function in a "non-verbose", -"ignore-common-warnings" mode, which means that irrelevant lines from the -compiler output will be ignored and some very common warnings are also ignored. -Latex-Suite does this via the global variable g:Tex_IgnoredWarnings [|ls_a_dA|]. -This is a list of patterns, which can be used to filter out (or ignore) some or -the warnings and errors reported by the compiler. See the link above for its -default value. - -Latex-Suite uses the g:Tex_IgnoreLevel [|ls_a_dB|] setting to set a default -ignore level. For example, for the default value of 4, Latex-Suite ignores -warnings and errors matching the first 4 patterns in g:Tex_IgnoredWarnings. - -In addition to setting a default value of the ignore level, Latex-Suite provides -the ability to set the level dynamically, using the TCLevel command. For -example, if you issue the command: > - TCLevel 3 -from within Vim, then the next time you compile the document, Latex-Suite will -ignore warnings and errors which match the first three patterns in -g:Tex_IgnoredWarnings. - -When TCLevel is called with the unquoted string strict as follows: > - TClevel strict -then Latex-Suite switches to a "verbose", "no-lines-ignored" mode which is -useful when you want to make final checks of your document and want to be -careful not to let things slip by. - -See the explanation of the settings g:Tex_IgnoredWarnings [|ls_a_dA|] and -g:Tex_IgnoreLevel [|ls_a_dB|] to find out how to customize the filtering done by -Latex-Suite - --------------------------------------------------------------------------------- -Compiling parts of a file *ls_6_5* *ls_a_cd* - *part-compiling* - -Latex-Suite also provides a way to compile a fragment of a document. This can be -very useful while debugging a complex equation or one chapter in a book, etc. - -To do this, visually select a portion of the text and press \ll while in visual -mode. The visually selected portion will be saved to a temporary file with the -preamble from the current document prepended. Latex-Suite will then switch focus -to this temporary file and compile it. Continue to debug this file as required -and then replace the portion of the original file with this one. - -Pressing \lv while viewing the temporary file will view the output file -generated from the temporary file, not the original file - -Two commands |TPartComp| and |TPartView| are provided to be able to get this -functionality via the command line. - -From release 1.6 onwards of Latex-Suite, the temporary file created for part -compilation will reside in the same directory as the file from which the -fragment is being created. This ensures that any relative path-names defined in -the fragment will still work. Latex-Suite will attempt to clean the temporary -file(s) created when Vim exits. - -================================================================================ -Latex Viewing and Searching *ls_7* *ls_a_ce* - *latex-viewing* - -|ls_7_1| Setting Viewing rules -|ls_7_2| Forward Searching DVI documents -|ls_7_3| Inverse Searching - - - --------------------------------------------------------------------------------- -Setting Viewing rules *ls_7_1* *ls_a_cf* - *latex-viewing-rules* - -In order to view the output files created by compiling the source files, you -need to specify which external program Latex-Suite should call. You can specify -the external program using one of two settings Tex_ViewRule_format [|ls_a_dF|] -or Tex_ViewRuleComplete_format [|ls_a_dG|]. By default, Latex-Suite has default -settings for viewing various common output formats via the Tex_ViewRule_format -settings, so that if you are using commonly used programs, you should be all set -to view compiled files from within Vim by simply pressing \lv. - -NOTE: The viewing function also takes the *.latexmain [|ls_a_ct|] file into - account to decide which file to show. - - -If pressing \lv does not work, then it most probably has to do with incorrect -settings of the g:Tex_ViewRule_<format> [|ls_a_dF|] where <format> is the format -you are attempting to view. See the link above for how to set this according to -your system. - -In addition to viewing the files, Latex-Suite also supports forward and inverse -searching for certain common tools for viewing DVI documents. At the moment, -there is built-in support for YAP on windows (which ships with MikTeX), and the -popular xdvi on *nix platforms. See the next few sections for details on forward -and inverse searching. - --------------------------------------------------------------------------------- -Forward Searching DVI documents *ls_7_2* *ls_a_cg* - *forward-searching* - -Forward searching refers to making a DVI viewer display a given document at a -given location from within Vim. At present, this functionality is supported for -YAP on windows and xdvi on *nix machines. Pressing \ls from within Vim should -make the DVI viewer display the portion of the document where your cursor is -placed. - - *enabling-searching* *ls_a_ed* -NOTE: Enabling Forward and Inverse Searching - -------------------------------------- - Most DVI viewers need "source-special" information in order to do forward - (and inverse) searching. This information is embedded in the dvi file if - the LaTeX source is compiled with the --src-specials option. By default, - Latex-Suite does not supply this argument to the compiler. See the section - on to find out how this option can be set. - - - --------------------------------------------------------------------------------- -Inverse Searching *ls_7_3* *ls_a_ch* - *inverse-searching* - -Inverse searching refers to the DVI viewer telling Vim to display the LaTeX -source file at a given location when you double-click in the DVI viewer window. - -You will need to enable searching [|ls_a_ed|] in order to use this -functionality. - -You will also need to specify certain settings to the DVI viewer conveying the -syntax which it needs to use to tell Vim how to display the source file. In YAP, -you can set this option in View > Options > Inverse Search. The Command Line -field needs to be set as follows: > - "C:\Program Files\vim\vim61\gvim" -c ":RemoteOpen +%l %f" -The command :RemoteOpen is supplied when you install Latex-Suite. - -On *nix machines, Latex-Suite attempts to call the DVI viewer in such a way that -it already knows how to communicate with Vim. If this does not seem to be -working, you can use the RemoteOpen command described above. - -================================================================================ -Latex Folding *ls_8* *ls_a_ci* - *latex-folding* - -|ls_8_1| Default Folding Scheme in Latex-Suite -|ls_8_2| Customizing what to fold -|ls_8_3| Editing the folding.vim file directly - - -Latex-Suite ships with the plugin SyntaxFolds.vim which is a plugin for creating -"fake" syntax folds on the fly. The fold method is actually manual but the -folding is based on LaTeX syntax. This offers a speed increase over regular -syntax folding. Ofcourse it has the disadvantage that the folds are not dynamic, -i.e newly created syntax items are not automatically folded up. (This is a -compromise between speed and convenience). - -When you open up a LaTeX file, all the portions will be automatically folded up. -However, no new folds will be created until you press <F6> or \rf. (rf stands -for "refresh folds"). - -The fold-text is set to the first line of the folded text unless the fold is a -table, figure etc. (an environment). In this case, if a \caption and/or a label -is found in the folded region, then those are used to make a more meaningful -fold-text, otherwise the second line of the environment is displayed along with -the name of the environment. In other words, the following > - \begin{figure}[h] - \centerline{\psfig{figure=slidercrank.eps,height=6cm}} - \caption{The Slider Crank Mechanism.} - \label{fig:slidercrank} - \end{figure} - % a LaTeX comment. - \begin{eqnarray} - \sin(\pi) = 0 - \end{eqnarray} - - -will be shown as: > - +--- 5 lines: figure (fig:slidercrank) : The Slider Crank Mechanism. ----- - % a LaTeX comment. - +--- 3 lines: eqnarray () : \sin(\pi) = 0 -------------------------------- - - - --------------------------------------------------------------------------------- -Default Folding Scheme in Latex-Suite *ls_8_1* *ls_a_cj* - *default-folding* - -By default Latex-Suite creates folds in the following manner: - - > - \chapter - \section - %%fakesection - \subsection - \subsubsection - \item - \equation - \eqnarray - \figure - \table - \footnote -The indentation shows the "nestedness" of the folding scheme. See the next -section [|ls_a_ck|] to see how you can change this scheme. - --------------------------------------------------------------------------------- -Customizing what to fold *ls_8_2* *ls_a_ck* - *customizing-what-to-fold* - -From version 1.6 onwards, the folding in Latex-Suite can be controlled to a -large extent via a number of global variables. - - - -Tex_FoldedSections *ls_8_2_1* *ls_a_cl* - *Tex_FoldedSections* - -This entry defines which sections will be folded. This setting is a comma -separated list of section names. The default value is: > - part,chapter,section,%%fakesection, - subsection,subsubsection,paragraph -Each of the entries in the list will fold up a section of the corresponding -name. The %%fakesection section is provided as a means for the user to group -lines into "fake" sections. A %%fakesection is assumed to start on a line which -begins with the string %%fakesection and continue till the start of the next -\section, \subsection or any other section. - -See also advanced fold settings [|ls_a_cp|]. - - -Tex_FoldedEnvironments *ls_8_2_2* *ls_a_cm* - *Tex_FoldedEnvironments* - -This entry defines which environments will be folded. It is a comma separated -string of words each of which defines a single environment. The default setting -is > - verbatim,comment,eq,gather, - align,figure,table,thebibliography, - keywords,abstract,titlepage -The words need not be standard Latex environments. You can add any word you -like. Also, each word will fold up all environments whose name begins with that -word. For example, in the setting above, the word "eq" folds up the -\begin{equation}, \begin{eqnarray}, \begin{eqnarray*} environments. To avoid -this, you can replace the word "eq" with "eq}". - -See also advanced fold settings [|ls_a_cp|]. - - -Tex_FoldedCommands *ls_8_2_3* *ls_a_cn* - *Tex_FoldedCommands* - -This entry defines which commands will be folded. It is a comma separated string -of words each of which defines a single command. The default setting is empty, -i.e no commands are folded. The words need not be standard Latex commands. You -can use whatever words you like. Each word will fold all commands whose name -begins with that word as in the case of the Tex_FoldedEnvironments [|ls_a_cm|] -variable. - -NOTE: It is very difficult to fold commands reliably because it is very - difficult to create a regexp which will match a line containing unmatched - parentheses (or curly brackets), but will not match a line containing - matched parentheses. - - Just to make things safer, only lines which start a command but do not - contain additional curly braces after the command has started are folded. - In other words, if you wanted to fold the the command "mycommand", then - the lines > - \mycommand{This is a line - and some more text on the next line - } -< will be folded, but the lines > - \mycommand{This is a \textbf{line} - and some more text - } -< will not be folded. This is a bug which is very difficult to fix. - - -See also advanced fold settings [|ls_a_cp|]. - - -Tex_FoldedMisc *ls_8_2_4* *ls_a_co* - *Tex_FoldedMisc* - -This entry defines fold syntax for certain items which do not naturally fit into -the section, environment of command lists. It is a comma separated list of -words. The default value is: > - item,preamble,<<< -NOTE: Unlike the other Tex_FoldedXXXX variables, the words in this setting are - limited to take values from the following list: - - Value Meaning~ - comments Folds up contiguous blocks of comments - item Folds up the \items within list environments - preamble Folds up the preamble of a document. (The part between the - \documentclass command and the \begin{document} environment) - <<< Folds defined manually by the user using the <<< and >>> strings - as fold-markers. - - Any other words in the Tex_FoldedMisc setting are silently ignored. - - - -See also advanced fold settings [|ls_a_cp|]. - - -Advanced Fold setting details *ls_8_2_5* *ls_a_cp* - *fold-setting-advanced* - -The order of the words in the Tex_FoldedXXXX variables is _important_. The order -defines the order in which the folds are nested. For example, the value -"subsection,section" for the Tex_FoldedSections variable will not fold any -subsections at all. This is because the folds are created in the _reverse_ order -in which they occur in the Tex_FoldedSections setting and also, once a fold is -created, the interior of the fold is not examined for creating additional folds. -In the above case, this means that a \section is folded first and then its -interior is not examined further. The correct value should have been -"section,subsection" - - *fold-setting-adding* *ls_a_ee* -Each of the fold setting variables Tex_FoldedSections, Tex_FoldedEnvironments -etc., as explained previously is a comma separated string of variables. However, -to make it easier to _add_ to the default settings without having to repeat the -whole default setting again, Latex-Suite uses the following logic in forming the -complete setting string from the Tex_FoldedXXXX variables. If the variable -starts with a comma, then Tex_FoldedXXXX is added to the end of the default -string rather than replacing it. Similarly, if it ends with a comma, then it -will be prepended to the beginning of the default setting rather than replacing -it. - -For example, if Tex_FoldedEnvironments is set to the string "myenv", then only -an environment of the form \begin{myenv} will be folded. However, if the -Tex_FoldedEnvironments setting is ",myenv", then the \begin{myenv} environment -will be folded after all other environments in the default setting have been -folded. On the other hand if Tex_FoldedEnvironments is of the form "myenv,", the -\begin{myenv} environment will be folded before the rest of the environments in -the default setting. - --------------------------------------------------------------------------------- -Editing the folding.vim file directly *ls_8_3* *ls_a_cq* - *editing-folding* - -If you are using version 1.5 of Latex-Suite or older, you will need to directly -edit the $VIM/ftplugin/latex-suite/folding.vim file if you wish to modify the -folding scheme. You will need to modify the function MakeTexFolds() defined in -that file to modify the fold syntax. MakeTexFolds makes a number of calls to -AddSyntaxFoldItem. Each such call defines a new "fold item". The order in which -these calls are made defines how the folds are nested. For example, if you -desire an figure environment to be nested within a section, then you should -define the fold for the figure first. The syntax of AddSyntaxFoldItem is as -follows: > - AddSyntaxFoldItem(startpat, endpat, startoff, endoff [, startskip, endskip]) -If the last two arguments are omitted, then they are assumed to default to the -empty strings ''. The explanation for each argument is as follows: - -Argument Explanation~ -startpat a line matching this pattern defines the beginning of a fold. -endpat a line matching this pattern defines the end of a fold. -startoff this is the offset from the starting line at which folding will - actually start -endoff like startoff, but gives the offset of the actual fold end from the - line satisfying endpat. startoff and endoff are necessary when the - folding region does not have a specific end pattern corresponding to - a start pattern. for example in LaTeX, \section{Section Name} defines - the beginning of a section, but there is no command which - specifically ends a section. Thus a \section is assumed to end 1 line - _before_ another section starts. -startskip A Pattern Which Defines The Beginning Of A "Skipped" Region. - - For example, suppose we define a \itemize fold as follows: > - = '^\s*\\item', - = '^\s*\\item\|^\s*\\end{\(enumerate\|itemize\|description\)}', - = 0, - = -1 -< - - This defines a fold which starts with a line beginning with an \item - and ending one line before a line beginning with an \item or - \end{enumerate} etc. - - Then, as long as \item's are not nested things are fine. However, - once items begin to nest, the fold started by one \item can end - because of an \item in an \itemize environment within this \item. - i.e, the following can happen: > - \begin{itemize} - \item Some text <------- fold will start here - This item will contain a nested item - \begin{itemize} <----- fold will end here because next line contains \item... - \item Hello - \end{itemize} <----- ... instead of here. - \item Next item of the parent itemize - \end{itemize} -< - - Therefore, in order to completely define a folding item which allows - nesting, we need to also define a "skip" pattern. startskip and end - skip do that. Leave '' when there is no nesting. -endskip the pattern which defines the end of the "skip" pattern for nested - folds. - -NOTE: Example 1 - --------- - A syntax fold region for the latex section is defined with the following - arguments to AddSyntaxFoldItem: > - startpat = "\\section{" - endpat = "\\section{" - startoff = 0 - endoff = -1 - startskip = '' - endskip = '' -< Note that the start and end patterns are thus the same and endoff has a - negative value to capture the effect of a section ending one line before - the next starts. - - -NOTE: Example 2 - --------- - A syntax fold region for the \itemize environment is: > - startpat = '^\s*\\item', - endpat = '^\s*\\item\|^\s*\\end{\(enumerate\|itemize\|description\)}', - startoff = 0, - endoff = -1, - startskip = '^\s*\\begin{\(enumerate\|itemize\|description\)}', - endskip = '^\s*\\end{\(enumerate\|itemize\|description\)}' -< Note the use of startskip and endskip to allow nesting. - - - -================================================================================ -Multiple file LaTeX projects *ls_9* *ls_a_cr* - *latex-project* - -|ls_9_1| Latex-Suite project settings -|ls_9_2| Specifying which file to compile - - - *latex-project-example* *ls_a_ef* -Many LaTeX projects contain multiple source files which are \included from a -master file. A typical example of this situation is a directory layout such as -the following - - > - thesis/ - main.tex - abstract.tex - intro/ - intro.tex - figures/ - fig1.eps - fig2.eps - chapter1/ - chap1.tex - figures/ - fig1.eps - conclusion/ - conclusion.tex - figures/ - - -In the above case, main.tex will typically look like - - > - % file: main.tex - \documentclass{report} - \begin{document} - - \input{abstract.tex} - \input{intro/intro.tex} - \input{chapter1/chap1.tex} - \input{conclusion/conclusion.tex} - - \end{document} - - - *latex-master-file-specification* *ls_a_eg* -In such situations, you will need to convey to Latex-Suite that main.tex is the -main file which \inputs the other files. This is done by creating a file called -main.tex.latexmain in the same directory in which main.tex resides. This file is -called the _master file_ in this manual. See Tex_MainFileExpression [|ls_a_eh|] -for an alternative way of specifying the master file. - -NOTE: Here main.tex.latexmain is (obviously) a different file from main.tex - itself. main.tex need not be renamed. This ofcourse restricts each - directory to have a single master file. - - -Each time Latex-Suite opens a new LaTeX file, it will try to see if it is part -of a multiple file project by searching upwards (to the root of the file-system) -from the current file's directory to see if it finds a file of the form -*.latexmain. If such a file is found, then it is considered that the current -file is part of a larger project. The name of the LaTeX master file is inferred -directly from the first part of the *.latexmain file as described in the example -above. - - --------------------------------------------------------------------------------- -Latex-Suite project settings *ls_9_1* *ls_a_cs* - *latex-project-settings* - -If a master file [|ls_a_ct|] is found, then Latex-Suite :sources the file. Thus -this file needs to contain valid Vim commands. This file is typically used to -store project specific settings. - -Some typical per-project settings which are best put in the master file are -Tex_ProjectSourceFiles [|ls_a_dt|] - --------------------------------------------------------------------------------- -Specifying which file to compile *ls_9_2* *ls_a_ct* - *latex-master-file* - -In the example described previously [|ls_a_ef|], if you are editing -intro/intro.tex and press \ll, then you still want Latex-Suite to compile -main.tex, because intro/intro.tex is merely a fragment which is \input'ed into -main.tex. If the master file is already specified using the *.latexmain -convention described previously [|ls_a_ef|], then Latex-Suite will automatically -compile the master file when you are editing any of its \input'ed fragments. -Thus pressing \ll while editing intro/intro.tex will compile main.tex. - - *Tex_MainFileExpression* *ls_a_eh* -If you wish to use some different logic to specify the main file name, you can -specify a custom expression via the Tex_MainFileExpression variable. This is a -string containing a valid vim expression. In addition, you can use a variable -modifier which is in the format used for |filename-modifiers|, for example, -':p:h'. You should utilize this variable to modify the filename of the main -file. > - let g:Tex_MainFileExpression = 'MainFile(modifier)' - function! MainFile(fmod) - if glob('*.latexmain') != '' - return fnamemodify(glob('*.latexmain'), a:fmod) - else - return '' - endif - endif - - -================================================================================ -Latex-Suite Commands and Maps *ls_10* *ls_a_cu* - *latex-suite-commands-maps* - -|ls_10_1| Latex-Suite Maps -|ls_10_2| Latex Suite Commands - - -This section describes the maps and commands used in Latex-Suite. It also -describes a way to change the map sequences according to your preference. - - --------------------------------------------------------------------------------- -Latex-Suite Maps *ls_10_1* *ls_a_cv* - *latex-suite-maps* - - *remapping-latex-suite-keys* *ls_a_ei* -Most of the mappings used in Latex-Suite can be mapped to a different key -combination to suit your particular needs. An example best explains the -procedure for doing this. Suppose you want to remap the <C-j> key which -Latex-Suite (actually imaps.vim) uses to jump to the next placeholder. To do -this, you first need to find out which <Plug> mapping <C-j> is derived from. You -will need to look at the relevant section of this manual to do this. For -example, the section IMAP mappings [|ls_a_cw|] has the information that the -<C-j> key is derived from <Plug>IMAP_JumpForward. Therefore to remap the <C-j> -key to say <C-space>, you will need to put a statement like the following in -your ~/.vimrc. > - imap <C-space> <Plug>IMAP_JumpForward - - -NOTE: To change the IMAP mappings which affect jumping between placeholders, the - map statement above has to be placed in your ~/.vimrc. For other mappings - you can place the map statement in your $VIM/ftplugin/tex.vim file. The - reason for this is that the <C-j> maps are created in plugin/imaps.vim, - which is sourced as soon as Vim starts before sourcing any ftplugin files. - - - - -IMAP mappings *ls_10_1_1* *ls_a_cw* - *customize-imap-maps* - -These mappings are utilized for jumping between placeholders as described here -[|ls_a_eD|]. See the parent section [|ls_a_cv|] to find out how to use this -information to change the default maps. - - *Plug_IMAP_JumpForward* *ls_a_ej* - *Plug_IMAP_JumpBack* *ls_a_ek* - *Plug_IMAP_DeleteAndJumpForward* *ls_a_el* - *Plug_IMAP_DeleteAndJumBack* *ls_a_em* -Plug map Default Key~ -<Plug>IMAP_JumpForward <C-j> -<Plug>IMAP_JumpBack (none) -<Plug>IMAP_DeleteAndJumpForward (none) -<Plug>IMAP_DeleteAndJumpBack (none) - -<Plug>IMAP_JumpForward takes you to the location of the next place-holder -[|ls_a_eD|]. - -<Plug>IMAP_JumpBack takes you to the previous place-holder [|ls_a_eD|]. - -<Plug>IMAP_DeleteAndJumpForward deletes the presently selected place-holder and -jumps to the next place-holder irrespective of whether the present placeholder -is empty or not and ignoring the value of place-holder settings like -g:Imap_DeleteEmptyPlaceHolders [|ls_a_cW|] and g:Imap_StickyPlaceHolders -[|ls_a_cX|] - -<Plug>IMAP_DeleteAndJumpBack deletes the presently selected place-holder and -jumps to the previous place-holder irrespective of whether the present -placeholder is empty or not and ignoring the value of place-holder settings like -g:Imap_DeleteEmptyPlaceHolders [|ls_a_cW|] and g:Imap_StickyPlaceHolders -[|ls_a_cX|] - - -Alt-Key mappings *ls_10_1_2* *ls_a_cx* - *customize-alt-key-maps* - -These mappings are are described in the section Alt key macros [|ls_a_bA|]. See -the parent section [|ls_a_ei|] to see how to use the following information to -remap keys. - - *Plug_Tex_MathBF* *ls_a_en* - *Plug_Tex_MathCal* *ls_a_eo* - *Plug_Tex_LeftRight* *ls_a_ep* - *Plug_Tex_InsertItem* *ls_a_eq* -Plug Mapping Default Key~ -<Plug>Tex_MathBF <Alt-B> -<Plug>Tex_MathCal <Alt-C> -<Plug>Tex_LeftRight <Alt-L> -<Plug>Tex_InsertItem <Alt-I> - --------------------------------------------------------------------------------- -Latex Suite Commands *ls_10_2* *ls_a_cy* - *latex-suite-commands* - - - -:TMacro [{macro}] *ls_10_2_1* *ls_a_cz* *TMacro* - -When used without any arguments lists all available macros defined in runtime -ftplugin/latex-suite/macros/ directories and prompts you to choose one of them. -With one argument |:read| this macro under cursor position. With more than one -argument it will not work :) In Vim >= 6.2 works completion of names of macros -(see 'wildmenu', 'wildmode' for more about command-line completion). - - -:TMacroEdit [{macro}] *ls_10_2_2* *ls_a_cA* - *TMacroEdit* - -Splits window for editing {macro}. When used without any arguments lists all -available macros defined in runtime ftplugin/latex-suite/macros/ directories and -prompt you to choose one of them. When you try to edit {macro} not from local -directory Latex-Suite will copy it to your local directory with suffix "-local". -If local copy already exists Latex-Suite prompt for overwriting it. In Vim >= -6.2 works completion of names of macros (see 'wildmenu', 'wildmode' for more -about command-line completion). - - -:TMacroNew *ls_10_2_3* *ls_a_cB* - *TMacroNew* - -Splits window to write new macro. Directory in new buffer is locally changed to -Latex-Suite/macros/. - - -:TMacroDelete [{macro}] *ls_10_2_4* *ls_a_cC* - *TMacroDelete* - -Delets {macro} from your local ftplugin/latex-suite/macros/ directory. When used -without any arguments lists all available macros defined in Latex-Suite/macros/ -directory and prompt you to choose one of them. When you choose to delete -{macro} which is not in your local directory Latex-Suite will refuse to delete -it. In Vim >= 6.2 works completion of names of macros (see 'wildmenu', -'wildmode' for more about command-line completion) - - -:TPackage [{package, ...}] *ls_10_2_5* *ls_a_cD* - *TPackage* - -When used without any arguments lists name of the packages for which support is -available. If you are using Vim GUI and have Tex_Menus set to 1, then it will -list all files found in the $VIM/ftplugin/latex-suite/packages directory. -Otherwise, Latex-Suite will list files found in the -$VIM/ftplugin/latex-suite/dictionaries directory. Choosing a file from the list -will insert a > - \usepackage[<++>]{<packname>} -line into the buffer at the current cursor location. For Vim 6.2 and above, you -can use command-line completion to choose a package file. You can also call -TPackage with one or more package names separated with spaces in which case, -Latex-Suite will insert \usepackage lines for each of them in turn. - -After inserting the \usepackage line(s), Latex-Suite will support it (them) in -various ways as described in the section Actions taken for supported packages -[|ls_a_bL|]. - - -:TPackageUpdate *ls_10_2_6* *ls_a_cE* - *TPackageUpdate* - -This command `reads' name of package under cursor and turns on possible support. - - -:TPackageUpdateAll *ls_10_2_7* *ls_a_cF* - *TPackageUpdateAll* - -After issuing this command latexSuite scans the file in looking for not declared -packages, removing not needed entries from Packages menu and turning off not -necessary packages' dictionaries. - - -:TTemplate [{template}] *ls_10_2_8* *ls_a_cG* - *TTemplate* - -When used without any arguments lists all available templates from -latex-suite/templates/ directory and prompts to choose one of them. With one -argument :0|read| {template} file. With more than one argument it will not work -:) In Vim >= 6.2 works completion of names of macros (see 'wildmenu', 'wildmode' -for more about command-line completion) - - -:TSection [{argument}] *ls_10_2_9* *ls_a_cH* - *TSection* - -Used without any arguments inserts last section type (|latex-sectioning|). -Accepts arguments: n> inserts section name in <n> logical level. Levels are: -0 part -1 chapter -2 section -3 subsection -4 subsubsection -5 paragraph -6 subparagraph - - -+<n> inserts section name <n> logical levels above the last used comand --<n> inserts section name <n> logical levels below the last used comand -+ inserts section name one logical level below the last used command (equal - to +1). -++ inserts section name two logical levels below the last used command (equal - to +2). -- inserts section name one logical level over the last used command (equal - to -1). --- inserts section name two logical levels over the last used command (equal - to -2). - - - -Command accepts also latexSuite mappings (|latex-macros|) without preceding S -and in lowercase: > - :TSection pa -will result in \part{}. It is possible to use full names of sections: :TSection -part - - -:TSectionAdvanced *ls_10_2_10* *ls_a_cI* - *TSectionAdvanced* - -Accepts the same arguments as |TSection| but leads to a couple of questions -(whether you want to include the section in the table of contents, whether there -is a shorter name for the table of contents) and then creates a more intelligent -template. - - -:TLook *ls_10_2_11* *ls_a_cJ* *TLook* - -Accepts one argument. Will look through .tex files in directory of edited file -for argument. It can be regexp. You don't have to enclose argument in "". <cr> -takes you to location. Other keys work as described in |latex-viewer|. Note: -TLook uses :grep command and is using 'grepprg'. Its regular expressions can be -different from those of Vim. - - -:TLookBib *ls_10_2_12* *ls_a_cK* - *TLookBib* - -Accepts one argument. Will look through .bib files in directory of edited file -for argument. It can be regexp. You don't have to enclose argument in "". <cr> -takes you to location. Other keys work as described in |latex-viewer|. - -NOTE: TLookBib uses :grep command and is using 'grepprg'. Its regular - expressions can be different from those of Vim. - - - - -:TLookAll *ls_10_2_13* *ls_a_cL* - *TLookAll* - -Accepts one argument. Will look through all files in directory of edited file -for argument. It can be regexp. You don't have to enclose argument in "". <cr> -takes you to location. Other keys work as described in |latex-viewer|. Note: -TLook uses :grep command and is using 'grepprg'. Its regular expressions can be -different from those of Vim. - - -:TPartComp *ls_10_2_14* *ls_a_cM* - *TPartComp* - -No argument allowed but accepts range in all formats. Define fragment of -interest with :'a,'b, :/a/,/b/, :'<,'> or :20,30. All other rules of compilation -apply. - - -:TPartView *ls_10_2_15* *ls_a_cN* - *TPartView* - -Show last compiled fragment. All rules of viewing apply but |latex-searching|. - - -:Tshortcuts [{arg}] *ls_10_2_16* *ls_a_cO* - *Tshortcuts* - -Show shortcuts in terminal (not using menu). Without {arg} you will see simple -menu prompting for one of them. Possible arguments: -g General shortcuts -e Environment shortcuts -f Font shortcuts -s Section shortcuts -m Math shortcuts -a All shortcuts - -================================================================================ -Customizing Latex-Suite *ls_11* *ls_a_cP* - *customizing-latex-suite* - -|ls_11_1| General Settings -|ls_11_2| Place-Holder Customization -|ls_11_3| Macro Customization -|ls_11_4| Smart Key Customization -|ls_11_5| Latex Completion Customization -|ls_11_6| Compiler Customization -|ls_11_7| Viewer Customization -|ls_11_8| Menu Customization -|ls_11_9| Folding Customization -|ls_11_10| Package Handling Customization - - -Customizing Latex-Suite is done by defining certain global variables in -$VIM/ftplugin/tex.vim, where $VIM corresponds to ~/.vim for *nix machines and -~/vimfiles for windows machines. This file is not part of the Latex-Suite -distribution. You will need to create this file yourself (or modify it if it -exists) if you need to change any default settings. Since this file is not -included as part of the Latex-Suite distribution, it will not be over-written in -subsequent updates. - -The default settings in Latex-Suite are defined in -$VIM/ftplugin/latex-suite/texrc. Please take a look at this file if you find -this documentation incomplete or confusing. That file is also well documented. - -This chapter describes the various settings which effect Latex-Suite and their -default values. The settings are broken up into sections according to the -behavior which they influence. - - --------------------------------------------------------------------------------- -General Settings *ls_11_1* *ls_a_cQ* - *ls-general-purpose-settings* - - - -Tex_Debug *ls_11_1_1* *ls_a_cR* - *Tex_Debug* - -Type boolean -Default Value 0 - -If set to 1, then Latex-Suite will create certain global debug statements which -can be printed by doing > - :call Tex_PrintDebug() - - - -Tex_UsePython *ls_11_1_2* *ls_a_cS* - *Tex_UsePython* - -Type boolean -Default Value 1 - -If Latex-Suite detects that your vim is python enabled (using has('python')), -then it tries to use python in certain places to speed things up. If this -misbehaves, you can set this to zero, in which case, Latex-Suite will use -vimscript to accomplish the same. - --------------------------------------------------------------------------------- -Place-Holder Customization *ls_11_2* *ls_a_cT* - *customizing-place-holders* - -Latex-Suite uses place-holders [|ls_a_eD|] to minimize using the movement keys -while typing. The following settings affect how place-holders are used. - -NOTE: These setting need to be set in your ~/.vimrc, not $VIM/ftplugin/tex.vim - because these settings affect the behavior of imaps.vim, which is a global - plugin, not a file-type plugin. - - - - -g:Imap_UsePlaceHolders *ls_11_2_1* *ls_a_cU* - *Imap_UsePlaceHolders* - - -Type Boolean -Default Value 1 - -Setting this to zero completely disables using place-holders. - - -g:Imap_PlaceHolderStart & g:Imap_PlaceHolderEnd *ls_11_2_2* *ls_a_cV* - *Imap_PlaceHolderStart* - - *Imap_PlaceHolderEnd* *ls_a_er* -Setting Type Value~ -Imap_PlaceHolderStart String '<+' -Imap_PlaceHolderEnd String '+>' - -These settings affect the strings displayed at the beginning and end of the -place-holder string. Set these strings to a value different than a commonly -occurring sequence of characters. - -NOTE: TIP - --- - If you use the latin1 encoding and do not type in french, then you can set - these strings to the \xab and \xbb characters (the french quotation - marks). - - - - -g:Imap_DeleteEmptyPlaceHolders *ls_11_2_3* *ls_a_cW* - *Imap_DeleteEmptyPlaceHolders* - - -Type Boolean -Default Value 1 - -When set to one, non-descriptive or empty place-holders are deleted on pressing -<Ctrl-J>. - - -g:Imap_StickyPlaceHolders *ls_11_2_4* *ls_a_cX* - *Imap_StickyPlaceHolders* - - -Type Boolean -Default Value 1 - -When set to 1, in visual mode, <Ctrl-J> takes you to the next placeholder -without deleting the current placeholder. - --------------------------------------------------------------------------------- -Macro Customization *ls_11_3* *ls_a_cY* - *customizing-macros* - - - -Tex_Env_name *ls_11_3_1* *ls_a_cZ* - *Tex_Env_name* - -If you wish to wish to expand certain environments differently from the way -Latex-Suite does it, you can define custom expansions using global variables of -the form Tex_Env_{name} where name corresponds to the environment. - -For example, if you press <F5> after typing theorem, Latex-Suite will by default -expand it to > - \begin{theorem} - \label{<++>}<++> - \end{theorem}<++> -However, if you wish change this to > - \begin{theorem} - <++> - \end{theorem}<++> -then define the following variable > - let g:Tex_Env_theorem = "\\begin{theorem}\<CR><++>\<CR>\\end{theorem}" -< - -If the expansion uses special keys such as carriage return etc, then use -double-quotes and use the "\<key>" notation for special keys. Backslashes have -to be doubled. - -You could even use strings returned by functions as the expansion by using the -IMAP_PutTextWithMovement() [|ls_a_ea|] function. - -If the name of the environment contains special characters (for example, the -eqnarray* environment), then use the following form: > - let g:Tex_Env_{'eqnarray*'} = - \ "\\begin{eqnarray*}\<CR><++> &=& <++>\<CR>\\end{eqnarray*}<++>" -This will make pressing <F5> after eqnarray* expand to > - \begin{eqnarray*} - <++> &=& <++> - \end{eqnarray*}<++> - - - -Tex_Com_name *ls_11_3_2* *ls_a_da* - *Tex_Com_name* - -If you wish to define new expansions for fast command insertion as described -here [|ls_a_bo|], or redefine expansions from the default values in Latex-Suite, -you will need to define variables of the form g:Tex_Com_{name} where name is a -command name. For example, with the setting > - let g:Tex_Com_frac = "\\frac{<++>}{<++>}<++>" -pressing <F7> after typing frac will change it to \frac{<++>}{<++>}<++> - -See Tex_Env_name [|ls_a_cZ|] for additional details on how to create this -setting in various special circumstances. - - -Enabling / disabling macros *ls_11_3_3* *ls_a_db* - *macro-enabling* - -The following variables disable various parts of the macro functionality of -Latex-Suite. See the links to the relevant sections to see what functionality -setting each of the variables to zero will take away. - - *Tex_EnvironmentMaps* *ls_a_es* - *Tex_EnvironmentMenus* *ls_a_et* - *Tex_FontMaps* *ls_a_eu* - *Tex_FontMenus* *ls_a_ev* - *Tex_SectionMaps* *ls_a_ew* - *Tex_SectionMenus* *ls_a_ex* -Setting Link to relevant section Default Value~ -g:Tex_EnvironmentMaps Environment Mappings [|ls_a_bf|] 1 -g:Tex_EnvironmentMenus 1 -g:Tex_FontMaps Font Mappings [|ls_a_bs|] 1 -g:Tex_FontMenus 1 -g:Tex_SectionMaps Section Mappings [|ls_a_bt|] 1 -g:Tex_SectionMenus 1 - - -g:Tex_UseMenuWizard *ls_11_3_4* *ls_a_dc* - *Tex_UseMenuWizard* - - -Type Boolean -Default Value 0 - -If this variable is set to 1, then when an environment is chosen from the menu -then for selected environments, Latex-Suite asks a series of questions on the -command line and inserts a template with the corresponding fields already filled -in. Setting this to zero will insert a template with place-holders [|ls_a_eD|] -marking off the places where fields need to be filled. - - -g:Imap_FreezeImap *ls_11_3_5* *ls_a_dd* - *Imap_FreezeImap* - -Type boolean -Default Value 0 - -This option when set to 1, temporarily freezes Latex-Suite's macro expansion. It -might be useful when you are using some other keymap which is causing excessive -macro expansion. Use a buffer-local variable of the same name if you wish to -affect just the present buffer. - - -g:Tex_CatchVisMapErrors *ls_11_3_6* *ls_a_de* - *Tex_CatchVisMapErrors* - - -Type Boolean -Default Value 1 - -With so many visual maps, its helpful to have a way of catching typing errors -made in visual mode. What this does is to prompt you to correct your visual mode -mapping if you start out with and then type some illegal keys. It basically maps -just the g:Tex_Leader character to a function. - - -g:Tex_Diacritics *ls_11_3_7* *ls_a_df* - *Tex_Diacritics* - - -Type Boolean -Default Value 0 - -Whether or not you want to use diacritics [|ls_a_bw|]. - - -g:Tex_Leader *ls_11_3_8* *ls_a_dg* - *Tex_Leader* - - -Type String -Default Value '`' - -The mappings in Latex-Suite are by default prefixed with the back-tick -character. For example, `/ inserts \frac{<++>}{<++>}<++> etc. You can change the -prefix with the following setting. ',', '/', '`' are preferred values. '' or '\' -will lead to a _lot_ of trouble. - -g:Tex_Leader is also used for visual mode mappings for fonts. - - -g:Tex_Leader2 *ls_11_3_9* *ls_a_dh* - *Tex_Leader2* - - -Type String -Default Value ',' - -In order to avoid clashes between the large number of visual mode macros -provided, the visual mode macros for environments [|ls_a_bm|] and sections start -with a character different from g:Tex_Leader. - - -g:Tex_PromptedEnvironments *ls_11_3_10* *ls_a_di* - *Tex_PromptedEnvironments* - - -Type String -Default Value 'eqnarray*,eqnarray,equation,equation*,\[,$$,align,align*' - -This string represents a comma separated list of fields corresponding to -environments. Pressing <F5> in insert-mode in the body of the document asks you -to choose from one of these environments to insert. - -Leaving this string empty will leave the <F5> key unmapped - - -g:Tex_HotKeyMappings *ls_11_3_11* *ls_a_dj* - *Tex_HotKeyMappings* - - -Type String -Default Value 'eqnarray*,eqnarray,bmatrix' - -This string represents a comma separated list of environments which are mapped -to <Shift-F-1> through <Shift-F-4>. For example, pressing <Shift-F-2> with this -setting inserts the eqnarray environment. - -Leaving this string empty will leave <Shift-F-1> through <Shift-F-4> unmapped. - -NOTE: Only the first four fields of this list are used. The rest are silently - ignored. - - - - -g:Tex_PromptedCommands *ls_11_3_12* *ls_a_dk* - *Tex_PromptedCommands* - - -Type String -Default Value 'footnote,cite,pageref,label' - -This string represents a comma separated list of LaTeX commands which -Latex-Suite uses for the <F7> and <S-F7> maps as described here [|ls_a_bo|]. - -Leaving this string empty will leave the <F7> key unmapped. - - -Tex_ItemStyle_environment *ls_11_3_13* *ls_a_dl* - *Tex_ItemStyle_environment* - -This setting affects the style which Latex-Suite uses to insert an \item when -<Alt-I> is pressed as described here [|ls_a_bE|]. By default Latex-Suite defines -styles for the following environments: - -Environment Style~ -itemize \item -enumerate \item -theindex \item -thebibliography \item[<+biblabel+>]{<+bibkey+>} <++> -description \item[<+label+>] <++> - -Each style is defined by a variable of the form g:Tex_ItemStyle_{envname} where -envname is the name of the environment for which the style is defined. For -example, by default > - g:Tex_ItemStyle_description = '\item[<+label+>] <++>' -Redefining the style for a particular environment or defining a style for an -entirely new environment is simply a matter of setting the value of a variable -of the corresponding name. - --------------------------------------------------------------------------------- -Smart Key Customization *ls_11_4* *ls_a_dm* - *customizing-smart-keys* - -These settings affect the smart key functionality as described here [|ls_a_bz|]. - - - -g:Tex_SmartKeyBS *ls_11_4_1* *ls_a_dn* - *Tex_SmartKeyBS* - - -Type Boolean -Default Value 1 - -Whether or not <Backspace> deletes diacritics. - - -g:Tex_SmartKeyQuote *ls_11_4_2* *ls_a_do* - *Tex_SmartKeyQuote* - - -Type Boolean -Default Value 1 - -Whether or not the smart quotes [|ls_a_bz|] functionality is available. - -If enabled, the quote characters can be customized by setting the following -variables: - -Setting Value~ -g:Tex_SmartQuoteOpen "``" -g:Tex_SmartQuoteClose "''" - -Non-English users will want to change these settings to their locale. These -global variables will be ignored if there are buffer-local variables (with the -same name), which may be set in the language specific package files, such as -$VIM/ftplugin/latex-suite/packages/german. - --------------------------------------------------------------------------------- -Latex Completion Customization *ls_11_5* *ls_a_dp* - *customizing-latex-completion* - -The following settings affect the completion [|ls_a_bR|] functionality in -Latex-Suite. - - - -Window size settings *ls_11_5_1* *ls_a_dq* - *completion-window-preferences* - -These three settings affect the aesthetics of the completion functionality. - - *Tex_ViewerCwindowHeight* *ls_a_ey* - *Tex_ViewerPreviewHeight* *ls_a_ez* - *Tex_ExplorerHeight* *ls_a_eA* - *Tex_ImageDir* *ls_a_eB* -Setting Explanation Default Value~ -g:Tex_ViewerCwindowHeight The height of the cwindow which 5 - displays the list of \labels - etc. -g:Tex_ViewerPreviewHeight The height of the preview window 10 - which shows the context of a - \label etc. -g:Tex_ExplorerHeight The height of the explorer 10 - window which lists the files - from which to choose an image - file. -g:Tex_ImageDir The directory to scan for images '' - - -g:Tex_BIBINPUTS *ls_11_5_2* *ls_a_dr* - *Tex_BIBINPUTS* - - -Type string -Default Value '' - -This string describes the directories which are scanned while trying to search -for .bib and .bbl files. See the cite completion section [|ls_a_bU|] for more -details. - -This string should be set in the syntax accepted by Vim's native 'path' setting. -Do not include the present directory '.'. While searching for bibliography -files, the present directory will be prepended to this variable. - - -Tex_UseSimpleLabelSearch *ls_11_5_3* *ls_a_ds* - *Tex_UseSimpleLabelSearch* - -When set to 1, Latex-Suite searches for \labels in all .tex files in the -directory containing the file being edited when <F9> is pressed. See \ref -completion [|ls_a_bT|] for details. - - -g:Tex_ProjectSourceFiles *ls_11_5_4* *ls_a_dt* - *Tex_ProjectSourceFiles* - - -Type String -Default Value '' - -This setting is meant to be initialized on a per-project basis using the -Latex-Suite master file [|ls_a_ct|] as described in Latex-Suite Project -[|ls_a_cr|] section. It is a list of source files which are used in the project. -If defined, then instead of using the logic described in -Tex_UseSimpleLabelSearch [|ls_a_ds|] to search for files in which to search for -\labels, we simply search for \labels in this list. This significantly reduces -the time it takes to generate the list of possible completions for large -projects. - -The list is specified as a whitespace separated list of filenames relative to -the location of the main file. - - -g:Tex_RememberCiteSearch *ls_11_5_5* *ls_a_du* - *Tex_RememberCiteSearch* - - -Type Boolean -Default Value 0 - -When this variable is non-zero, then Latex-Suite will try to remember results -from the \cite completion as described in this section [|ls_a_bV|]. - --------------------------------------------------------------------------------- -Compiler Customization *ls_11_6* *ls_a_dv* - *customizing-compiling* - -The following settings affect Latex-Suite's compilation functionality - - - -g:Tex_DefaultTargetFormat *ls_11_6_1* *ls_a_dw* - *Tex_DefaultTargetFormat* - - -Type String -Default Value dvi for windows/*nix and pdf for mac - -Use this setting to choose the default target format. For example, setting this -to pdf makes Latex-Suite compile a pdf file when you press \ll and fire up the -pdf viewer on pressing \lv. Make sure that a rules for compiling and viewing -have been defined for this target format as described here [|ls_a_dx|] and here -[|ls_a_dF|]. - - -g:Tex_CompileRule_<format> *ls_11_6_2* *ls_a_dx* - *Tex_CompileRule_format* - -Here <format> refers to the target format for which this rule is defined. -Latex-Suite supports compiling into dvi, ps and pdf by default. All these rules -are strings defined by default as follows: - - -g:Tex_CompileRule_dvi 'latex -interaction=nonstopmode $*' -g:Tex_CompileRule_ps 'ps2pdf $*' -g:Tex_CompileRule_pdf 'pdflatex -interaction=nonstopmode $*' - -If you desire forward and inverse searching via Latex-Suite, you will need to -change g:Tex_CompileRule_dvi to include -src-specials. However, this has been -known to cause problems with the output file. Therefore, use this with care. - - -g:Tex_FormatDependency_<format> *ls_11_6_3* *ls_a_dy* - -Type string -Default Value '' - -By default, there are no format dependencies defined. Each definition is of the -form above where <format> is a string such as 'dvi' etc. - -The value of each string is a comma separated string such as 'dvi,ps'. See the -Compiler dependency [|ls_a_ca|] section to see how to use/specify this setting - - -g:Tex_MultipleCompileFormats *ls_11_6_4* *ls_a_dz* - *Tex_MultipleCompileFormats* - -Type string -Default Value 'dvi' - -This is a comma separated string of formats for which the compiler needs to be -called multiple times in order to get cross-references, citations etc right. See -the Compiling multiple times [|ls_a_cb|] section for details. - - -g:Tex_IgnoredWarnings *ls_11_6_5* *ls_a_dA* - *Tex_IgnoredWarnings* - - -Type String -Default Value a new-line separated list of patterns as described below - -The default value of this setting is > - \"Underfull\n". - \"Overfull\n". - \"specifier changed to\n". - \"You have requested\n". - \"Missing number, treated as zero.\n". - \"There were undefined references\n" - \"Citation %.%# undefined" -This setting defines a set of patterns which will be filtered out when -displaying the output from the latex compiler. This is to aid in filtering out -very common warnings/errors. - -NOTE: Remember to check the value of g:Tex_IgnoreLevel [|ls_a_dB|] when you - change this setting. For example, if you append a new pattern which you - would like to ignore by default, increase the value of g:Tex_IgnoreLevel. - - - - -g:Tex_IgnoreLevel *ls_11_6_6* *ls_a_dB* - *Tex_IgnoreLevel* - - -Type Integer -Default Value 7 - -This setting defines a "filter level" or an "ignore level". A value of 7 for -instance means that any warning/error matching with any of the first 7 fields of -g:Tex_IgnoredWarnings [|ls_a_dA|] will be ignored. Setting this value to zero -will mean that no error/warning is ignored. However, even with a value of zero, -Latex-Suite will filter out most of the text which a LaTeX compiler typically -produces. Use > - TCLevel strict -from within Vim in order to see all the lines from the compiler's output. - - -Tex_UseMakefile *ls_11_6_7* *ls_a_dC* - *Tex_UseMakefile* - -Type boolean -Default Value 1 - -When set to 1, then if a makefile or Makefile is present in the current -directory, then Latex-Suite sets the makeprg option to just "make <target>", -where <target> is the target format chosen using the TCTarget or TTarget -commands. - -When set to 0, then Latex-Suite will set the makeprg setting to whatever is -defined by the g:Tex_CompileRule_target [|ls_a_dx|] setting. - - -g:Tex_GotoError *ls_11_6_8* *ls_a_dD* - *Tex_GotoError* - - -Type boolean -Default Value 1 - -If set to 1, then pressing \ll will take you to the location of the first -warning/error, otherwise you will remain in the original location but the -errors/warnings will be listed in the preview window. - --------------------------------------------------------------------------------- -Viewer Customization *ls_11_7* *ls_a_dE* - *customizing-viewing* - -The following settings affect how Latex-Suite will display compiled files. - - - -g:Tex_ViewRule_<format> *ls_11_7_1* *ls_a_dF* - *Tex_ViewRule_format* - -Here <format> refers to a format such as dvi, ps, etc. This variable defines the -program which will be called to display a file of that format. - -By default, Latex-Suite defines viewer programs for viewing DVI, PS and PDF -formats as follows: - - Windows Unix~ -g:Tex_ViewRule_dvi 'yap -1' 'xdvi' -g:Tex_ViewRule_ps 'gsview32' 'ghostview' -g:Tex_ViewRule_pdf 'AcroRd32' 'xpdf' - -For Macintosh systems, these strings are left empty by default. This lets the -system pick the program for each format. If you define these variables for Mac, -the system choice will be over-ridden. - -Latex-Suite appends file.format to the above settings while calling the external -programs. For example, with > - let g:Tex_ViewRule_dvi = 'yap -1' -yap is called as > - !start yap -1 file.dvi -from within Vim. (The initial start is used on Windows platforms is to make yap -start as a separate process.) If you find the way Latex-Suite constructs the -command line too restrictive, you can use the Tex_ViewRuleComplete_format -[|ls_a_dG|] setting for more complete control on how the command line is -constructed while calling the external program for viewing. - -NOTE: For windows, you will need to set the $PATH variable to include the paths - to yap, AcroRd32, gsview32 and any other programs. See your system - documentation for how to do this. - - -NOTE: Default Viewing Format - ---------------------- - To change the default format for viewing files, set the - g:Tex_DefaultTargetFormat [|ls_a_dw|] variable. - - - - -Tex_ViewRuleComplete_<format> *ls_11_7_2* *ls_a_dG* - *Tex_ViewRuleComplete_format* - -Here <format> refers to the extension of a output format such as dvi, html etc. - -Tex_ViewRuleComplete_format takes precedence over Tex_ViewRule_format if both -are specified. By default, Latex-Suite does not define values for -Tex_ViewRuleComplete_format for any format. Unlike in the case of -Tex_ViewRule_format, Latex-Suite does not modify Tex_ViewRuleComplete_format at -all in constructing the command line. The only modification is to substitute -'$*' everywhere in the string with the name of the file being viewed (without -the extension). - -NOTE: IMPORTANT - --------- - Make sure you make the process go into the background otherwise vim will - wait for the viewer to terminate before letting you edit the file again. - - To make a process go into the background on a *nix platform, use a - trailing & in the setting. On Windows, use start at the beginning of the - setting. Example: Suppose you have a latex->html converter which converts - a file say foo.tex to a file foo/index.html. Then you would use: > - " On *nix platform - let g:Tex_ViewRuleComplete_html = 'MozillaFirebird $*/index.html &' - " On windows platform - let g:Tex_ViewRuleComplete_html = 'start MozillaFirebird $*/index.html' -< - - - --------------------------------------------------------------------------------- -Menu Customization *ls_11_8* *ls_a_dH* - *customizing-menus* - -In addition to using the variables defined in this section to affect the -menu-layout permanently (i.e, the layout Latex-Suite will start with), you can -also use the TeX-Suite > Configure Menu menu to dynamically configure the menu -layout after Latex-Suite has started. - - - -g:Tex_Menus *ls_11_8_1* *ls_a_dI* - *Tex_Menus* - - -Type Boolean -Default Value 1 - -If set to 0, Latex-Suite will suppress showing all menus. Useful if you mostly -work in terminals. - - -g:Tex_MainMenuLocation *ls_11_8_2* *ls_a_dJ* - *Tex_MainMenuLocation* - - -Type number -Default Value 80 - -This setting decides the location of the first top-level Latex-Suite menu. You -can for example shift all the menus created by Latex-Suite to the very end by -setting this value to a large number like 990. - - -g:Tex_MathMenus *ls_11_8_3* *ls_a_dK* - *Tex_MathMenus* - - -Type Boolean -Default Value 1 - -The Tex-Math menu consists of hundreds of mathematical symbols used in LaTeX. -This menu comprises about 75% of the menus. - - -g:Tex_NestElementMenus *ls_11_8_4* *ls_a_dL* - *Tex_NestElementMenus* - - -Type Boolean -Default Value 1 - -This setting controls the "compactness" of the menus. If set to 1, then the -Font, Counter and Dimensioning menus are collected together in a single menu -called Tex-Elements, otherwise, they will each get a separate menu. - - -g:Tex_PackagesMenu *ls_11_8_5* *ls_a_dM* - *Tex_PackagesMenu* - - -Type Boolean -Default Value 1 - -Setting this to zero will stop Latex-Suite from automatically creating the -TeX-Suite > Packages > Supported menu at startup. You can still create the menu -after startup by going to TeX-Suite > Configure Menu. - - -g:Tex_NestPackagesMenu *ls_11_8_6* *ls_a_dN* - *Tex_NestPackagesMenu* - - -Type String -Default Value 'TeX-' - -This string is the prefix added to all the menus created by Latex-Suite. If you -define this variable with a dot ('.') as the last character, then all the menus -created by Latex-Suite will be nested under a single master menu. For example, -set this to '&LaTeX-Suite.' to nest all menus under a menu called &LaTeX-Suite. - - -g:Tex_UseUtfMenus *ls_11_8_7* *ls_a_dO* - *Tex_UseUtfMenus* - - -Type Boolean -Default Value 0 - -This setting controls whether Latex-Suite uses utf-8 symbols to display some of -the mathematical symbols in the TeX-Math menu. It is necessary for your -system/GUI to support utf-8. Setting this to 1 has the side-effect of setting -the 'encoding' option of Vim to 'utf-8'. - --------------------------------------------------------------------------------- -Folding Customization *ls_11_9* *ls_a_dP* - *customizing-folding* - -The following settings control the folding [|ls_a_ci|] functionality of -Latex-Suite. - - - -g:Tex_Folding *ls_11_9_1* *ls_a_dQ* - *Tex_Folding* - - -Type Boolean -Default Value 1 - -Setting this to zero completely disables Latex-Suite's folding functionality. -However, the TexFoldTextFunction() is still available in case you want to use -another folding scheme but still want to continue using the fold text function. - - -g:Tex_AutoFolding *ls_11_9_2* *ls_a_dR* - *Tex_AutoFolding* - - -Type Boolean -Default Value 1 - -This setting controls whether Latex-Suite automatically creates manual folds for -a file when it is opened. You can still use the \rf mapping to refresh/create -folds even when this variable is set to zero. - --------------------------------------------------------------------------------- -Package Handling Customization *ls_11_10* *ls_a_dS* - *customizing-packages* - -These settings affect the custom packages [|ls_a_bN|] functionality in -Latex-Suite - - - -g:Tex_TEXINPUTS *ls_11_10_1* *ls_a_dT* - *Tex_TEXINPUTS* - - -Type string -Default Value '' - -This setting describes the directories scanned by Latex-Suite while searching -for custom user packages as described in the custom packages [|ls_a_bN|] -section. Do not include the present directory in this setting. The present -directory is always scanned for custom packages. - -This string should be set in the syntax accepted by Vim's native 'path' setting. - -================================================================================ -Credits *ls_12* *ls_a_dU* - *latex-suite-credits* - - - -And finally, the credits: - - -Artur R. Czechowski maintains the BSD package of Latex-Suite. Lots of valuable - feedback. -Lubomir Host provided the diacritics and also helped in development. -Alexander Wagner valuable suggestions during development. -Luc Hermitte his variation of Stephen Riehm's bracketing system is used - in Latex-Suite. -Gergely Kontra the clever little JumpFunc() in imaps.vim is due to him. - The implementation of the templates also borrows from - mu-template.vim by him. -Dimitri Antoniou author of ltags and also provided the nice tip about - forward / reverse search on DVI documents. -Stephen Riehm the extremely helpful bracketing system is from him. -Alan Schmitt provided macros/folding elements. Continued feedback, - bug-reports/fixes. -Hari Krishna Dara for ExecMap(), the clever little function which makes - typing visual mode mappings so much easier and error-free. -Alan G Isac for the comprehensive BibT() function for entering bibtex - entries. -Gontran Baerts for libList.vim -Peter Heslin useful discussion and also a lot of bug fixes. the - %%fakesection in folding.vim. -Zhang Lin-bo lots of very useful additions to folding. The code for - customizing the folding scheme is due to him. - -A large number of functions in Latex-Suite come from various other people. Some -of those people might have been missed here. Each function should however have -the author's name/e-mail above it. Thats the more authoritative place to check -out who has done what. - - *latex-suite-maintainer* *ls_a_eC* -The current maintainer(s) of Latex-Suite is(are) - - -Srinath Avadhanula <srinath@fastmail.fm> - -Mikolaj Machowski <mikmach@wp.pl> - -Benji Fisher <benji@member.AMS.org> - -================================================================================ -URLs used in this file - -*ls_u_1* : http://vim-latex.sourceforge.net -*ls_u_2* : http://vim-latex.sourceforge.net/index.php?subject=download -*ls_u_3* : http://www.cygwin.com -*ls_u_4* : http://www.google.com/search?q=windows%20gnu%20grep - -================================================================================ -About this file - -This file was created automatically from its XML variant using db2vim. db2vim is -a python script which understands a very limited subset of the Docbook XML 4.2 -DTD and outputs a plain text file in vim help format. - -db2vim can be obtained via anonymous CVS from sourceforge.net. Use - -cvs -d:pserver:anonymous@cvs.vim-latex.sf.net:/cvsroot/vim-latex co db2vim - -Or you can visit the web-interface to sourceforge CVS at: -http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/vim-latex/db2vim/ - -The following modelines should nicely fold up this help manual. - -vim:ft=help:fdm=expr:nowrap -vim:foldexpr=getline(v\:lnum-1)=~'-\\{80}'?'>2'\:getline(v\:lnum-1)=~'=\\{80}'?'>1'\:getline(v\:lnum)=~'=\\{80}'?'0'\:getline(v\:lnum)=~'-\\{80}'?'1'\:'=' -vim:foldtext=substitute(v\:folddashes.substitute(getline(v\:foldstart),'\\s*\\*.*',"",""),'^--','\ \ \ \ \ \ ','') -================================================================================ diff --git a/.vim/doc/latexhelp.txt b/.vim/doc/latexhelp.txt deleted file mode 100644 index 2782424..0000000 --- a/.vim/doc/latexhelp.txt +++ /dev/null @@ -1,2430 +0,0 @@ -*latexhelp.txt* For Vim version 6.0. Last change: 2001 Dec 20 - - - LATEX HELP 1.6 - translated (with minor changes) for vim - by Mikolaj Machowski - -This file documents LaTeX2e, a document preparation system. LaTeX2e is a -macro package for TeX. - - This is edition 1.6 of the LaTeX2e documentation, and is for the Texinfo -that is distributed as part of Version 19 of GNU Emacs. It uses version -2.134 or later of the texinfo.tex input file. - - This is translated from LATEX.HLP v1.0a in the VMS Help Library. The -pre-translation version was written by George D. Greenwade of Sam Houston -State University. - - The LaTeX 2.09 version was written by Stephen Gilmore <stg@dcs.ed.ac.uk>. - - The LaTeX2e version was adapted from this by Torsten Martinsen -<bullestock@dk-online.dk>. - - Version for vim of this manual was written by Mikolaj Machowski -<mikmach@wp.pl> - - Copyright 1988,1994 Free Software Foundation, Inc. Copyright 1994-1996 -Torsten Martinsen. Copyright for `translation' for vim Mikolaj Machowski 2001. - - Permission is granted to make and distribute verbatim copies of this manual -provided the copyright notice and this permission notice are preserved on -all copies. - - Permission is granted to copy and distribute modified versions of this -manual under the conditions for verbatim copying, provided that the entire -resulting derived work is distributed under the terms of a permission -notice identical to this one. - - Permission is granted to copy and distribute translations of this manual -into another language, under the above conditions for modified versions, -except that the sections entitled "Distribution" and "General Public -License" may be included in a translation approved by the author instead of -in the original English. - -============================================================================== -*LaTeX* *latex* - -The LaTeX command typesets a file of text using the TeX program and the LaTeX -Macro package for TeX. To be more specific, it processes an input file -containing the text of a document with interspersed commands that describe how -the text should be formatted. - -1. Commands |latex-commands| -2. Counters |latex-counters| -3. Cross References |latex-references| -4. Definitions |latex-definitions| -5. Document Classes |latex-classes| -6. Layout |latex-layout| -7. Environments |latex-environments| -8. Footnotes |latex-footnotes| -9. Lengths |latex-lengths| -10. Letters |latex-letters| -11. Line & Page Breaking |latex-breaking| -12. Making Paragraphs |latex-paragraphs| -13. Margin Notes |latex-margin-notes| -14. Math Formulae |latex-math| -15. Modes |latex-modes| -16. Page Styles |latex-page-styles| -17. Sectioning |latex-sectioning| -18. Spaces & Boxes |latex-spaces-boxes| -19. Special Characters |latex-special-char| -20. Splitting the Input |latex-inputting| -21. Starting & Ending |latex-start-end| -22. Table of Contents |latex-toc| -23. Terminal Input/Output |latex-terminal| -24. Typefaces |latex-typefaces| -25. Parameters |latex-parameters| - -============================================================================== -1. Commands *latex-commands* - -A LaTeX command begins with the command name, which consists of a \ followed -by either - (a) a string of letters or - (b) a single non-letter. - -Arguments contained in square brackets, [], are optional while arguments -contained in braces, {}, are required. - -NOTE: LaTeX is case sensitive. Enter all commands in lower case unless -explicitly directed to do otherwise. - -============================================================================== -2. Counters *latex-counters* - -|\addtocounter| Add a quantity to a counter -|\alph| Print value of a counter using letters -|\arabic| Print value of a counter using numerals -|\fnsymbol| Print value of a counter using symbols -|\newcounter| Define a new counter -|\refstepcounter| Add to counter, resetting subsidiary counters -|\roman| Print value of a counter using roman numerals -|\setcounter| Set the value of a counter -|\stepcounter| Add to counter, resetting subsidiary counters -|\usecounter| Use a specified counter in a list environment -|\value| Use the value of a counter in an expression - -Everything LaTeX numbers for you has a counter associated with it. The name of -the counter is the same as the name of the environment or command that -produces the number, except with no |\\|. (|lc-enumi| - |lc-enumiv| are used -for the nested |\enumerate| environment.) Below is a list of the counters -used in LaTeX's standard document classes to control numbering. - - |part| |paragraph| |figure| |enumi| |itemi| - |chapter| |subparagraph| |table| |enumii| |itemii| - |section| |page| |footnote| |enumiii| |itemiii| - |subsection| |equation| |mpfootnote| |enumiv| |itemiv| - |subsubsection| - - -\addtocounter{counter}{value} *\addtocounter* - Increments the {counter} by the amount specified by the - {value} argument. The {value} argument can be negative. - -\alph{counter} *\alph* *\Alph* -\Alph{counter} - This command causes the value of the counter to be printed in - alphabetic characters. |\alph| command uses lower case - alphabetic alphabetic characters, i.e., a, b, c... while the - |\Alph| command uses upper case alphabetic characters, i.e., - A, B, C.... - -\arabic{counter} *\arabic* - Causes the value of the {counter} to be printed in Arabic - numbers, i.e., 3. - -\fnsymbol{counter} *\fnsymbol* - Causes the value of the {counter} to be printed in a specific - sequence of nine symbols that can be used for numbering - footnotes. - Note: counter must have a value between 1 and 9 inclusive. - -\newcounter{foo}[counter] *\newcounter* - Defines a new counter named {foo}. The counter is initialized - to zero. The optional argument [counter] causes the counter - {foo} to be reset whenever the counter named in the optional - argument is incremented. - -\refstepcounter{counter} *\refstepcounter* - Command works like |\stepcounter|, except it also defines the - current |\ref| value to be the result of \thecounter. - -\roman{counter} *\roman* *\Roman* -\Roman{counter} - Causes the value of the {counter} to be printed in Roman - numerals. The |\roman| command uses lower case Roman numerals, - i.e., i, ii, iii..., while the |\Roman| command uses upper case - Roman numerals, i.e., I, II, III.... - -\stepcounter{counter} *\stepcounter* - Adds one to the {counter} and resets all subsidiary counters. - -\setcounter{counter}{value} *\setcounter* - Sets the value of the {counter} to that specified by the - {value} argument. - -\usecounter{counter} *\usecounter* - Command is used in the second argument of the |list| - environment to allow the {counter} specified to be used to - number the list items. - -\value{counter} *\value* - Produces the value of the {counter} named in the mandatory - argument. It can be used where LaTeX expects an integer or - number, such as the second argument of a |\setcounter| or - |\addtocounter| command, or in: > - \hspace{\value{foo}\parindent} -< It is useful for doing arithmetic with counters. - -============================================================================== -3. Cross References *latex-references* - -One reason for numbering things like figures and equations is to refer the -reader to them, as in "See Figure 3 for more details." - -|\label| Assign a symbolic name to a piece of text -|\pageref| Refer to a page number -|\ref| Refer to a section, figure or similar - - -\label{key} *\label* - Command appearing in ordinary text assigns to the {key} the - number of the current sectional unit; one appearing inside a - numbered environment assigns that number to the {key}. - - A {key} can consist of any sequence of letters, digits, or - punctuation characters. Upper and lowercase letters are - different. - - To avoid accidentally creating two labels with the same name, - it is common to use labels consisting of a prefix and a suffix - separated by a colon. The prefixes conventionally used are - * 'cha' for chapters - * 'sec' for lower-level sectioning commands - * 'fig' for figures - * 'tab' for tables - * 'eq' for equations - Thus, a label for a figure would look like: > - \label{fig:bandersnatch} - -\pageref{key} *\pageref* - Command produces the page number of the place in the text - where the corresponding |\label| command appears. ie. where - \label{key} appears. - -\ref{key} *\ref* - Command produces the number of the sectional unit, equation - number, ... of the corresponding |\label| command. - -============================================================================== -4. Definitions *latex-definitions* - -|\newcommand| Define a new command -|\newenvironment| Define a new environment -|\newtheorem| Define a new theorem-like environment -|\newfont| Define a new font name - - -\newcommand{cmd}[args]{definition} *\newcommand* *\renewcommand* -\newcommand{cmd}[args][default]{definition} -\renewcommand{cmd}[args]{definition} -\renewcommand{cmd}[args][default]{definition} - -These commands define (or redefine) a command. - -{cmd} A command name beginning with a |\\|. For |\newcommand| it must - not be already defined and must not begin with |\end|; for - |\renewcommand| it must already be defined. - -{args} An integer from 1 to 9 denoting the number of arguments of the - command being defined. The default is for the command to have - no arguments. - -{default} If this optional parameter is present, it means that the - command's first argument is optional. The default value of the - optional argument is default. - -{definition} The text to be substituted for every occurrence of {cmd}; a - parameter of the form #n in {cmd} is replaced by the text of - the nth argument when this substitution takes place. - - *\newenvironment* *\renewenvironment* -\newenvironment{nam}[args]{begdef}{enddef} -\newenvironment{nam}[args][default]{begdef}{enddef} -\renewenvironment{nam}[args]{begdef}{enddef} - -These commands define or redefine an environment. - -{nam} The name of the environment. For |\newenvironment| there must - be no currently defined environment by that name, and the - command \nam must be undefined. For |\renewenvironment| the - environment must already be defined. - -{args} An integer from 1 to 9 denoting the number of arguments of - the newly-defined environment. The default is no arguments. - -{default} If this is specified, the first argument is optional, and - default gives the default value for that argument. - -{begdef} The text substituted for every occurrence of \begin{nam}; a - parameter of the form #n in {cmd} is replaced by the text of - the nth argument when this substitution takes place. - -{enddef} The text substituted for every occurrence of \end{nam}. It - may not contain any argument parameters. - - -\newtheorem{envname}{caption}[within] *\newtheorem* -\newtheorem{envname}[numberedlike]{caption} - -This command defines a theorem-like environment. - -{envname} The name of the environment to be defined. A string of - letters. It must not be the name of an existing environment or - counter. - -{caption} The text printed at the beginning of the environment, right - before the number. This may simply say "Theorem", for example. - -{within} The name of an already defined counter, usually of a sectional - unit. Provides a means of resetting the new theorem counter - within the sectional unit. - -{numberedlike} The name of an already defined theorem-like environment. - -The |\newtheorem| command may have at most one optional argument. - - -\newfont{cmd}{fontname} *\newfont* - Defines the command name {cmd}, which must not be currently - defined, to be a declaration that selects the font named - {fontname} to be the current font. - -============================================================================== -5. Document Classes *latex-classes* - - -\documentclass[options]{class} *\documentclass* - -Valid LaTeX document classes include: - *article *article-class* - *report *report-class* - *letter *letter-class* - *book *book-class* - *slides *slides-class* - -All the standard classes (except slides) accept the following options for -selecting the typeface size (10 pt is default): - -10pt, 11pt, 12pt - -All classes accept these options for selecting the paper size (default is -letter): - -a4paper, a5paper, b5paper, letterpaper, legalpaper, executivepaper - -Miscellaneous options: - -landscape *landscape* - Selects landscape format. Default is portrait. - -titlepage, notitlepage *notitlepage* - Selects if there should be a separate title page. - -leqno *leqno* *rqno* - Equation number on left side of equations. Default is - right side. - -fleqn *fleqn* - Displayed formulas flush left. Default is centred. - -openbib *openbib* - Use "open" bibliography format. - -draft, final *draft* *final* - Mark/do not mark overfull boxes with a rule. Default is - final. - -These options are not available with the slides class: - -oneside, twoside *oneside* *twoside* - Selects one- or twosided layout. Default is oneside, - except for the book class. - -openright, openany *openright* *openany* - Determines if a chapter should start on a right-hand page. - Default is openright for book. - -onecolumn, twocolumn *onecolumn* *twocolumn* - One or two columns. Defaults to one column. - -The slides class offers the option clock for printing the time at the bottom -of each |\note|. - -If you specify more than one option, they must be separated by a comma. - -\usepackage[options]{pkg} *\usepackage* - Additional packages are loaded by this. If you - specify more than one package, they must be separated by a - comma. - -Any options given in the |\documentclass| command that are unknown by the -selected document class are passed on to the packages loaded with |\usepackage|. - -============================================================================== -6. Layout *latex-layout* - -Miscellaneous commands for controlling the general layout of the page. - -|\flushbottom| Make all text pages the same height. -|\onecolumn| Use one-column layout. -|\raggedbottom| Allow text pages of differing height. -|\twocolumn| Use two-column layout. - -\flushbottom *\flushbottom* - Makes all text pages the same height, adding extra vertical - space when necessary to fill out the page. This is the - standard if twocolumn mode is selected. - -\onecolumn *\onecolumn* - Starts a new page and produces single-column output. - -\raggedbottom *\raggedbottom* - Makes all pages the height of the text on that page. No extra - vertical space is added. - -\twocolumn[text] *\twocolumn* - Starts a new page and produces two-column output. If the - optional [text] argument is present, it is typeset in - one-column mode. - -============================================================================== -7. Environments *latex-environments* - - *\begin* *\end* -LaTeX provides a number of different paragraph-making environments. Each -environment begins and ends in the same manner: > - - \begin{environment-name} - . - . - . - \end{environment-name} -< -a. |array| Math arrays -b. |center| Centred lines -c. |description| Labelled lists -d. |enumerate| Numbered lists -e. |eqnarray| Sequences of aligned equations -f. |equation| Displayed equation -g. |figure| Floating figures -h. |flushleft| Flushed left lines -i. |flushright| Flushed right lines -j. |itemize| Bulleted lists -k. |letter| Letters -l. |list| Generic list environment -m. |minipage| Miniature page -n. |picture| Picture with text, arrows, lines and circles -o. |quotation| Indented environment with paragraph indentation -p. |quote-l| Indented environment with no paragraph indentation -q. |tabbing| Align text arbitrarily -r. |table| Floating tables -s. |tabular| Align text in columns -t. |thebibliography| Bibliography or reference list -u. |theorem| Theorems, lemmas, etc -v. |titlepage| For hand crafted title pages -x. |verbatim| Simulating typed input -y. |verse| For poetry and other things - -============================================================================== - a. array *array* -> - \begin{array}{col1col2...coln} - column 1 entry & column 2 entry ... & column n entry \\ - . - . - . - \end{array} - -Math arrays are produced with the |array| environment. It has a single mandatory -argument describing the number of columns and the alignment within them. Each -column, coln, is specified by a single letter that tells how items in that row -should be formatted. - * c -- for centred - * l -- for flush left - * r -- for flush right -Column entries must be separated by an |&|. Column entries may include other -LaTeX commands. Each row of the array must be terminated with the string |\\|. - -Note that the |array| environment can only be used in |math-mode|, so normally -it is used inside an |equation| environment. - -============================================================================== -b. center *center* -> - \begin{center} - Text on line 1 \\ - Text on line 2 \\ - . - . - . - \end{center} - -The |\center| environment allows you to create a paragraph consisting of lines -that are centred within the left and right margins on the current page. Each -line must be terminated with the string |\\|. - -\centering *\centering* - This declaration corresponds to the |center| environment. This - declaration can be used inside an environment such as - |quote-l| or in a |\parbox|. The text of a |figure| or |table| - can be centred on the page by putting a |\centering| command - at the beginning of the |figure| or |table| environment. - Unlike the |center| environment, the |\centering| command does - not start a new paragraph; it simply changes how LaTeX formats - paragraph units. To affect a paragraph unit's format, the - scope of the declaration must contain the blank line or |\end| - command (of an environment like |quote-l|) that ends the - paragraph unit. - -============================================================================== -c. description *description* -> - \begin{description} - \item [label] First item - \item [label] Second item - . - . - . - \end{description} - -The |description| environment is used to make labelled lists. The label is -bold face and flushed right. - -============================================================================== -d. enumerate *enumerate* -> - \begin{enumerate} - \item First item - \item Second item - . - . - . - \end{enumerate} - -The |enumerate| environment produces a numbered list. Enumerations can be -nested within one another, up to four levels deep. They can also be nested -within other paragraph-making environments. - -\item Each item of an enumerated list begins with an |\item| - command. There must be at least one |\item| command - within the environment. - -The |enumerate| environment uses the |\enumi| through |\enumiv| counters (see -section |latex-counters|). The type of numbering can be changed by redefining -\theenumi etc. - -============================================================================== -e. eqnarray *eqnarray* -> - \begin{eqnarray} - math formula 1 \\ - math formula 2 \\ - . - . - . - \end{eqnarray} - -The |eqnarray| environment is used to display a sequence of equations or -inequalities. It is very much like a three-column |array| environment, with -consecutive rows separated by |\\| and consecutive items within a row separated -by an |&|. - -\nonumber *\nonumber* - An equation number is placed on every line unless that - line has a |\nonumber| command. - -\lefteqn *\lefteqn* - The command |\lefteqn| is used for splitting long - formulas across lines. It typesets its argument in - display style flush left in a box of zero width. - -============================================================================== -f. equation *equation* -> - \begin{equation} - math formula - \end{equation} - -The |equation| environment centres your equation on the page and places the -equation number in the right margin. - -============================================================================== -g. figure *figure* -> - \begin{figure}[placement] - body of the figure - \caption{figure title} - \end{figure} - -Figures are objects that are not part of the normal text, and are usually -"floated" to a convenient place, like the top of a page. Figures will not be -split between two pages. - -The optional argument [placement] determines where LaTeX will try to place -your figure. There are four places where LaTeX can possibly put a float: - -h (Here) at the position in the text where the figure - environment appears. -t (Top) at the top of a text page. -b (Bottom) at the bottom of a text page. -p (Page of floats) on a separate float page, which is a page containing - no text, only floats. - -The standard |report-class| and |article-class| use the default placement -[tbp]. - -The body of the |figure| is made up of whatever text, LaTeX commands, etc. you -wish. - -The \caption command allows you to title your figure. - -============================================================================== -h. flushleft *flushleft* -> - \begin{flushleft} - Text on line 1 \\ - Text on line 2 \\ - . - . - . - \end{flushleft} - -The |flushleft| environment allows you to create a paragraph consisting of -lines that are flushed left, to the left-hand margin. Each line must be -terminated with the string |\\|. - -\raggedright *\raggedright* - This declaration corresponds to the |flushleft| environment. - This declaration can be used inside an environment such as - |quote-l| or in a |\parbox|. Unlike the |flushleft| - environment, the |\raggedright| command does not start a new - paragraph; it simply changes how LaTeX formats paragraph - units. To affect a paragraph unit's format, the scope of the - declaration must contain the blank line or |\end| command (of - an environment like |quote-l|) that ends the paragraph unit. - -============================================================================== -i. flushright *flushright* -> - \begin{flushright} - Text on line 1 \\ - Text on line 2 \\ - . - . - . - \end{flushright} - -The |flushright| environment allows you to create a paragraph consisting of -lines that are flushed right, to the right-hand margin. Each line must be -terminated with the string |\\|. - -\raggedleft *\raggedleft* - This declaration corresponds to the |flushright| environment. - This declaration can be used inside an environment such as - |quote-l| or in a |\parbox|. Unlike the |flushright| - environment, the |\raggedleft| command does not start a new - paragraph; it simply changes how LaTeX formats paragraph - units. To affect a paragraph unit's format, the scope of the - declaration must contain the blank line or |\end| command (of - an environment like |quote-l|) that ends the paragraph unit. - -============================================================================== -j. itemize *itemize* -> - \begin{itemize} - \item First item - \item Second item - . - . - . - \end{itemize} - -The |itemize| environment produces a "bulleted" list. Itemizations can be -nested within one another, up to four levels deep. They can also be nested -within other paragraph-making environments. - -\item *\item* - Each item of an itemized list begins with an |\item| command. - There must be at least one |\item| command within the - environment. - -The itemize environment uses the |\itemi| through |\itemiv| counters (see -section |latex-counters|). The type of numbering can be changed by redefining -\theitemi etc. - -============================================================================== -k. letter *\letter* - -This environment is used for creating letters. See section |latex-letters|. - -============================================================================== -l. list *list* - -The |list| environment is a generic environment which is used for defining many -of the more specific environments. It is seldom used in documents, but often -in macros. -> - \begin{list}{label}{spacing} - \item First item - \item Second item - . - . - . - \end{list} - -'label' The {label} argument specifies how items should be labelled. - This argument is a piece of text that is inserted in a box to - form the {label}. This argument can and usually does contain - other LaTeX commands. - -'spacing' The {spacing} argument contains commands to change the spacing - parameters for the |list|. This argument will most often be - null, i.e., {}. This will select all default spacing which - should suffice for most cases. - -============================================================================== -m. minipage *minipage* -> - \begin{minipage}[position]{width} - text - \end{minipage} - -The |minipage| environment is similar to a |\parbox| command. It takes the -same optional [position] argument and mandatory {width} argument. You may use -other paragraph-making environments inside a |minipage|. Footnotes in a -minipage environment are handled in a way that is particularly useful for -putting footnotes in figures or tables. A |\footnote| or |\footnotetext| -command puts the footnote at the bottom of the minipage instead of at the -bottom of the page, and it uses the |\mpfootnote| counter instead of the -ordinary footnote counter. See sections |latex-counters| and -|latex-footnotes|. - -NOTE: Don't put one |minipage| inside another if you are using footnotes; they -may wind up at the bottom of the wrong minipage. - -============================================================================== -n. picture *picture* -> - size position - \begin{picture}(width,height)(x offset,y offset) - . - . - picture commands - . - . - \end{picture} - -The |picture| environment allows you to create just about any kind of picture -you want containing text, lines, arrows and circles. You tell LaTeX where to -put things in the picture by specifying their coordinates. A coordinate is a -number that may have a decimal point and a minus sign -- a number like 5, 2.3 -or -3.1416. A coordinate specifies a length in multiples of the unit length -|\unitlength|, so if |\unitlength| has been set to 1cm, then the coordinate -2.54 specifies a length of 2.54 centimetres. You can change the value of -|\unitlength| anywhere you want, using the |\setlength| command, but strange -things will happen if you try changing it inside the |picture| environment. - -A position is a pair of coordinates, such as (2.4,-5), specifying the point -with x-coordinate 2.4 and y-coordinate -5. Coordinates are specified in the -usual way with respect to an origin, which is normally at the lower-left -corner of the |picture|. -Note that when a position appears as an argument, it is not enclosed in -braces; the parentheses serve to delimit the argument. - -The |picture| environment has one mandatory argument, which is a position. It -specifies the size of the picture. The environment produces a rectangular box -with width and height determined by this argument's x- and y-coordinates. - -The |picture| environment also has an optional position argument, following -the size argument, that can change the origin. (Unlike ordinary optional -arguments, this argument is not contained in square brackets.) The optional -argument gives the coordinates of the point at the lower-left corner of the -picture (thereby determining the origin). For example, if |\unitlength| has -been set to 1mm, the command: > - \begin{picture}(100,200)(10,20) -> -produces a picture of width 100 millimetres and height 200 millimetres, whose -lower-left corner is the point (10,20) and whose upper-right corner is -therefore the point (110,220). When you first draw a picture, you will omit -the optional argument, leaving the origin at the lower-left corner. If you -then want to modify your picture by shifting everything, you just add the -appropriate optional argument. - -The environment's mandatory argument determines the nominal size of the -picture. This need bear no relation to how large the picture really is; LaTeX -will happily allow you to put things outside the picture, or even off the -page. The picture's nominal size is used by LaTeX in determining how much room -to leave for it. - -Everything that appears in a picture is drawn by the |\put| command. The -command: > - \put (11.3,-.3){...} - -puts the object specified by ... in the picture, with its -reference point at coordinates (11.3,-.3). The reference points for various -objects will be described below. - -The |\put| creates an LR box (|lrbox|). You can put anything in the text -argument of the |\put| that you'd put into the argument of an |\mbox| and -related commands. When you do this, the reference point will be the lower left -corner of the box. - -Picture commands: -|\circle| Draw a circle -|\dashbox| Draw a dashed box -|\frame| Draw a frame around an object -|\framebox(picture)| Draw a box with a frame around it -|\line| Draw a straight line -|\linethickness| Set the line thickness -|\makebox(picture)| Draw a box of the specified size -|\multiput| Draw multiple instances of an object -|\oval| Draw an ellipse -|\put| Place an object at a specified place -|\shortstack| Make a pile of objects -|\vector| Draw a line with an arrow - -\circle[*]{diameter} *\circle* - Command produces a circle with a {diameter} as close to the - specified one as possible. If the *-form of the command is - used, LaTeX draws a solid circle. - Note: only circles up to 40 pt can be drawn. - - -\dashbox{dashlength}(width,height){...} *\dashbox* - Draws a box with a dashed line. The |\dashbox| has an extra - argument which specifies the width of each dash. A dashed box - looks best when the width and height are multiples of the - {dashlength}. - -\frame{...} *\frame* - Puts a rectangular frame around the object specified in the - argument. The reference point is the bottom left corner of the - frame. No extra space is put between the frame and the object. - -\framebox(width,height)[position]{...} *\picture-framebox* - The |\framebox| command is exactly the same as the - |picture-makebox| command, except that it puts a frame around - the outside of the box that it creates. The |\framebox| - command produces a rule of thickness |\fboxrule|, and leaves a - space |\fboxsep| between the rule and the contents of the box. - -\line(x slope,y slope){length} *\line* - Draws a line of the specified length and slope. - Note: LaTeX can only draw lines with slope = x/y, where x and - y have integer values from -6 through 6. - -\linethickness{dimension} *\linethickness* - Declares the thickness of horizontal and vertical lines in a - |picture| environment to be dimension, which must be a - positive length. It does not affect the thickness of slanted - lines (|\line|) and circles (|circle|), or the quarter circles - drawn by |\oval| to form the corners of an oval. - -\makebox(width,height)[position]{...} *picture-makebox* - The makebox command for the |picture| environment is similar - to the normal |\makebox| command except that you must specify - a width and height in multiples of |\unitlength|. - The optional argument, [position], specifies the quadrant that - your text appears in. You may select up to two of the - following: - t - Moves the item to the top of the rectangle - b - Moves the item to the bottom - l - Moves the item to the left - r - Moves the item to the right - - *\multiput* -\multiput(x coord,y coord)(delta x,delta y){no of copies}{object} - This command can be used when you are putting the same - object in a regular pattern across a picture. - -\oval(width,height)[portion] *\oval* - Produces a rectangle with rounded corners. The optional - argument, [portion], allows you to select part of the oval. - t - top portion - b - bottom portion - r - right portion - l - left portion - Note: the "corners" of the oval are made with quarter circles - with a maximum radius of 20 pt, so large "ovals" will look - more like boxes with rounded corners. - -\put(x coord,y coord){ ... } *\put* - Places the item specified by the mandatory argument at the - given coordinates. - -\shortstack[position]{... \\ ... \\ ...} *\shortstack* - The |\shortstack| command produces a stack of objects. - The valid positions are: - r - right of the stack - l - left of the stack - c - centre of the stack (default) - -\vector(x slope,y slope){length} *\vector* - Draws a line with an arrow of the specified length and slope. - The x and y values must lie between -4 and +4, inclusive. - -============================================================================== -o. quotation *quotation* - > - \begin{quotation} - text - \end{quotation} - -The margins of the |quotation| environment are indented on the left and the -right. The text is justified at both margins and there is paragraph -indentation. Leaving a blank line between text produces a new paragraph. - -============================================================================== -p. quote *quote-l* -> - \begin{quote} - text - \end{quote} - -The margins of the |quote-l| environment are indented on the left and the right. -The text is justified at both margins. Leaving a blank line between text -produces a new paragraph. - -============================================================================== -q. tabbing *tabbing* -> - \begin{tabbing} - text \= more text \= still more text \= last text \\ - second row \> \> more \\ - . - . - . - \end{tabbing} - -The |tabbing| environment provides a way to align text in columns. It works by -setting tab stops and tabbing to them much the way you do with an ordinary -typewriter. - -It is best suited for cases where the width of each column is constant and -known in advance. - -This environment can be broken across pages, unlike the |tabular| environment. -The following commands can be used inside a tabbing environment: - - *tab=* -\= Sets a tab stop at the current position. - - *tab>* -\> Advances to the next tab stop. - - *tab<* -\< This command allows you to put something to the left of the - local margin without changing the margin. Can only be used at - the start of the line. - - *tab+* -\+ Moves the left margin of the next and all the following - commands one tab stop to the right. - - *tab-* -\- Moves the left margin of the next and all the following - commands one tab stop to the left. - - *tab'* -\' Moves everything that you have typed so far in the current - column, i.e. everything from the most recent \> (|tab>|), \< - (|tab<|), \' (|tab'|), |\\|, or |\kill| command, to the right - of the previous column, flush against the current column's tab - stop. - - *tab`* -\` Allows you to put text flush right against any tab stop, - including tab stop 0. However, it can't move text to the right - of the last column because there's no tab stop there. The \` - (|tab`|) command moves all the text that follows it, up to the - |\\| or \end{tabbing} command that ends the line, to the right - margin of the tabbing environment. There must be no \> - (|tab>|) or \' (|tab'|) command between the \` (|tab`|) and - the command that ends the line. - - *\kill* -\kill Sets tab stops without producing text. Works just like |\\| - except that it throws away the current line instead of - producing output for it. The effect of any \= (|tab=|), \+ - (|tab+|) or \- (|tab-|) commands in that line remain in - effect. - - *\pushtabs* -\pushtabs Saves all current tab stop positions. Useful for temporarily - changing tab stop positions in the middle of a tabbing - environment. Also restores the tab stop positions saved by the - last |\pushtabs|. - - *taba* -\a In a tabbing environment, the commands \= (|tab=|), \' - (|tab'|) and \` (|tab`|) do not produce accents as normal. - Instead, the commands \a=, \a' and \a` are used. - -This example typesets a Pascal function in a traditional format: -> - \begin{tabbing} - function \= fact(n : integer) : integer;\\ - \> begin \= \+ \\ - \> if \= n $>$ 1 then \+ \\ - fact := n * fact(n-1) \- \\ - else \+ \\ - fact := 1; \-\- \\ - end;\\ - \end{tabbing} - -============================================================================== -r. table *\table* -> - \begin{table}[placement] - body of the table - \caption{table title} - \end{table} - -Tables are objects that are not part of the normal text, and are usually -"floated" to a convenient place, like the top of a page. Tables will not be -split between two pages. - -The optional argument [placement] determines where LaTeX will try to place -your table. There are four places where LaTeX can possibly put a float: - - h (Here) at the position in the text where the table - environment appears. - t (Top) at the top of a text page. - b (Bottom) at the bottom of a text page. - p (Page of floats) on a separate float page, which is a page - containing no text, only floats. - -The standard |report-class| and |article-class| use the default placement [tbp]. - -The body of the table is made up of whatever text, LaTeX commands, etc., you -wish. - -The \caption command allows you to title your table. - -============================================================================== -s. tabular *tabular* -> - \begin{tabular}[pos]{cols} - column 1 entry & column 2 entry ... & column n entry \\ - . - . - . - \end{tabular} - -or -> - \begin{tabular*}{width}[pos]{cols} - column 1 entry & column 2 entry ... & column n entry \\ - . - . - . - \end{tabular*} - -These environments produce a box consisting of a sequence of rows of items, -aligned vertically in columns. The mandatory and optional arguments consist -of: - -{width} Specifies the width of the tabular* environment. There must be - rubber space between columns that can stretch to fill out the - specified width. - -[pos] Specifies the vertical position; default is alignment on the - centre of the environment. - t - align on top row - b - align on bottom row - -{cols} Specifies the column formatting. It consists of a sequence of - the following specifiers, corresponding to the sequence of - columns and intercolumn material. - l - A column of left-aligned items. - - r - A column of right-aligned items. - - c - A column of centred items. - - | - A vertical line the full height and depth of the - environment. - - @{text} - This inserts text in every row. An @-expression - suppresses the intercolumn space normally inserted - between columns; any desired space between the - inserted text and the adjacent items must be included - in text. An \extracolsep{wd} command in an - @-expression causes an extra space of width {wd} to - appear to the left of all subsequent columns, until - countermanded by another |\extracolsep| command. Unlike - ordinary intercolumn space, this extra space is not - suppressed by an @-expression. An |\extracolsep| - command can be used only in an @-expression in the - cols argument. - - p{wd} - Produces a column with each item typeset in a |\parbox| - of width {wd}, as if it were the argument of a - \parbox[t]{wd} command. However, a |\\| may not appear - in the item, except in the following situations: - 1. inside an environment like |minipage|, |array|, or - |tabular|. - 2. inside an explicit |\parbox|. - 3. in the scope of a |\centering|, |\raggedright|, or - |\raggedleft| declaration. The latter declarations must - appear inside braces or an environment when used in a - p-column element. - - {num}{cols} - Equivalent to num copies of cols, where num is any positive - integer and cols is any list of column-specifiers, - which may contain another -expression. - -These commands can be used inside a tabular environment: - -|\cline| Draw a horizontal line spanning some columns. -|\hline| Draw a * horizontal line spanning all columns. -|\multicolumn| Make an item spanning * several columns. -|\vline| Draw a vertical line. - - -\cline{i-j} *\cline* - The |\cline| command draws horizontal lines across the columns - specified, beginning in column i and ending in column j, - which are identified in the mandatory argument. - -\hline *\hline* - The |\hline| command will draw a horizontal line the width of - the table. It's most commonly used to draw a line at the top, - bottom, and between the rows of the table. - -\multicolumn{cols}{pos}{text} *\multicolumn* - The |\multicolumn| is used to make an entry that spans several - columns. The first mandatory argument, {cols}, specifies the - number of columns to span. The second mandatory argument, - {pos}, specifies the formatting of the entry: - c - centered - l - flushleft - r - flushright. - The third mandatory argument, {text}, specifies what text is - to make up the entry. - -\vline *\vline* - The |\vline| command will draw a vertical line extending the - full height and depth of its row. An |\hfill| command can be - used to move the line to the edge of the column. It can also - be used in an @-expression. - -============================================================================== -t. thebibliography *\thebibliography* -> - \begin{thebibliography}{widestlabel} - \bibitem[label]{cite_key} - . - . - . - \end{thebibliography} - -The |\thebibliography| environment produces a bibliography or reference list. - -In the |article-class|, this reference list is labelled "References"; in the -|report-class|, it is labelled "Bibliography". - -{widestlabel} Text that, when printed, is approximately as wide as the - widest item label produces by the |\bibitem| commands. - -|\bibitem| Specify a bibliography item. -|\cite| Refer to a bibliography item. -|\nocite| Include an item in the bibliography. -|BibTeX| Automatic generation of bibliographies. - -\bibitem *\bibitem* -\bibitem[label]{citekey} - The |\bibitem| command generates an entry labelled by [label]. - If the [label] argument is missing, a number is generated as - the label, using the |\enumi| counter. The {citekey} is any - sequence of letters, numbers, and punctuation symbols not - containing a comma. This command writes an entry on the `.aux' - file containing {citekey} and the item's label. When this - `.aux' file is read by the \begin{document} command, the - item's label is associated with {citekey}, causing the - reference to {citekey} by a |\cite| command to produce the - associated label. - -\cite *\cite* -\cite[text]{keylist} - The {keylist} argument is a list of citation keys. This - command generates an in-text citation to the references - associated with the keys in {keylist} by entries on the `.aux' - file read by the \begin{document} command. - The optional text argument will appear after the - citation, i.e.: > - \cite[p.2]{knuth} -< might produce `[Knuth, p. 2]'. - -\nocite *\nocite* -\nocite{keylist} - The |\nocite| command produces no text, but writes - {keylist}, which is a list of one or more citation - keys, on the `.aux' file. - -BibTeX *BibTeX* *bibtex* - *\bibliographystyle* -If you use the BibTeX program by Oren Patashnik (highly recommended if you -need a bibliography of more than a couple of titles) to maintain your -bibliography, you don't use the |thebibliography| environment. Instead, you -include the lines: -> - \bibliographystyle{style} - \bibliography{bibfile} - -where {style} refers to a file style.bst, which defines how your citations -will look. The standard styles distributed with BibTeX are: - -{alpha} Sorted alphabetically. Labels are formed from name of author and year - of publication. -{plain} Sorted alphabetically. Labels are numeric. -{unsrt} Like plain, but entries are in order of citation. -{abbrv} Like plain, but more compact labels. - -In addition, numerous other BibTeX style files exist tailored to the demands -of various publications. - - *\bibliography* -The argument to |\bibliography| refers to the file bibfile.bib, which should -contain your database in BibTeX format. Only the entries referred to via -|\cite| and |\nocite| will be listed in the bibliography. - -============================================================================== -u. theorem *theorem* -> - \begin{theorem} - theorem text - \end{theorem} - -The |theorem| environment produces "Theorem x" in boldface followed by your -theorem text. - -============================================================================== -v. titlepage *titlepage* -> - \begin{titlepage} - text - \end{titlepage} - -The |titlepage| environment creates a title page, i.e. a page with no printed -page number or heading. It also causes the following page to be numbered page -one. Formatting the title page is left to you. The |\today| command comes in -handy for title pages. - -Note that you can use the |\maketitle| to produce a standard title page. - -============================================================================== -x. verbatim *verbatim* -> - \begin{verbatim} - text - \end{verbatim} - -The |verbatim| environment is a paragraph-making environment that gets LaTeX -to print exactly what you type in. It turns LaTeX into a typewriter with -carriage returns and blanks having the same effect that they would on a -typewriter. - -\verb *\verb* -\verb char literal_text char -\verb*char literal_text char - Typesets literal_text exactly as typed, including - special characters and spaces, using a typewriter |\tt| - type style. There may be no space between |\verb| or - |\verb|* and char (space is shown here only for - clarity). The *-form differs only in that spaces are - printed as `\verb*| |\'. - -============================================================================== -y. verse *verse* -> - \begin{verse} - text - \end{verse} - -The |verse| environment is designed for poetry, though you may find other uses -for it. - -The margins are indented on the left and the right. Separate the lines of each -stanza with |\\|, and use one or more blank lines to separate the stanzas. - -============================================================================== -8. Footnotes *latex-footnotes* - -Footnotes can be produced in one of two ways. They can be produced with one -command, the |\footnote| command. They can also be produced with two commands, -the |\footnotemark| and the |\footnotetext| commands. See the specific command for -information on why you would use one over the other. - -|\footnote| Insert a footnote -|\footnotemark| Insert footnote mark only -|\footnotetext| Insert footnote text only - -\footnote[number]{text} *\footnote* - Command places the numbered footnote text at the bottom of the - current page. The optional argument, number, is used to change - the default footnote number. This command can only be used in - outer paragraph mode; i.e., you cannot use it in sectioning - commands like |\chapter|, in |\figure|, |\table| or in a - |\tabular| environment. - -\footnotemark *\footnotemark* - Command puts the footnote number in the text. This command can - be used in inner paragraph mode. The text of the footnote is - supplied by the |\footnotetext| command. - This command can be used to produce several consecutive - footnote markers referring to the same footnote by using -> - \footnotemark[\value{footnote}] -< - after the first |\footnote| command. - -\footnotetext[number]{text} *\footnotetext* - Command produces the text to be placed at the bottom of the - page. This command can come anywhere after the |\footnotemark| - command. The |\footnotetext| command must appear in outer - paragraph mode. The optional argument, number, is used to - change the default footnote number. - -============================================================================== -9. Lengths *latex-lengths* - -A length is a measure of distance. Many LaTeX commands take a length as an -argument. - -|\newlength| Define a new length. -|\setlength| Set the value of a length. -|\addtolength| Add a quantity to a length. -|\settodepth| Set a length to the depth of something. -|\settoheight| Set a length to the height of something. -|\settowidth| Set a length to the width of something. -|pre-lengths| Lengths that are, like, predefined. - -\newlength{\gnat} *\newlength* - The |\newlength| command defines the mandatory argument, \gnat, - as a length command with a value of 0in. An error occurs if a - \gnat command already exists. - -\setlength{\gnat}{length} *\setlength* - The |\setlength| command is used to set the value of a \gnat - command. The {length} argument can be expressed in any terms - of length LaTeX understands, i.e., inches (in), millimetres - (mm), points (pt), etc. - -\addtolength{\gnat}{length} *\addtolength* - The |\addtolength| command increments a \gnat by the amount - specified in the {length} argument. It can be a negative - amount. - -\settodepth{\gnat}{text} *\settodepth* - The |\settodepth| command sets the value of a \gnat command - equal to the depth of the {text} argument. - -\settoheight{\gnat}{text} *\settoheight* - The |\settoheight| command sets the value of a \gnat command - equal to the height of the {text} argument. - -\settowidth{\gnat}{text} *\settowidth* - The |\settowidth| command sets the value of a \gnat command - equal to the width of the {text} argument. - -Predefined lengths *pre-lengths* - -\width *\width* -\height *\height* -\depth *\depth* -\totalheight *\totalheight* - These length parameters can be used in the arguments of the - box-making commands See section Spaces & Boxes. They specify - the natural width etc. of the text in the box. - \totalheight equals \height + \depth. - To make a box with the text stretched to double the natural - size, e.g., say: > - \makebox[2\width]{Get a stretcher} - -============================================================================== -10. Letters *latex-letters* - -You can use LaTeX to typeset letters, both personal and business. The letter -document class is designed to make a number of letters at once, although you -can make just one if you so desire. - -Your `.tex' source file has the same minimum commands as the other document -classes, i.e., you must have the following commands as a minimum: > - \documentclass{letter} - \begin{document} - ... - letters - ... - \end{document} - -Each letter is a letter environment, whose argument is the name and address of -the recipient. For example, you might have: > - \begin{letter} - {Mr. Joe Smith\\ - 2345 Princess St. \\ - Edinburgh, EH1 1AA} - ... - \end{letter} - -The letter itself begins with the |\opening| command. The text of the letter -follows. It is typed as ordinary LaTeX input. Commands that make no sense in -a letter, like |\chapter|, do not work. The letter closes with a |\closing| -command. - -After the closing, you can have additional material. The |\cc| command produces -the usual "cc: ...". There's also a similar |\encl| command for a list of -enclosures. With both these commands, use|\\| to separate the items. - -These commands are used with the letter class: -|\address| Your return address. -|\cc| Cc list. closing Saying goodbye. -|\encl| List of enclosed material. -|\location| Your organisation's address. -|\makelabels| Making address labels. -|\name| Your name, for the return address. -|\opening| Saying hello. -|\ps| Adding a postscript. -|\signature| Your signature. -|\startbreaks| Allow page breaks. -|\stopbreaks| Disallow page breaks. -|\telephone| Your phone number. - -\address{Return address} *\address* - The return address, as it should appear on the letter and the - envelope. Separate lines of the address should be separated - by |\\| commands. If you do not make an |\address| declaration, - then the letter will be formatted for copying onto your - organisation's standard letterhead. (See section Overview of - LaTeX and Local Guide, for details on your local - implementation). If you give an |\address| declaration, then - the letter will be formatted as a personal letter. - -\cc{Kate Schechter\\Rob McKenna} *\cc* - Generate a list of other persons the letter was sent to. Each - name is printed on a separate line. - -\closing{text} *\closing* - The letter closes with a |\closing| command, i.e., > - \closing{Best Regards,} \encl{CV\\Certificates} -< Generate a list of enclosed material. - -\location{address} *\location* - This modifies your organisation's standard address. This only - appears if the firstpage pagestyle is selected. - -\makelabels{number} *\makelabels* - If you issue this command in the preamble, LaTeX will create a - sheet of address labels. This sheet will be output before the - letters. - -\name{June Davenport} *\name* - Your name, used for printing on the envelope together with the - return address. - -\opening{text} *\opening* - The letter begins with the |\opening| command. The mandatory - argument, text, is whatever text you wish to start your - letter, i.e., > - \opening{Dear Joe,} - -\ps *\ps* - Use this command before a postscript. - -\signature{Harvey Swick} *\signature* - Your name, as it should appear at the end of the letter - underneath the space for your signature. Items that should go - on separate lines should be separated by |\\| commands. - -\startbreaks *\startbreaks* - Used after a |\stopbreaks| command to allow page breaks again. - -\stopbreaks *\stopbreaks* - Inhibit page breaks until a |\startbreaks| command occurs. - -\telephone{number} *\telephone* - This is your telephone number. This only appears if the - firstpage pagestyle is selected. - -============================================================================== -11. Line & Page Breaking *latex-breaking* - -The first thing LaTeX does when processing ordinary text is to translate your -input file into a string of glyphs and spaces. To produce a printed document, -this string must be broken into lines, and these lines must be broken into -pages. In some environments, you do the line breaking yourself with the |\\| -command, but LaTeX usually does it for you. - -|\\| Start a new line -|hyph-| Insert explicit hyphenation -|\cleardoublepage| Start a new right-hand page -|\clearpage| Start a new page -|\enlargethispage| Enlarge the current page a bit -|\fussy| Be fussy about line breaking -|\hyphenation| Tell LaTeX how to hyphenate a word -|\linebreak| Break the line -|\newline| Break the line prematurely -|\newpage| Start a new page -|\nolinebreak| Don't break the current line -|\nopagebreak| Don't make a page break here -|\pagebreak| Please make a page break here -|\sloppy| Be sloppy about line breaking - -\\[*][extraspace] *\\* *\\\\* - The |\\| command tells LaTeX to start a new line. It has an - optional argument, [extraspace], that specifies how much extra - vertical space is to be inserted before the next line. This - can be a negative amount. - The \\* command is the same as the ordinary |\\| command - except that it tells LaTeX not to start a new page after the - line. - -\- *hyph-* - The \- command tells LaTeX that it may hyphenate the word at - that point. LaTeX is very good at hyphenating, and it will - usually find all correct hyphenation points. The \- command is - used for the exceptional cases. - Note: when you insert \- commands in a word, the word will - only be hyphenated at those points and not at any of the - hyphenation points that LaTeX might otherwise have chosen. - -\cleardoublepage *\cleardoublepage* - The |\cleardoublepage| command ends the current page and causes - all figures and tables that have so far appeared in the input - to be printed. In a two-sided printing style (|twoside|), it - also makes the next page a right-hand (odd-numbered) page, - producing a blank page if necessary. - -\clearpage *\clearpage* - The |\clearpage| command ends the current page and causes all - figures and tables that have so far appeared in the input to - be printed. - -\enlargethispage{size} *\enlargethispage* -\enlargethispage*{size} - Enlarge the textheight for the current page by the - specified amount; e.g.: > - - \enlargethispage{\baselineskip} -< - will allow one additional line. The starred form - tries to squeeze the material together on the page as - much as possible. This is normally used together with - an explicit |\pagebreak|. - -\fussy *\fussy* - This declaration (which is the default) makes TeX more fussy - about line breaking. This can avoids too much space between - words, but may produce overfull boxes. This command cancels - the effect of a previous |\sloppy| command. - -\hyphenation{words} *\hyphenation* - The |\hyphenation| command declares allowed hyphenation points, - where words is a list of words, separated by spaces, in which - each hyphenation point is indicated by a - character. - -\linebreak[number] *\linebreak* - The |\linebreak| command tells LaTeX to break the current line - at the point of the command. With the optional argument, - number, you can convert the |\linebreak| command from a demand - to a request. The [number] must be a number from 0 to 4. The - higher the number, the more insistent the request is. The - |\linebreak| command causes LaTeX to stretch the line so it - extends to the right margin. - -\newline *\newline* - The |\newline| command breaks the line right where it is. It - can only be used in paragraph mode. - -\newpage *\newpage* - The |\newpage| command ends the current page. - -\nolinebreak[number] *\nolinebreak* - The |\nolinebreak| command prevents LaTeX from breaking the - current line at the point of the command. With the optional - argument, [number], you can convert the |\nolinebreak| command - from a demand to a request. The [number] must be a number from 0 - to 4. The higher the number, the more insistent the request - is. - -\nopagebreak[number] *\nopagebreak* - The |\nopagebreak| command prevents LaTeX from breaking the - current page at the point of the command. With the optional - argument, [number], you can convert the |\nopagebreak| command - from a demand to a request. The [number] must be a number from - 0 to 4. The higher the number, the more insistent the request - is. - -\pagebreak[number] *\pagebreak* - The |\pagebreak| command tells LaTeX to break the current page - at the point of the command. With the optional argument, - [number], you can convert the |\pagebreak| command from a - demand to a request. The [number] must be a number from 0 to - 4. The higher the number, the more insistent the request is. - -\sloppy *\sloppy* - This declaration makes TeX less fussy about line breaking. - This can prevent overfull boxes, but may leave too much space - between words. - Lasts until a |\fussy| command is issued. - -============================================================================== -12. Making Paragraphs *latex-paragraphs* - -A paragraph is ended by one or more completely blank lines -- lines not -containing even a |\%|. A blank line should not appear where a new paragraph -cannot be started, such as in math mode or in the argument of a sectioning -command. - -|\indent| Indent this paragraph. -|\noindent| Do not indent this paragraph. -|\par| Another way of writing a blank line. - -\indent *\indent* - This produces a horizontal space whose width equals the width - of the paragraph indentation. It is used to add paragraph - indentation where it would otherwise be suppressed. - -\noindent *\noindent* - When used at the beginning of the paragraph, it suppresses the - paragraph indentation. It has no effect when used in the - middle of a paragraph. - -\par *\par* - Equivalent to a blank line; often used to make command or - environment definitions easier to read. - -============================================================================== -13. Margin Notes *latex-margin-notes* - -\marginpar[left]{right} *\marginpar* - This command creates a note in the margin. The first line will - be at the same height as the line in the text where the - |\marginpar| occurs. - - When you only specify the mandatory argument {right}, the text - will be placed: - * in the right margin for one-sided layout - * in the outside margin for two-sided layout (|twoside|) - * in the nearest margin for two-column layout (|twocolumn|) - -\reversemarginpar *\reversemarginpar* - By issuing the command |\reversemarginpar|, you can force the - marginal notes to go into the opposite (inside) margin. - -When you specify both arguments, left is used for the left margin, and right -is used for the right margin. - -The first word will normally not be hyphenated; you can enable hyphenation by -prefixing the first word with a \hspace{0pt} command (|hspace|). - -============================================================================== -14. Math Formulae *latex-math* - *displaymath* -There are three environments (|latex-environments|) that put LaTeX in math -mode: -|math| For Formulae that appear right in the text. -|displaymath| For Formulae that appear on their own line. -|equation| The same as the displaymath environment except that it adds an - equation number in the right margin. - -The |math| environment can be used in both paragraph and LR mode, but the -|displaymath| and |equation| environments can be used only in paragraph mode. The -|math| and |displaymath| environments are used so often that they have the -following short forms: - \(...\) instead of \begin{math}...\end{math} - \[...\] instead of \begin{displaymath}...\end{displaymath} - -In fact, the math environment is so common that it has an even shorter form: - $ ... $ instead of \(...\) - -|sub-sup| Also known as exponent or index. -|math-symbols| Various mathematical squiggles. -|math-spacing| Thick, medium, thin and negative spaces. -|math-misc| Stuff that doesn't fit anywhere else. - -========== -Subscripts & Superscripts *sub-sup* - *subscripts* *superscripts* - -To get an expression exp to appear as a subscript, you just type _{exp}. To -get exp to appear as a superscript, you type ^{exp}. LaTeX handles -superscripted superscripts and all of that stuff in the natural way. It even -does the right thing when something has both a subscript and a superscript. - -========== -Math Symbols *math-symbols* - -LaTeX provides almost any mathematical symbol you're likely to need. The -commands for generating them can be used only in math mode. For example, if -you include > - $\pi$ -in your source, you will get the symbol in your output. - -========== -Spacing in Math Mode *math-spacing* - -In a math environment, LaTeX ignores the spaces you type and puts in the -spacing that it thinks is best. LaTeX formats mathematics the way it's done in -mathematics texts. If you want different spacing, LaTeX provides the following -four commands for use in math mode: - \; - a thick space *math;* - \: - a medium space *math:* - \, - a thin space *math,* - \! - a negative thin space *matn!* - -========== -Math Miscellany *math-misc* - -\cdots *\cdots* - Produces a horizontal ellipsis where the dots are raised to - the centre of the line. -\ddots *\ddots* - Produces a diagonal ellipsis. -\frac{num}{den} *\frac* - Produces the fraction num divided by den. -\ldots *\ldots* - Produces an ellipsis. This command works in any mode, not just - math mode. -\overbrace{text} *\overbrace* - Generates a brace over text. -\overline{text} *\overline* - Causes the argument text to be overlined. -\sqrt[root]{arg} *\sqrt* - Produces the square root of its argument. The optional - argument, [root], determines what root to produce, i.e., the - cube root of x+y would be typed as: > - $\sqrt[3]{x+y}$. -\underbrace{text} *\underbrace* - Generates text with a brace underneath. -\underline{text} *\underline* - Causes the argument text to be underlined. This command can - also be used in paragraph and LR mode. -\vdots *\vdots* - Produces a vertical ellipsis. - -============================================================================== -15. Modes *latex-modes* - -When LaTeX is processing your input text, it is always in one of three modes: - Paragraph mode *paragraph-mode* - Math mode *math-mode* - Left-to-right mode, called LR mode for short. *lr-mode* - -LaTeX changes mode only when it goes up or down a staircase to a different -level, though not all level changes produce mode changes. Mode changes occur -only when entering or leaving an environment, or when LaTeX is processing the -argument of certain text-producing commands. - -|paragraph-mode| is the most common; it's the one LaTeX is in when processing -ordinary text. In that mode, LaTeX breaks your text into lines and breaks the -lines into pages. LaTeX is in |math-mode| when it's generating a mathematical -formula. In |lr-mode|, as in |paragraph-mode|, LaTeX considers the output that -it produces to be a string of words with spaces between them. However, unlike -|paragraph-mode|, LaTeX keeps going from left to right; it never starts a new -line in |lr-mode|. Even if you put a hundred words into an |\mbox|, LaTeX would -keep typesetting them from left to right inside a single box, and then -complain because the resulting box was too wide to fit on the line. - -LaTeX is in |lr-mode| when it starts making a box with an |\mbox| command. You -can get it to enter a different mode inside the box - for example, you can -make it enter |math-mode| to put a formula in the box. There are also several -text-producing commands and environments for making a box that put LaTeX in -|paragraph-mode|. The box make by one of these commands or environments will be -called a |\parbox|. When LaTeX is in |paragraph-mode| while making a box, it is -said to be in "inner paragraph mode". Its normal |paragraph-mode|, which it -starts out in, is called "outer paragraph mode". - -============================================================================== -16. Page Styles *latex-page-styles* - -The |\documentclass| command determines the size and position of the page's head -and foot. The page style determines what goes in them. - -|\maketitle| Generate a title page. -|\pagenumbering| Set the style used for page numbers. -|\pagestyle| Change the headings/footings style. -|\thispagestyle| Change the headings/footings style for this page. - -\maketitle *\maketitle* - The |\maketitle| command generates a title on a separate title - page - except in the |\article| class, where the title normally - goes at the top of the first page. Information used to - produce the title is obtained from the following declarations: - - |\author| Who wrote this stuff? - |\date| The date the document was created. - |\thanks| A special form of footnote. - |\title| How to set the document title. - - \author{names} *\author* *\and* - The |\author| command declares the author(s), where - names is a list of authors separated by \and commands. - Use |\\| to separate lines within a single author's - entry -- for example, to give the author's institution - or address. - - \date{text} *\date* - The |\date| command declares text to be the document's - date. With no |\date| command, the current date is - used. - - \thanks{text} *\thanks* - The |\thanks| command produces a |\footnote| to the - title. - - \title{text} *\title* - The |\title| command declares text to be the title. Use - |\\| to tell LaTeX where to start a new line in a long - title. - -\pagenumbering{numstyle} *\pagenumbering* - Specifies the style of page numbers. Possible values of - 'numstyle' are: - arabic - Arabic numerals *arabic* - roman - Lowercase Roman numerals *roman* - Roman - Uppercase Roman numerals *Roman* - alph - Lowercase letters *alph* - Alph - Uppercase letters *Alph* - -\pagestyle{option} *\pagestyle* - *plain* *empty* *headings* - The |\pagestyle| command changes the style from the current - page on throughout the remainder of your document. - The valid options are: - plain - Just a plain page number. - empty - Produces empty heads and feet no page numbers. - headings - Puts running headings on each page. The document - style specifies what goes in the headings. - myheadings - You specify what is to go in the heading with the - |\markboth| or the |\markright| commands. - - |\markboth| Set left and right headings. - |\markright| Set right heading only. - - \markboth{left head}{right head} *\markboth* - The |\markboth| command is used in conjunction with the - page style myheadings for setting both the left and - the right heading. - Note that a "left-hand heading" is generated by the - last |\markboth| command before the end of the page, - while a "right-hand heading" is generated by the first - |\markboth| or |\markright| that comes on the page if - there is one, otherwise by the last one before the - page. - - - \markright{right head} *\markright* - The |\markright| command is used in conjunction with - the page style |\myheadings| for setting the right - heading, leaving the left heading unchanged. - Note that a "left-hand heading" is generated by the - last |\markboth| command before the end of the page, - while a "right-hand heading" is generated by the first - |\markboth| or |\markright| that comes on the page if - there is one, otherwise by the last one before the - page. - -\thispagestyle{option} *\thispagestyle* - The |\thispagestyle| command works in the same manner as the - |\pagestyle| command except that it changes the style for the - current page only. - -============================================================================== -17. Sectioning *latex-sectioning* - -Sectioning commands provide the means to structure your text into units. -|\part| -|\chapter| (report and book class only) -|\section| -|\subsection| -|\subsubsection| -|\paragraph| -|\subparagraph| - -All sectioning commands take the same general form, i.e., - - *\part* - *\chapter* (report and book class only) - *\section* *\subsection* *\subsubsection* - *\paragraph* *\subparagraph* -\chapter[optional]{title} - In addition to providing the heading in the text, the - mandatory argument of the sectioning command can appear in two - other places: - 1. The table of contents - 2. The running head at the top of the page. You may not want - the same thing to appear in these other two places as - appears in the text heading. To handle this situation, the - sectioning commands have an optional argument that provides - the text for these other two purposes. - -All sectioning commands have *\-forms that print a title, but do not include a -number and do not make an entry in the table of contents. - -\appendix *\appendix* - The |\appendix| command changes the way sectional units are - numbered. The |\appendix| command generates no text and does - not affect the numbering of parts. The normal use of this - command is something like: > - \chapter{The First Chapter} - ... - \appendix \chapter{The First Appendix} - - -============================================================================== -18. Spaces & Boxes *latex-spaces-boxes* - -All the predefined length parameters See section Predefined lengths can be -used in the arguments of the box-making commands. - - Horizontal space: - -|\dotfill| Stretchable horizontal dots. -|\hfill| Stretchable horizontal space. -|\hrulefill| Stretchable horizontal rule. -|\hspace| Fixed horizontal space. - - Vertical space: - -|\addvspace| Fixed vertical space. -|\bigskip| Fixed vertical space. -|\medskip| Fixed vertical space. -|\smallskip| Fixed vertical space. -|\vfill| Stretchable vertical space. -|\vspace| Fixed vertical space. - - Boxes: - -|\fbox| Framebox. -|\framebox| Framebox, adjustable position. -|\lrbox| An environment like |\sbox|. -|\makebox| Box, adjustable position. -|\mbox| Box. -|\newsavebox| Declare a name for saving a box. -|\parbox| Box with text in paragraph mode. -|\raisebox| Raise or lower text. -|\rule| Lines and squares. -|\savebox| Like |\makebox|, but save the text for later use. -|\sbox| Like |\mbox|, but save the text for later use. -|\usebox| Print saved text. - -Horizontal space: *latex-hor-space* - -LaTeX removes horizontal space that comes at the end of a line. If you don't -want LaTeX to remove this space, include the optional * argument. Then the -space is never removed. - -\dotfill *\dotfill* - The |\dotfill| command produces a "rubber length" that produces - dots instead of just spaces. - -\hfill *\hfill* - The |\hfill| fill command produces a "rubber length" which can - stretch or shrink horizontally. It will be filled with spaces. - -\hrulefill *\hrulefill* - The |\hrulefill| fill command produces a "rubber length" which - can stretch or shrink horizontally. It will be filled with a - horizontal rule. - -\hspace[*]{length} *\hspace* - The |\hspace| command adds horizontal space. The length of the - space can be expressed in any terms that LaTeX understands, - i.e., points, inches, etc. You can add negative as well as - positive space with an |\hspace| command. Adding negative space - is like backspacing. - - -Vertical space: *latex-ver-space* - -LaTeX removes vertical space that comes at the end of a page. If you don't -want LaTeX to remove this space, include the optional * argument. Then the -space is never removed. - -\addvspace{length} *\addvspace* - The |\addvspace| command normally adds a vertical space of - height length. However, if vertical space has already been - added to the same point in the output by a previous - |\addvspace| command, then this command will not add more space - than needed to make the natural length of the total vertical - space equal to length. - -\bigskip *\bigskip* - The |\bigskip| command is equivalent to \vspace{bigskipamount} - where bigskipamount is determined by the document class. - -\medskip *\medskip* - The |\medskip| command is equivalent to \vspace{medskipamount} - where medskipamount is determined by the document class. - -\smallskip *\smallskip* - The |\smallskip| command is equivalent to - \vspace{smallskipamount} where smallskipamount is determined - by the document class. - -\vfill *\vfill* - The |\vfill| fill command produces a rubber length which can - stretch or shrink vertically. - -\vspace[*]{length} *\vspace* - The |\vspace| command adds vertical space. The length of the - space can be expressed in any terms that LaTeX understands, - i.e., points, inches, etc. You can add negative as well as - positive space with an |\vspace| command. - - -Boxes: *latex-boxes* - -\fbox{text} *\fbox* - The |\fbox| command is exactly the same as the |\mbox| command, - except that it puts a frame around the outside of the box that - it creates. - -\framebox[width][position]{text} *\framebox* - The |\framebox| command is exactly the same as the |\makebox| - command, except that it puts a frame around the outside of the - box that it creates. - The |\framebox| command produces a rule of thickness - |\fboxrule|, and leaves a space |\fboxsep| between the rule and - the contents of the box. - -lrbox *\lrbox* -\begin{lrbox}{cmd} text \end{lrbox} - This is the environment form of |\sbox|. - The text inside the environment is saved in the box cmd, which - must have been declared with |\newsavebox|. - -\makebox[width][position]{text} *\makebox* - The |\makebox| command creates a box just wide enough to - contain the text specified. The width of the box is specified - by the optional [width] argument. The position of the text - within the box is determined by the optional [position] - argument. - c -- centred (default) - l -- flushleft - r -- flushright - s -- stretch from left to right margin. The text must - contain stretchable space for this to work. - See section |\picture-makebox|. - -\mbox{text} *\mbox* - The |\mbox| command creates a box just wide enough to hold the - text created by its argument. - Use this command to prevent text from being split across - lines. - -\newsavebox{cmd} *\newsavebox* - Declares {cmd}, which must be a command name that is not - already defined, to be a bin for saving boxes. - - -\parbox[position][height][innerpos]{width}{text} *\parbox* - A parbox is a box whose contents are created in - |\paragraph-mode|. The |\parbox| has two - - Mandatory arguments: -'width' specifies the width of the parbox -'text' the text that goes inside the parbox. - - Optional arguments: -'position' LaTeX will position a parbox so its centre lines up with the - centre of the text line. The optional position argument allows - you to line up either the top or bottom line in the parbox - (default is top). - -'height' If the height argument is not given, the box will have the - natural height of the text. - -'innerpos' The inner-pos argument controls the placement of the text - inside the box. If it is not specified, position is used. - t -- text is placed at the top of the box - c -- text is centred in the box - b -- text is placed at the bottom of the box - s -- stretch vertically. The text must contain - vertically stretchable space for this to work. - - A |\parbox| command is used for a parbox containing a small - piece of text, with nothing fancy inside. In particular, you - shouldn't use any of the paragraph-making environments inside - a |\parbox| argument. For larger pieces of text, including ones - containing a paragraph-making environment, you should use a - |\minipage| environment. - -\raisebox{distance}[extendabove][extendbelow]{text} *\raisebox* - The |\raisebox| command is used to raise or lower text. The - first mandatory argument specifies how high the text is to be - raised (or lowered if it is a negative amount). The text - itself is processed in LR mode. - Sometimes it's useful to make LaTeX think something has a - different size than it really does - or a different size than - LaTeX would normally think it has. The |\raisebox| command - lets you tell LaTeX how tall it is. - The first optional argument, extend-above, makes LaTeX think - that the text extends above the line by the amount specified. - The second optional argument, extend-below, makes LaTeX think - that the text extends below the line by the amount specified. - -\rule[raiseheight]{width}{thickness} *\rule* - The |\rule| command is used to produce horizontal lines. The - arguments are defined as follows: -'raiseheight' specifies how high to raise the rule (optional) -'width' specifies the length of the rule (mandatory) -'thickness' specifies the thickness of the rule (mandatory) - -\savebox{cmd}[width][pos]{text} *\savebox* - This command typeset text in a box just as for |\makebox|. - However, instead of printing the resulting box, it saves it in - bin cmd, which must have been declared with |\newsavebox|. - -\sbox{text} *\sbox* - This commands typeset text in a box just as for |\mbox|. - However, instead of printing the resulting box, it saves it in - bin cmd, which must have been declared with |\newsavebox|. - -\usebox{cmd} *\usebox* - Prints the box most recently saved in bin cmd by a |\savebox| - command. - -============================================================================== -19. Special Characters *latex-special* - -The following characters play a special role in LaTeX and are called "special -printing characters", or simply "special characters". > - # $ % & ~ _ ^ \ { } -Whenever you put one of these special characters into your file, you are doing -something special. If you simply want the character to be printed just as any -other letter, include a \ in front of the character. For example, \$ will -produce $ in your output. - -One exception to this rule is the \ itself because |\\| has its own special -meaning. A \ is produced by typing $\backslash$ in your file. - -Also, \~ means `place a tilde accent over the following letter', so you will -probably want to use |\verb| instead. - *\symbol* -In addition, you can access any character of a font once you know its number -by using the |\symbol| command. For example, the character used for displaying -spaces in the |\verb|* command has the code decimal 32, so it can be typed as -\symbol{32}. - -You can also specify octal numbers with ' or hexadecimal numbers with ", so -the previous example could also be written as \symbol{'40} or \symbol{"20}. - -============================================================================== -20. Splitting the Input *latex-inputting* - -A large document requires a lot of input. Rather than putting the whole input -in a single large file, it's more efficient to split it into several smaller -ones. Regardless of how many separate files you use, there is one that is the -root file; it is the one whose name you type when you run LaTeX. - -|\include| Conditionally include a file -|\includeonly| Determine which files are included -|\input| Unconditionally include a file - -\include{file} *\include* - The \include command is used in conjunction with the - |\includeonly| command for selective inclusion of - files. The file argument is the first name of a file, - denoting `file.tex' . If file is one the file names in - the file list of the |\includeonly| command or if there - is no |\includeonly| command, the \include command is - equivalent to: > - \clearpage \input{file} \clearpage -< - except that if the file `file.tex' does not exist, - then a warning message rather than an error is - produced. If the file is not in the file list, the - \include command is equivalent to |\clearpage|. - - The |\include| command may not appear in the preamble or in a - file read by another |\include| command. - -\includeonly{filelist} *\includeonly* - The |\includeonly| command controls which files will be read in - by an |\include| command. {filelist} should be a - comma-separated list of filenames. Each filename must match - exactly a filename specified in a |\include| command. This - command can only appear in the preamble. - -\input{file} *\input* - The |\input| command causes the indicated file to be read and - processed, exactly as if its contents had been inserted in the - current file at that point. The file name may be a complete - file name with extension or just a first name, in which case - the file `file.tex' is used. -============================================================================== -21. Starting & Ending *latex-start-end* - -Your input file must contain the following commands as a minimum: -\documentclass{class} |\documentclass| -\begin{document} |\begin| -... your text goes here ... -\end{document} |\end| - -where the class selected is one of the valid classes for LaTeX. -See |\classes|for details of the various document classes. - -You may include other LaTeX commands between the |\documentclass| and the -\begin{document} commands (i.e., in the `preamble'). -============================================================================== -22. Table of Contents *latex-toc* - - *\tableofcontents* -A table of contents is produced with the |\tableofcontents| command. You put -the command right where you want the table of contents to go; LaTeX does the -rest for you. It produces a heading, but it does not automatically start a new -page. If you want a new page after the table of contents, include a |\newpage| -command after the |\tableofcontents| command. - - *\listoffigures* *\listoftables* -There are similar commands |\listoffigures| and |\listoftables| for producing a -list of figures and a list of tables, respectively. Everything works exactly -the same as for the table of contents. - - *\nofiles* -NOTE: If you want any of these items to be generated, you cannot have the -\nofiles command in your document. - -|\addcontentsline| Add an entry to table of contents etc. -|\addtocontents| Add text directly to table of contents file etc. - -\addcontentsline{file}{secunit}{entry} *\addcontentsline* - The |\addcontentsline| command adds an entry to the specified - list or table where: -{file} is the extension of the file on which information is to be - written: - toc (table of contents), - lof (list of figures), - lot (list of tables). -{secunit} controls the formatting of the entry. It should be one of the - following, depending upon the value of the file argument: - toc -- the name of the sectional unit, such as part or - subsection. - lof -- figure - lot -- table -{entry} is the text of the entry. - -\addtocontents{file}{text} *\addtocontents* - The |\addtocontents| command adds text (or formatting commands) - directly to the file that generates the table of contents or - list of figures or tables. -{file} is the extension of the file on which information is to be written: - toc (table of contents), - lof (list of figures), - lot (list of tables). -{text} is the information to be written. - -============================================================================== -23. Terminal Input/Output *latex-terminal* - -|\typein| Read text from the terminal. -|\typeout| Write text to the terminal. - -\typein[cmd]{msg} *\typein* - Prints {msg} on the terminal and causes LaTeX to stop and wait - for you to type a line of input, ending with return. If the - [cmd] argument is missing, the typed input is processed as if - it had been included in the input file in place of the - |\typein| command. If the [cmd] argument is present, it must be - a command name. This command name is then defined or redefined - to be the typed input. - -\typeout{msg} *\typeout* - Prints {msg} on the terminal and in the `.log' file. Commands - in {msg} that are defined with |\newcommand| or |\renewcommand| - are replaced by their definitions before being printed. - - *\space* -LaTeX's usual rules for treating multiple spaces as a single space and -ignoring spaces after a command name apply to {msg}. A |\space| command in {msg} -causes a single space to be printed. A ^^J in {msg} prints a newline. - -============================================================================== -24. Typefaces *latex-typefaces* - -The typeface is specified by giving the "size" and "style". A typeface is also -called a "font". -|font-styles| Select roman, italics etc. -|font-size| Select point size. -|font-lowlevelcommands| Commands for wizards. - -Styles *font-styles* - -The following type style commands are supported by LaTeX. - -These commands are used like: > - \textit{italics text}. -The corresponding command in parenthesis is the "declaration form", which -takes no arguments. The scope of the declaration form lasts until the next -type style command or the end of the current group. - -The declaration forms are cumulative; i.e., you can say: > - \sffamily\bfseries -to get sans serif boldface. - -You can also use the environment form of the declaration forms; e.g.: > - \begin{ttfamily}...\end{ttfamily}. -< -\textrm (\rmfamily) *\textrm* *\rmfamily* - Roman - -\textit (\itshape) *\textit* *\itshape* *\emph* - Emphasis (toggles between |\textit| and |\textrm|). - -\textmd (\mdseries) *\textmd* *\mdseries* - Medium weight (default). The opposite of boldface. - -\textbf (\bfseries) *\textbf* *\bfseries* - Boldface. - -\textup (\upshape) *\textup* *\upshape* - Upright (default). The opposite of slanted. - -\textsl (\slshape) *\textsl* *\slshape* - Slanted. - -\textsf (\sffamily) *\textsf* *\sffamily* - Sans serif. - -\textsc (\scshape) *\textsc* *\scshape* - Small caps. - -\texttt (\ttfamily) *\texttt* *\ttfamily* - Typewriter. - -\textnormal (\normalfont) *\textnormal* *\normalfont* - Main document font. - -\mathrm *\mathrm* - Roman, for use in math mode. - -\mathbf *\mathbf* - Boldface, for use in math mode. - -\mathsf *\mathsf* - Sans serif, for use in math mode. - -\mathtt *\mathtt* - Typewriter, for use in math mode. - -\mathit *\mathit* - Italics, for use in math mode, e.g. variable names with - several letters. - -\mathnormal *\mathnormal* - For use in math mode, e.g. inside another type style - declaration. - -\mathcal *\mathcal* - `Calligraphic' letters, for use in math mode. - - *\mathversion* -In addition, the command \mathversion{bold} can be used for switching to bold -letters and symbols in formulas. \mathversion{normal} restores the default. - -========== -Sizes *font-size* - -The following standard type size commands are supported by LaTeX. - -The commands as listed here are "declaration forms". The scope of the -declaration form lasts until the next type style command or the end of the -current group. - -You can also use the environment form of these commands; e.g. > - \begin{tiny}...\end{tiny} - -\tiny *\tiny* -\scriptsize *\scriptsize* -\footnotesize *\footnotesize* -\small *\small* -\normalsize(default) *\normalsize* -\large *\large* -\Large *\Large* -\LARGE *\LARGE* -\huge *\huge* -\Huge *\Huge* - -========== -Low-level font commands *font-lowlevelcommands* - -These commands are primarily intended for writers of macros and packages. The -commands listed here are only a subset of the available ones. For full -details, you should consult Chapter 7 of The LaTeX Companion. - -\fontencoding{enc} *\fontencoding* - Select font encoding. Valid encodings include OT1 and T1. - -\fontfamily{family} *\fontfamily* - Select font family. Valid families include: - cmr for Computer Modern Roman - cmss for Computer Modern Sans Serif - cmtt for Computer Modern Typewriter - and numerous others. - -\fontseries{series} *\fontseries* - Select font series. Valid series include: - m Medium (normal) - b Bold - c Condensed - bc Bold condensed - bx Bold extended - and various other combinations. - -\fontshape{shape} *\fontshape* - Select font shape. Valid shapes are: - n Upright (normal) - it Italic - sl Slanted (oblique) - sc Small caps - ui Upright italics - ol Outline - The two last shapes are not available for most font families. - -\fontsize{size}{skip} *\fontsize* - Set font size. The first parameter is the font size to switch - to; the second is the \baselineskip to use. The unit of both - parameters defaults to pt. A rule of thumb is that the - baselineskip should be 1.2 times the font size. - -\selectfont *\selectfont* - The changes made by calling the four font commands described - above do not come into effect until |\selectfont| is called. - -\usefont{enc}{family}{series}{shape} *\usefont* - Equivalent to calling |\fontencoding|, |\fontfamily|, - |\fontseries| and |\fontshape| with the given parameters, - followed by |\selectfont|. - -============================================================================== -25. Parameters *latex-parameters* - -The input file specification indicates the file to be formatted; TeX uses -`.tex' as a default file extension. If you omit the input file entirely, TeX -accepts input from the terminal. You specify command options by supplying a -string as a parameter to the command; e.g. > - - latex "\scrollmode\input foo.tex" - -will process `foo.tex' without pausing after every error. - -Output files are always created in the current directory. When you fail to -specify an input file name, TeX bases the output names on the file -specification associated with the logical name TEX_OUTPUT, typically -texput.log. - - vim:tw=78:ts=8:ft=help:norl: diff --git a/.vim/doc/ps_color.txt b/.vim/doc/ps_color.txt deleted file mode 100644 index caf6a4a..0000000 --- a/.vim/doc/ps_color.txt +++ /dev/null @@ -1,585 +0,0 @@ -*ps_color.txt* PSC For Vim version 6.3 Last change: 17 November 2004 - - -PERSONAL COLOUR SWITCHER *ps_colour* *pscolor* - - -Author: Pan, Shizhu. <dicpan> at <hotmail o com> > - (prepend '[VIM]' in the title or your mail may be silently removed.) -< -============================================================================== -CONTENTS *psc* *psc-contents* - - 1. Contents.....................|psc-contents| - 2. PSC Overview.................|psc-overview| - 3. PSC Installation.............|psc-usage| - 4. PSC Options..................|psc-options| - 5. PSC under color term ........|psc-cterm| - 6. PSC FAQ and Tips ............|psc-faq| - 7. PSC Release notes............|psc-release-notes| - 8. PSC Todo List................|psc-todo| - -For release notes, please see the header of ps_color.vim - -============================================================================== -PSC FEATURES OVERVIEW *psc-features* *psc-overview* - - Features ~ - - . PSC is firstly a color scheme which have both dark and light - background styles. - . It can have the same appearance in [cterm] as in [gui]. - . It is designed with gentle color to minimize fatigue of eye. - . It also works with other color schemes. - . Default foreground and background can easily be changed, it is more - configurable than most other color schemes - . Works with the optional tool reloaded.vim, can change the whole - color scheme in Hue,Saturation,Luminance color space. - - Design Concern ~ - - At the first glance this color scheme may look pretty 'dull', don't be - afraid, this is quite normal. Bear in mind that a text editor is not - a photo album, if a text editor looks exciting you may not be able to - stare at it for a long time. - - Predefined Vim Syntax highlighting can be too colorful or contrasty so - that many programmers prefer to switch off the syntax highlighting at - work. That is not a good idea because you will lost the advantages of - syntax high-lighting. It is often the case that we have to work for - 300+ minutes, then I decide to do-it-myself. - - Many user-defined color schemes in vim.sf.net tend to achieve low - contrast by having a strong color-cast, i.e. looks blueish or - yellowish or reddish. This does look comfortable at first, however, - any type of color-cast will cause the eyes less sensitive for - particular color after a long-time work session, and that's no good to - health. - - Efforts had been made to ensure no color-cast for this scheme, all - elementary colors like RGB and CYMK are evenly used. Like TeX, - 'consistency' is the principle this color scheme based on. Default - values which hurt consistency are amended according to the vim script - syntax/hitest.vim - - There are 3 parameters to describe a color: Hue, Saturation and - Brightness. In this color scheme, the saturation is low and the - brightness are designed to be very close to each other in order not to - fatigue our eyes after a whole day's programming work. - - Portability ~ - - Different monitor settings led to different look. In this color - scheme, it is assumed that the monitor adjust at 6500k color - temperature with a good gamma curve. If you have a 9300k monitor or - if the gamma curve is not optimal, the appearance may be less - comfortable, use adobe gamma loader or similar tools to adjust - your monitor if your monitor do not have the option to change color - temperature and/or gamma curve. - - Needless to say, VI is an editor originally designed to do edit tasks - in a text terminal, and VIM is an improved version of VI. Its a shame - that a color scheme cannot have a satisfactory appearance in cterm. - The cterm compatibility should be considered high priority when - designing ViM color scheme. - - I had made much attempt to make support for 8-color terminals, - however, 8 colors is not enough to represent a color scheme. Finally - I end up making the cterm support for 16-color terminal. Have to say - sorry if the color scheme sucks in your 8-color terminal, I had tried - my best. More details about cterm please see |psc-cterm|. - - *psc-about-background* - About the Background ~ - - We have talked about off-white backgrounds, any background which is - not black, grey or white should be changed constantly in order not to - make the eyes less sensitive to particular color. i.e. you can use - blue background on Monday, red background on Tuesday, green background - on Wednesday, but if you use blue background everyday, that's no good - to your health. - - Now we talk about the brightness of the background. Why dark - background is preferred over others? There are many reasons, such as, - the monitor emits lower radiation for black background. You may have - lots of similar reasons... - - But I'll talk about something you may not know: -> - It is easier to distinguish foreground colors on a dark background - than on a light background. - - At the same time, it is easier to distinguish background colors on - a light background than on a dark background. - - We will mainly change foreground colors for syntax highlighting. -< - Hence, we can reduce the contrast and saturation of the color in - a dark-background scheme, while retain the readability. Schemes with - white background usually comes with higher contrast and saturation. - This is probably the most important reason that the color scheme is - designed to be dark-background instead of light one. - - Now we came to know, that change the foreground color is enough to - emphasis text in a dark background, while for a white background, we - need to change the font shape (bold or italic, etc.), or change the - background color to effectively emphasis the text. This is probably - the reason Vim default scheme has bold properties for highlighting - groups, because the default scheme is a light background one. - - No one knows what color scheme is best for you, except yourself. Try! - -============================================================================== -PSC INSTALLATION *psc-usage* - - Step 1, Enable the color scheme ~ - - To use PSC is simple, just put ps_color.vim into your - [runtimepath]/colors and append the line > - - colorscheme ps_color -< - to your |.vimrc|. The [runtimepath] can be any directory listed in - |vimfiles|, normally your $HOME/.vim in Unix or $HOME/vimfiles in - Windows. - - Step 2, Install the help document ~ - - The help document will be automatically installed when the colorscheme - be sourced the first time. If it is not, type :colo ps_color now. - - After successfully installed the help document, you can use > - - :help psc-options -< - to go to the following section. - -============================================================================== -PSC OPTIONS *psc-options* - - You can let these options in your ~/.vimrc, most options works for - both GUI and cterm, only some of them do not work for both. - - Options set using the 'let' command must present [BEFORE] the color - scheme been sourced. - - *psc_style* - Style ~ -> - let psc_style='cool' - let psc_style='warm' - let psc_style='default' - let psc_style='defdark' -< - This selects between styles of colors, - The 'cool' is the default, dark background. - The 'warm' is the experimental, light background scheme. - - See |psc-about-background| for more knowledge about the background, - and the differences of two style. - - The 'default' and 'defdark' refers to Vim system default color scheme. - Which are provided only for reference. - - Let psc_style to any string other than the above 4 will switch to the - specified color scheme. For example, let psc_style='desert' and then - activate the ps_color, the color scheme will be chosen according to - desert.vim color scheme. - - *psc_cterm_style* - Color Term Style ~ -> - let psc_cterm_style='cool' -< - This is exactly the same to psc_style, except that it only affects the - console version of vim in a color terminal, the 'warm' is not - available for cterm. - By default, it will be set to the same value as 'psc_style'. You can - change it if you want different style in cterm from gui. - - - *psc_fontface* - Font face ~ -> - let psc_fontface='plain' - let psc_fontface='mixed' -< - The Vim default behavior is the 'mixed', however, the mixed font style - in a dark colorscheme is not optimal. This color uses 'plain' for - 'cool' style, i.e. No texts are bolded font. For 'warm', the default - is still 'mixed', If you want the mixed style in which the highlighted - statements are bolded font, choose this. If you want all texts be - bolded, choose 'plain' and specify a bolded guifont or terminal font. - - In GUI, this option also works for other color schemes. You can - disable the bold font and use your favorite color scheme. See - |psc-faq-ffothers| for detail. - - *psc_inversed_todo* - Inversed Todo ~ -> - let psc_inversed_todo=1 -< - When set to 1, the TODO group will be dark background with light font, - Otherwise, the TODO group have light background with dark foreground. - Default is 0. - - *psc_use_default_for_cterm* - Use default for cterm (obsoleted)~ - - This option is Obsoleted, retained only for backward compatibility, - see |psc_cterm_style| for alternative. - - *psc_statement_different_from_type* - Statement different from type ~ -> - let psc_statement_different_from_type=1 -< - The Statement-group and Type-group are easy to distinguish, different - color for them are not necessary, I use similar color for S-group - & T-group in order not to make the screen too 'colorful', also this - saves a color name for cterm. But if you do want the Statement & Type - to be different color, try 'let statement_different_from_type=1' in - your .vimrc file, which is available only for GUI. Since the color - names in cterm is limited to 16 we cannot have too many different - colors in cterm. - Default is 0, i.e. they have very similar color. - - *psc-change-background* - Changing the Background color ~ - - You may prefer a dark background over pure black one, and it is - possible to change the background, this may make life more interesting. - To do this is quite straight forward for GUI, just define the Normal - highlight in your .gvimrc, [AFTER] the color scheme has been sourced. - - For example: -> - highlight Normal guibg=#103040 -< - The #103040 will give a taste similar to oceandeep, #152535 for - hhazure, #303030 for desert, #404040 for zenburn... Replace #103040 - with any color you like. You can do the same to guifg foreground if - you are careful enough, remember this is only possible with ps_color - version 2.7 or above, and only possible for GUI. - - You can do this to the NonText group also, for example. -> - highlight NonText guibg=#202020 -< - will give you a taste similar to most color schemes on vim.sf.net, in - which the NonText has a different background than Normal text. - However, this is only useful in GUI, in cterm, there are only - 8 background colors, so it is wise not to have a different color. - - If you want more variations, please try the optional utility - reloaded.vim, this optional utility provides an amazing level of - customization. - - Quick switching between warm and cold styles ~ - - Here is an example to define hot key of different style switching, - note that I had only given this example without actually define it. - You can choose to define it in .vimrc or anyway you prefer. -> - nnoremap <Leader>pc :let psc_style='cool'<CR>:colo ps_color<CR> - nnoremap <Leader>pw :let psc_style='warm'<CR>:colo ps_color<CR> -< - Alternatively, you can use the capitalized :Colo command, like - :Colo cool or :Colo warm - -============================================================================== -PSC WITH CTERM *psc-cterm* - - Colour Term ~ - - The cterm color is designed mainly in these terminals: -> - 1. Cygwin bash shell in NT command prompt box - 2. XTERM and RXVT - 3. Other color terminals which have at least 16 colors -< - *psc-cterm-nt* - In Windows NT Prompt console you can change the exact value of each - color, so you can have the same color with your GUI version of Vim, - for 'cool' color style you just change the color according to the - |psc-cterm-color-table|, for how to redefine the color of Windows NT - prompt console please see Windows Help. - - NT Cygwin bash shell console supports 16 foreground colors by add bold - attribute to 8 color, the cterm=bold specifies which should be bright - color, so totally the 16 color foreground is available, but color - name DarkXXX and LightXXX are the same. - - The pre-configured Cygwin.lnk is available for download on my web page - for Vim, but the site seems down, if my site would be on again, it - should be at the following URL: > - http://poet.tomud.com/pub/Cygwin.lnk.gz -< - Cygwin is highly recommended for Vim user if you are using Windows NT - based systems (e.g. NT 4.0, Win2k, WinXP, Win2003, etc). But Cygwin is - not that versatile under Windows 95/98/ME. I'm not sure whether this - works for DOS DJGPP or Windows 95 console version of Vim because - I don't have the system, in case you encountered problem please - contact me, if you like. - - *psc-cterm-xterm* - XTERM is a much more feature-rich terminal than Windows Console so the - support is much better, add the following recommend line into your - .Xdefaults and you can achieve the same color as in GUI version. - - Add the following into your .Xdefaults: - This works for XTERM and RXVT. -> - XTerm*color0: #000000 - XTerm*color1: #800000 - XTerm*color2: #008000 - XTerm*color3: #d0d090 - XTerm*color4: #000080 - XTerm*color5: #800080 - XTerm*color6: #a6caf0 - XTerm*color7: #d0d0d0 - XTerm*color8: #b0b0b0 - XTerm*color9: #f08060 - XTerm*color10: #60f080 - XTerm*color11: #e0c060 - XTerm*color12: #80c0e0 - XTerm*color13: #f0c0f0 - XTerm*color14: #c0d8f8 - XTerm*color15: #e0e0e0 - XTerm*cursorColor: #00f000 - - ! The following are recommended but optional - XTerm*reverseVideo: False - XTerm*background: #000000 - XTerm*foreground: #d0d0d0 - XTerm*boldMode: False -< - There is an assumption that your RXVT or XTERM supports 16 colors, - most RXVTs and XTERMs support this, if yours do not, get a source of - RXVT and recompile it. - - Sometimes the color mode are not recognized well, or you do not want - bright foreground be bolded. If this is the case, add the following in - your .vimrc (before the color scheme been sourced) -> - if &term=='xterm' " Change 'xterm' to your term name if necessary - set t_Co=16 - endif -< - If the t_Co=16 have problem, set t_Co=8 and :colo ps_color again. - vice versa. - - My rxvt works well with t_Co=16: > - Rxvt v2.7.10 - released: 26 MARCH 2003 - Options: - XPM,transparent,utmp,menubar,frills,linespace,multichar_languages, - scrollbars=rxvt+NeXT+xterm,.Xdefaults -< But I've know that my rxvt v2.6.4 in another machine has problem with - t_Co=16, if that is the case, set t_Co=8 instead. - - *psc-cterm-others* - For other terminals, you can manually set the color according to the - following table - - Hints for Manually set the color (for 'cool' style only): - *psc-cterm-color-table* - Color name Hex value Decimal value ~ - 0 Black = #000000 0,0,0 - 4 DarkBlue = #000080 0,0,128 - 2 DarkGreen = #008000 0,128,0 - 6 DarkCyan = #a6caf0 166,202,240 - 1 DarkRed = #800000 128,0,0 - 5 DarkMagenta = #800080 128,0,128 - 3 DarkYellow = #d0d090 208,208,144 - 7 Grey = #d0d0d0 208,208,208 - 8 DarkGrey = #b0b0b0 176,176,176 - 12 Blue = #80c0e0 128,192,224 - 10 Green = #60f080 96,240,128 - 14 Cyan = #c0d8f8 192,216,248 - 9 Red = #f08060 240,128,96 - 13 LMag. = #f0c0f0 240,192,240 - 11 Yellow = #e0c060 224,192,96 - 15 White = #e0e0e0 224,224,224 - - *psc-cterm-incompatible* - If your color terminal does only have 8 colors and cannot achieve 16 - colors with cterm=bold, you may want to switch to other color schemes - to gain more readability. Anyway, you can specify in your .vimrc to - use different color scheme under different consoles and GUI. - For example: -> - let psc_cterm_style = 'foobarcolor' - let psc_style = 'cool' - colo ps_color -< - The 'foobarcolor' means the color scheme you want to choose, such as - 'desert', I recommend to try vim default schemes 'default' and - 'defdark' before experience others. - -============================================================================== -PSC FAQ AND TIPS *psc-faq* *psc-tips* -> - Q: What is meant by `PS' ? -< - A: PS means: PostScript, PhotoShop, PerSonal, ... or anything you can - imagine and anything you want it do be. -> - Q: How to obtain the same appreance as gui in color term? -< - A: This need some work around, see |psc-cterm| for details. - Generally speaking, you should ensure your color term has support - for 16 foreground colors, and each color is customizable. - - *psc-faq-ffothers* > - Q: How to use psc_fontface with other colorschemes? -< - A: Make sure you had sourced :colo ps_color in your .vimrc, then you - can use the Capitalized :Colo instead of :colo - e.g. you want to use 'murphy', just type :Colo murphy after you - sourced the ps_color, the 'defdark', 'cool', 'warm' can also be - used here. -> - Q: I updated from v2.0 to v2.3 or above, why the cterm color scheme - for Comment is different? -< - A: The color map of DarkYellow and Yellow have been exchanged, - You need to reconfigure your terminal to meet the change, - see |psc-cterm-color-table| for guide, or if you are using xterm - compatible terminal, just update the .XDefaults according to - |psc-cterm-xterm|. -> - Q: What do you mean by 'Vanilla Windows'? -< - A: People often argue that Windows is not a REAL operating system. - Well, I agree this, but only for vanilla windows. i.e. with no - plug-ins installed. Vanilla windows is a very limited platform, - since it is not POSIX compliant. - - There are currently many working around to make Windows POSIX - Compliant, do you still mind which OS to use when it is POSIX - Compliant? I don't. If you installed Cygwin kernel in your - NT-based Windows, the Windows will be more or less POSIX compliant - and you can use it in the same way as you use any Unix, BSD, - Solaris, Linux, XWindow, etc... What is more, Cygwin is not the - only kernel which makes Windows POSIX Compliant, make a google - search and you will find many alternatives. -> - Q: How to change the Normal background color? Why don't you use - different background for NonText group? -< - A: This is for compatibility, since we have to use only 8 colors as - background in a color terminal. For GUI you can change this, see - |psc-change-background| for details. - -============================================================================== -PSC RELEASE NOTES *psc-release-notes* - - 2.82 Release Note: ~ - - Fixed bug with the reversed group for the Vim default, or other - schemes. - - Fixed bug with the Diff mode fg mistaken as fg. - - Shrink the script a lot to improve load performance, moved the release - notes into document. - - Change the default gui background color to #202020 (Dark Grey) - - - 2.81 Release Note: ~ - - Provided a separate utility reloaded.vim to fine tune the GUI color - scheme based on Hue, Saturation and Brightness(Luminance). - - Added some groups to meet the need of reloaded.vim, no essential - change. - - 2.8 Release Note: ~ - - Bugfix : when psc_style=='mixed', the visual got reversed wrong. - - 'mixed' is now the default for 'warm' style. - - changed the function name to lower case. - - removed pre-2.0 compatibility, (the non-psc version of s-d-f-t). - - Added variable psc_cterm_style, see |psc_cterm_style| - - Added group Underline - - Tuned the function call. - - 2.7 Release Note: ~ - - Now it is possible to change the Background, - see :h psc-change-background for details. - - Linked the Tag group to Identifier. - - NonText as Notice is not good for 'warm', changed to Constant. - - Added links for the most popular plugins: taglist, calendar - - Tuned the 'Statement' color when different from Type (gui only). - - Re-adjusted cterm scheme according to syntax/hitest.vim - - The 'defdark' style for cterm is not functioning, fixed. - - Many 'cosmetic' changes, makes no difference for functionality. - - Use of DrChip's help extractor to auto-install help document. - - Added command define, :Colo - - 2.6 Release Note: ~ - - As stated in the v2.3, the only 'todo' thing seems to be the 'warm' - style, now in this version I had been working on it. - - There also are some minor fixes for the document, to be more friendly - for new readers. - - The 'StatusLine' of 'cold' style is modified by mistake in the v2.3, - this time the bug is fixed. - - The 'Directory' in GUI 'cold' style is different from 'cterm' one, - now fixed. - - 2.3 Release Note: ~ - - This is an incompatible update, main changes are in 'cterm'. - A new group 'SignColumn' had been added, new links added for engspchk - v52, hundreds of typos fixed in the document, thanks to the engspchk. - - The support for 8-color cterm is slightly better now, but the mappings - of the DarkYellow and Yellow are exchanged, you need to update the - .Xdefaults or your terminal configuration before apply this update if - you are using v2.0. Guide for redefinition the color value is - available in the document, make sure you had updated the ps_color.txt, - then see |psc-cterm-color-table| - - 2.0 Release Note: ~ - - There've been great enhancement since this version, so I'd choose to - bump the version number to 2. This version comes with Vim online help, - if you had installed ps_color.txt, you can see for details in - |pscolor| - - n/a Release: ~ - - Initial upload, can be called as v1.8 - - -============================================================================== -PSC TODO LIST *psc-todo* - - . Fix the remain bugs. - . Follow the new Vim versions for new added highlighting group - -============================================================================== - -vim:tw=78:ts=8:noet:ft=help:fo+=t:norl:noet: diff --git a/.vim/doc/taglist.txt b/.vim/doc/taglist.txt deleted file mode 100755 index 6a62b39..0000000 --- a/.vim/doc/taglist.txt +++ /dev/null @@ -1,1501 +0,0 @@ -*taglist.txt* Plugin for browsing source code - -Author: Yegappan Lakshmanan (yegappan AT yahoo DOT com) -For Vim version 6.0 and above -Last change: 2007 May 24 - -1. Overview |taglist-intro| -2. Taglist on the internet |taglist-internet| -3. Requirements |taglist-requirements| -4. Installation |taglist-install| -5. Usage |taglist-using| -6. Options |taglist-options| -7. Commands |taglist-commands| -8. Global functions |taglist-functions| -9. Extending |taglist-extend| -10. FAQ |taglist-faq| -11. License |taglist-license| -12. Todo |taglist-todo| - -============================================================================== - *taglist-intro* -1. Overview~ - -The "Tag List" plugin is a source code browser plugin for Vim. This plugin -allows you to efficiently browse through source code files for different -programming languages. The "Tag List" plugin provides the following features: - - * Displays the tags (functions, classes, structures, variables, etc.) - defined in a file in a vertically or horizontally split Vim window. - * In GUI Vim, optionally displays the tags in the Tags drop-down menu and - in the popup menu. - * Automatically updates the taglist window as you switch between - files/buffers. As you open new files, the tags defined in the new files - are added to the existing file list and the tags defined in all the - files are displayed grouped by the filename. - * When a tag name is selected from the taglist window, positions the - cursor at the definition of the tag in the source file. - * Automatically highlights the current tag name. - * Groups the tags by their type and displays them in a foldable tree. - * Can display the prototype and scope of a tag. - * Can optionally display the tag prototype instead of the tag name in the - taglist window. - * The tag list can be sorted either by name or by chronological order. - * Supports the following language files: Assembly, ASP, Awk, Beta, C, - C++, C#, Cobol, Eiffel, Erlang, Fortran, HTML, Java, Javascript, Lisp, - Lua, Make, Pascal, Perl, PHP, Python, Rexx, Ruby, Scheme, Shell, Slang, - SML, Sql, TCL, Verilog, Vim and Yacc. - * Can be easily extended to support new languages. Support for - existing languages can be modified easily. - * Provides functions to display the current tag name in the Vim status - line or the window title bar. - * The list of tags and files in the taglist can be saved and - restored across Vim sessions. - * Provides commands to get the name and prototype of the current tag. - * Runs in both console/terminal and GUI versions of Vim. - * Works with the winmanager plugin. Using the winmanager plugin, you - can use Vim plugins like the file explorer, buffer explorer and the - taglist plugin at the same time like an IDE. - * Can be used in both Unix and MS-Windows systems. - -============================================================================== - *taglist-internet* -2. Taglist on the internet~ - -The home page of the taglist plugin is at: -> - http://vim-taglist.sourceforge.net/ -< -You can subscribe to the taglist mailing list to post your questions or -suggestions for improvement or to send bug reports. Visit the following page -for subscribing to the mailing list: -> - http://groups.yahoo.com/group/taglist -< -============================================================================== - *taglist-requirements* -3. Requirements~ - -The taglist plugin requires the following: - - * Vim version 6.0 and above - * Exuberant ctags 5.0 and above - -The taglist plugin will work on all the platforms where the exuberant ctags -utility and Vim are supported (this includes MS-Windows and Unix based -systems). - -The taglist plugin relies on the exuberant ctags utility to dynamically -generate the tag listing. The exuberant ctags utility must be installed in -your system to use this plugin. The exuberant ctags utility is shipped with -most of the Linux distributions. You can download the exuberant ctags utility -from -> - http://ctags.sourceforge.net -< -The taglist plugin doesn't use or create a tags file and there is no need to -create a tags file to use this plugin. The taglist plugin will not work with -the GNU ctags or the Unix ctags utility. - -This plugin relies on the Vim "filetype" detection mechanism to determine the -type of the current file. You have to turn on the Vim filetype detection by -adding the following line to your .vimrc file: -> - filetype on -< -The taglist plugin will not work if you run Vim in the restricted mode (using -the -Z command-line argument). - -The taglist plugin uses the Vim system() function to invoke the exuberant -ctags utility. If Vim is compiled without the system() function then you -cannot use the taglist plugin. Some of the Linux distributions (Suse) compile -Vim without the system() function for security reasons. - -============================================================================== - *taglist-install* -4. Installation~ - -1. Download the taglist.zip file and unzip the files to the $HOME/.vim or the - $HOME/vimfiles or the $VIM/vimfiles directory. After this step, you should - have the following two files (the directory structure should be preserved): - - plugin/taglist.vim - main taglist plugin file - doc/taglist.txt - documentation (help) file - - Refer to the |add-plugin|and |'runtimepath'| Vim help pages for more - details about installing Vim plugins. -2. Change to the $HOME/.vim/doc or $HOME/vimfiles/doc or $VIM/vimfiles/doc - directory, start Vim and run the ":helptags ." command to process the - taglist help file. Without this step, you cannot jump to the taglist help - topics. -3. If the exuberant ctags utility is not present in one of the directories in - the PATH environment variable, then set the 'Tlist_Ctags_Cmd' variable to - point to the location of the exuberant ctags utility (not to the directory) - in the .vimrc file. -4. If you are running a terminal/console version of Vim and the terminal - doesn't support changing the window width then set the - 'Tlist_Inc_Winwidth' variable to 0 in the .vimrc file. -5. Restart Vim. -6. You can now use the ":TlistToggle" command to open/close the taglist - window. You can use the ":help taglist" command to get more information - about using the taglist plugin. - -To uninstall the taglist plugin, remove the plugin/taglist.vim and -doc/taglist.txt files from the $HOME/.vim or $HOME/vimfiles directory. - -============================================================================== - *taglist-using* -5. Usage~ - -The taglist plugin can be used in several different ways. - -1. You can keep the taglist window open during the entire editing session. On - opening the taglist window, the tags defined in all the files in the Vim - buffer list will be displayed in the taglist window. As you edit files, the - tags defined in them will be added to the taglist window. You can select a - tag from the taglist window and jump to it. The current tag will be - highlighted in the taglist window. You can close the taglist window when - you no longer need the window. -2. You can configure the taglist plugin to process the tags defined in all the - edited files always. In this configuration, even if the taglist window is - closed and the taglist menu is not displayed, the taglist plugin will - processes the tags defined in newly edited files. You can then open the - taglist window only when you need to select a tag and then automatically - close the taglist window after selecting the tag. -3. You can configure the taglist plugin to display only the tags defined in - the current file in the taglist window. By default, the taglist plugin - displays the tags defined in all the files in the Vim buffer list. As you - switch between files, the taglist window will be refreshed to display only - the tags defined in the current file. -4. In GUI Vim, you can use the Tags pull-down and popup menu created by the - taglist plugin to display the tags defined in the current file and select a - tag to jump to it. You can use the menu without opening the taglist window. - By default, the Tags menu is disabled. -5. You can configure the taglist plugin to display the name of the current tag - in the Vim window status line or in the Vim window title bar. For this to - work without the taglist window or menu, you need to configure the taglist - plugin to process the tags defined in a file always. -6. You can save the tags defined in multiple files to a taglist session file - and load it when needed. You can also configure the taglist plugin to not - update the taglist window when editing new files. You can then manually add - files to the taglist window. - -Opening the taglist window~ -You can open the taglist window using the ":TlistOpen" or the ":TlistToggle" -commands. The ":TlistOpen" command opens the taglist window and jumps to it. -The ":TlistToggle" command opens or closes (toggle) the taglist window and the -cursor remains in the current window. If the 'Tlist_GainFocus_On_ToggleOpen' -variable is set to 1, then the ":TlistToggle" command opens the taglist window -and moves the cursor to the taglist window. - -You can map a key to invoke these commands. For example, the following command -creates a normal mode mapping for the <F8> key to toggle the taglist window. -> - nnoremap <silent> <F8> :TlistToggle<CR> -< -Add the above mapping to your ~/.vimrc or $HOME/_vimrc file. - -To automatically open the taglist window on Vim startup, set the -'Tlist_Auto_Open' variable to 1. - -You can also open the taglist window on startup using the following command -line: -> - $ vim +TlistOpen -< -Closing the taglist window~ -You can close the taglist window from the taglist window by pressing 'q' or -using the Vim ":q" command. You can also use any of the Vim window commands to -close the taglist window. Invoking the ":TlistToggle" command when the taglist -window is opened, closes the taglist window. You can also use the -":TlistClose" command to close the taglist window. - -To automatically close the taglist window when a tag or file is selected, you -can set the 'Tlist_Close_On_Select' variable to 1. To exit Vim when only the -taglist window is present, set the 'Tlist_Exit_OnlyWindow' variable to 1. - -Jumping to a tag or a file~ -You can select a tag in the taglist window either by pressing the <Enter> key -or by double clicking the tag name using the mouse. To jump to a tag on a -single mouse click set the 'Tlist_Use_SingleClick' variable to 1. - -If the selected file is already opened in a window, then the cursor is moved -to that window. If the file is not currently opened in a window then the file -is opened in the window used by the taglist plugin to show the previously -selected file. If there are no usable windows, then the file is opened in a -new window. The file is not opened in special windows like the quickfix -window, preview window and windows containing buffer with the 'buftype' option -set. - -To jump to the tag in a new window, press the 'o' key. To open the file in the -previous window (Ctrl-W_p) use the 'P' key. You can press the 'p' key to jump -to the tag but still keep the cursor in the taglist window (preview). - -To open the selected file in a tab, use the 't' key. If the file is already -present in a tab then the cursor is moved to that tab otherwise the file is -opened in a new tab. To jump to a tag in a new tab press Ctrl-t. The taglist -window is automatically opened in the newly created tab. - -Instead of jumping to a tag, you can open a file by pressing the <Enter> key -or by double clicking the file name using the mouse. - -In the taglist window, you can use the [[ or <Backspace> key to jump to the -beginning of the previous file. You can use the ]] or <Tab> key to jump to the -beginning of the next file. When you reach the first or last file, the search -wraps around and the jumps to the next/previous file. - -Highlighting the current tag~ -The taglist plugin automatically highlights the name of the current tag in the -taglist window. The Vim |CursorHold| autocmd event is used for this. If the -current tag name is not visible in the taglist window, then the taglist window -contents are scrolled to make that tag name visible. You can also use the -":TlistHighlightTag" command to force the highlighting of the current tag. - -The tag name is highlighted if no activity is performed for |'updatetime'| -milliseconds. The default value for this Vim option is 4 seconds. To avoid -unexpected problems, you should not set the |'updatetime'| option to a very -low value. - -To disable the automatic highlighting of the current tag name in the taglist -window, set the 'Tlist_Auto_Highlight_Tag' variable to zero. - -When entering a Vim buffer/window, the taglist plugin automatically highlights -the current tag in that buffer/window. If you like to disable the automatic -highlighting of the current tag when entering a buffer, set the -'Tlist_Highlight_Tag_On_BufEnter' variable to zero. - -Adding files to the taglist~ -When the taglist window is opened, all the files in the Vim buffer list are -processed and the supported files are added to the taglist. When you edit a -file in Vim, the taglist plugin automatically processes this file and adds it -to the taglist. If you close the taglist window, the tag information in the -taglist is retained. - -To process files even when the taglist window is not open, set the -'Tlist_Process_File_Always' variable to 1. - -You can manually add multiple files to the taglist without opening them using -the ":TlistAddFiles" and the ":TlistAddFilesRecursive" commands. - -For example, to add all the C files in the /my/project/dir directory to the -taglist, you can use the following command: -> - :TlistAddFiles /my/project/dir/*.c -< -Note that when adding several files with a large number of tags or a large -number of files, it will take several seconds to several minutes for the -taglist plugin to process all the files. You should not interrupt the taglist -plugin by pressing <CTRL-C>. - -You can recursively add multiple files from a directory tree using the -":TlistAddFilesRecursive" command: -> - :TlistAddFilesRecursive /my/project/dir *.c -< -This command takes two arguments. The first argument specifies the directory -from which to recursively add the files. The second optional argument -specifies the wildcard matching pattern for selecting the files to add. The -default pattern is * and all the files are added. - -Displaying tags for only one file~ -The taglist window displays the tags for all the files in the Vim buffer list -and all the manually added files. To display the tags for only the current -active buffer, set the 'Tlist_Show_One_File' variable to 1. - -Removing files from the taglist~ -You can remove a file from the taglist window, by pressing the 'd' key when the -cursor is on one of the tags listed for the file in the taglist window. The -removed file will no longer be displayed in the taglist window in the current -Vim session. To again display the tags for the file, open the file in a Vim -window and then use the ":TlistUpdate" command or use ":TlistAddFiles" command -to add the file to the taglist. - -When a buffer is removed from the Vim buffer list using the ":bdelete" or the -":bwipeout" command, the taglist is updated to remove the stored information -for this buffer. - -Updating the tags displayed for a file~ -The taglist plugin keeps track of the modification time of a file. When the -modification time changes (the file is modified), the taglist plugin -automatically updates the tags listed for that file. The modification time of -a file is checked when you enter a window containing that file or when you -load that file. - -You can also update or refresh the tags displayed for a file by pressing the -"u" key in the taglist window. If an existing file is modified, after the file -is saved, the taglist plugin automatically updates the tags displayed for the -file. - -You can also use the ":TlistUpdate" command to update the tags for the current -buffer after you made some changes to it. You should save the modified buffer -before you update the taglist window. Otherwise the listed tags will not -include the new tags created in the buffer. - -If you have deleted the tags displayed for a file in the taglist window using -the 'd' key, you can again display the tags for that file using the -":TlistUpdate" command. - -Controlling the taglist updates~ -To disable the automatic processing of new files or modified files, you can -set the 'Tlist_Auto_Update' variable to zero. When this variable is set to -zero, the taglist is updated only when you use the ":TlistUpdate" command or -the ":TlistAddFiles" or the ":TlistAddFilesRecursive" commands. You can use -this option to control which files are added to the taglist. - -You can use the ":TlistLock" command to lock the taglist contents. After this -command is executed, new files are not automatically added to the taglist. -When the taglist is locked, you can use the ":TlistUpdate" command to add the -current file or the ":TlistAddFiles" or ":TlistAddFilesRecursive" commands to -add new files to the taglist. To unlock the taglist, use the ":TlistUnlock" -command. - -Displaying the tag prototype~ -To display the prototype of the tag under the cursor in the taglist window, -press the space bar. If you place the cursor on a tag name in the taglist -window, then the tag prototype is displayed at the Vim status line after -|'updatetime'| milliseconds. The default value for the |'updatetime'| Vim -option is 4 seconds. - -You can get the name and prototype of a tag without opening the taglist window -and the taglist menu using the ":TlistShowTag" and the ":TlistShowPrototype" -commands. These commands will work only if the current file is already present -in the taglist. To use these commands without opening the taglist window, set -the 'Tlist_Process_File_Always' variable to 1. - -You can use the ":TlistShowTag" command to display the name of the tag at or -before the specified line number in the specified file. If the file name and -line number are not supplied, then this command will display the name of the -current tag. For example, -> - :TlistShowTag - :TlistShowTag myfile.java 100 -< -You can use the ":TlistShowPrototype" command to display the prototype of the -tag at or before the specified line number in the specified file. If the file -name and the line number are not supplied, then this command will display the -prototype of the current tag. For example, -> - :TlistShowPrototype - :TlistShowPrototype myfile.c 50 -< -In the taglist window, when the mouse is moved over a tag name, the tag -prototype is displayed in a balloon. This works only in GUI versions where -balloon evaluation is supported. - -Taglist window contents~ -The taglist window contains the tags defined in various files in the taglist -grouped by the filename and by the tag type (variable, function, class, etc.). -For tags with scope information (like class members, structures inside -structures, etc.), the scope information is displayed in square brackets "[]" -after the tag name. - -The contents of the taglist buffer/window are managed by the taglist plugin. -The |'filetype'| for the taglist buffer is set to 'taglist'. The Vim -|'modifiable'| option is turned off for the taglist buffer. You should not -manually edit the taglist buffer, by setting the |'modifiable'| flag. If you -manually edit the taglist buffer contents, then the taglist plugin will be out -of sync with the taglist buffer contents and the plugin will no longer work -correctly. To redisplay the taglist buffer contents again, close the taglist -window and reopen it. - -Opening and closing the tag and file tree~ -In the taglist window, the tag names are displayed as a foldable tree using -the Vim folding support. You can collapse the tree using the '-' key or using -the Vim |zc| fold command. You can open the tree using the '+' key or using -the Vim |zo| fold command. You can open all the folds using the '*' key or -using the Vim |zR| fold command. You can also use the mouse to open/close the -folds. You can close all the folds using the '=' key. You should not manually -create or delete the folds in the taglist window. - -To automatically close the fold for the inactive files/buffers and open only -the fold for the current buffer in the taglist window, set the -'Tlist_File_Fold_Auto_Close' variable to 1. - -Sorting the tags for a file~ -The tags displayed in the taglist window can be sorted either by their name or -by their chronological order. The default sorting method is by the order in -which the tags appear in a file. You can change the default sort method by -setting the 'Tlist_Sort_Type' variable to either "name" or "order". You can -sort the tags by their name by pressing the "s" key in the taglist window. You -can again sort the tags by their chronological order using the "s" key. Each -file in the taglist window can be sorted using different order. - -Zooming in and out of the taglist window~ -You can press the 'x' key in the taglist window to maximize the taglist -window width/height. The window will be maximized to the maximum possible -width/height without closing the other existing windows. You can again press -'x' to restore the taglist window to the default width/height. - - *taglist-session* -Taglist Session~ -A taglist session refers to the group of files and their tags stored in the -taglist in a Vim session. - -You can save and restore a taglist session (and all the displayed tags) using -the ":TlistSessionSave" and ":TlistSessionLoad" commands. - -To save the information about the tags and files in the taglist to a file, use -the ":TlistSessionSave" command and specify the filename: -> - :TlistSessionSave <file name> -< -To load a saved taglist session, use the ":TlistSessionLoad" command: > - - :TlistSessionLoad <file name> -< -When you load a taglist session file, the tags stored in the file will be -added to the tags already stored in the taglist. - -The taglist session feature can be used to save the tags for large files or a -group of frequently used files (like a project). By using the taglist session -file, you can minimize the amount to time it takes to load/refresh the taglist -for multiple files. - -You can create more than one taglist session file for multiple groups of -files. - -Displaying the tag name in the Vim status line or the window title bar~ -You can use the Tlist_Get_Tagname_By_Line() function provided by the taglist -plugin to display the current tag name in the Vim status line or the window -title bar. Similarly, you can use the Tlist_Get_Tag_Prototype_By_Line() -function to display the current tag prototype in the Vim status line or the -window title bar. - -For example, the following command can be used to display the current tag name -in the status line: -> - :set statusline=%<%f%=%([%{Tlist_Get_Tagname_By_Line()}]%) -< -The following command can be used to display the current tag name in the -window title bar: -> - :set title titlestring=%<%f\ %([%{Tlist_Get_Tagname_By_Line()}]%) -< -Note that the current tag name can be displayed only after the file is -processed by the taglist plugin. For this, you have to either set the -'Tlist_Process_File_Always' variable to 1 or open the taglist window or use -the taglist menu. For more information about configuring the Vim status line, -refer to the documentation for the Vim |'statusline'| option. - -Changing the taglist window highlighting~ -The following Vim highlight groups are defined and used to highlight the -various entities in the taglist window: - - TagListTagName - Used for tag names - TagListTagScope - Used for tag scope - TagListTitle - Used for tag titles - TagListComment - Used for comments - TagListFileName - Used for filenames - -By default, these highlight groups are linked to the standard Vim highlight -groups. If you want to change the colors used for these highlight groups, -prefix the highlight group name with 'My' and define it in your .vimrc or -.gvimrc file: MyTagListTagName, MyTagListTagScope, MyTagListTitle, -MyTagListComment and MyTagListFileName. For example, to change the colors -used for tag names, you can use the following command: -> - :highlight MyTagListTagName guifg=blue ctermfg=blue -< -Controlling the taglist window~ -To use a horizontally split taglist window, instead of a vertically split -window, set the 'Tlist_Use_Horiz_Window' variable to 1. - -To use a vertically split taglist window on the rightmost side of the Vim -window, set the 'Tlist_Use_Right_Window' variable to 1. - -You can specify the width of the vertically split taglist window, by setting -the 'Tlist_WinWidth' variable. You can specify the height of the horizontally -split taglist window, by setting the 'Tlist_WinHeight' variable. - -When opening a vertically split taglist window, the Vim window width is -increased to accommodate the new taglist window. When the taglist window is -closed, the Vim window is reduced. To disable this, set the -'Tlist_Inc_Winwidth' variable to zero. - -To reduce the number of empty lines in the taglist window, set the -'Tlist_Compact_Format' variable to 1. - -To not display the Vim fold column in the taglist window, set the -'Tlist_Enable_Fold_Column' variable to zero. - -To display the tag prototypes instead of the tag names in the taglist window, -set the 'Tlist_Display_Prototype' variable to 1. - -To not display the scope of the tags next to the tag names, set the -'Tlist_Display_Tag_Scope' variable to zero. - - *taglist-keys* -Taglist window key list~ -The following table lists the description of the keys that can be used -in the taglist window. - - Key Description~ - - <CR> Jump to the location where the tag under cursor is - defined. - o Jump to the location where the tag under cursor is - defined in a new window. - P Jump to the tag in the previous (Ctrl-W_p) window. - p Display the tag definition in the file window and - keep the cursor in the taglist window itself. - t Jump to the tag in a new tab. If the file is already - opened in a tab, move to that tab. - Ctrl-t Jump to the tag in a new tab. - <Space> Display the prototype of the tag under the cursor. - For file names, display the full path to the file, - file type and the number of tags. For tag types, display the - tag type and the number of tags. - u Update the tags listed in the taglist window - s Change the sort order of the tags (by name or by order) - d Remove the tags for the file under the cursor - x Zoom-in or Zoom-out the taglist window - + Open a fold - - Close a fold - * Open all folds - = Close all folds - [[ Jump to the beginning of the previous file - <Backspace> Jump to the beginning of the previous file - ]] Jump to the beginning of the next file - <Tab> Jump to the beginning of the next file - q Close the taglist window - <F1> Display help - -The above keys will work in both the normal mode and the insert mode. - - *taglist-menu* -Taglist menu~ -When using GUI Vim, the taglist plugin can display the tags defined in the -current file in the drop-down menu and the popup menu. By default, this -feature is turned off. To turn on this feature, set the 'Tlist_Show_Menu' -variable to 1. - -You can jump to a tag by selecting the tag name from the menu. You can use the -taglist menu independent of the taglist window i.e. you don't need to open the -taglist window to get the taglist menu. - -When you switch between files/buffers, the taglist menu is automatically -updated to display the tags defined in the current file/buffer. - -The tags are grouped by their type (variables, functions, classes, methods, -etc.) and displayed as a separate sub-menu for each type. If all the tags -defined in a file are of the same type (e.g. functions), then the sub-menu is -not used. - -If the number of items in a tag type submenu exceeds the value specified by -the 'Tlist_Max_Submenu_Items' variable, then the submenu will be split into -multiple submenus. The default setting for 'Tlist_Max_Submenu_Items' is 25. -The first and last tag names in the submenu are used to form the submenu name. -The menu items are prefixed by alpha-numeric characters for easy selection by -keyboard. - -If the popup menu support is enabled (the |'mousemodel'| option contains -"popup"), then the tags menu is added to the popup menu. You can access -the popup menu by right clicking on the GUI window. - -You can regenerate the tags menu by selecting the 'Tags->Refresh menu' entry. -You can sort the tags listed in the menu either by name or by order by -selecting the 'Tags->Sort menu by->Name/Order' menu entry. - -You can tear-off the Tags menu and keep it on the side of the Vim window -for quickly locating the tags. - -Using the taglist plugin with the winmanager plugin~ -You can use the taglist plugin with the winmanager plugin. This will allow you -to use the file explorer, buffer explorer and the taglist plugin at the same -time in different windows. To use the taglist plugin with the winmanager -plugin, set 'TagList' in the 'winManagerWindowLayout' variable. For example, -to use the file explorer plugin and the taglist plugin at the same time, use -the following setting: > - - let winManagerWindowLayout = 'FileExplorer|TagList' -< -Getting help~ -If you have installed the taglist help file (this file), then you can use the -Vim ":help taglist-<keyword>" command to get help on the various taglist -topics. - -You can press the <F1> key in the taglist window to display the help -information about using the taglist window. If you again press the <F1> key, -the help information is removed from the taglist window. - - *taglist-debug* -Debugging the taglist plugin~ -You can use the ":TlistDebug" command to enable logging of the debug messages -from the taglist plugin. To display the logged debug messages, you can use the -":TlistMessages" command. To disable the logging of the debug messages, use -the ":TlistUndebug" command. - -You can specify a file name to the ":TlistDebug" command to log the debug -messages to a file. Otherwise, the debug messages are stored in a script-local -variable. In the later case, to minimize memory usage, only the last 3000 -characters from the debug messages are stored. - -============================================================================== - *taglist-options* -6. Options~ - -A number of Vim variables control the behavior of the taglist plugin. These -variables are initialized to a default value. By changing these variables you -can change the behavior of the taglist plugin. You need to change these -settings only if you want to change the behavior of the taglist plugin. You -should use the |:let| command in your .vimrc file to change the setting of any -of these variables. - -The configurable taglist variables are listed below. For a detailed -description of these variables refer to the text below this table. - -|'Tlist_Auto_Highlight_Tag'| Automatically highlight the current tag in the - taglist. -|'Tlist_Auto_Open'| Open the taglist window when Vim starts. -|'Tlist_Auto_Update'| Automatically update the taglist to include - newly edited files. -|'Tlist_Close_On_Select'| Close the taglist window when a file or tag is - selected. -|'Tlist_Compact_Format'| Remove extra information and blank lines from - the taglist window. -|'Tlist_Ctags_Cmd'| Specifies the path to the ctags utility. -|'Tlist_Display_Prototype'| Show prototypes and not tags in the taglist - window. -|'Tlist_Display_Tag_Scope'| Show tag scope next to the tag name. -|'Tlist_Enable_Fold_Column'| Show the fold indicator column in the taglist - window. -|'Tlist_Exit_OnlyWindow'| Close Vim if the taglist is the only window. -|'Tlist_File_Fold_Auto_Close'| Close tag folds for inactive buffers. -|'Tlist_GainFocus_On_ToggleOpen'| - Jump to taglist window on open. -|'Tlist_Highlight_Tag_On_BufEnter'| - On entering a buffer, automatically highlight - the current tag. -|'Tlist_Inc_Winwidth'| Increase the Vim window width to accommodate - the taglist window. -|'Tlist_Max_Submenu_Items'| Maximum number of items in a tags sub-menu. -|'Tlist_Max_Tag_Length'| Maximum tag length used in a tag menu entry. -|'Tlist_Process_File_Always'| Process files even when the taglist window is - closed. -|'Tlist_Show_Menu'| Display the tags menu. -|'Tlist_Show_One_File'| Show tags for the current buffer only. -|'Tlist_Sort_Type'| Sort method used for arranging the tags. -|'Tlist_Use_Horiz_Window'| Use a horizontally split window for the - taglist window. -|'Tlist_Use_Right_Window'| Place the taglist window on the right side. -|'Tlist_Use_SingleClick'| Single click on a tag jumps to it. -|'Tlist_WinHeight'| Horizontally split taglist window height. -|'Tlist_WinWidth'| Vertically split taglist window width. - - *'Tlist_Auto_Highlight_Tag'* -Tlist_Auto_Highlight_Tag~ -The taglist plugin will automatically highlight the current tag in the taglist -window. If you want to disable this, then you can set the -'Tlist_Auto_Highlight_Tag' variable to zero. Note that even though the current -tag highlighting is disabled, the tags for a new file will still be added to -the taglist window. -> - let Tlist_Auto_Highlight_Tag = 0 -< -With the above variable set to 1, you can use the ":TlistHighlightTag" command -to highlight the current tag. - - *'Tlist_Auto_Open'* -Tlist_Auto_Open~ -To automatically open the taglist window, when you start Vim, you can set the -'Tlist_Auto_Open' variable to 1. By default, this variable is set to zero and -the taglist window will not be opened automatically on Vim startup. -> - let Tlist_Auto_Open = 1 -< -The taglist window is opened only when a supported type of file is opened on -Vim startup. For example, if you open text files, then the taglist window will -not be opened. - - *'Tlist_Auto_Update'* -Tlist_Auto_Update~ -When a new file is edited, the tags defined in the file are automatically -processed and added to the taglist. To stop adding new files to the taglist, -set the 'Tlist_Auto_Update' variable to zero. By default, this variable is set -to 1. -> - let Tlist_Auto_Update = 0 -< -With the above variable set to 1, you can use the ":TlistUpdate" command to -add the tags defined in the current file to the taglist. - - *'Tlist_Close_On_Select'* -Tlist_Close_On_Select~ -If you want to close the taglist window when a file or tag is selected, then -set the 'Tlist_Close_On_Select' variable to 1. By default, this variable is -set zero and when you select a tag or file from the taglist window, the window -is not closed. -> - let Tlist_Close_On_Select = 1 -< - *'Tlist_Compact_Format'* -Tlist_Compact_Format~ -By default, empty lines are used to separate different tag types displayed for -a file and the tags displayed for different files in the taglist window. If -you want to display as many tags as possible in the taglist window, you can -set the 'Tlist_Compact_Format' variable to 1 to get a compact display. -> - let Tlist_Compact_Format = 1 -< - *'Tlist_Ctags_Cmd'* -Tlist_Ctags_Cmd~ -The 'Tlist_Ctags_Cmd' variable specifies the location (path) of the exuberant -ctags utility. If exuberant ctags is present in any one of the directories in -the PATH environment variable, then there is no need to set this variable. - -The exuberant ctags tool can be installed under different names. When the -taglist plugin starts up, if the 'Tlist_Ctags_Cmd' variable is not set, it -checks for the names exuberant-ctags, exctags, ctags, ctags.exe and tags in -the PATH environment variable. If any one of the named executable is found, -then the Tlist_Ctags_Cmd variable is set to that name. - -If exuberant ctags is not present in one of the directories specified in the -PATH environment variable, then set this variable to point to the location of -the ctags utility in your system. Note that this variable should point to the -fully qualified exuberant ctags location and NOT to the directory in which -exuberant ctags is installed. If the exuberant ctags tool is not found in -either PATH or in the specified location, then the taglist plugin will not be -loaded. Examples: -> - let Tlist_Ctags_Cmd = 'd:\tools\ctags.exe' - let Tlist_Ctags_Cmd = '/usr/local/bin/ctags' -< - *'Tlist_Display_Prototype'* -Tlist_Display_Prototype~ -By default, only the tag name will be displayed in the taglist window. If you -like to see tag prototypes instead of names, set the 'Tlist_Display_Prototype' -variable to 1. By default, this variable is set to zero and only tag names -will be displayed. -> - let Tlist_Display_Prototype = 1 -< - *'Tlist_Display_Tag_Scope'* -Tlist_Display_Tag_Scope~ -By default, the scope of a tag (like a C++ class) will be displayed in -square brackets next to the tag name. If you don't want the tag scopes -to be displayed, then set the 'Tlist_Display_Tag_Scope' to zero. By default, -this variable is set to 1 and the tag scopes will be displayed. -> - let Tlist_Display_Tag_Scope = 0 -< - *'Tlist_Enable_Fold_Column'* -Tlist_Enable_Fold_Column~ -By default, the Vim fold column is enabled and displayed in the taglist -window. If you wish to disable this (for example, when you are working with a -narrow Vim window or terminal), you can set the 'Tlist_Enable_Fold_Column' -variable to zero. -> - let Tlist_Enable_Fold_Column = 1 -< - *'Tlist_Exit_OnlyWindow'* -Tlist_Exit_OnlyWindow~ -If you want to exit Vim if only the taglist window is currently opened, then -set the 'Tlist_Exit_OnlyWindow' variable to 1. By default, this variable is -set to zero and the Vim instance will not be closed if only the taglist window -is present. -> - let Tlist_Exit_OnlyWindow = 1 -< - *'Tlist_File_Fold_Auto_Close'* -Tlist_File_Fold_Auto_Close~ -By default, the tags tree displayed in the taglist window for all the files is -opened. You can close/fold the tags tree for the files manually. To -automatically close the tags tree for inactive files, you can set the -'Tlist_File_Fold_Auto_Close' variable to 1. When this variable is set to 1, -the tags tree for the current buffer is automatically opened and for all the -other buffers is closed. -> - let Tlist_File_Fold_Auto_Close = 1 -< - *'Tlist_GainFocus_On_ToggleOpen'* -Tlist_GainFocus_On_ToggleOpen~ -When the taglist window is opened using the ':TlistToggle' command, this -option controls whether the cursor is moved to the taglist window or remains -in the current window. By default, this option is set to 0 and the cursor -remains in the current window. When this variable is set to 1, the cursor -moves to the taglist window after opening the taglist window. -> - let Tlist_GainFocus_On_ToggleOpen = 1 -< - *'Tlist_Highlight_Tag_On_BufEnter'* -Tlist_Highlight_Tag_On_BufEnter~ -When you enter a Vim buffer/window, the current tag in that buffer/window is -automatically highlighted in the taglist window. If the current tag name is -not visible in the taglist window, then the taglist window contents are -scrolled to make that tag name visible. If you like to disable the automatic -highlighting of the current tag when entering a buffer, you can set the -'Tlist_Highlight_Tag_On_BufEnter' variable to zero. The default setting for -this variable is 1. -> - let Tlist_Highlight_Tag_On_BufEnter = 0 -< - *'Tlist_Inc_Winwidth'* -Tlist_Inc_Winwidth~ -By default, when the width of the window is less than 100 and a new taglist -window is opened vertically, then the window width is increased by the value -set in the 'Tlist_WinWidth' variable to accommodate the new window. The value -of this variable is used only if you are using a vertically split taglist -window. - -If your terminal doesn't support changing the window width from Vim (older -version of xterm running in a Unix system) or if you see any weird problems in -the screen due to the change in the window width or if you prefer not to -adjust the window width then set the 'Tlist_Inc_Winwidth' variable to zero. -CAUTION: If you are using the MS-Windows version of Vim in a MS-DOS command -window then you must set this variable to zero, otherwise the system may hang -due to a Vim limitation (explained in :help win32-problems) -> - let Tlist_Inc_Winwidth = 0 -< - *'Tlist_Max_Submenu_Items'* -Tlist_Max_Submenu_Items~ -If a file contains too many tags of a particular type (function, variable, -class, etc.), greater than that specified by the 'Tlist_Max_Submenu_Items' -variable, then the menu for that tag type will be split into multiple -sub-menus. The default setting for the 'Tlist_Max_Submenu_Items' variable is -25. This can be changed by setting the 'Tlist_Max_Submenu_Items' variable: -> - let Tlist_Max_Submenu_Items = 20 -< -The name of the submenu is formed using the names of the first and the last -tag entries in that submenu. - - *'Tlist_Max_Tag_Length'* -Tlist_Max_Tag_Length~ -Only the first 'Tlist_Max_Tag_Length' characters from the tag names will be -used to form the tag type submenu name. The default value for this variable is -10. Change the 'Tlist_Max_Tag_Length' setting if you want to include more or -less characters: -> - let Tlist_Max_Tag_Length = 10 -< - *'Tlist_Process_File_Always'* -Tlist_Process_File_Always~ -By default, the taglist plugin will generate and process the tags defined in -the newly opened files only when the taglist window is opened or when the -taglist menu is enabled. When the taglist window is closed, the taglist plugin -will stop processing the tags for newly opened files. - -You can set the 'Tlist_Process_File_Always' variable to 1 to generate the list -of tags for new files even when the taglist window is closed and the taglist -menu is disabled. -> - let Tlist_Process_File_Always = 1 -< -To use the ":TlistShowTag" and the ":TlistShowPrototype" commands without the -taglist window and the taglist menu, you should set this variable to 1. - - *'Tlist_Show_Menu'* -Tlist_Show_Menu~ -When using GUI Vim, you can display the tags defined in the current file in a -menu named "Tags". By default, this feature is turned off. To turn on this -feature, set the 'Tlist_Show_Menu' variable to 1: -> - let Tlist_Show_Menu = 1 -< - *'Tlist_Show_One_File'* -Tlist_Show_One_File~ -By default, the taglist plugin will display the tags defined in all the loaded -buffers in the taglist window. If you prefer to display the tags defined only -in the current buffer, then you can set the 'Tlist_Show_One_File' to 1. When -this variable is set to 1, as you switch between buffers, the taglist window -will be refreshed to display the tags for the current buffer and the tags for -the previous buffer will be removed. -> - let Tlist_Show_One_File = 1 -< - *'Tlist_Sort_Type'* -Tlist_Sort_Type~ -The 'Tlist_Sort_Type' variable specifies the sort order for the tags in the -taglist window. The tags can be sorted either alphabetically by their name or -by the order of their appearance in the file (chronological order). By -default, the tag names will be listed by the order in which they are defined -in the file. You can change the sort type (from name to order or from order to -name) by pressing the "s" key in the taglist window. You can also change the -default sort order by setting 'Tlist_Sort_Type' to "name" or "order": -> - let Tlist_Sort_Type = "name" -< - *'Tlist_Use_Horiz_Window'* -Tlist_Use_Horiz_Window~ -Be default, the tag names are displayed in a vertically split window. If you -prefer a horizontally split window, then set the 'Tlist_Use_Horiz_Window' -variable to 1. If you are running MS-Windows version of Vim in a MS-DOS -command window, then you should use a horizontally split window instead of a -vertically split window. Also, if you are using an older version of xterm in a -Unix system that doesn't support changing the xterm window width, you should -use a horizontally split window. -> - let Tlist_Use_Horiz_Window = 1 -< - *'Tlist_Use_Right_Window'* -Tlist_Use_Right_Window~ -By default, the vertically split taglist window will appear on the left hand -side. If you prefer to open the window on the right hand side, you can set the -'Tlist_Use_Right_Window' variable to 1: -> - let Tlist_Use_Right_Window = 1 -< - *'Tlist_Use_SingleClick'* -Tlist_Use_SingleClick~ -By default, when you double click on the tag name using the left mouse -button, the cursor will be positioned at the definition of the tag. You -can set the 'Tlist_Use_SingleClick' variable to 1 to jump to a tag when -you single click on the tag name using the mouse. By default this variable -is set to zero. -> - let Tlist_Use_SingleClick = 1 -< -Due to a bug in Vim, if you set 'Tlist_Use_SingleClick' to 1 and try to resize -the taglist window using the mouse, then Vim will crash. This problem is fixed -in Vim 6.3 and above. In the meantime, instead of resizing the taglist window -using the mouse, you can use normal Vim window resizing commands to resize the -taglist window. - - *'Tlist_WinHeight'* -Tlist_WinHeight~ -The default height of the horizontally split taglist window is 10. This can be -changed by modifying the 'Tlist_WinHeight' variable: -> - let Tlist_WinHeight = 20 -< -The |'winfixheight'| option is set for the taglist window, to maintain the -height of the taglist window, when new Vim windows are opened and existing -windows are closed. - - *'Tlist_WinWidth'* -Tlist_WinWidth~ -The default width of the vertically split taglist window is 30. This can be -changed by modifying the 'Tlist_WinWidth' variable: -> - let Tlist_WinWidth = 20 -< -Note that the value of the |'winwidth'| option setting determines the minimum -width of the current window. If you set the 'Tlist_WinWidth' variable to a -value less than that of the |'winwidth'| option setting, then Vim will use the -value of the |'winwidth'| option. - -When new Vim windows are opened and existing windows are closed, the taglist -plugin will try to maintain the width of the taglist window to the size -specified by the 'Tlist_WinWidth' variable. - -============================================================================== - *taglist-commands* -7. Commands~ - -The taglist plugin provides the following ex-mode commands: - -|:TlistAddFiles| Add multiple files to the taglist. -|:TlistAddFilesRecursive| - Add files recursively to the taglist. -|:TlistClose| Close the taglist window. -|:TlistDebug| Start logging of taglist debug messages. -|:TlistLock| Stop adding new files to the taglist. -|:TlistMessages| Display the logged taglist plugin debug messages. -|:TlistOpen| Open and jump to the taglist window. -|:TlistSessionSave| Save the information about files and tags in the - taglist to a session file. -|:TlistSessionLoad| Load the information about files and tags stored - in a session file to taglist. -|:TlistShowPrototype| Display the prototype of the tag at or before the - specified line number. -|:TlistShowTag| Display the name of the tag defined at or before the - specified line number. -|:TlistHighlightTag| Highlight the current tag in the taglist window. -|:TlistToggle| Open or close (toggle) the taglist window. -|:TlistUndebug| Stop logging of taglist debug messages. -|:TlistUnlock| Start adding new files to the taglist. -|:TlistUpdate| Update the tags for the current buffer. - - *:TlistAddFiles* -:TlistAddFiles {file(s)} [file(s) ...] - Add one or more specified files to the taglist. You can - specify multiple filenames using wildcards. To specify a - file name with space character, you should escape the space - character with a backslash. - Examples: -> - :TlistAddFiles *.c *.cpp - :TlistAddFiles file1.html file2.html -< - If you specify a large number of files, then it will take some - time for the taglist plugin to process all of them. The - specified files will not be edited in a Vim window and will - not be added to the Vim buffer list. - - *:TlistAddFilesRecursive* -:TlistAddFilesRecursive {directory} [ {pattern} ] - Add files matching {pattern} recursively from the specified - {directory} to the taglist. If {pattern} is not specified, - then '*' is assumed. To specify the current directory, use "." - for {directory}. To specify a directory name with space - character, you should escape the space character with a - backslash. - Examples: -> - :TlistAddFilesRecursive myproject *.java - :TlistAddFilesRecursive smallproject -< - If large number of files are present in the specified - directory tree, then it will take some time for the taglist - plugin to process all of them. - - *:TlistClose* -:TlistClose Close the taglist window. This command can be used from any - one of the Vim windows. - - *:TlistDebug* -:TlistDebug [filename] - Start logging of debug messages from the taglist plugin. - If {filename} is specified, then the debug messages are stored - in the specified file. Otherwise, the debug messages are - stored in a script local variable. If the file {filename} is - already present, then it is overwritten. - - *:TlistLock* -:TlistLock - Lock the taglist and don't process new files. After this - command is executed, newly edited files will not be added to - the taglist. - - *:TlistMessages* -:TlistMessages - Display the logged debug messages from the taglist plugin - in a window. This command works only when logging to a - script-local variable. - - *:TlistOpen* -:TlistOpen Open and jump to the taglist window. Creates the taglist - window, if the window is not opened currently. After executing - this command, the cursor is moved to the taglist window. When - the taglist window is opened for the first time, all the files - in the buffer list are processed and the tags defined in them - are displayed in the taglist window. - - *:TlistSessionSave* -:TlistSessionSave {filename} - Saves the information about files and tags in the taglist to - the specified file. This command can be used to save and - restore the taglist contents across Vim sessions. - - *:TlistSessionLoad* -:TlistSessionLoad {filename} - Load the information about files and tags stored in the - specified session file to the taglist. - - *:TlistShowPrototype* -:TlistShowPrototype [filename] [linenumber] - Display the prototype of the tag at or before the specified - line number. If the file name and the line number are not - specified, then the current file name and line number are - used. A tag spans multiple lines starting from the line where - it is defined to the line before the next tag. This command - displays the prototype for the tag for any line number in this - range. - - *:TlistShowTag* -:TlistShowTag [filename] [linenumber] - Display the name of the tag defined at or before the specified - line number. If the file name and the line number are not - specified, then the current file name and line number are - used. A tag spans multiple lines starting from the line where - it is defined to the line before the next tag. This command - displays the tag name for any line number in this range. - - *:TlistHighlightTag* -:TlistHighlightTag - Highlight the current tag in the taglist window. By default, - the taglist plugin periodically updates the taglist window to - highlight the current tag. This command can be used to force - the taglist plugin to highlight the current tag. - - *:TlistToggle* -:TlistToggle Open or close (toggle) the taglist window. Opens the taglist - window, if the window is not opened currently. Closes the - taglist window, if the taglist window is already opened. When - the taglist window is opened for the first time, all the files - in the buffer list are processed and the tags are displayed in - the taglist window. After executing this command, the cursor - is not moved from the current window to the taglist window. - - *:TlistUndebug* -:TlistUndebug - Stop logging of debug messages from the taglist plugin. - - *:TlistUnlock* -:TlistUnlock - Unlock the taglist and start processing newly edited files. - - *:TlistUpdate* -:TlistUpdate Update the tags information for the current buffer. This - command can be used to re-process the current file/buffer and - get the tags information. As the taglist plugin uses the file - saved in the disk (instead of the file displayed in a Vim - buffer), you should save a modified buffer before you update - the taglist. Otherwise the listed tags will not include the - new tags created in the buffer. You can use this command even - when the taglist window is not opened. - -============================================================================== - *taglist-functions* -8. Global functions~ - -The taglist plugin provides several global functions that can be used from -other Vim plugins to interact with the taglist plugin. These functions are -described below. - -|Tlist_Update_File_Tags()| Update the tags for the specified file -|Tlist_Get_Tag_Prototype_By_Line()| Return the prototype of the tag at or - before the specified line number in the - specified file. -|Tlist_Get_Tagname_By_Line()| Return the name of the tag at or - before the specified line number in - the specified file. -|Tlist_Set_App()| Set the name of the application - controlling the taglist window. - - *Tlist_Update_File_Tags()* -Tlist_Update_File_Tags({filename}, {filetype}) - Update the tags for the file {filename}. The second argument - specifies the Vim filetype for the file. If the taglist plugin - has not processed the file previously, then the exuberant - ctags tool is invoked to generate the tags for the file. - - *Tlist_Get_Tag_Prototype_By_Line()* -Tlist_Get_Tag_Prototype_By_Line([{filename}, {linenumber}]) - Return the prototype of the tag at or before the specified - line number in the specified file. If the filename and line - number are not specified, then the current buffer name and the - current line number are used. - - *Tlist_Get_Tagname_By_Line()* -Tlist_Get_Tagname_By_Line([{filename}, {linenumber}]) - Return the name of the tag at or before the specified line - number in the specified file. If the filename and line number - are not specified, then the current buffer name and the - current line number are used. - - *Tlist_Set_App()* -Tlist_Set_App({appname}) - Set the name of the plugin that controls the taglist plugin - window and buffer. This can be used to integrate the taglist - plugin with other Vim plugins. - - For example, the winmanager plugin and the Cream package use - this function and specify the appname as "winmanager" and - "cream" respectively. - - By default, the taglist plugin is a stand-alone plugin and - controls the taglist window and buffer. If the taglist window - is controlled by an external plugin, then the appname should - be set appropriately. - -============================================================================== - *taglist-extend* -9. Extending~ - -The taglist plugin supports all the languages supported by the exuberant ctags -tool, which includes the following languages: Assembly, ASP, Awk, Beta, C, -C++, C#, Cobol, Eiffel, Erlang, Fortran, HTML, Java, Javascript, Lisp, Lua, -Make, Pascal, Perl, PHP, Python, Rexx, Ruby, Scheme, Shell, Slang, SML, Sql, -TCL, Verilog, Vim and Yacc. - -You can extend the taglist plugin to add support for new languages and also -modify the support for the above listed languages. - -You should NOT make modifications to the taglist plugin script file to add -support for new languages. You will lose these changes when you upgrade to the -next version of the taglist plugin. Instead you should follow the below -described instructions to extend the taglist plugin. - -You can extend the taglist plugin by setting variables in the .vimrc or _vimrc -file. The name of these variables depends on the language name and is -described below. - -Modifying support for an existing language~ -To modify the support for an already supported language, you have to set the -tlist_xxx_settings variable in the ~/.vimrc or $HOME/_vimrc file. Replace xxx -with the Vim filetype name for the language file. For example, to modify the -support for the perl language files, you have to set the tlist_perl_settings -variable. To modify the support for java files, you have to set the -tlist_java_settings variable. - -To determine the filetype name used by Vim for a file, use the following -command in the buffer containing the file: - - :set filetype - -The above command will display the Vim filetype for the current buffer. - -The format of the value set in the tlist_xxx_settings variable is - - <language_name>;flag1:name1;flag2:name2;flag3:name3 - -The different fields in the value are separated by the ';' character. - -The first field 'language_name' is the name used by exuberant ctags to refer -to this language file. This name can be different from the file type name used -by Vim. For example, for C++, the language name used by ctags is 'c++' but the -filetype name used by Vim is 'cpp'. To get the list of language names -supported by exuberant ctags, use the following command: - - $ ctags --list-maps=all - -The remaining fields follow the format "flag:name". The sub-field 'flag' is -the language specific flag used by exuberant ctags to generate the -corresponding tags. For example, for the C language, to list only the -functions, the 'f' flag is used. To get the list of flags supported by -exuberant ctags for the various languages use the following command: - - $ ctags --list-kinds=all - -The sub-field 'name' specifies the title text to use for displaying the tags -of a particular type. For example, 'name' can be set to 'functions'. This -field can be set to any text string name. - -For example, to list only the classes and functions defined in a C++ language -file, add the following line to your .vimrc file: - - let tlist_cpp_settings = 'c++;c:class;f:function' - -In the above setting, 'cpp' is the Vim filetype name and 'c++' is the name -used by the exuberant ctags tool. 'c' and 'f' are the flags passed to -exuberant ctags to list C++ classes and functions and 'class' is the title -used for the class tags and 'function' is the title used for the function tags -in the taglist window. - -For example, to display only functions defined in a C file and to use "My -Functions" as the title for the function tags, use - - let tlist_c_settings = 'c;f:My Functions' - -When you set the tlist_xxx_settings variable, you will override the default -setting used by the taglist plugin for the 'xxx' language. You cannot add to -the default options used by the taglist plugin for a particular file type. To -add to the options used by the taglist plugin for a language, copy the option -values from the taglist plugin file to your .vimrc file and modify it. - -Adding support for a new language~ -If you want to add support for a new language to the taglist plugin, you need -to first extend the exuberant ctags tool. For more information about extending -exuberant ctags, visit the following page: - - http://ctags.sourceforge.net/EXTENDING.html - -To add support for a new language, set the tlist_xxx_settings variable in the -~/.vimrc file appropriately as described above. Replace 'xxx' in the variable -name with the Vim filetype name for the new language. - -For example, to extend the taglist plugin to support the latex language, you -can use the following line (assuming, you have already extended exuberant -ctags to support the latex language): - - let tlist_tex_settings='latex;b:bibitem;c:command;l:label' - -With the above line, when you edit files of filetype "tex" in Vim, the taglist -plugin will invoke the exuberant ctags tool passing the "latex" filetype and -the flags b, c and l to generate the tags. The text heading 'bibitem', -'command' and 'label' will be used in the taglist window for the tags which -are generated for the flags b, c and l respectively. - -============================================================================== - *taglist-faq* -10. Frequently Asked Questions~ - -Q. The taglist plugin doesn't work. The taglist window is empty and the tags - defined in a file are not displayed. -A. Are you using Vim version 6.0 and above? The taglist plugin relies on the - features supported by Vim version 6.0 and above. You can use the following - command to get the Vim version: -> - $ vim --version -< - Are you using exuberant ctags version 5.0 and above? The taglist plugin - relies on the features supported by exuberant ctags and will not work with - GNU ctags or the Unix ctags utility. You can use the following command to - determine whether the ctags installed in your system is exuberant ctags: -> - $ ctags --version -< - Is exuberant ctags present in one of the directories in your PATH? If not, - you need to set the Tlist_Ctags_Cmd variable to point to the location of - exuberant ctags. Use the following Vim command to verify that this is setup - correctly: -> - :echo system(Tlist_Ctags_Cmd . ' --version') -< - The above command should display the version information for exuberant - ctags. - - Did you turn on the Vim filetype detection? The taglist plugin relies on - the filetype detected by Vim and passes the filetype to the exuberant ctags - utility to parse the tags. Check the output of the following Vim command: -> - :filetype -< - The output of the above command should contain "filetype detection:ON". - To turn on the filetype detection, add the following line to the .vimrc or - _vimrc file: -> - filetype on -< - Is your version of Vim compiled with the support for the system() function? - The following Vim command should display 1: -> - :echo exists('*system') -< - In some Linux distributions (particularly Suse Linux), the default Vim - installation is built without the support for the system() function. The - taglist plugin uses the system() function to invoke the exuberant ctags - utility. You need to rebuild Vim after enabling the support for the - system() function. If you use the default build options, the system() - function will be supported. - - Do you have the |'shellslash'| option set? You can try disabling the - |'shellslash'| option. When the taglist plugin invokes the exuberant ctags - utility with the path to the file, if the incorrect slashes are used, then - you will see errors. - - Check the shell related Vim options values using the following command: -> - :set shell? shellcmdflag? shellpipe? - :set shellquote? shellredir? shellxquote? -< - If these options are set in your .vimrc or _vimrc file, try removing those - lines. - - Are you using a Unix shell in a MS-Windows environment? For example, - the Unix shell from the MKS-toolkit. Do you have the SHELL environment - set to point to this shell? You can try resetting the SHELL environment - variable. - - If you are using a Unix shell on MS-Windows, you should try to use - exuberant ctags that is compiled for Unix-like environments so that - exuberant ctags will understand path names with forward slash characters. - - Is your filetype supported by the exuberant ctags utility? The file types - supported by the exuberant ctags utility are listed in the ctags help. If a - file type is not supported, you have to extend exuberant ctags. You can use - the following command to list the filetypes supported by exuberant ctags: -> - ctags --list-languages -< - Run the following command from the shell prompt and check whether the tags - defined in your file are listed in the output from exuberant ctags: -> - ctags -f - --format=2 --excmd=pattern --fields=nks <filename> -< - If you see your tags in the output from the above command, then the - exuberant ctags utility is properly parsing your file. - - Do you have the .ctags or _ctags or the ctags.cnf file in your home - directory for specifying default options or for extending exuberant ctags? - If you do have this file, check the options in this file and make sure - these options are not interfering with the operation of the taglist plugin. - - If you are using MS-Windows, check the value of the TEMP and TMP - environment variables. If these environment variables are set to a path - with space characters in the name, then try using the DOS 8.3 short name - for the path or set them to a path without the space characters in the - name. For example, if the temporary directory name is "C:\Documents and - Settings\xyz\Local Settings\Temp", then try setting the TEMP variable to - the following: -> - set TEMP=C:\DOCUMEN~1\xyz\LOCALS~1\Temp -< - If exuberant ctags is installed in a directory with space characters in the - name, then try adding the directory to the PATH environment variable or try - setting the 'Tlist_Ctags_Cmd' variable to the shortest path name to ctags - or try copying the exuberant ctags to a path without space characters in - the name. For example, if exuberant ctags is installed in the directory - "C:\Program Files\Ctags", then try setting the 'Tlist_Ctags_Cmd' variable - as below: -> - let Tlist_Ctags_Cmd='C:\Progra~1\Ctags\ctags.exe' -< - If you are using a cygwin compiled version of exuberant ctags on MS-Windows, - make sure that either you have the cygwin compiled sort utility installed - and available in your PATH or compile exuberant ctags with internal sort - support. Otherwise, when exuberant ctags sorts the tags output by invoking - the sort utility, it may end up invoking the MS-Windows version of - sort.exe, thereby resulting in failure. - -Q. When I try to open the taglist window, I am seeing the following error - message. How do I fix this problem? - - Taglist: Failed to generate tags for /my/path/to/file - ctags: illegal option -- -^@usage: ctags [-BFadtuwvx] [-f tagsfile] file ... - -A. The taglist plugin will work only with the exuberant ctags tool. You - cannot use the GNU ctags or the Unix ctags program with the taglist plugin. - You will see an error message similar to the one shown above, if you try - use a non-exuberant ctags program with Vim. To fix this problem, either add - the exuberant ctags tool location to the PATH environment variable or set - the 'Tlist_Ctags_Cmd' variable. - -Q. A file has more than one tag with the same name. When I select a tag name - from the taglist window, the cursor is positioned at the incorrect tag - location. -A. The taglist plugin uses the search pattern generated by the exuberant ctags - utility to position the cursor at the location of a tag definition. If a - file has more than one tag with the same name and same prototype, then the - search pattern will be the same. In this case, when searching for the tag - pattern, the cursor may be positioned at the incorrect location. - -Q. I have made some modifications to my file and introduced new - functions/classes/variables. I have not yet saved my file. The taglist - plugin is not displaying the new tags when I update the taglist window. -A. The exuberant ctags utility will process only files that are present in the - disk. To list the tags defined in a file, you have to save the file and - then update the taglist window. - -Q. I have created a ctags file using the exuberant ctags utility for my source - tree. How do I configure the taglist plugin to use this tags file? -A. The taglist plugin doesn't use a tags file stored in disk. For every opened - file, the taglist plugin invokes the exuberant ctags utility to get the - list of tags dynamically. The Vim system() function is used to invoke - exuberant ctags and get the ctags output. This function internally uses a - temporary file to store the output. This file is deleted after the output - from the command is read. So you will never see the file that contains the - output of exuberant ctags. - -Q. When I set the |'updatetime'| option to a low value (less than 1000) and if - I keep pressing a key with the taglist window open, the current buffer - contents are changed. Why is this? -A. The taglist plugin uses the |CursorHold| autocmd to highlight the current - tag. The CursorHold autocmd triggers for every |'updatetime'| milliseconds. - If the |'updatetime'| option is set to a low value, then the CursorHold - autocmd will be triggered frequently. As the taglist plugin changes - the focus to the taglist window to highlight the current tag, this could - interfere with the key movement resulting in changing the contents of - the current buffer. The workaround for this problem is to not set the - |'updatetime'| option to a low value. - -============================================================================== - *taglist-license* -11. License~ -Permission is hereby granted to use and distribute the taglist plugin, with or -without modifications, provided that this copyright notice is copied with it. -Like anything else that's free, taglist.vim is provided *as is* and comes with -no warranty of any kind, either expressed or implied. In no event will the -copyright holder be liable for any damamges resulting from the use of this -software. - -============================================================================== - *taglist-todo* -12. Todo~ - -1. Group tags according to the scope and display them. For example, - group all the tags belonging to a C++/Java class -2. Support for displaying tags in a modified (not-yet-saved) file. -3. Automatically open the taglist window only for selected filetypes. - For other filetypes, close the taglist window. -4. When using the shell from the MKS toolkit, the taglist plugin - doesn't work. -5. The taglist plugin doesn't work with files edited remotely using the - netrw plugin. The exuberant ctags utility cannot process files over - scp/rcp/ftp, etc. - -============================================================================== - -vim:tw=78:ts=8:noet:ft=help: diff --git a/.vim/doc/tags b/.vim/doc/tags deleted file mode 100644 index 9049f74..0000000 --- a/.vim/doc/tags +++ /dev/null @@ -1,1138 +0,0 @@ -'Tlist_Auto_Highlight_Tag' taglist.txt /*'Tlist_Auto_Highlight_Tag'* -'Tlist_Auto_Open' taglist.txt /*'Tlist_Auto_Open'* -'Tlist_Auto_Update' taglist.txt /*'Tlist_Auto_Update'* -'Tlist_Close_On_Select' taglist.txt /*'Tlist_Close_On_Select'* -'Tlist_Compact_Format' taglist.txt /*'Tlist_Compact_Format'* -'Tlist_Ctags_Cmd' taglist.txt /*'Tlist_Ctags_Cmd'* -'Tlist_Display_Prototype' taglist.txt /*'Tlist_Display_Prototype'* -'Tlist_Display_Tag_Scope' taglist.txt /*'Tlist_Display_Tag_Scope'* -'Tlist_Enable_Fold_Column' taglist.txt /*'Tlist_Enable_Fold_Column'* -'Tlist_Exit_OnlyWindow' taglist.txt /*'Tlist_Exit_OnlyWindow'* -'Tlist_File_Fold_Auto_Close' taglist.txt /*'Tlist_File_Fold_Auto_Close'* -'Tlist_GainFocus_On_ToggleOpen' taglist.txt /*'Tlist_GainFocus_On_ToggleOpen'* -'Tlist_Highlight_Tag_On_BufEnter' taglist.txt /*'Tlist_Highlight_Tag_On_BufEnter'* -'Tlist_Inc_Winwidth' taglist.txt /*'Tlist_Inc_Winwidth'* -'Tlist_Max_Submenu_Items' taglist.txt /*'Tlist_Max_Submenu_Items'* -'Tlist_Max_Tag_Length' taglist.txt /*'Tlist_Max_Tag_Length'* -'Tlist_Process_File_Always' taglist.txt /*'Tlist_Process_File_Always'* -'Tlist_Show_Menu' taglist.txt /*'Tlist_Show_Menu'* -'Tlist_Show_One_File' taglist.txt /*'Tlist_Show_One_File'* -'Tlist_Sort_Type' taglist.txt /*'Tlist_Sort_Type'* -'Tlist_Use_Horiz_Window' taglist.txt /*'Tlist_Use_Horiz_Window'* -'Tlist_Use_Right_Window' taglist.txt /*'Tlist_Use_Right_Window'* -'Tlist_Use_SingleClick' taglist.txt /*'Tlist_Use_SingleClick'* -'Tlist_WinHeight' taglist.txt /*'Tlist_WinHeight'* -'Tlist_WinWidth' taglist.txt /*'Tlist_WinWidth'* -:DocIndex haskellmode.txt /*:DocIndex* -:DocSettings haskellmode.txt /*:DocSettings* -:ExportDocIndex haskellmode.txt /*:ExportDocIndex* -:FlagReference haskellmode.txt /*:FlagReference* -:GHCReload haskellmode.txt /*:GHCReload* -:GHCStaticOptions haskellmode.txt /*:GHCStaticOptions* -:GHCi haskellmode.txt /*:GHCi* -:HpasteIndex haskellmode.txt /*:HpasteIndex* -:HpastePostNew haskellmode.txt /*:HpastePostNew* -:IDoc haskellmode.txt /*:IDoc* -:MDoc haskellmode.txt /*:MDoc* -:TlistAddFiles taglist.txt /*:TlistAddFiles* -:TlistAddFilesRecursive taglist.txt /*:TlistAddFilesRecursive* -:TlistClose taglist.txt /*:TlistClose* -:TlistDebug taglist.txt /*:TlistDebug* -:TlistHighlightTag taglist.txt /*:TlistHighlightTag* -:TlistLock taglist.txt /*:TlistLock* -:TlistMessages taglist.txt /*:TlistMessages* -:TlistOpen taglist.txt /*:TlistOpen* -:TlistSessionLoad taglist.txt /*:TlistSessionLoad* -:TlistSessionSave taglist.txt /*:TlistSessionSave* -:TlistShowPrototype taglist.txt /*:TlistShowPrototype* -:TlistShowTag taglist.txt /*:TlistShowTag* -:TlistToggle taglist.txt /*:TlistToggle* -:TlistUndebug taglist.txt /*:TlistUndebug* -:TlistUnlock taglist.txt /*:TlistUnlock* -:TlistUpdate taglist.txt /*:TlistUpdate* -Alph latexhelp.txt /*Alph* -Alt-B latex-suite.txt /*Alt-B* -Alt-C latex-suite.txt /*Alt-C* -Alt-I latex-suite.txt /*Alt-I* -Alt-L latex-suite.txt /*Alt-L* -BibTeX latexhelp.txt /*BibTeX* -IMAP_PutTextWithMovement latex-suite.txt /*IMAP_PutTextWithMovement* -Imap_DeleteEmptyPlaceHolders latex-suite.txt /*Imap_DeleteEmptyPlaceHolders* -Imap_FreezeImap latex-suite.txt /*Imap_FreezeImap* -Imap_PlaceHolderEnd latex-suite.txt /*Imap_PlaceHolderEnd* -Imap_PlaceHolderStart latex-suite.txt /*Imap_PlaceHolderStart* -Imap_StickyPlaceHolders latex-suite.txt /*Imap_StickyPlaceHolders* -Imap_UsePlaceHolders latex-suite.txt /*Imap_UsePlaceHolders* -LaTeX latexhelp.txt /*LaTeX* -Plug_IMAP_DeleteAndJumBack latex-suite.txt /*Plug_IMAP_DeleteAndJumBack* -Plug_IMAP_DeleteAndJumpForward latex-suite.txt /*Plug_IMAP_DeleteAndJumpForward* -Plug_IMAP_JumpBack latex-suite.txt /*Plug_IMAP_JumpBack* -Plug_IMAP_JumpForward latex-suite.txt /*Plug_IMAP_JumpForward* -Plug_Tex_InsertItem latex-suite.txt /*Plug_Tex_InsertItem* -Plug_Tex_LeftRight latex-suite.txt /*Plug_Tex_LeftRight* -Plug_Tex_MathBF latex-suite.txt /*Plug_Tex_MathBF* -Plug_Tex_MathCal latex-suite.txt /*Plug_Tex_MathCal* -Roman latexhelp.txt /*Roman* -TClearCiteHist latex-suite.txt /*TClearCiteHist* -TLook latex-suite.txt /*TLook* -TLookAll latex-suite.txt /*TLookAll* -TLookBib latex-suite.txt /*TLookBib* -TMacro latex-suite.txt /*TMacro* -TMacroDelete latex-suite.txt /*TMacroDelete* -TMacroEdit latex-suite.txt /*TMacroEdit* -TMacroNew latex-suite.txt /*TMacroNew* -TPackage latex-suite.txt /*TPackage* -TPackageUpdate latex-suite.txt /*TPackageUpdate* -TPackageUpdateAll latex-suite.txt /*TPackageUpdateAll* -TPartComp latex-suite.txt /*TPartComp* -TPartView latex-suite.txt /*TPartView* -TSection latex-suite.txt /*TSection* -TSectionAdvanced latex-suite.txt /*TSectionAdvanced* -TTemplate latex-suite.txt /*TTemplate* -Tex_AutoFolding latex-suite.txt /*Tex_AutoFolding* -Tex_BIBINPUTS latex-suite.txt /*Tex_BIBINPUTS* -Tex_CatchVisMapErrors latex-suite.txt /*Tex_CatchVisMapErrors* -Tex_Com_name latex-suite.txt /*Tex_Com_name* -Tex_CompileRule_format latex-suite.txt /*Tex_CompileRule_format* -Tex_Debug latex-suite.txt /*Tex_Debug* -Tex_DefaultTargetFormat latex-suite.txt /*Tex_DefaultTargetFormat* -Tex_Diacritics latex-suite.txt /*Tex_Diacritics* -Tex_Env_name latex-suite.txt /*Tex_Env_name* -Tex_EnvironmentMaps latex-suite.txt /*Tex_EnvironmentMaps* -Tex_EnvironmentMenus latex-suite.txt /*Tex_EnvironmentMenus* -Tex_ExplorerHeight latex-suite.txt /*Tex_ExplorerHeight* -Tex_FoldedCommands latex-suite.txt /*Tex_FoldedCommands* -Tex_FoldedEnvironments latex-suite.txt /*Tex_FoldedEnvironments* -Tex_FoldedMisc latex-suite.txt /*Tex_FoldedMisc* -Tex_FoldedSections latex-suite.txt /*Tex_FoldedSections* -Tex_Folding latex-suite.txt /*Tex_Folding* -Tex_FontMaps latex-suite.txt /*Tex_FontMaps* -Tex_FontMenus latex-suite.txt /*Tex_FontMenus* -Tex_GotoError latex-suite.txt /*Tex_GotoError* -Tex_HotKeyMappings latex-suite.txt /*Tex_HotKeyMappings* -Tex_IgnoreLevel latex-suite.txt /*Tex_IgnoreLevel* -Tex_IgnoredWarnings latex-suite.txt /*Tex_IgnoredWarnings* -Tex_ImageDir latex-suite.txt /*Tex_ImageDir* -Tex_ItemStyle_environment latex-suite.txt /*Tex_ItemStyle_environment* -Tex_Leader latex-suite.txt /*Tex_Leader* -Tex_Leader2 latex-suite.txt /*Tex_Leader2* -Tex_MainFileExpression latex-suite.txt /*Tex_MainFileExpression* -Tex_MainMenuLocation latex-suite.txt /*Tex_MainMenuLocation* -Tex_MathMenus latex-suite.txt /*Tex_MathMenus* -Tex_Menus latex-suite.txt /*Tex_Menus* -Tex_MultipleCompileFormats latex-suite.txt /*Tex_MultipleCompileFormats* -Tex_NestElementMenus latex-suite.txt /*Tex_NestElementMenus* -Tex_NestPackagesMenu latex-suite.txt /*Tex_NestPackagesMenu* -Tex_PackagesMenu latex-suite.txt /*Tex_PackagesMenu* -Tex_ProjectSourceFiles latex-suite.txt /*Tex_ProjectSourceFiles* -Tex_PromptedCommands latex-suite.txt /*Tex_PromptedCommands* -Tex_PromptedEnvironments latex-suite.txt /*Tex_PromptedEnvironments* -Tex_RememberCiteSearch latex-suite.txt /*Tex_RememberCiteSearch* -Tex_SectionMaps latex-suite.txt /*Tex_SectionMaps* -Tex_SectionMenus latex-suite.txt /*Tex_SectionMenus* -Tex_SmartKeyBS latex-suite.txt /*Tex_SmartKeyBS* -Tex_SmartKeyQuote latex-suite.txt /*Tex_SmartKeyQuote* -Tex_TEXINPUTS latex-suite.txt /*Tex_TEXINPUTS* -Tex_UseMakefile latex-suite.txt /*Tex_UseMakefile* -Tex_UseMenuWizard latex-suite.txt /*Tex_UseMenuWizard* -Tex_UsePython latex-suite.txt /*Tex_UsePython* -Tex_UseSimpleLabelSearch latex-suite.txt /*Tex_UseSimpleLabelSearch* -Tex_UseUtfMenus latex-suite.txt /*Tex_UseUtfMenus* -Tex_ViewRuleComplete_format latex-suite.txt /*Tex_ViewRuleComplete_format* -Tex_ViewRule_format latex-suite.txt /*Tex_ViewRule_format* -Tex_ViewerCwindowHeight latex-suite.txt /*Tex_ViewerCwindowHeight* -Tex_ViewerPreviewHeight latex-suite.txt /*Tex_ViewerPreviewHeight* -Tlist_Get_Tag_Prototype_By_Line() taglist.txt /*Tlist_Get_Tag_Prototype_By_Line()* -Tlist_Get_Tagname_By_Line() taglist.txt /*Tlist_Get_Tagname_By_Line()* -Tlist_Set_App() taglist.txt /*Tlist_Set_App()* -Tlist_Update_File_Tags() taglist.txt /*Tlist_Update_File_Tags()* -Tshortcuts latex-suite.txt /*Tshortcuts* -\Alph latexhelp.txt /*\\Alph* -\Huge latexhelp.txt /*\\Huge* -\LARGE latexhelp.txt /*\\LARGE* -\Large latexhelp.txt /*\\Large* -\Roman latexhelp.txt /*\\Roman* -\\ latexhelp.txt /*\\\\* -\\\\ latexhelp.txt /*\\\\\\\\* -\addcontentsline latexhelp.txt /*\\addcontentsline* -\address latexhelp.txt /*\\address* -\addtocontents latexhelp.txt /*\\addtocontents* -\addtocounter latexhelp.txt /*\\addtocounter* -\addtolength latexhelp.txt /*\\addtolength* -\addvspace latexhelp.txt /*\\addvspace* -\alph latexhelp.txt /*\\alph* -\and latexhelp.txt /*\\and* -\appendix latexhelp.txt /*\\appendix* -\arabic latexhelp.txt /*\\arabic* -\author latexhelp.txt /*\\author* -\begin latexhelp.txt /*\\begin* -\bfseries latexhelp.txt /*\\bfseries* -\bibitem latexhelp.txt /*\\bibitem* -\bibliography latexhelp.txt /*\\bibliography* -\bibliographystyle latexhelp.txt /*\\bibliographystyle* -\bigskip latexhelp.txt /*\\bigskip* -\cc latexhelp.txt /*\\cc* -\cdots latexhelp.txt /*\\cdots* -\centering latexhelp.txt /*\\centering* -\chapter latexhelp.txt /*\\chapter* -\circle latexhelp.txt /*\\circle* -\cite latexhelp.txt /*\\cite* -\cleardoublepage latexhelp.txt /*\\cleardoublepage* -\clearpage latexhelp.txt /*\\clearpage* -\cline latexhelp.txt /*\\cline* -\closing latexhelp.txt /*\\closing* -\dashbox latexhelp.txt /*\\dashbox* -\date latexhelp.txt /*\\date* -\ddots latexhelp.txt /*\\ddots* -\depth latexhelp.txt /*\\depth* -\documentclass latexhelp.txt /*\\documentclass* -\dotfill latexhelp.txt /*\\dotfill* -\emph latexhelp.txt /*\\emph* -\end latexhelp.txt /*\\end* -\enlargethispage latexhelp.txt /*\\enlargethispage* -\fbox latexhelp.txt /*\\fbox* -\flushbottom latexhelp.txt /*\\flushbottom* -\fnsymbol latexhelp.txt /*\\fnsymbol* -\fontencoding latexhelp.txt /*\\fontencoding* -\fontfamily latexhelp.txt /*\\fontfamily* -\fontseries latexhelp.txt /*\\fontseries* -\fontshape latexhelp.txt /*\\fontshape* -\fontsize latexhelp.txt /*\\fontsize* -\footnote latexhelp.txt /*\\footnote* -\footnotemark latexhelp.txt /*\\footnotemark* -\footnotesize latexhelp.txt /*\\footnotesize* -\footnotetext latexhelp.txt /*\\footnotetext* -\frac latexhelp.txt /*\\frac* -\frame latexhelp.txt /*\\frame* -\framebox latexhelp.txt /*\\framebox* -\fussy latexhelp.txt /*\\fussy* -\height latexhelp.txt /*\\height* -\hfill latexhelp.txt /*\\hfill* -\hline latexhelp.txt /*\\hline* -\hrulefill latexhelp.txt /*\\hrulefill* -\hspace latexhelp.txt /*\\hspace* -\huge latexhelp.txt /*\\huge* -\hyphenation latexhelp.txt /*\\hyphenation* -\include latexhelp.txt /*\\include* -\includeonly latexhelp.txt /*\\includeonly* -\indent latexhelp.txt /*\\indent* -\input latexhelp.txt /*\\input* -\item latexhelp.txt /*\\item* -\itshape latexhelp.txt /*\\itshape* -\kill latexhelp.txt /*\\kill* -\label latexhelp.txt /*\\label* -\large latexhelp.txt /*\\large* -\ldots latexhelp.txt /*\\ldots* -\lefteqn latexhelp.txt /*\\lefteqn* -\letter latexhelp.txt /*\\letter* -\line latexhelp.txt /*\\line* -\linebreak latexhelp.txt /*\\linebreak* -\linethickness latexhelp.txt /*\\linethickness* -\listoffigures latexhelp.txt /*\\listoffigures* -\listoftables latexhelp.txt /*\\listoftables* -\location latexhelp.txt /*\\location* -\lrbox latexhelp.txt /*\\lrbox* -\makebox latexhelp.txt /*\\makebox* -\makelabels latexhelp.txt /*\\makelabels* -\maketitle latexhelp.txt /*\\maketitle* -\marginpar latexhelp.txt /*\\marginpar* -\markboth latexhelp.txt /*\\markboth* -\markright latexhelp.txt /*\\markright* -\mathbf latexhelp.txt /*\\mathbf* -\mathcal latexhelp.txt /*\\mathcal* -\mathit latexhelp.txt /*\\mathit* -\mathnormal latexhelp.txt /*\\mathnormal* -\mathrm latexhelp.txt /*\\mathrm* -\mathsf latexhelp.txt /*\\mathsf* -\mathtt latexhelp.txt /*\\mathtt* -\mathversion latexhelp.txt /*\\mathversion* -\mbox latexhelp.txt /*\\mbox* -\mdseries latexhelp.txt /*\\mdseries* -\medskip latexhelp.txt /*\\medskip* -\multicolumn latexhelp.txt /*\\multicolumn* -\multiput latexhelp.txt /*\\multiput* -\name latexhelp.txt /*\\name* -\newcommand latexhelp.txt /*\\newcommand* -\newcounter latexhelp.txt /*\\newcounter* -\newenvironment latexhelp.txt /*\\newenvironment* -\newfont latexhelp.txt /*\\newfont* -\newlength latexhelp.txt /*\\newlength* -\newline latexhelp.txt /*\\newline* -\newpage latexhelp.txt /*\\newpage* -\newsavebox latexhelp.txt /*\\newsavebox* -\newtheorem latexhelp.txt /*\\newtheorem* -\nocite latexhelp.txt /*\\nocite* -\nofiles latexhelp.txt /*\\nofiles* -\noindent latexhelp.txt /*\\noindent* -\nolinebreak latexhelp.txt /*\\nolinebreak* -\nonumber latexhelp.txt /*\\nonumber* -\nopagebreak latexhelp.txt /*\\nopagebreak* -\normalfont latexhelp.txt /*\\normalfont* -\normalsize latexhelp.txt /*\\normalsize* -\onecolumn latexhelp.txt /*\\onecolumn* -\opening latexhelp.txt /*\\opening* -\oval latexhelp.txt /*\\oval* -\overbrace latexhelp.txt /*\\overbrace* -\overline latexhelp.txt /*\\overline* -\pagebreak latexhelp.txt /*\\pagebreak* -\pagenumbering latexhelp.txt /*\\pagenumbering* -\pageref latexhelp.txt /*\\pageref* -\pagestyle latexhelp.txt /*\\pagestyle* -\par latexhelp.txt /*\\par* -\paragraph latexhelp.txt /*\\paragraph* -\parbox latexhelp.txt /*\\parbox* -\part latexhelp.txt /*\\part* -\picture-framebox latexhelp.txt /*\\picture-framebox* -\ps latexhelp.txt /*\\ps* -\pushtabs latexhelp.txt /*\\pushtabs* -\put latexhelp.txt /*\\put* -\raggedbottom latexhelp.txt /*\\raggedbottom* -\raggedleft latexhelp.txt /*\\raggedleft* -\raggedright latexhelp.txt /*\\raggedright* -\raisebox latexhelp.txt /*\\raisebox* -\ref latexhelp.txt /*\\ref* -\refstepcounter latexhelp.txt /*\\refstepcounter* -\renewcommand latexhelp.txt /*\\renewcommand* -\renewenvironment latexhelp.txt /*\\renewenvironment* -\reversemarginpar latexhelp.txt /*\\reversemarginpar* -\rmfamily latexhelp.txt /*\\rmfamily* -\roman latexhelp.txt /*\\roman* -\rule latexhelp.txt /*\\rule* -\savebox latexhelp.txt /*\\savebox* -\sbox latexhelp.txt /*\\sbox* -\scriptsize latexhelp.txt /*\\scriptsize* -\scshape latexhelp.txt /*\\scshape* -\section latexhelp.txt /*\\section* -\selectfont latexhelp.txt /*\\selectfont* -\setcounter latexhelp.txt /*\\setcounter* -\setlength latexhelp.txt /*\\setlength* -\settodepth latexhelp.txt /*\\settodepth* -\settoheight latexhelp.txt /*\\settoheight* -\settowidth latexhelp.txt /*\\settowidth* -\sffamily latexhelp.txt /*\\sffamily* -\shortstack latexhelp.txt /*\\shortstack* -\signature latexhelp.txt /*\\signature* -\sloppy latexhelp.txt /*\\sloppy* -\slshape latexhelp.txt /*\\slshape* -\small latexhelp.txt /*\\small* -\smallskip latexhelp.txt /*\\smallskip* -\space latexhelp.txt /*\\space* -\sqrt latexhelp.txt /*\\sqrt* -\startbreaks latexhelp.txt /*\\startbreaks* -\stepcounter latexhelp.txt /*\\stepcounter* -\stopbreaks latexhelp.txt /*\\stopbreaks* -\subparagraph latexhelp.txt /*\\subparagraph* -\subsection latexhelp.txt /*\\subsection* -\subsubsection latexhelp.txt /*\\subsubsection* -\symbol latexhelp.txt /*\\symbol* -\table latexhelp.txt /*\\table* -\tableofcontents latexhelp.txt /*\\tableofcontents* -\telephone latexhelp.txt /*\\telephone* -\textbf latexhelp.txt /*\\textbf* -\textit latexhelp.txt /*\\textit* -\textmd latexhelp.txt /*\\textmd* -\textnormal latexhelp.txt /*\\textnormal* -\textrm latexhelp.txt /*\\textrm* -\textsc latexhelp.txt /*\\textsc* -\textsf latexhelp.txt /*\\textsf* -\textsl latexhelp.txt /*\\textsl* -\texttt latexhelp.txt /*\\texttt* -\textup latexhelp.txt /*\\textup* -\thanks latexhelp.txt /*\\thanks* -\thebibliography latexhelp.txt /*\\thebibliography* -\thispagestyle latexhelp.txt /*\\thispagestyle* -\tiny latexhelp.txt /*\\tiny* -\title latexhelp.txt /*\\title* -\totalheight latexhelp.txt /*\\totalheight* -\ttfamily latexhelp.txt /*\\ttfamily* -\twocolumn latexhelp.txt /*\\twocolumn* -\typein latexhelp.txt /*\\typein* -\typeout latexhelp.txt /*\\typeout* -\underbrace latexhelp.txt /*\\underbrace* -\underline latexhelp.txt /*\\underline* -\upshape latexhelp.txt /*\\upshape* -\usebox latexhelp.txt /*\\usebox* -\usecounter latexhelp.txt /*\\usecounter* -\usefont latexhelp.txt /*\\usefont* -\usepackage latexhelp.txt /*\\usepackage* -\value latexhelp.txt /*\\value* -\vdots latexhelp.txt /*\\vdots* -\vector latexhelp.txt /*\\vector* -\verb latexhelp.txt /*\\verb* -\vfill latexhelp.txt /*\\vfill* -\vline latexhelp.txt /*\\vline* -\vspace latexhelp.txt /*\\vspace* -\width latexhelp.txt /*\\width* -_. haskellmode.txt /*_.* -_? haskellmode.txt /*_?* -_?1 haskellmode.txt /*_?1* -_?2 haskellmode.txt /*_?2* -_T haskellmode.txt /*_T* -_ct haskellmode.txt /*_ct* -_i haskellmode.txt /*_i* -_ie haskellmode.txt /*_ie* -_im haskellmode.txt /*_im* -_iq haskellmode.txt /*_iq* -_iqm haskellmode.txt /*_iqm* -_lang haskellmode.txt /*_lang* -_opt haskellmode.txt /*_opt* -_si haskellmode.txt /*_si* -_t haskellmode.txt /*_t* -adding-bib-options latex-suite.txt /*adding-bib-options* -alph latexhelp.txt /*alph* -altkey-mappings latex-suite.txt /*altkey-mappings* -arabic latexhelp.txt /*arabic* -array latexhelp.txt /*array* -article-class latexhelp.txt /*article-class* -auc-tex-mappings latex-suite.txt /*auc-tex-mappings* -automatic-package-detection latex-suite.txt /*automatic-package-detection* -bibtex latexhelp.txt /*bibtex* -bibtex-bindings latex-suite.txt /*bibtex-bindings* -book-class latexhelp.txt /*book-class* -c-support csupport.txt /*c-support* -center latexhelp.txt /*center* -changing-commands latex-suite.txt /*changing-commands* -changing-environments latex-suite.txt /*changing-environments* -cite-search-caching latex-suite.txt /*cite-search-caching* -compiler-dependency latex-suite.txt /*compiler-dependency* -compiler-ghc haskellmode.txt /*compiler-ghc* -compiler-output-customization latex-suite.txt /*compiler-output-customization* -compiler-rules latex-suite.txt /*compiler-rules* -compiling-multiple latex-suite.txt /*compiling-multiple* -completion-window-preferences latex-suite.txt /*completion-window-preferences* -csupport csupport.txt /*csupport* -csupport-c++ csupport.txt /*csupport-c++* -csupport-c++-method-impl csupport.txt /*csupport-c++-method-impl* -csupport-c++-normal-mode csupport.txt /*csupport-c++-normal-mode* -csupport-c++-visual-mode csupport.txt /*csupport-c++-visual-mode* -csupport-code-to-comm csupport.txt /*csupport-code-to-comm* -csupport-comm csupport.txt /*csupport-comm* -csupport-comm-aligned csupport.txt /*csupport-comm-aligned* -csupport-comm-c-cpp csupport.txt /*csupport-comm-c-cpp* -csupport-comm-date csupport.txt /*csupport-comm-date* -csupport-comm-frame csupport.txt /*csupport-comm-frame* -csupport-comm-keywords csupport.txt /*csupport-comm-keywords* -csupport-comm-realign csupport.txt /*csupport-comm-realign* -csupport-comm-to-code csupport.txt /*csupport-comm-to-code* -csupport-custom csupport.txt /*csupport-custom* -csupport-custom-glob-vars csupport.txt /*csupport-custom-glob-vars* -csupport-custom-root-menu csupport.txt /*csupport-custom-root-menu* -csupport-dictionary csupport.txt /*csupport-dictionary* -csupport-folding csupport.txt /*csupport-folding* -csupport-help csupport.txt /*csupport-help* -csupport-hotkeys csupport.txt /*csupport-hotkeys* -csupport-idioms csupport.txt /*csupport-idioms* -csupport-prep csupport.txt /*csupport-prep* -csupport-prep-if0 csupport.txt /*csupport-prep-if0* -csupport-prep-normal-mode csupport.txt /*csupport-prep-normal-mode* -csupport-prep-visual-mode csupport.txt /*csupport-prep-visual-mode* -csupport-proto csupport.txt /*csupport-proto* -csupport-release-notes csupport.txt /*csupport-release-notes* -csupport-run csupport.txt /*csupport-run* -csupport-run-buffer csupport.txt /*csupport-run-buffer* -csupport-run-cmdline-args csupport.txt /*csupport-run-cmdline-args* -csupport-run-codecheck csupport.txt /*csupport-run-codecheck* -csupport-run-hardcopy csupport.txt /*csupport-run-hardcopy* -csupport-run-indent csupport.txt /*csupport-run-indent* -csupport-run-make csupport.txt /*csupport-run-make* -csupport-run-make-args csupport.txt /*csupport-run-make-args* -csupport-run-output csupport.txt /*csupport-run-output* -csupport-run-splint csupport.txt /*csupport-run-splint* -csupport-run-templates csupport.txt /*csupport-run-templates* -csupport-run-xterm csupport.txt /*csupport-run-xterm* -csupport-snippets csupport.txt /*csupport-snippets* -csupport-stat csupport.txt /*csupport-stat* -csupport-stat-normal-mode csupport.txt /*csupport-stat-normal-mode* -csupport-stat-visual-mode csupport.txt /*csupport-stat-visual-mode* -csupport-system-wide csupport.txt /*csupport-system-wide* -csupport-taglist csupport.txt /*csupport-taglist* -csupport-templates csupport.txt /*csupport-templates* -csupport-templates-date csupport.txt /*csupport-templates-date* -csupport-templates-definition csupport.txt /*csupport-templates-definition* -csupport-templates-expansion csupport.txt /*csupport-templates-expansion* -csupport-templates-files csupport.txt /*csupport-templates-files* -csupport-templates-macros csupport.txt /*csupport-templates-macros* -csupport-templates-names csupport.txt /*csupport-templates-names* -csupport-troubleshooting csupport.txt /*csupport-troubleshooting* -csupport-usage-gvim csupport.txt /*csupport-usage-gvim* -csupport-usage-vim csupport.txt /*csupport-usage-vim* -csupport-windows csupport.txt /*csupport-windows* -csupport.txt csupport.txt /*csupport.txt* -custom-macros-menu latex-suite.txt /*custom-macros-menu* -custom-packages latex-suite.txt /*custom-packages* -customize-alt-key-maps latex-suite.txt /*customize-alt-key-maps* -customize-imap-maps latex-suite.txt /*customize-imap-maps* -customizing-compiling latex-suite.txt /*customizing-compiling* -customizing-folding latex-suite.txt /*customizing-folding* -customizing-latex-completion latex-suite.txt /*customizing-latex-completion* -customizing-latex-suite latex-suite.txt /*customizing-latex-suite* -customizing-macros latex-suite.txt /*customizing-macros* -customizing-menus latex-suite.txt /*customizing-menus* -customizing-packages latex-suite.txt /*customizing-packages* -customizing-place-holders latex-suite.txt /*customizing-place-holders* -customizing-smart-keys latex-suite.txt /*customizing-smart-keys* -customizing-viewing latex-suite.txt /*customizing-viewing* -customizing-what-to-fold latex-suite.txt /*customizing-what-to-fold* -default-folding latex-suite.txt /*default-folding* -description latexhelp.txt /*description* -diacritic-mappings latex-suite.txt /*diacritic-mappings* -displaymath latexhelp.txt /*displaymath* -draft latexhelp.txt /*draft* -editing-folding latex-suite.txt /*editing-folding* -empty latexhelp.txt /*empty* -enabling-searching latex-suite.txt /*enabling-searching* -enclosing-commands latex-suite.txt /*enclosing-commands* -enclosing-env-f5 latex-suite.txt /*enclosing-env-f5* -enclosing-env-threeletter latex-suite.txt /*enclosing-env-threeletter* -enclosing-environments latex-suite.txt /*enclosing-environments* -enumerate latexhelp.txt /*enumerate* -environment-mappings latex-suite.txt /*environment-mappings* -eqnarray latexhelp.txt /*eqnarray* -equation latexhelp.txt /*equation* -figure latexhelp.txt /*figure* -final latexhelp.txt /*final* -fleqn latexhelp.txt /*fleqn* -flushleft latexhelp.txt /*flushleft* -flushright latexhelp.txt /*flushright* -fold-setting-adding latex-suite.txt /*fold-setting-adding* -fold-setting-advanced latex-suite.txt /*fold-setting-advanced* -font-lowlevelcommands latexhelp.txt /*font-lowlevelcommands* -font-maps latex-suite.txt /*font-maps* -font-size latexhelp.txt /*font-size* -font-styles latexhelp.txt /*font-styles* -forward-searching latex-suite.txt /*forward-searching* -g:ghc haskellmode.txt /*g:ghc* -g:haddock_browser haskellmode.txt /*g:haddock_browser* -g:haddock_browser_callformat haskellmode.txt /*g:haddock_browser_callformat* -g:haddock_docdir haskellmode.txt /*g:haddock_docdir* -g:haddock_indexfiledir haskellmode.txt /*g:haddock_indexfiledir* -g:wget haskellmode.txt /*g:wget* -ghc haskellmode.txt /*ghc* -ghc-compiler haskellmode.txt /*ghc-compiler* -greek-letter-mappings latex-suite.txt /*greek-letter-mappings* -haddock haskellmode.txt /*haddock* -haskellmode haskellmode.txt /*haskellmode* -haskellmode-XO haskellmode.txt /*haskellmode-XO* -haskellmode-XU haskellmode.txt /*haskellmode-XU* -haskellmode-compiler haskellmode.txt /*haskellmode-compiler* -haskellmode-editing haskellmode.txt /*haskellmode-editing* -haskellmode-haddock haskellmode.txt /*haskellmode-haddock* -haskellmode-hpaste haskellmode.txt /*haskellmode-hpaste* -haskellmode-indexing haskellmode.txt /*haskellmode-indexing* -haskellmode-lookup haskellmode.txt /*haskellmode-lookup* -haskellmode-omni-completion haskellmode.txt /*haskellmode-omni-completion* -haskellmode-overview haskellmode.txt /*haskellmode-overview* -haskellmode-quickref haskellmode.txt /*haskellmode-quickref* -haskellmode-requirements haskellmode.txt /*haskellmode-requirements* -haskellmode-resources haskellmode.txt /*haskellmode-resources* -haskellmode-settings haskellmode.txt /*haskellmode-settings* -haskellmode-settings-fine haskellmode.txt /*haskellmode-settings-fine* -haskellmode-settings-main haskellmode.txt /*haskellmode-settings-main* -haskellmode-user-completion haskellmode.txt /*haskellmode-user-completion* -haskellmode.txt haskellmode.txt /*haskellmode.txt* -headings latexhelp.txt /*headings* -hpaste haskellmode.txt /*hpaste* -hyph- latexhelp.txt /*hyph-* -im_1 imaps.txt /*im_1* -imaps-usage imaps.txt /*imaps-usage* -imaps.txt imaps.txt /*imaps.txt* -imaps.txt-toc imaps.txt /*imaps.txt-toc* -inserting-commands latex-suite.txt /*inserting-commands* -inserting-env-f5 latex-suite.txt /*inserting-env-f5* -inserting-env-shift-f1 latex-suite.txt /*inserting-env-shift-f1* -inserting-env-threeletter latex-suite.txt /*inserting-env-threeletter* -inserting-environments latex-suite.txt /*inserting-environments* -inserting-packages latex-suite.txt /*inserting-packages* -inverse-searching latex-suite.txt /*inverse-searching* -itemize latexhelp.txt /*itemize* -landscape latexhelp.txt /*landscape* -latex latexhelp.txt /*latex* -latex-boxes latexhelp.txt /*latex-boxes* -latex-breaking latexhelp.txt /*latex-breaking* -latex-classes latexhelp.txt /*latex-classes* -latex-command-maps latex-suite.txt /*latex-command-maps* -latex-commands latexhelp.txt /*latex-commands* -latex-compiling latex-suite.txt /*latex-compiling* -latex-completion latex-suite.txt /*latex-completion* -latex-completion-cite latex-suite.txt /*latex-completion-cite* -latex-counters latexhelp.txt /*latex-counters* -latex-definitions latexhelp.txt /*latex-definitions* -latex-environments latexhelp.txt /*latex-environments* -latex-folding latex-suite.txt /*latex-folding* -latex-footnotes latexhelp.txt /*latex-footnotes* -latex-hor-space latexhelp.txt /*latex-hor-space* -latex-inputting latexhelp.txt /*latex-inputting* -latex-layout latexhelp.txt /*latex-layout* -latex-lengths latexhelp.txt /*latex-lengths* -latex-letters latexhelp.txt /*latex-letters* -latex-macros latex-suite.txt /*latex-macros* -latex-margin-notes latexhelp.txt /*latex-margin-notes* -latex-master-file latex-suite.txt /*latex-master-file* -latex-master-file-specification latex-suite.txt /*latex-master-file-specification* -latex-math latexhelp.txt /*latex-math* -latex-modes latexhelp.txt /*latex-modes* -latex-package-scanning latex-suite.txt /*latex-package-scanning* -latex-packages latex-suite.txt /*latex-packages* -latex-page-styles latexhelp.txt /*latex-page-styles* -latex-paragraphs latexhelp.txt /*latex-paragraphs* -latex-parameters latexhelp.txt /*latex-parameters* -latex-project latex-suite.txt /*latex-project* -latex-project-example latex-suite.txt /*latex-project-example* -latex-project-settings latex-suite.txt /*latex-project-settings* -latex-references latexhelp.txt /*latex-references* -latex-sectioning latexhelp.txt /*latex-sectioning* -latex-spaces-boxes latexhelp.txt /*latex-spaces-boxes* -latex-special latexhelp.txt /*latex-special* -latex-start-end latexhelp.txt /*latex-start-end* -latex-suite-commands latex-suite.txt /*latex-suite-commands* -latex-suite-commands-maps latex-suite.txt /*latex-suite-commands-maps* -latex-suite-credits latex-suite.txt /*latex-suite-credits* -latex-suite-maintainer latex-suite.txt /*latex-suite-maintainer* -latex-suite-maps latex-suite.txt /*latex-suite-maps* -latex-suite-quickstart.txt latex-suite-quickstart.txt /*latex-suite-quickstart.txt* -latex-suite-quickstart.txt-toc latex-suite-quickstart.txt /*latex-suite-quickstart.txt-toc* -latex-suite-templates latex-suite.txt /*latex-suite-templates* -latex-suite.txt latex-suite.txt /*latex-suite.txt* -latex-suite.txt-toc latex-suite.txt /*latex-suite.txt-toc* -latex-terminal latexhelp.txt /*latex-terminal* -latex-toc latexhelp.txt /*latex-toc* -latex-typefaces latexhelp.txt /*latex-typefaces* -latex-ver-space latexhelp.txt /*latex-ver-space* -latex-viewing latex-suite.txt /*latex-viewing* -latex-viewing-rules latex-suite.txt /*latex-viewing-rules* -latexhelp.txt latexhelp.txt /*latexhelp.txt* -leqno latexhelp.txt /*leqno* -letter-class latexhelp.txt /*letter-class* -list latexhelp.txt /*list* -lq_1 latex-suite-quickstart.txt /*lq_1* -lq_10 latex-suite-quickstart.txt /*lq_10* -lq_2 latex-suite-quickstart.txt /*lq_2* -lq_3 latex-suite-quickstart.txt /*lq_3* -lq_4 latex-suite-quickstart.txt /*lq_4* -lq_5 latex-suite-quickstart.txt /*lq_5* -lq_6 latex-suite-quickstart.txt /*lq_6* -lq_7 latex-suite-quickstart.txt /*lq_7* -lq_8 latex-suite-quickstart.txt /*lq_8* -lq_8_1 latex-suite-quickstart.txt /*lq_8_1* -lq_9 latex-suite-quickstart.txt /*lq_9* -lq_9_1 latex-suite-quickstart.txt /*lq_9_1* -lq_9_2 latex-suite-quickstart.txt /*lq_9_2* -lq_a_bc latex-suite-quickstart.txt /*lq_a_bc* -lq_a_bd latex-suite-quickstart.txt /*lq_a_bd* -lq_a_be latex-suite-quickstart.txt /*lq_a_be* -lq_a_bf latex-suite-quickstart.txt /*lq_a_bf* -lq_a_bg latex-suite-quickstart.txt /*lq_a_bg* -lq_a_bh latex-suite-quickstart.txt /*lq_a_bh* -lq_a_bi latex-suite-quickstart.txt /*lq_a_bi* -lq_a_bj latex-suite-quickstart.txt /*lq_a_bj* -lq_a_bk latex-suite-quickstart.txt /*lq_a_bk* -lq_a_bl latex-suite-quickstart.txt /*lq_a_bl* -lq_a_bm latex-suite-quickstart.txt /*lq_a_bm* -lq_a_bn latex-suite-quickstart.txt /*lq_a_bn* -lq_a_bo latex-suite-quickstart.txt /*lq_a_bo* -lq_u_1 latex-suite-quickstart.txt /*lq_u_1* -lq_u_2 latex-suite-quickstart.txt /*lq_u_2* -lq_u_3 latex-suite-quickstart.txt /*lq_u_3* -lq_u_4 latex-suite-quickstart.txt /*lq_u_4* -lq_u_5 latex-suite-quickstart.txt /*lq_u_5* -lq_u_6 latex-suite-quickstart.txt /*lq_u_6* -lq_u_7 latex-suite-quickstart.txt /*lq_u_7* -lq_u_8 latex-suite-quickstart.txt /*lq_u_8* -lq_u_9 latex-suite-quickstart.txt /*lq_u_9* -lr-mode latexhelp.txt /*lr-mode* -ls-completion-custom latex-suite.txt /*ls-completion-custom* -ls-completion-ref latex-suite.txt /*ls-completion-ref* -ls-completion-usage latex-suite.txt /*ls-completion-usage* -ls-filename-completion latex-suite.txt /*ls-filename-completion* -ls-general-purpose-settings latex-suite.txt /*ls-general-purpose-settings* -ls-imap-f7 latex-suite.txt /*ls-imap-f7* -ls-imap-s-f7 latex-suite.txt /*ls-imap-s-f7* -ls-imaps-syntax latex-suite.txt /*ls-imaps-syntax* -ls-new-macros latex-suite.txt /*ls-new-macros* -ls-set-grepprg latex-suite.txt /*ls-set-grepprg* -ls-vmap-f7 latex-suite.txt /*ls-vmap-f7* -ls_1 latex-suite.txt /*ls_1* -ls_10 latex-suite.txt /*ls_10* -ls_10_1 latex-suite.txt /*ls_10_1* -ls_10_1_1 latex-suite.txt /*ls_10_1_1* -ls_10_1_2 latex-suite.txt /*ls_10_1_2* -ls_10_2 latex-suite.txt /*ls_10_2* -ls_10_2_1 latex-suite.txt /*ls_10_2_1* -ls_10_2_10 latex-suite.txt /*ls_10_2_10* -ls_10_2_11 latex-suite.txt /*ls_10_2_11* -ls_10_2_12 latex-suite.txt /*ls_10_2_12* -ls_10_2_13 latex-suite.txt /*ls_10_2_13* -ls_10_2_14 latex-suite.txt /*ls_10_2_14* -ls_10_2_15 latex-suite.txt /*ls_10_2_15* -ls_10_2_16 latex-suite.txt /*ls_10_2_16* -ls_10_2_2 latex-suite.txt /*ls_10_2_2* -ls_10_2_3 latex-suite.txt /*ls_10_2_3* -ls_10_2_4 latex-suite.txt /*ls_10_2_4* -ls_10_2_5 latex-suite.txt /*ls_10_2_5* -ls_10_2_6 latex-suite.txt /*ls_10_2_6* -ls_10_2_7 latex-suite.txt /*ls_10_2_7* -ls_10_2_8 latex-suite.txt /*ls_10_2_8* -ls_10_2_9 latex-suite.txt /*ls_10_2_9* -ls_11 latex-suite.txt /*ls_11* -ls_11_1 latex-suite.txt /*ls_11_1* -ls_11_10 latex-suite.txt /*ls_11_10* -ls_11_10_1 latex-suite.txt /*ls_11_10_1* -ls_11_1_1 latex-suite.txt /*ls_11_1_1* -ls_11_1_2 latex-suite.txt /*ls_11_1_2* -ls_11_2 latex-suite.txt /*ls_11_2* -ls_11_2_1 latex-suite.txt /*ls_11_2_1* -ls_11_2_2 latex-suite.txt /*ls_11_2_2* -ls_11_2_3 latex-suite.txt /*ls_11_2_3* -ls_11_2_4 latex-suite.txt /*ls_11_2_4* -ls_11_3 latex-suite.txt /*ls_11_3* -ls_11_3_1 latex-suite.txt /*ls_11_3_1* -ls_11_3_10 latex-suite.txt /*ls_11_3_10* -ls_11_3_11 latex-suite.txt /*ls_11_3_11* -ls_11_3_12 latex-suite.txt /*ls_11_3_12* -ls_11_3_13 latex-suite.txt /*ls_11_3_13* -ls_11_3_2 latex-suite.txt /*ls_11_3_2* -ls_11_3_3 latex-suite.txt /*ls_11_3_3* -ls_11_3_4 latex-suite.txt /*ls_11_3_4* -ls_11_3_5 latex-suite.txt /*ls_11_3_5* -ls_11_3_6 latex-suite.txt /*ls_11_3_6* -ls_11_3_7 latex-suite.txt /*ls_11_3_7* -ls_11_3_8 latex-suite.txt /*ls_11_3_8* -ls_11_3_9 latex-suite.txt /*ls_11_3_9* -ls_11_4 latex-suite.txt /*ls_11_4* -ls_11_4_1 latex-suite.txt /*ls_11_4_1* -ls_11_4_2 latex-suite.txt /*ls_11_4_2* -ls_11_5 latex-suite.txt /*ls_11_5* -ls_11_5_1 latex-suite.txt /*ls_11_5_1* -ls_11_5_2 latex-suite.txt /*ls_11_5_2* -ls_11_5_3 latex-suite.txt /*ls_11_5_3* -ls_11_5_4 latex-suite.txt /*ls_11_5_4* -ls_11_5_5 latex-suite.txt /*ls_11_5_5* -ls_11_6 latex-suite.txt /*ls_11_6* -ls_11_6_1 latex-suite.txt /*ls_11_6_1* -ls_11_6_2 latex-suite.txt /*ls_11_6_2* -ls_11_6_3 latex-suite.txt /*ls_11_6_3* -ls_11_6_4 latex-suite.txt /*ls_11_6_4* -ls_11_6_5 latex-suite.txt /*ls_11_6_5* -ls_11_6_6 latex-suite.txt /*ls_11_6_6* -ls_11_6_7 latex-suite.txt /*ls_11_6_7* -ls_11_6_8 latex-suite.txt /*ls_11_6_8* -ls_11_7 latex-suite.txt /*ls_11_7* -ls_11_7_1 latex-suite.txt /*ls_11_7_1* -ls_11_7_2 latex-suite.txt /*ls_11_7_2* -ls_11_8 latex-suite.txt /*ls_11_8* -ls_11_8_1 latex-suite.txt /*ls_11_8_1* -ls_11_8_2 latex-suite.txt /*ls_11_8_2* -ls_11_8_3 latex-suite.txt /*ls_11_8_3* -ls_11_8_4 latex-suite.txt /*ls_11_8_4* -ls_11_8_5 latex-suite.txt /*ls_11_8_5* -ls_11_8_6 latex-suite.txt /*ls_11_8_6* -ls_11_8_7 latex-suite.txt /*ls_11_8_7* -ls_11_9 latex-suite.txt /*ls_11_9* -ls_11_9_1 latex-suite.txt /*ls_11_9_1* -ls_11_9_2 latex-suite.txt /*ls_11_9_2* -ls_12 latex-suite.txt /*ls_12* -ls_2 latex-suite.txt /*ls_2* -ls_3 latex-suite.txt /*ls_3* -ls_3_1 latex-suite.txt /*ls_3_1* -ls_3_10 latex-suite.txt /*ls_3_10* -ls_3_10_1 latex-suite.txt /*ls_3_10_1* -ls_3_10_2 latex-suite.txt /*ls_3_10_2* -ls_3_10_3 latex-suite.txt /*ls_3_10_3* -ls_3_10_4 latex-suite.txt /*ls_3_10_4* -ls_3_11 latex-suite.txt /*ls_3_11* -ls_3_12 latex-suite.txt /*ls_3_12* -ls_3_12_1 latex-suite.txt /*ls_3_12_1* -ls_3_12_2 latex-suite.txt /*ls_3_12_2* -ls_3_1_1 latex-suite.txt /*ls_3_1_1* -ls_3_1_1_1 latex-suite.txt /*ls_3_1_1_1* -ls_3_1_1_2 latex-suite.txt /*ls_3_1_1_2* -ls_3_1_1_3 latex-suite.txt /*ls_3_1_1_3* -ls_3_1_2 latex-suite.txt /*ls_3_1_2* -ls_3_1_2_1 latex-suite.txt /*ls_3_1_2_1* -ls_3_1_2_2 latex-suite.txt /*ls_3_1_2_2* -ls_3_1_3 latex-suite.txt /*ls_3_1_3* -ls_3_2 latex-suite.txt /*ls_3_2* -ls_3_2_1 latex-suite.txt /*ls_3_2_1* -ls_3_2_2 latex-suite.txt /*ls_3_2_2* -ls_3_2_3 latex-suite.txt /*ls_3_2_3* -ls_3_3 latex-suite.txt /*ls_3_3* -ls_3_4 latex-suite.txt /*ls_3_4* -ls_3_5 latex-suite.txt /*ls_3_5* -ls_3_6 latex-suite.txt /*ls_3_6* -ls_3_7 latex-suite.txt /*ls_3_7* -ls_3_8 latex-suite.txt /*ls_3_8* -ls_3_8_1 latex-suite.txt /*ls_3_8_1* -ls_3_9 latex-suite.txt /*ls_3_9* -ls_4 latex-suite.txt /*ls_4* -ls_4_1 latex-suite.txt /*ls_4_1* -ls_4_2 latex-suite.txt /*ls_4_2* -ls_4_3 latex-suite.txt /*ls_4_3* -ls_4_3_1 latex-suite.txt /*ls_4_3_1* -ls_4_4 latex-suite.txt /*ls_4_4* -ls_4_4_1 latex-suite.txt /*ls_4_4_1* -ls_4_4_2 latex-suite.txt /*ls_4_4_2* -ls_5 latex-suite.txt /*ls_5* -ls_5_1 latex-suite.txt /*ls_5_1* -ls_5_2 latex-suite.txt /*ls_5_2* -ls_5_3 latex-suite.txt /*ls_5_3* -ls_5_3_1 latex-suite.txt /*ls_5_3_1* -ls_5_4 latex-suite.txt /*ls_5_4* -ls_5_5 latex-suite.txt /*ls_5_5* -ls_6 latex-suite.txt /*ls_6* -ls_6_1 latex-suite.txt /*ls_6_1* -ls_6_2 latex-suite.txt /*ls_6_2* -ls_6_3 latex-suite.txt /*ls_6_3* -ls_6_4 latex-suite.txt /*ls_6_4* -ls_6_5 latex-suite.txt /*ls_6_5* -ls_7 latex-suite.txt /*ls_7* -ls_7_1 latex-suite.txt /*ls_7_1* -ls_7_2 latex-suite.txt /*ls_7_2* -ls_7_3 latex-suite.txt /*ls_7_3* -ls_8 latex-suite.txt /*ls_8* -ls_8_1 latex-suite.txt /*ls_8_1* -ls_8_2 latex-suite.txt /*ls_8_2* -ls_8_2_1 latex-suite.txt /*ls_8_2_1* -ls_8_2_2 latex-suite.txt /*ls_8_2_2* -ls_8_2_3 latex-suite.txt /*ls_8_2_3* -ls_8_2_4 latex-suite.txt /*ls_8_2_4* -ls_8_2_5 latex-suite.txt /*ls_8_2_5* -ls_8_3 latex-suite.txt /*ls_8_3* -ls_9 latex-suite.txt /*ls_9* -ls_9_1 latex-suite.txt /*ls_9_1* -ls_9_2 latex-suite.txt /*ls_9_2* -ls_a_bA latex-suite.txt /*ls_a_bA* -ls_a_bB latex-suite.txt /*ls_a_bB* -ls_a_bC latex-suite.txt /*ls_a_bC* -ls_a_bD latex-suite.txt /*ls_a_bD* -ls_a_bE latex-suite.txt /*ls_a_bE* -ls_a_bF latex-suite.txt /*ls_a_bF* -ls_a_bG latex-suite.txt /*ls_a_bG* -ls_a_bH latex-suite.txt /*ls_a_bH* -ls_a_bI latex-suite.txt /*ls_a_bI* -ls_a_bJ latex-suite.txt /*ls_a_bJ* -ls_a_bK latex-suite.txt /*ls_a_bK* -ls_a_bL latex-suite.txt /*ls_a_bL* -ls_a_bM latex-suite.txt /*ls_a_bM* -ls_a_bN latex-suite.txt /*ls_a_bN* -ls_a_bO latex-suite.txt /*ls_a_bO* -ls_a_bP latex-suite.txt /*ls_a_bP* -ls_a_bQ latex-suite.txt /*ls_a_bQ* -ls_a_bR latex-suite.txt /*ls_a_bR* -ls_a_bS latex-suite.txt /*ls_a_bS* -ls_a_bT latex-suite.txt /*ls_a_bT* -ls_a_bU latex-suite.txt /*ls_a_bU* -ls_a_bV latex-suite.txt /*ls_a_bV* -ls_a_bW latex-suite.txt /*ls_a_bW* -ls_a_bX latex-suite.txt /*ls_a_bX* -ls_a_bY latex-suite.txt /*ls_a_bY* -ls_a_bZ latex-suite.txt /*ls_a_bZ* -ls_a_bc latex-suite.txt /*ls_a_bc* -ls_a_bd latex-suite.txt /*ls_a_bd* -ls_a_be latex-suite.txt /*ls_a_be* -ls_a_bf latex-suite.txt /*ls_a_bf* -ls_a_bg latex-suite.txt /*ls_a_bg* -ls_a_bh latex-suite.txt /*ls_a_bh* -ls_a_bi latex-suite.txt /*ls_a_bi* -ls_a_bj latex-suite.txt /*ls_a_bj* -ls_a_bk latex-suite.txt /*ls_a_bk* -ls_a_bl latex-suite.txt /*ls_a_bl* -ls_a_bm latex-suite.txt /*ls_a_bm* -ls_a_bn latex-suite.txt /*ls_a_bn* -ls_a_bo latex-suite.txt /*ls_a_bo* -ls_a_bp latex-suite.txt /*ls_a_bp* -ls_a_bq latex-suite.txt /*ls_a_bq* -ls_a_br latex-suite.txt /*ls_a_br* -ls_a_bs latex-suite.txt /*ls_a_bs* -ls_a_bt latex-suite.txt /*ls_a_bt* -ls_a_bu latex-suite.txt /*ls_a_bu* -ls_a_bv latex-suite.txt /*ls_a_bv* -ls_a_bw latex-suite.txt /*ls_a_bw* -ls_a_bx latex-suite.txt /*ls_a_bx* -ls_a_by latex-suite.txt /*ls_a_by* -ls_a_bz latex-suite.txt /*ls_a_bz* -ls_a_cA latex-suite.txt /*ls_a_cA* -ls_a_cB latex-suite.txt /*ls_a_cB* -ls_a_cC latex-suite.txt /*ls_a_cC* -ls_a_cD latex-suite.txt /*ls_a_cD* -ls_a_cE latex-suite.txt /*ls_a_cE* -ls_a_cF latex-suite.txt /*ls_a_cF* -ls_a_cG latex-suite.txt /*ls_a_cG* -ls_a_cH latex-suite.txt /*ls_a_cH* -ls_a_cI latex-suite.txt /*ls_a_cI* -ls_a_cJ latex-suite.txt /*ls_a_cJ* -ls_a_cK latex-suite.txt /*ls_a_cK* -ls_a_cL latex-suite.txt /*ls_a_cL* -ls_a_cM latex-suite.txt /*ls_a_cM* -ls_a_cN latex-suite.txt /*ls_a_cN* -ls_a_cO latex-suite.txt /*ls_a_cO* -ls_a_cP latex-suite.txt /*ls_a_cP* -ls_a_cQ latex-suite.txt /*ls_a_cQ* -ls_a_cR latex-suite.txt /*ls_a_cR* -ls_a_cS latex-suite.txt /*ls_a_cS* -ls_a_cT latex-suite.txt /*ls_a_cT* -ls_a_cU latex-suite.txt /*ls_a_cU* -ls_a_cV latex-suite.txt /*ls_a_cV* -ls_a_cW latex-suite.txt /*ls_a_cW* -ls_a_cX latex-suite.txt /*ls_a_cX* -ls_a_cY latex-suite.txt /*ls_a_cY* -ls_a_cZ latex-suite.txt /*ls_a_cZ* -ls_a_ca latex-suite.txt /*ls_a_ca* -ls_a_cb latex-suite.txt /*ls_a_cb* -ls_a_cc latex-suite.txt /*ls_a_cc* -ls_a_cd latex-suite.txt /*ls_a_cd* -ls_a_ce latex-suite.txt /*ls_a_ce* -ls_a_cf latex-suite.txt /*ls_a_cf* -ls_a_cg latex-suite.txt /*ls_a_cg* -ls_a_ch latex-suite.txt /*ls_a_ch* -ls_a_ci latex-suite.txt /*ls_a_ci* -ls_a_cj latex-suite.txt /*ls_a_cj* -ls_a_ck latex-suite.txt /*ls_a_ck* -ls_a_cl latex-suite.txt /*ls_a_cl* -ls_a_cm latex-suite.txt /*ls_a_cm* -ls_a_cn latex-suite.txt /*ls_a_cn* -ls_a_co latex-suite.txt /*ls_a_co* -ls_a_cp latex-suite.txt /*ls_a_cp* -ls_a_cq latex-suite.txt /*ls_a_cq* -ls_a_cr latex-suite.txt /*ls_a_cr* -ls_a_cs latex-suite.txt /*ls_a_cs* -ls_a_ct latex-suite.txt /*ls_a_ct* -ls_a_cu latex-suite.txt /*ls_a_cu* -ls_a_cv latex-suite.txt /*ls_a_cv* -ls_a_cw latex-suite.txt /*ls_a_cw* -ls_a_cx latex-suite.txt /*ls_a_cx* -ls_a_cy latex-suite.txt /*ls_a_cy* -ls_a_cz latex-suite.txt /*ls_a_cz* -ls_a_dA latex-suite.txt /*ls_a_dA* -ls_a_dB latex-suite.txt /*ls_a_dB* -ls_a_dC latex-suite.txt /*ls_a_dC* -ls_a_dD latex-suite.txt /*ls_a_dD* -ls_a_dE latex-suite.txt /*ls_a_dE* -ls_a_dF latex-suite.txt /*ls_a_dF* -ls_a_dG latex-suite.txt /*ls_a_dG* -ls_a_dH latex-suite.txt /*ls_a_dH* -ls_a_dI latex-suite.txt /*ls_a_dI* -ls_a_dJ latex-suite.txt /*ls_a_dJ* -ls_a_dK latex-suite.txt /*ls_a_dK* -ls_a_dL latex-suite.txt /*ls_a_dL* -ls_a_dM latex-suite.txt /*ls_a_dM* -ls_a_dN latex-suite.txt /*ls_a_dN* -ls_a_dO latex-suite.txt /*ls_a_dO* -ls_a_dP latex-suite.txt /*ls_a_dP* -ls_a_dQ latex-suite.txt /*ls_a_dQ* -ls_a_dR latex-suite.txt /*ls_a_dR* -ls_a_dS latex-suite.txt /*ls_a_dS* -ls_a_dT latex-suite.txt /*ls_a_dT* -ls_a_dU latex-suite.txt /*ls_a_dU* -ls_a_dV latex-suite.txt /*ls_a_dV* -ls_a_dW latex-suite.txt /*ls_a_dW* -ls_a_dX latex-suite.txt /*ls_a_dX* -ls_a_dY latex-suite.txt /*ls_a_dY* -ls_a_dZ latex-suite.txt /*ls_a_dZ* -ls_a_da latex-suite.txt /*ls_a_da* -ls_a_db latex-suite.txt /*ls_a_db* -ls_a_dc latex-suite.txt /*ls_a_dc* -ls_a_dd latex-suite.txt /*ls_a_dd* -ls_a_de latex-suite.txt /*ls_a_de* -ls_a_df latex-suite.txt /*ls_a_df* -ls_a_dg latex-suite.txt /*ls_a_dg* -ls_a_dh latex-suite.txt /*ls_a_dh* -ls_a_di latex-suite.txt /*ls_a_di* -ls_a_dj latex-suite.txt /*ls_a_dj* -ls_a_dk latex-suite.txt /*ls_a_dk* -ls_a_dl latex-suite.txt /*ls_a_dl* -ls_a_dm latex-suite.txt /*ls_a_dm* -ls_a_dn latex-suite.txt /*ls_a_dn* -ls_a_do latex-suite.txt /*ls_a_do* -ls_a_dp latex-suite.txt /*ls_a_dp* -ls_a_dq latex-suite.txt /*ls_a_dq* -ls_a_dr latex-suite.txt /*ls_a_dr* -ls_a_ds latex-suite.txt /*ls_a_ds* -ls_a_dt latex-suite.txt /*ls_a_dt* -ls_a_du latex-suite.txt /*ls_a_du* -ls_a_dv latex-suite.txt /*ls_a_dv* -ls_a_dw latex-suite.txt /*ls_a_dw* -ls_a_dx latex-suite.txt /*ls_a_dx* -ls_a_dy latex-suite.txt /*ls_a_dy* -ls_a_dz latex-suite.txt /*ls_a_dz* -ls_a_eA latex-suite.txt /*ls_a_eA* -ls_a_eB latex-suite.txt /*ls_a_eB* -ls_a_eC latex-suite.txt /*ls_a_eC* -ls_a_eD latex-suite.txt /*ls_a_eD* -ls_a_eE latex-suite.txt /*ls_a_eE* -ls_a_eF latex-suite.txt /*ls_a_eF* -ls_a_eG latex-suite.txt /*ls_a_eG* -ls_a_ea latex-suite.txt /*ls_a_ea* -ls_a_eb latex-suite.txt /*ls_a_eb* -ls_a_ec latex-suite.txt /*ls_a_ec* -ls_a_ed latex-suite.txt /*ls_a_ed* -ls_a_ee latex-suite.txt /*ls_a_ee* -ls_a_ef latex-suite.txt /*ls_a_ef* -ls_a_eg latex-suite.txt /*ls_a_eg* -ls_a_eh latex-suite.txt /*ls_a_eh* -ls_a_ei latex-suite.txt /*ls_a_ei* -ls_a_ej latex-suite.txt /*ls_a_ej* -ls_a_ek latex-suite.txt /*ls_a_ek* -ls_a_el latex-suite.txt /*ls_a_el* -ls_a_em latex-suite.txt /*ls_a_em* -ls_a_en latex-suite.txt /*ls_a_en* -ls_a_eo latex-suite.txt /*ls_a_eo* -ls_a_ep latex-suite.txt /*ls_a_ep* -ls_a_eq latex-suite.txt /*ls_a_eq* -ls_a_er latex-suite.txt /*ls_a_er* -ls_a_es latex-suite.txt /*ls_a_es* -ls_a_et latex-suite.txt /*ls_a_et* -ls_a_eu latex-suite.txt /*ls_a_eu* -ls_a_ev latex-suite.txt /*ls_a_ev* -ls_a_ew latex-suite.txt /*ls_a_ew* -ls_a_ex latex-suite.txt /*ls_a_ex* -ls_a_ey latex-suite.txt /*ls_a_ey* -ls_a_ez latex-suite.txt /*ls_a_ez* -ls_u_1 latex-suite.txt /*ls_u_1* -ls_u_2 latex-suite.txt /*ls_u_2* -ls_u_3 latex-suite.txt /*ls_u_3* -ls_u_4 latex-suite.txt /*ls_u_4* -lsq-compiling latex-suite-quickstart.txt /*lsq-compiling* -lsq-conclusions latex-suite-quickstart.txt /*lsq-conclusions* -lsq-debugging latex-suite-quickstart.txt /*lsq-debugging* -lsq-folding latex-suite-quickstart.txt /*lsq-folding* -lsq-insert-environment latex-suite-quickstart.txt /*lsq-insert-environment* -lsq-inserting-reference latex-suite-quickstart.txt /*lsq-inserting-reference* -lsq-inserting-template latex-suite-quickstart.txt /*lsq-inserting-template* -lsq-keyboard-shortcuts latex-suite-quickstart.txt /*lsq-keyboard-shortcuts* -lsq-lsq-inserting-package latex-suite-quickstart.txt /*lsq-lsq-inserting-package* -lsq-quick-forward-searching latex-suite-quickstart.txt /*lsq-quick-forward-searching* -lsq-quick-inverse-searching latex-suite-quickstart.txt /*lsq-quick-inverse-searching* -lsq-using-tutorial latex-suite-quickstart.txt /*lsq-using-tutorial* -lsq-viewing-dvi latex-suite-quickstart.txt /*lsq-viewing-dvi* -macro-enabling latex-suite.txt /*macro-enabling* -math, latexhelp.txt /*math,* -math-misc latexhelp.txt /*math-misc* -math-mode latexhelp.txt /*math-mode* -math-spacing latexhelp.txt /*math-spacing* -math-symbols latexhelp.txt /*math-symbols* -math: latexhelp.txt /*math:* -math; latexhelp.txt /*math;* -matn! latexhelp.txt /*matn!* -minipage latexhelp.txt /*minipage* -notitlepage latexhelp.txt /*notitlepage* -onecolumn latexhelp.txt /*onecolumn* -oneside latexhelp.txt /*oneside* -openany latexhelp.txt /*openany* -openbib latexhelp.txt /*openbib* -openright latexhelp.txt /*openright* -otl2html vo_readme.txt.gz /*otl2html* -overriding-macros latex-suite.txt /*overriding-macros* -package-actions latex-suite.txt /*package-actions* -paragraph-mode latexhelp.txt /*paragraph-mode* -part-compiling latex-suite.txt /*part-compiling* -pausing-imaps latex-suite.txt /*pausing-imaps* -picture latexhelp.txt /*picture* -picture-makebox latexhelp.txt /*picture-makebox* -place-holder latex-suite.txt /*place-holder* -place-holders latex-suite.txt /*place-holders* -plain latexhelp.txt /*plain* -pre-lengths latexhelp.txt /*pre-lengths* -ps_color.txt ps_color.txt /*ps_color.txt* -ps_colour ps_color.txt /*ps_colour* -psc ps_color.txt /*psc* -psc-about-background ps_color.txt /*psc-about-background* -psc-change-background ps_color.txt /*psc-change-background* -psc-contents ps_color.txt /*psc-contents* -psc-cterm ps_color.txt /*psc-cterm* -psc-cterm-color-table ps_color.txt /*psc-cterm-color-table* -psc-cterm-incompatible ps_color.txt /*psc-cterm-incompatible* -psc-cterm-nt ps_color.txt /*psc-cterm-nt* -psc-cterm-others ps_color.txt /*psc-cterm-others* -psc-cterm-xterm ps_color.txt /*psc-cterm-xterm* -psc-faq ps_color.txt /*psc-faq* -psc-faq-ffothers ps_color.txt /*psc-faq-ffothers* -psc-features ps_color.txt /*psc-features* -psc-options ps_color.txt /*psc-options* -psc-overview ps_color.txt /*psc-overview* -psc-release-notes ps_color.txt /*psc-release-notes* -psc-tips ps_color.txt /*psc-tips* -psc-todo ps_color.txt /*psc-todo* -psc-usage ps_color.txt /*psc-usage* -psc_cterm_style ps_color.txt /*psc_cterm_style* -psc_fontface ps_color.txt /*psc_fontface* -psc_inversed_todo ps_color.txt /*psc_inversed_todo* -psc_statement_different_from_type ps_color.txt /*psc_statement_different_from_type* -psc_style ps_color.txt /*psc_style* -psc_use_default_for_cterm ps_color.txt /*psc_use_default_for_cterm* -pscolor ps_color.txt /*pscolor* -quotation latexhelp.txt /*quotation* -quote-l latexhelp.txt /*quote-l* -recommended-settings latex-suite.txt /*recommended-settings* -remapping-latex-suite-keys latex-suite.txt /*remapping-latex-suite-keys* -report-class latexhelp.txt /*report-class* -roman latexhelp.txt /*roman* -rqno latexhelp.txt /*rqno* -section-mappings latex-suite.txt /*section-mappings* -slides-class latexhelp.txt /*slides-class* -smart-backspace latex-suite.txt /*smart-backspace* -smart-keys latex-suite.txt /*smart-keys* -sub-sup latexhelp.txt /*sub-sup* -subscripts latexhelp.txt /*subscripts* -superscripts latexhelp.txt /*superscripts* -supporting-packages latex-suite.txt /*supporting-packages* -tab' latexhelp.txt /*tab'* -tab+ latexhelp.txt /*tab+* -tab- latexhelp.txt /*tab-* -tab< latexhelp.txt /*tab<* -tab= latexhelp.txt /*tab=* -tab> latexhelp.txt /*tab>* -tab` latexhelp.txt /*tab`* -taba latexhelp.txt /*taba* -tabbing latexhelp.txt /*tabbing* -tabular latexhelp.txt /*tabular* -taglist-commands taglist.txt /*taglist-commands* -taglist-debug taglist.txt /*taglist-debug* -taglist-extend taglist.txt /*taglist-extend* -taglist-faq taglist.txt /*taglist-faq* -taglist-functions taglist.txt /*taglist-functions* -taglist-install taglist.txt /*taglist-install* -taglist-internet taglist.txt /*taglist-internet* -taglist-intro taglist.txt /*taglist-intro* -taglist-keys taglist.txt /*taglist-keys* -taglist-license taglist.txt /*taglist-license* -taglist-menu taglist.txt /*taglist-menu* -taglist-options taglist.txt /*taglist-options* -taglist-requirements taglist.txt /*taglist-requirements* -taglist-session taglist.txt /*taglist-session* -taglist-todo taglist.txt /*taglist-todo* -taglist-using taglist.txt /*taglist-using* -taglist.txt taglist.txt /*taglist.txt* -theorem latexhelp.txt /*theorem* -titlepage latexhelp.txt /*titlepage* -twocolumn latexhelp.txt /*twocolumn* -twoside latexhelp.txt /*twoside* -verbatim latexhelp.txt /*verbatim* -verse latexhelp.txt /*verse* -vimoutliner vo_readme.txt.gz /*vimoutliner* -vo vo_readme.txt.gz /*vo* -vo-activities vo_readme.txt.gz /*vo-activities* -vo-advanced vo_readme.txt.gz /*vo-advanced* -vo-cautions vo_readme.txt.gz /*vo-cautions* -vo-checkbox vo_readme.txt.gz /*vo-checkbox* -vo-color vo_readme.txt.gz /*vo-color* -vo-command vo_readme.txt.gz /*vo-command* -vo-debian vo_readme.txt.gz /*vo-debian* -vo-executable-lines vo_readme.txt.gz /*vo-executable-lines* -vo-hoisting vo_readme.txt.gz /*vo-hoisting* -vo-install vo_readme.txt.gz /*vo-install* -vo-license vo_readme.txt.gz /*vo-license* -vo-maketags vo_readme.txt.gz /*vo-maketags* -vo-menu vo_readme.txt.gz /*vo-menu* -vo-objects vo_readme.txt.gz /*vo-objects* -vo-other-files vo_readme.txt.gz /*vo-other-files* -vo-other-info vo_readme.txt.gz /*vo-other-info* -vo-philosophy vo_readme.txt.gz /*vo-philosophy* -vo-plugins vo_readme.txt.gz /*vo-plugins* -vo-post-processors vo_readme.txt.gz /*vo-post-processors* -vo-running vo_readme.txt.gz /*vo-running* -vo-scripts vo_readme.txt.gz /*vo-scripts* -vo-testing vo_readme.txt.gz /*vo-testing* -vo-troubleshooting vo_readme.txt.gz /*vo-troubleshooting* -vo-version vo_readme.txt.gz /*vo-version* -vo_readme.txt vo_readme.txt.gz /*vo_readme.txt* -why-IMAP latex-suite.txt /*why-IMAP* diff --git a/.vim/filetype.vim b/.vim/filetype.vim deleted file mode 100644 index e5a223d..0000000 --- a/.vim/filetype.vim +++ /dev/null @@ -1,4 +0,0 @@ -" RELAX NG Compact Syntax -augroup filetypedetect - au! BufRead,BufNewFile *.rnc setfiletype rnc -augroup END diff --git a/.vim/ftdetect/beluga.vim b/.vim/ftdetect/beluga.vim deleted file mode 100644 index 0a7ed67..0000000 --- a/.vim/ftdetect/beluga.vim +++ /dev/null @@ -1 +0,0 @@ -au BufRead,BufNewFile *.bel set filetype=beluga diff --git a/.vim/ftplugin/beluga.vim b/.vim/ftplugin/beluga.vim deleted file mode 100644 index b4c3e84..0000000 --- a/.vim/ftplugin/beluga.vim +++ /dev/null @@ -1 +0,0 @@ -map <LocalLeader>s :syn sync fromstart<CR>:se fdm=manual<CR>:se fdm=indent<CR> diff --git a/.vim/ftplugin/bib_latexSuite.vim b/.vim/ftplugin/bib_latexSuite.vim deleted file mode 100644 index 6b803af..0000000 --- a/.vim/ftplugin/bib_latexSuite.vim +++ /dev/null @@ -1,16 +0,0 @@ -" File: bib_latexSuite.vim -" Author: Srinath Avadhanula -" License: Vim Charityware License -" Description: -" This file sources the bibtex.vim file distributed as part of latex-suite. -" That file sets up 3 maps BBB, BAS, and BBA which are easy wasy to type in -" bibliographic entries. -" -" CVS: $Id: bib_latexSuite.vim 997 2006-03-20 09:45:45Z srinathava $ - -" source main.vim because we need a few functions from it. -runtime ftplugin/latex-suite/main.vim -" Disable smart-quotes because we need to enter real quotes in bib files. -runtime ftplugin/latex-suite/bibtex.vim - -" vim:fdm=marker:ff=unix:noet:ts=4:sw=4:nowrap diff --git a/.vim/ftplugin/c.vim b/.vim/ftplugin/c.vim deleted file mode 100644 index ff5a637..0000000 --- a/.vim/ftplugin/c.vim +++ /dev/null @@ -1,294 +0,0 @@ -" Vim filetype plugin file -" -" Language : C / C++ -" Plugin : c.vim (version 5.0) -" Maintainer : Fritz Mehner <mehner@fh-swf.de> -" Revision : $Id: c.vim,v 1.18 2007/11/20 18:12:02 mehner Exp $ -" -" This will enable keyword completion for C and C++ -" using Vim's dictionary feature |i_CTRL-X_CTRL-K|. -" ----------------------------------------------------------------- -" -" Only do this when not done yet for this buffer -" -if exists("b:did_C_ftplugin") - finish -endif -let b:did_C_ftplugin = 1 -" -" ---------- C/C++ dictionary ----------------------------------- -" -if exists("g:C_Dictionary_File") - silent! exec 'setlocal dictionary+='.g:C_Dictionary_File -endif -" -" ---------- F-key mappings ------------------------------------ -" -" Alt-F9 write buffer and compile -" F9 compile and link -" Ctrl-F9 run executable -" Shift-F9 command line arguments -" - map <buffer> <silent> <A-F9> <C-C>:call C_Compile()<CR>:redraw<CR>:call C_HlMessage()<CR> -imap <buffer> <silent> <A-F9> <C-C><C-C>:call C_Compile()<CR>:redraw<CR>:call C_HlMessage()<CR> -" - map <buffer> <silent> <F9> <C-C>:call C_Link()<CR>:redraw<CR>:call C_HlMessage()<CR> -imap <buffer> <silent> <F9> <C-C><C-C>:call C_Link()<CR>:redraw<CR>:call C_HlMessage()<CR> -" -" <C-C> seems to be essential here: - map <buffer> <silent> <C-F9> <C-C>:call C_Run()<CR> -imap <buffer> <silent> <C-F9> <C-C><C-C>:call C_Run()<CR> -" - map <buffer> <silent> <S-F9> <C-C>:call C_Arguments()<CR> -imap <buffer> <silent> <S-F9> <C-C><C-C>:call C_Arguments()<CR> -" -" alternate file plugin -" -"if exists("loaded_alternateFile") -" map <buffer> <silent> <S-F2> <C-C>:A<CR> -"imap <buffer> <silent> <S-F2> <C-C><C-C>:A<CR> -"endif -" -" -" ---------- KEY MAPPINGS : MENU ENTRIES ------------------------------------- -" -" ---------- comments menu ------------------------------------------------ -" - - noremap <buffer> <silent> <Leader>cl <Esc>:call C_LineEndComment()<CR> -inoremap <buffer> <silent> <Leader>cl <Esc>:call C_LineEndComment()<CR>a -vnoremap <buffer> <silent> <Leader>cl <Esc>:call C_MultiLineEndComments()<CR> - noremap <buffer> <silent> <Leader>cj <Esc>:call C_AdjustLineEndComm("a")<CR> -vnoremap <buffer> <silent> <Leader>cj <Esc>:call C_AdjustLineEndComm("v")<CR> -inoremap <buffer> <silent> <Leader>cj <Esc>:call C_AdjustLineEndComm("a")<CR>a - noremap <buffer> <silent> <Leader>cs <Esc>:call C_GetLineEndCommCol()<CR> - noremap <buffer> <silent> <Leader>c* <Esc>:call C_CodeComment("a","yes")<CR><Esc>:nohlsearch<CR>j -vnoremap <buffer> <silent> <Leader>c* <Esc>:call C_CodeComment("v","yes")<CR><Esc>:nohlsearch<CR>j - noremap <buffer> <silent> <Leader>c/ <Esc>:call C_CodeComment("a","no")<CR><Esc>:nohlsearch<CR>j -vnoremap <buffer> <silent> <Leader>c/ <Esc>:call C_CodeComment("v","no")<CR><Esc>:nohlsearch<CR>j - noremap <buffer> <silent> <Leader>co <Esc>:call C_CommentCode("a")<CR><Esc>:nohlsearch<CR> -vnoremap <buffer> <silent> <Leader>co <Esc>:call C_CommentCode("v")<CR><Esc>:nohlsearch<CR> - - noremap <buffer> <silent> <Leader>cfr <Esc>:call C_InsertTemplate("comment.frame")<CR> - noremap <buffer> <silent> <Leader>cfu <Esc>:call C_InsertTemplate("comment.function")<CR> - noremap <buffer> <silent> <Leader>cme <Esc>:call C_InsertTemplate("comment.method")<CR> - noremap <buffer> <silent> <Leader>ccl <Esc>:call C_InsertTemplate("comment.class")<CR> - -inoremap <buffer> <silent> <Leader>cfr <Esc>:call C_InsertTemplate("comment.frame")<CR> -inoremap <buffer> <silent> <Leader>cfu <Esc>:call C_InsertTemplate("comment.function")<CR> -inoremap <buffer> <silent> <Leader>cme <Esc>:call C_InsertTemplate("comment.method")<CR> -inoremap <buffer> <silent> <Leader>ccl <Esc>:call C_InsertTemplate("comment.class")<CR> - - noremap <buffer> <silent> <Leader>cd a<C-R>=C_InsertDateAndTime('d')<CR> -inoremap <buffer> <silent> <Leader>cd <C-R>=C_InsertDateAndTime('d')<CR> - noremap <buffer> <silent> <Leader>ct a<C-R>=C_InsertDateAndTime('dt')<CR> -inoremap <buffer> <silent> <Leader>ct <C-R>=C_InsertDateAndTime('dt')<CR> -" -" ---------- statements menu ------------------------------------------------ -" - noremap <buffer> <silent> <Leader>sd <Esc>:call C_InsertTemplate("statements.do-while")<CR> -vnoremap <buffer> <silent> <Leader>sd <Esc>:call C_InsertTemplate("statements.do-while", "v")<CR> -inoremap <buffer> <silent> <Leader>sd <Esc>:call C_InsertTemplate("statements.do-while")<CR> - - noremap <buffer> <silent> <Leader>sf <Esc>:call C_InsertTemplate("statements.for")<CR> -inoremap <buffer> <silent> <Leader>sf <Esc>:call C_InsertTemplate("statements.for")<CR> - - noremap <buffer> <silent> <Leader>sfo <Esc>:call C_InsertTemplate("statements.for-block")<CR> -vnoremap <buffer> <silent> <Leader>sfo <Esc>:call C_InsertTemplate("statements.for-block", "v")<CR> -inoremap <buffer> <silent> <Leader>sfo <Esc>:call C_InsertTemplate("statements.for-block")<CR> - - noremap <buffer> <silent> <Leader>si <Esc>:call C_InsertTemplate("statements.if")<CR> -inoremap <buffer> <silent> <Leader>si <Esc>:call C_InsertTemplate("statements.if")<CR> - - noremap <buffer> <silent> <Leader>sif <Esc>:call C_InsertTemplate("statements.if-block")<CR> -vnoremap <buffer> <silent> <Leader>sif <Esc>:call C_InsertTemplate("statements.if-block", "v")<CR> -inoremap <buffer> <silent> <Leader>sif <Esc>:call C_InsertTemplate("statements.if-block")<CR> - - noremap <buffer> <silent> <Leader>sie <Esc>:call C_InsertTemplate("statements.if-else")<CR> -vnoremap <buffer> <silent> <Leader>sie <Esc>:call C_InsertTemplate("statements.if-else", "v")<CR> -inoremap <buffer> <silent> <Leader>sie <Esc>:call C_InsertTemplate("statements.if-else")<CR> - - noremap <buffer> <silent> <Leader>sife <Esc>:call C_InsertTemplate("statements.if-block-else")<CR> -vnoremap <buffer> <silent> <Leader>sife <Esc>:call C_InsertTemplate("statements.if-block-else", "v")<CR> -inoremap <buffer> <silent> <Leader>sife <Esc>:call C_InsertTemplate("statements.if-block-else")<CR> - - noremap <buffer> <silent> <Leader>sw <Esc>:call C_InsertTemplate("statements.while")<CR> -inoremap <buffer> <silent> <Leader>sw <Esc>:call C_InsertTemplate("statements.while")<CR> - - noremap <buffer> <silent> <Leader>swh <Esc>:call C_InsertTemplate("statements.while-block")<CR> -vnoremap <buffer> <silent> <Leader>swh <Esc>:call C_InsertTemplate("statements.while-block", "v")<CR> -inoremap <buffer> <silent> <Leader>swh <Esc>:call C_InsertTemplate("statements.while-block")<CR> - - noremap <buffer> <silent> <Leader>ss <Esc>:call C_InsertTemplate("statements.switch")<CR> -vnoremap <buffer> <silent> <Leader>ss <Esc>:call C_InsertTemplate("statements.switch", "v")<CR> -inoremap <buffer> <silent> <Leader>ss <Esc>:call C_InsertTemplate("statements.switch")<CR> - - noremap <buffer> <silent> <Leader>sc <Esc>:call C_InsertTemplate("statements.case")<CR> -inoremap <buffer> <silent> <Leader>sc <Esc>:call C_InsertTemplate("statements.case")<CR> - - noremap <buffer> <silent> <Leader>s{ <Esc>:call C_InsertTemplate("statements.block")<CR> -vnoremap <buffer> <silent> <Leader>s{ <Esc>:call C_InsertTemplate("statements.block", "v")<CR> -inoremap <buffer> <silent> <Leader>s{ <Esc>:call C_InsertTemplate("statements.block")<CR> -" -" ---------- preprocessor menu ---------------------------------------------- -" -inoremap <buffer> <silent> <Leader>p< <Esc><Esc>o#include<Tab><><Left> -inoremap <buffer> <silent> <Leader>p" <Esc><Esc>o#include<Tab>""<Left> -inoremap <buffer> <silent> <Leader>pd <Esc><Esc>:call C_InsertTemplate("preprocessor.define")<CR> -inoremap <buffer> <silent> <Leader>pu <Esc><Esc>:call C_InsertTemplate("preprocessor.undefine")<CR> -" - noremap <buffer> <silent> <Leader>p< <Esc><Esc>o#include<Tab><><Left> - noremap <buffer> <silent> <Leader>p" <Esc><Esc>o#include<Tab>""<Left> - noremap <buffer> <silent> <Leader>pd <Esc><Esc>:call C_InsertTemplate("preprocessor.define")<CR> - noremap <buffer> <silent> <Leader>pu <Esc><Esc>:call C_InsertTemplate("preprocessor.undefine")<CR> - - noremap <buffer> <silent> <Leader>pie <Esc><Esc>:call C_InsertTemplate("preprocessor.if-else-endif")<CR> - noremap <buffer> <silent> <Leader>pid <Esc><Esc>:call C_InsertTemplate("preprocessor.ifdef-else-endif")<CR> - noremap <buffer> <silent> <Leader>pin <Esc><Esc>:call C_InsertTemplate("preprocessor.ifndef-else-endif")<CR> - noremap <buffer> <silent> <Leader>pind <Esc><Esc>:call C_InsertTemplate("preprocessor.ifndef-def-endif")<CR> - noremap <buffer> <silent> <Leader>pi0 <Esc><Esc>:call C_PPIf0("a")<CR>2ji - -vnoremap <buffer> <silent> <Leader>pie <Esc><Esc>:call C_InsertTemplate("preprocessor.if-else-endif", "v")<CR> -vnoremap <buffer> <silent> <Leader>pid <Esc><Esc>:call C_InsertTemplate("preprocessor.ifdef-else-endif", "v")<CR> -vnoremap <buffer> <silent> <Leader>pin <Esc><Esc>:call C_InsertTemplate("preprocessor.ifndef-else-endif", "v")<CR> -vnoremap <buffer> <silent> <Leader>pind <Esc><Esc>:call C_InsertTemplate("preprocessor.ifndef-def-endif", "v")<CR> -vnoremap <buffer> <silent> <Leader>pi0 <Esc><Esc>:call C_PPIf0("v")<CR> - -inoremap <buffer> <silent> <Leader>pie <Esc><Esc>:call C_InsertTemplate("preprocessor.if-else-endif")<CR> -inoremap <buffer> <silent> <Leader>pid <Esc><Esc>:call C_InsertTemplate("preprocessor.ifdef-else-endif")<CR> -inoremap <buffer> <silent> <Leader>pin <Esc><Esc>:call C_InsertTemplate("preprocessor.ifndef-else-endif")<CR> -inoremap <buffer> <silent> <Leader>pind <Esc><Esc>:call C_InsertTemplate("preprocessor.ifndef-def-endif")<CR> -inoremap <buffer> <silent> <Leader>pi0 <Esc><Esc>:call C_PPIf0("a")<CR>2ji - - noremap <buffer> <silent> <Leader>pr0 <Esc><Esc>:call C_PPIf0Remove()<CR> -" -" ---------- idioms menu ---------------------------------------------------- -" - noremap <buffer> <silent> <Leader>if <Esc>:call C_InsertTemplate("idioms.function")<CR> -vnoremap <buffer> <silent> <Leader>if <Esc>:call C_InsertTemplate("idioms.function", "v")<CR> -inoremap <buffer> <silent> <Leader>if <Esc>:call C_InsertTemplate("idioms.function")<CR> - noremap <buffer> <silent> <Leader>isf <Esc>:call C_InsertTemplate("idioms.function-static")<CR> -vnoremap <buffer> <silent> <Leader>isf <Esc>:call C_InsertTemplate("idioms.function-static", "v")<CR> -inoremap <buffer> <silent> <Leader>isf <Esc>:call C_InsertTemplate("idioms.function-static")<CR> - noremap <buffer> <silent> <Leader>im <Esc>:call C_InsertTemplate("idioms.main")<CR> -vnoremap <buffer> <silent> <Leader>im <Esc>:call C_InsertTemplate("idioms.main", "v")<CR> -inoremap <buffer> <silent> <Leader>im <Esc>:call C_InsertTemplate("idioms.main")<CR> -" - noremap <buffer> <silent> <Leader>i0 <Esc>:call C_CodeFor("up" , "a")<CR>a -vnoremap <buffer> <silent> <Leader>i0 <Esc>:call C_CodeFor("up" , "v")<CR> -inoremap <buffer> <silent> <Leader>i0 <Esc>:call C_CodeFor("up" , "a")<CR>a - noremap <buffer> <silent> <Leader>in <Esc>:call C_CodeFor("down", "a")<CR>a -vnoremap <buffer> <silent> <Leader>in <Esc>:call C_CodeFor("down", "v")<CR> -inoremap <buffer> <silent> <Leader>in <Esc>:call C_CodeFor("down", "a")<CR>a -" - noremap <buffer> <silent> <Leader>ie <Esc>:call C_InsertTemplate("idioms.enum")<CR> -vnoremap <buffer> <silent> <Leader>ie <Esc>:call C_InsertTemplate("idioms.enum" , "v")<CR> -inoremap <buffer> <silent> <Leader>ie <Esc>:call C_InsertTemplate("idioms.enum")<CR> - noremap <buffer> <silent> <Leader>is <Esc>:call C_InsertTemplate("idioms.struct")<CR> -vnoremap <buffer> <silent> <Leader>is <Esc>:call C_InsertTemplate("idioms.struct", "v")<CR> -inoremap <buffer> <silent> <Leader>is <Esc>:call C_InsertTemplate("idioms.struct")<CR> - noremap <buffer> <silent> <Leader>iu <Esc>:call C_InsertTemplate("idioms.union")<CR> -vnoremap <buffer> <silent> <Leader>iu <Esc>:call C_InsertTemplate("idioms.union" , "v")<CR> -inoremap <buffer> <silent> <Leader>iu <Esc>:call C_InsertTemplate("idioms.union")<CR> -" - noremap <buffer> <silent> <Leader>ip <Esc><Esc>oprintf("\n");<Esc>2F"a -inoremap <buffer> <silent> <Leader>ip printf("\n");<Esc>2F"a - noremap <buffer> <silent> <Leader>isc <Esc><Esc>oscanf("", & );<Esc>F"i -inoremap <buffer> <silent> <Leader>isc scanf("", & );<Esc>F"i -" - noremap <buffer> <silent> <Leader>ica <Esc>:call C_InsertTemplate("idioms.calloc") -inoremap <buffer> <silent> <Leader>ica <Esc>:call C_InsertTemplate("idioms.calloc") - noremap <buffer> <silent> <Leader>ima <Esc>:call C_InsertTemplate("idioms.malloc")<CR> -inoremap <buffer> <silent> <Leader>ima <Esc>:call C_InsertTemplate("idioms.malloc")<CR> -" - noremap <buffer> <silent> <Leader>isi isizeof()<Left> -vnoremap <buffer> <silent> <Leader>isi ssizeof()<Esc>P -inoremap <buffer> <silent> <Leader>isi sizeof()<Left> - noremap <buffer> <silent> <Leader>ias <Esc><Esc>oassert();<Left><Left> -vnoremap <buffer> <silent> <Leader>ias sassert();<Esc>F(p -inoremap <buffer> <silent> <Leader>ias assert();<Left><Left> -" - noremap <buffer> <silent> <Leader>ii <Esc>:call C_InsertTemplate("idioms.open-input-file")<CR> -inoremap <buffer> <silent> <Leader>ii <Esc>:call C_InsertTemplate("idioms.open-input-file")<CR> - noremap <buffer> <silent> <Leader>io <Esc>:call C_InsertTemplate("idioms.open-output-file")<CR> -inoremap <buffer> <silent> <Leader>io <Esc>:call C_InsertTemplate("idioms.open-output-file")<CR> -" -" ---------- snippet menu ---------------------------------------------------- -" - noremap <buffer> <silent> <Leader>nr <Esc>:call C_CodeSnippet("r")<CR> - noremap <buffer> <silent> <Leader>nw <Esc>:call C_CodeSnippet("w")<CR> -vnoremap <buffer> <silent> <Leader>nw <Esc>:call C_CodeSnippet("wv")<CR> - noremap <buffer> <silent> <Leader>ne <Esc>:call C_CodeSnippet("e")<CR> -" - noremap <buffer> <silent> <Leader>np <Esc>:call C_ProtoPick("n")<CR> -vnoremap <buffer> <silent> <Leader>np <Esc>:call C_ProtoPick("v")<CR> - noremap <buffer> <silent> <Leader>ni <Esc>:call C_ProtoInsert()<CR> - noremap <buffer> <silent> <Leader>nc <Esc>:call C_ProtoClear()<CR> - noremap <buffer> <silent> <Leader>ns <Esc>:call C_ProtoShow()<CR> -" -" ---------- C++ menu ---------------------------------------------------- -" - noremap <buffer> <silent> <Leader>+m <Esc>:call C_InsertTemplate("cpp.method-implementation")<CR> -inoremap <buffer> <silent> <Leader>+m <Esc>:call C_InsertTemplate("cpp.method-implementation")<CR> - noremap <buffer> <silent> <Leader>+c <Esc>:call C_InsertTemplate("cpp.class")<CR> -inoremap <buffer> <silent> <Leader>+c <Esc>:call C_InsertTemplate("cpp.class")<CR> - noremap <buffer> <silent> <Leader>+cn <Esc>:call C_InsertTemplate("cpp.class-using-new")<CR> -inoremap <buffer> <silent> <Leader>+cn <Esc>:call C_InsertTemplate("cpp.class-using-new")<CR> - - noremap <buffer> <silent> <Leader>+tm <Esc>:call C_InsertTemplate("cpp.template-method-implementation")<CR> -inoremap <buffer> <silent> <Leader>+tm <Esc>:call C_InsertTemplate("cpp.template-method-implementation")<CR> - noremap <buffer> <silent> <Leader>+tc <Esc>:call C_InsertTemplate("cpp.template-class")<CR> -inoremap <buffer> <silent> <Leader>+tc <Esc>:call C_InsertTemplate("cpp.template-class")<CR> - noremap <buffer> <silent> <Leader>+tcn <Esc>:call C_InsertTemplate("cpp.template-class-using-new")<CR> -inoremap <buffer> <silent> <Leader>+tcn <Esc>:call C_InsertTemplate("cpp.template-class-using-new")<CR> - - noremap <buffer> <silent> <Leader>+tf <Esc>:call C_InsertTemplate("cpp.template-function")<CR> -inoremap <buffer> <silent> <Leader>+tf <Esc>:call C_InsertTemplate("cpp.template-function")<CR> - - noremap <buffer> <silent> <Leader>+ec <Esc>:call C_InsertTemplate("cpp.error-class")<CR> -inoremap <buffer> <silent> <Leader>+ec <Esc>:call C_InsertTemplate("cpp.error-class")<CR> - - noremap <buffer> <silent> <Leader>+tr <Esc>:call C_InsertTemplate("cpp.try-catch")<CR> -vnoremap <buffer> <silent> <Leader>+tr <Esc>:call C_InsertTemplate("cpp.try-catch", "v")<CR> -inoremap <buffer> <silent> <Leader>+tr <Esc>:call C_InsertTemplate("cpp.try-catch")<CR> - - noremap <buffer> <silent> <Leader>+ca <Esc>:call C_InsertTemplate("cpp.catch")<CR> -vnoremap <buffer> <silent> <Leader>+ca <Esc>:call C_InsertTemplate("cpp.catch", "v")<CR> -inoremap <buffer> <silent> <Leader>+ca <Esc>:call C_InsertTemplate("cpp.catch")<CR> - - noremap <buffer> <silent> <Leader>+c. <Esc>:call C_InsertTemplate("cpp.catch-points")<CR> -vnoremap <buffer> <silent> <Leader>+c. <Esc>:call C_InsertTemplate("cpp.catch-points", "v")<CR> -inoremap <buffer> <silent> <Leader>+c. <Esc>:call C_InsertTemplate("cpp.catch-points")<CR> -" -" -" ---------- run menu -------------------------------------------------------- -" - map <buffer> <silent> <Leader>rc <C-C>:call C_Compile()<CR>:redraw<CR>:call C_HlMessage()<CR> - map <buffer> <silent> <Leader>rl <C-C>:call C_Link()<CR>:redraw<CR>:call C_HlMessage()<CR> - map <buffer> <silent> <Leader>rr <C-C>:call C_Run()<CR> - map <buffer> <silent> <Leader>ra <C-C>:call C_Arguments()<CR> - map <buffer> <silent> <Leader>rm <C-C>:call C_Make()<CR> - map <buffer> <silent> <Leader>rg <C-C>:call C_MakeArguments()<CR> - map <buffer> <silent> <Leader>rp <C-C>:call C_SplintCheck()<CR>:redraw<CR>:call C_HlMessage()<CR> - map <buffer> <silent> <Leader>ri <C-C>:call C_SplintArguments()<CR> - map <buffer> <silent> <Leader>rd <C-C>:call C_Indent("a")<CR>:redraw<CR>:call C_HlMessage()<CR> -vmap <buffer> <silent> <Leader>rd <C-C>:call C_Indent("v")<CR>:redraw<CR>:call C_HlMessage()<CR> - map <buffer> <silent> <Leader>rh <C-C>:call C_Hardcopy("n")<CR> -vmap <buffer> <silent> <Leader>rh <C-C>:call C_Hardcopy("v")<CR> - map <buffer> <silent> <Leader>rs <C-C>:call C_Settings()<CR> - map <buffer> <silent> <Leader>rt <C-C>:call C_RebuildTemplates()<CR> - if has("unix") - map <buffer> <silent> <Leader>rx <C-C>:call C_XtermSize()<CR> - endif - map <buffer> <silent> <Leader>ro <C-C>:call C_Toggle_Gvim_Xterm()<CR> -" -" Abraxas CodeCheck (R) -" -if executable("check") - map <buffer> <silent> <Leader>rk <C-C>:call C_CodeCheck()<CR>:redraw<CR>:call C_HlMessage()<CR> - map <buffer> <silent> <Leader>re <C-C>:call C_CodeCheckArguments()<CR> -endif -" ---------- plugin help ----------------------------------------------------- -" - map <buffer> <silent> <Leader>h <Esc>:call C_HelpCsupport()<CR> -" diff --git a/.vim/ftplugin/cpp.vim b/.vim/ftplugin/cpp.vim deleted file mode 100644 index 79b3445..0000000 --- a/.vim/ftplugin/cpp.vim +++ /dev/null @@ -1,164 +0,0 @@ -" Line numbering -set number -" Set syntax highlighting -syntax on -" Tabbing -set et -set shiftwidth=4 -set smarttab -set autoindent -" Complete Brackets { -" -" }" -" Complete quotes" -inoremap " ""<Left> -" We want a mouse in consoles, so:" -set mouse=a -" -"=============================================================================== -"========== load example vimrc from the distribution ========================= -"=============================================================================== -" -runtime vimrc_example.vim -" -filetype plugin on -" -"=============================================================================== -"========== CUSTOMIZATION (vimrc) ============================================ -"=============================================================================== -" -" Platform specific items: -" - central backup directory (has to be created) -" - default dictionary -" Uncomment your choice. -if has("win16") || has("win32") || has("win64") || - \ has("win95") || has("win32unix") - " -" runtime mswin.vim -" set backupdir =$VIM\vimfiles\backupdir -" set dictionary=$VIM\vimfiles\wordlists/german.list -else -" set backupdir =$HOME/.vim.backupdir -" set dictionary=$HOME/.vim/wordlists/german.list -endif -" -" Using a backupdir under UNIX/Linux: you may want to include a line similar to -" find $HOME/.vim.backupdir -name "*" -type f -mtime +60 -exec rm -f {} \; -" in one of your shell startup files (e.g. $HOME/.profile) -" -"------------------------------------------------------------------------------- -" Use of dictionaries -"------------------------------------------------------------------------------- -" -set complete+=k " scan the files given with the 'dictionary' option -" -"------------------------------------------------------------------------------- -" Various settings -"------------------------------------------------------------------------------- -" -set autoread " read open files again when changed outside Vim -set autowrite " write a modified buffer on each :next , ... -set browsedir =current " which directory to use for the file browser -set incsearch " use incremental search -"set nowrap " do not wrap lines -set shiftwidth =4 " number of spaces to use for each step of indent -set tabstop =4 " number of spaces that a <Tab> in the file counts for -set visualbell " visual bell instead of beeping -" -" -"------------------------------------------------------------------------------- -" some additional hot keys -"------------------------------------------------------------------------------- -" F2 - write file without confirmation -" F3 - call file explorer Ex -" F4 - show tag under curser in the preview window (tagfile must exist!) -" F5 - open quickfix error window -" F6 - close quickfix error window -" F7 - display previous error -" F8 - display next error -" S-Tab - Fast switching between buffers (see below) -" C-q - Leave the editor with Ctrl-q (see below) -"------------------------------------------------------------------------------- -" -map <silent> <F2> :write<CR> -map <silent> <F3> :Explore<CR> -nmap <silent> <F4> :exe ":ptag ".expand("<cword>")<CR> -map <silent> <F5> :copen<CR> -map <silent> <F6> :cclose<CR> -map <silent> <F7> :cp<CR> -map <silent> <F8> :cn<CR> -" -imap <silent> <F2> <Esc>:write<CR> -imap <silent> <F3> <Esc>:Explore<CR> -imap <silent> <F4> <Esc>:exe ":ptag ".expand("<cword>")<CR> -imap <silent> <F5> <Esc>:copen<CR> -imap <silent> <F6> <Esc>:cclose<CR> -imap <silent> <F7> <Esc>:cp<CR> -imap <silent> <F8> <Esc>:cn<CR> -" -"------------------------------------------------------------------------------- -" Fast switching between buffers -" The current buffer will be saved before switching to the next one. -" Choose :bprevious or :bnext -"------------------------------------------------------------------------------- -" - map <silent> <s-tab> <Esc>:if &modifiable && !&readonly && - \ &modified <CR> :write<CR> :endif<CR>:bprevious<CR> -imap <silent> <s-tab> <Esc>:if &modifiable && !&readonly && - \ &modified <CR> :write<CR> :endif<CR>:bprevious<CR> -" -"------------------------------------------------------------------------------- -" Leave the editor with Ctrl-q : Write all changed buffers and exit Vim -"------------------------------------------------------------------------------- -nmap <C-q> :wqa<CR> -" -"------------------------------------------------------------------------------- -" autocomplete parenthesis, brackets and braces -"------------------------------------------------------------------------------- -inoremap ( ()<Left> -inoremap [ []<Left> -inoremap { {<CR>}<ESC>ko -" -vnoremap ( s()<Esc>P<Right>% -vnoremap [ s[]<Esc>P<Right>% -vnoremap { s{}<Esc>P<Right>% -" -"------------------------------------------------------------------------------- -" Change the working directory to the directory containing the current file -"------------------------------------------------------------------------------- -if has("autocmd") - autocmd BufEnter * :lchdir %:p:h -endif " has("autocmd") -" -"------------------------------------------------------------------------------- -" Filename completion -" -" wildmenu : command-line completion operates in an enhanced mode -" wildignore : A file that matches with one of these -" patterns is ignored when completing file or directory names. -"------------------------------------------------------------------------------- -" -set wildmenu -set wildignore=*.bak,*.o,*.e,*~ -" -"------------------------------------------------------------------------------- -" print options (pc = percentage of the media size) -"------------------------------------------------------------------------------- -set printoptions=left:8pc,right:3pc -" -"------------------------------------------------------------------------------- -" taglist.vim : toggle the taglist window -" taglist.vim : define the title texts for make -" taglist.vim : define the title texts for qmake -"------------------------------------------------------------------------------- - noremap <silent> <F11> <Esc><Esc>:Tlist<CR> -inoremap <silent> <F11> <Esc><Esc>:Tlist<CR> - -let tlist_make_settings = 'make;m:makros;t:targets' - -let tlist_qmake_settings = 'qmake;t:SystemVariables' - -if has("autocmd") - " ---------- qmake : set filetype for *.pro ---------- - autocmd BufNewFile,BufRead *.pro set filetype=qmake -endif " has("autocmd") diff --git a/.vim/ftplugin/gpg.vim b/.vim/ftplugin/gpg.vim deleted file mode 100644 index 20f641f..0000000 --- a/.vim/ftplugin/gpg.vim +++ /dev/null @@ -1,33 +0,0 @@ -" Transparent editing of gpg encrypted files. -" By Wouter Hanegraaff <wouter@blub.net> -augroup encrypted -au! -" First make sure nothing is written to ~/.viminfo while editing -" an encrypted file. -autocmd BufReadPre,FileReadPre *.gpg set viminfo= -" We don't want a swap file, as it writes unencrypted data to disk -autocmd BufReadPre,FileReadPre *.gpg set noswapfile -" Switch to binary mode to read the encrypted file -autocmd BufReadPre,FileReadPre *.gpg set bin -autocmd BufReadPre,FileReadPre *.gpg let ch_save = &ch|set ch=2 -autocmd BufReadPre,FileReadPre *.gpg let shsave=&sh -autocmd BufReadPre,FileReadPre *.gpg let &sh='sh' -autocmd BufReadPre,FileReadPre *.gpg let ch_save = &ch|set ch=2 -autocmd BufReadPost,FileReadPost *.gpg '[,']!gpg --decrypt --default-recipient-self 2> /dev/null -autocmd BufReadPost,FileReadPost *.gpg let &sh=shsave -" Switch to normal mode for editing -autocmd BufReadPost,FileReadPost *.gpg set nobin -autocmd BufReadPost,FileReadPost *.gpg let &ch = ch_save|unlet ch_save -autocmd BufReadPost,FileReadPost *.gpg execute ":doautocmd BufReadPost " . expand("%:r") -" Convert all text to encrypted text before writing -autocmd BufWritePre,FileWritePre *.gpg set bin -autocmd BufWritePre,FileWritePre *.gpg let shsave=&sh -autocmd BufWritePre,FileWritePre *.gpg let &sh='sh' -autocmd BufWritePre,FileWritePre *.gpg '[,']!gpg --encrypt --default-recipient-self 2>/dev/null -autocmd BufWritePre,FileWritePre *.gpg let &sh=shsave -" Undo the encryption so we are back in the normal text, directly -" after the file has been written. -autocmd BufWritePost,FileWritePost *.gpg silent u -autocmd BufWritePost,FileWritePost *.gpg set nobin -augroup END - diff --git a/.vim/ftplugin/haskell.vim b/.vim/ftplugin/haskell.vim deleted file mode 100644 index ffe83fe..0000000 --- a/.vim/ftplugin/haskell.vim +++ /dev/null @@ -1,13 +0,0 @@ -" -" general Haskell source settings -" (shared functions are in autoload/haskellmode.vim) -" -" (Claus Reinke, last modified: 21/04/2009) -" -" part of haskell plugins: http://projects.haskell.org/haskellmode-vim -" please send patches to <claus.reinke@talk21.com> - -" try gf on import line, or ctrl-x ctrl-i, or [I, [i, .. -set include=^import\\s*\\(qualified\\)\\?\\s* -set includeexpr=substitute(v:fname,'\\.','/','g').'.hs' - diff --git a/.vim/ftplugin/haskell_doc.vim b/.vim/ftplugin/haskell_doc.vim deleted file mode 100644 index f850667..0000000 --- a/.vim/ftplugin/haskell_doc.vim +++ /dev/null @@ -1,817 +0,0 @@ -" -" use haddock docs and index files -" show documentation, complete & qualify identifiers -" -" (Claus Reinke; last modified: 24/04/2009) -" -" part of haskell plugins: http://projects.haskell.org/haskellmode-vim -" please send patches to <claus.reinke@talk21.com> - -" :Doc <name> and :IDoc <name> open haddocks for <name> in opera -" -" :Doc needs qualified name (default Prelude) and package (default base) -" :IDoc needs unqualified name, looks up possible links in g:haddock_index -" -" :DocIndex populates g:haddock_index from haddock's index files -" :ExportDocIndex saves g:haddock_index to cache file -" :ImportDocIndex reloads g:haddock_index from cache file -" -" all the following use the haddock index (g:haddock_index) -" -" _? opens haddocks for unqualified name under cursor, -" suggesting alternative full qualifications in popup menu -" -" _. fully qualifies unqualified name under cursor, -" suggesting alternative full qualifications in popup menu -" -" _i add import <module>(<name>) statement for unqualified <name> under cursor, -" _im add import <module> statement for unqualified <name> under cursor, -" suggesting alternative full qualifications in popup menu -" (this currently adds one statement per call, instead of -" merging into existing import statements, but it's a start;-) -" -" CTRL-X CTRL-U (user-defined insert mode completion) -" suggests completions of unqualified names in popup menu - -let s:scriptname = "haskell_doc.vim" - -" script parameters -" g:haddock_browser *mandatory* which browser to call -" g:haddock_browser_callformat [optional] how to call browser -" g:haddock_indexfiledir [optional] where to put 'haddock_index.vim' -" g:haddock_docdir [optional] where to find html docs -" g:ghc [optional] which ghc to call -" g:ghc_pkg [optional] which ghc_pkg to call - -" been here before? -if exists("g:haddock_index") - finish -endif - -" initialise nested dictionary, to be populated -" - from haddock index files via :DocIndex -" - from previous cached version via :ImportDocIndex -let g:haddock_index = {} - -" initialise dictionary, mapping modules with haddocks to their packages, -" populated via MkHaddockModuleIndex() or HaveModuleIndex() -let g:haddock_moduleindex = {} - -" program to open urls, please set this in your vimrc - "examples (for windows): - "let g:haddock_browser = "C:/Program Files/Opera/Opera.exe" - "let g:haddock_browser = "C:/Program Files/Mozilla Firefox/firefox.exe" - "let g:haddock_browser = "C:/Program Files/Internet Explorer/IEXPLORE.exe" -if !exists("g:haddock_browser") - echoerr s:scriptname." WARNING: please set g:haddock_browser!" -endif - -if (!exists("g:ghc") || !executable(g:ghc)) - if !executable('ghc') - echoerr s:scriptname." can't find ghc. please set g:ghc, or extend $PATH" - finish - else - let g:ghc = 'ghc' - endif -endif - -if (!exists("g:ghc_pkg") || !executable(g:ghc_pkg)) - let g:ghc_pkg = substitute(g:ghc,'\(.*\)ghc','\1ghc-pkg','') -endif - -if exists("g:haddock_docdir") && isdirectory(g:haddock_docdir) - let s:docdir = g:haddock_docdir -elseif executable(g:ghc_pkg) -" try to figure out location of html docs -" first choice: where the base docs are (from the first base listed) - let [field;x] = split(system(g:ghc_pkg . ' field base haddock-html'),'\n') - let field = substitute(field,'haddock-html: \(.*\)libraries.base','\1','') - let field = substitute(field,'\\','/','g') - let alternate = substitute(field,'html','doc/html','') - if isdirectory(field) - let s:docdir = field - elseif isdirectory(alternate) - let s:docdir = alternate - endif -else - echoerr s:scriptname." can't find ghc-pkg (set g:ghc_pkg ?)." -endif - -" second choice: try some known suspects for windows/unix -if !exists('s:docdir') || !isdirectory(s:docdir) - let s:ghc_libdir = substitute(system(g:ghc . ' --print-libdir'),'\n','','') - let location1a = s:ghc_libdir . '/doc/html/' - let location1b = s:ghc_libdir . '/doc/' - let s:ghc_version = substitute(system(g:ghc . ' --numeric-version'),'\n','','') - let location2 = '/usr/share/doc/ghc-' . s:ghc_version . '/html/' - if isdirectory(location1a) - let s:docdir = location1a - elseif isdirectory(location1b) - let s:docdir = location1b - elseif isdirectory(location2) - let s:docdir = location2 - else " give up - echoerr s:scriptname." can't find locaton of html documentation (set g:haddock_docdir)." - finish - endif -endif - -" todo: can we turn s:docdir into a list of paths, and -" include docs for third-party libs as well? - -let s:libraries = s:docdir . 'libraries/' -let s:guide = s:docdir . 'users_guide/' -let s:index = 'index.html' -if exists("g:haddock_indexfiledir") && filewritable(g:haddock_indexfiledir) - let s:haddock_indexfiledir = g:haddock_indexfiledir -elseif filewritable(s:libraries) - let s:haddock_indexfiledir = s:libraries -elseif filewritable($HOME) - let s:haddock_indexfiledir = $HOME.'/' -else "give up - echoerr s:scriptname." can't locate index file. please set g:haddock_indexfiledir" - finish -endif -let s:haddock_indexfile = s:haddock_indexfiledir . 'haddock_index.vim' - -" different browser setups require different call formats; -" you might want to call the browser synchronously or -" asynchronously, and the latter is os-dependent; -" -" by default, the browser is started in the background when on -" windows or if running in a gui, and in the foreground otherwise -" (eg, console-mode for remote sessions, with text-mode browsers). -" -" you can override these defaults in your vimrc, via a format -" string including 2 %s parameters (the first being the browser -" to call, the second being the url). -if !exists("g:haddock_browser_callformat") - if has("win32") || has("win64") - let g:haddock_browser_callformat = 'start %s "%s"' - else - if has("gui_running") - let g:haddock_browser_callformat = '%s %s '.printf(&shellredir,'/dev/null').' &' - else - let g:haddock_browser_callformat = '%s %s' - endif - endif -endif - -" allow map leader override -if !exists("maplocalleader") - let maplocalleader='_' -endif - -command! DocSettings call DocSettings() -function! DocSettings() - for v in ["g:haddock_browser","g:haddock_browser_callformat","g:haddock_docdir","g:haddock_indexfiledir","s:ghc_libdir","s:ghc_version","s:docdir","s:libraries","s:guide","s:haddock_indexfile"] - if exists(v) - echo v '=' eval(v) - else - echo v '=' - endif - endfor -endfunction - -function! DocBrowser(url) - "echomsg "DocBrowser(".url.")" - if (!exists("g:haddock_browser") || !executable(g:haddock_browser)) - echoerr s:scriptname." can't find documentation browser. please set g:haddock_browser" - return - endif - " start browser to open url, according to specified format - let url = a:url=~'^\(file://\|http://\)' ? a:url : 'file://'.a:url - silent exe '!'.printf(g:haddock_browser_callformat,g:haddock_browser,escape(url,'#%')) -endfunction - -"usage examples: -" :Doc length -" :Doc Control.Monad.when -" :Doc Data.List. -" :Doc Control.Monad.State.runState mtl -" :Doc -top -" :Doc -libs -" :Doc -guide -command! -nargs=+ Doc call Doc('v',<f-args>) -command! -nargs=+ Doct call Doc('t',<f-args>) - -function! Doc(kind,qualname,...) - let suffix = '.html' - let relative = '#'.a:kind.'%3A' - - if a:qualname=="-top" - call DocBrowser(s:docdir . s:index) - return - elseif a:qualname=="-libs" - call DocBrowser(s:libraries . s:index) - return - elseif a:qualname=="-guide" - call DocBrowser(s:guide . s:index) - return - endif - - if a:0==0 " no package specified - let package = 'base/' - else - let package = a:1 . '/' - endif - - if match(a:qualname,'\.')==-1 " unqualified name - let [qual,name] = [['Prelude'],a:qualname] - let file = join(qual,'-') . suffix . relative . name - elseif a:qualname[-1:]=='.' " module qualifier only - let parts = split(a:qualname,'\.') - let quallen = len(parts)-1 - let [qual,name] = [parts[0:quallen],parts[-1]] - let file = join(qual,'-') . suffix - else " qualified name - let parts = split(a:qualname,'\.') - let quallen = len(parts)-2 - let [qual,name] = [parts[0:quallen],parts[-1]] - let file = join(qual,'-') . suffix . relative . name - endif - -" let path = s:libraries . package . file - let path = file - call DocBrowser(path) -endfunction - -" TODO: add commandline completion for :IDoc -" indexed variant of Doc, looking up links in g:haddock_index -" usage: -" 1. :IDoc length -" 2. click on one of the choices, or select by number (starting from 0) -command! -nargs=+ IDoc call IDoc(<f-args>) -function! IDoc(name,...) - let choices = HaddockIndexLookup(a:name) - if choices=={} | return | endif - if a:0==0 - let keylist = map(deepcopy(keys(choices)),'substitute(v:val,"\\[.\\]","","")') - let choice = inputlist(keylist) - else - let choice = a:1 - endif - let path = values(choices)[choice] " assumes same order for keys/values.. - call DocBrowser(path) -endfunction - -let s:flagref = s:guide . 'flag-reference.html' -if filereadable(s:flagref) - " extract the generated fragment ids for the - " flag reference sections - let s:headerPat = '.\{-}<h3 class="title"><a name="\([^"]*\)"><\/a>\([^<]*\)<\/h3>\(.*\)' - let s:flagheaders = [] - let s:flagheaderids = {} - let s:contents = join(readfile(s:flagref)) - let s:ml = matchlist(s:contents,s:headerPat) - while s:ml!=[] - let [_,s:id,s:title,s:r;s:x] = s:ml - let s:flagheaders = add(s:flagheaders, s:title) - let s:flagheaderids[s:title] = s:id - let s:ml = matchlist(s:r,s:headerPat) - endwhile - command! -nargs=1 -complete=customlist,CompleteFlagHeaders FlagReference call FlagReference(<f-args>) - function! FlagReference(section) - let relativeUrl = a:section==""||!exists("s:flagheaderids['".a:section."']") ? - \ "" : "#".s:flagheaderids[a:section] - call DocBrowser(s:flagref.relativeUrl) - endfunction - function! CompleteFlagHeaders(al,cl,cp) - let s:choices = s:flagheaders - return CompleteAux(a:al,a:cl,a:cp) - endfunction -endif - -command! -nargs=1 -complete=customlist,CompleteHaddockModules MDoc call MDoc(<f-args>) -function! MDoc(module) - let suffix = '.html' - call HaveModuleIndex() - if !has_key(g:haddock_moduleindex,a:module) - echoerr a:module 'not found in haddock module index' - return - endif - let package = g:haddock_moduleindex[a:module]['package'] - let file = substitute(a:module,'\.','-','g') . suffix -" let path = s:libraries . package . '/' . file - let path = g:haddock_moduleindex[a:module]['html'] - call DocBrowser(path) -endfunction - -function! CompleteHaddockModules(al,cl,cp) - call HaveModuleIndex() - let s:choices = keys(g:haddock_moduleindex) - return CompleteAux(a:al,a:cl,a:cp) -endfunction - -" create a dictionary g:haddock_index, containing the haddoc index -command! DocIndex call DocIndex() -function! DocIndex() - let files = split(globpath(s:libraries,'doc-index*.html'),'\n') - let g:haddock_index = {} - call ProcessHaddockIndexes2(s:libraries,files) - if GHC_VersionGE([6,8,2]) - if &shell =~ 'sh' " unix-type shell - let s:addon_libraries = split(system(g:ghc_pkg . ' field \* haddock-html'),'\n') - else " windows cmd.exe and the like - let s:addon_libraries = split(system(g:ghc_pkg . ' field * haddock-html'),'\n') - endif - for addon in s:addon_libraries - let ml = matchlist(addon,'haddock-html: \("\)\?\(file:///\)\?\([^"]*\)\("\)\?') - if ml!=[] - let [_,quote,file,addon_path;x] = ml - let addon_path = substitute(addon_path,'\(\\\\\|\\\)','/','g') - let addon_files = split(globpath(addon_path,'doc-index*.html'),'\n') - call ProcessHaddockIndexes2(addon_path,addon_files) - endif - endfor - endif - return 1 -endfunction - -function! ProcessHaddockIndexes(location,files) - let entryPat= '.\{-}"indexentry"[^>]*>\([^<]*\)<\(\%([^=]\{-}TD CLASS="\%(indexentry\)\@!.\{-}</TD\)*\)[^=]\{-}\(\%(="indexentry\|TABLE\).*\)' - let linkPat = '.\{-}HREF="\([^"]*\)".>\([^<]*\)<\(.*\)' - - redraw - echo 'populating g:haddock_index from haddock index files in ' a:location - for f in a:files - echo f[len(a:location):] - let contents = join(readfile(f)) - let ml = matchlist(contents,entryPat) - while ml!=[] - let [_,entry,links,r;x] = ml - "echo entry links - let ml2 = matchlist(links,linkPat) - let link = {} - while ml2!=[] - let [_,l,m,links;x] = ml2 - "echo l m - let link[m] = a:location . '/' . l - let ml2 = matchlist(links,linkPat) - endwhile - let g:haddock_index[DeHTML(entry)] = deepcopy(link) - "echo entry g:haddock_index[entry] - let ml = matchlist(r,entryPat) - endwhile - endfor -endfunction - -" concatenating all lines is too slow for a big file, process lines directly -function! ProcessHaddockIndexes2(location,files) - let entryPat= '^>\([^<]*\)</' - let linkPat = '.\{-}A HREF="\([^"]*\)"' - let kindPat = '#\(.\)' - - " redraw - echo 'populating g:haddock_index from haddock index files in ' a:location - for f in a:files - echo f[len(a:location):] - let isEntry = 0 - let isLink = '' - let link = {} - let entry = '' - for line in readfile(f) - if line=~'CLASS="indexentry' - if (link!={}) && (entry!='') - if has_key(g:haddock_index,DeHTML(entry)) - let dict = extend(g:haddock_index[DeHTML(entry)],deepcopy(link)) - else - let dict = deepcopy(link) - endif - let g:haddock_index[DeHTML(entry)] = dict - let link = {} - let entry = '' - endif - let isEntry=1 - continue - endif - if isEntry==1 - let ml = matchlist(line,entryPat) - if ml!=[] | let [_,entry;x] = ml | let isEntry=0 | continue | endif - endif - if entry!='' - let ml = matchlist(line,linkPat) - if ml!=[] | let [_,isLink;x]=ml | continue | endif - endif - if isLink!='' - let ml = matchlist(line,entryPat) - if ml!=[] - let [_,module;x] = ml - let [_,kind;x] = matchlist(isLink,kindPat) - let last = a:location[strlen(a:location)-1] - let link[module."[".kind."]"] = a:location . (last=='/'?'':'/') . isLink - let isLink='' - continue - endif - endif - endfor - if link!={} - if has_key(g:haddock_index,DeHTML(entry)) - let dict = extend(g:haddock_index[DeHTML(entry)],deepcopy(link)) - else - let dict = deepcopy(link) - endif - let g:haddock_index[DeHTML(entry)] = dict - endif - endfor -endfunction - -command! ExportDocIndex call ExportDocIndex() -function! ExportDocIndex() - call HaveIndex() - let entries = [] - for key in keys(g:haddock_index) - let entries += [key,string(g:haddock_index[key])] - endfor - call writefile(entries,s:haddock_indexfile) - redir end -endfunction - -command! ImportDocIndex call ImportDocIndex() -function! ImportDocIndex() - if filereadable(s:haddock_indexfile) - let lines = readfile(s:haddock_indexfile) - let i=0 - while i<len(lines) - let [key,dict] = [lines[i],lines[i+1]] - sandbox let g:haddock_index[key] = eval(dict) - let i+=2 - endwhile - return 1 - else - return 0 - endif -endfunction - -function! HaveIndex() - return (g:haddock_index!={} || ImportDocIndex() || DocIndex() ) -endfunction - -function! MkHaddockModuleIndex() - let g:haddock_moduleindex = {} - call HaveIndex() - for key in keys(g:haddock_index) - let dict = g:haddock_index[key] - for module in keys(dict) - let html = dict[module] - let html = substitute(html ,'#.*$','','') - let module = substitute(module,'\[.\]','','') - let ml = matchlist(html,'libraries/\([^\/]*\)\/') - if ml!=[] - let [_,package;x] = ml - let g:haddock_moduleindex[module] = {'package':package,'html':html} - endif - let ml = matchlist(html,'/\([^\/]*\)\/html/[A-Z]') - if ml!=[] - let [_,package;x] = ml - let g:haddock_moduleindex[module] = {'package':package,'html':html} - endif - endfor - endfor -endfunction - -function! HaveModuleIndex() - return (g:haddock_moduleindex!={} || MkHaddockModuleIndex() ) -endfunction - -" decode HTML symbol encodings (are these all we need?) -function! DeHTML(entry) - let res = a:entry - let decode = { '<': '<', '>': '>', '&': '\\&' } - for enc in keys(decode) - exe 'let res = substitute(res,"'.enc.'","'.decode[enc].'","g")' - endfor - return res -endfunction - -" find haddocks for word under cursor -" also lists possible definition sites -" - needs to work for both qualified and unqualified items -" - for 'import qualified M as A', consider M.item as source of A.item -" - offer sources from both type [t] and value [v] namespaces -" - for unqualified items, list all possible sites -" - for qualified items, list imported sites only -" keep track of keys with and without namespace tags: -" the former are needed for lookup, the latter for matching against source -map <LocalLeader>? :call Haddock()<cr> -function! Haddock() - amenu ]Popup.- :echo '-'<cr> - aunmenu ]Popup - let namsym = haskellmode#GetNameSymbol(getline('.'),col('.'),0) - if namsym==[] - redraw - echo 'no name/symbol under cursor!' - return 0 - endif - let [start,symb,qual,unqual] = namsym - let imports = haskellmode#GatherImports() - let asm = has_key(imports[1],qual) ? imports[1][qual]['modules'] : [] - let name = unqual - let dict = HaddockIndexLookup(name) - if dict=={} | return | endif - " for qualified items, narrow results to possible imports that provide qualifier - let filteredKeys = filter(copy(keys(dict)) - \ ,'match(asm,substitute(v:val,''\[.\]'','''',''''))!=-1') - let keys = (qual!='') ? filteredKeys : keys(dict) - if (keys==[]) && (qual!='') - echoerr qual.'.'.unqual.' not found in imports' - return 0 - endif - if len(keys)==1 && exists("g:haskell_avoid_singleton_menus") - call DocBrowser(dict[keys[0]]) - elseif has("gui_running") - for key in keys - exe 'amenu ]Popup.'.escape(key,'\.').' :call DocBrowser('''.dict[key].''')<cr>' - endfor - popup ]Popup - else - let s:choices = keys - let key = input('browse docs for '.name.' in: ','','customlist,CompleteAux') - if key!='' - call DocBrowser(dict[key]) - endif - endif -endfunction - -if !exists("g:haskell_search_engines") - let g:haskell_search_engines = - \ {'hoogle':'http://www.haskell.org/hoogle/?hoogle=%s' - \ ,'hayoo!':'http://holumbus.fh-wedel.de/hayoo/hayoo.html?query=%s' - \ } -endif - -map <LocalLeader>?? :let es=g:haskell_search_engines - \ \|echo "g:haskell_search_engines" - \ \|for e in keys(es) - \ \|echo e.' : '.es[e] - \ \|endfor<cr> -map <LocalLeader>?1 :call HaskellSearchEngine('hoogle')<cr> -map <LocalLeader>?2 :call HaskellSearchEngine('hayoo!')<cr> - -" query one of the Haskell search engines for the thing under cursor -" - unqualified symbols need to be url-escaped -" - qualified ids need to be fed as separate qualifier and id for -" both hoogle (doesn't handle qualified symbols) and hayoo! (no qualified -" ids at all) -" - qualified ids referring to import-qualified-as qualifiers need to be -" translated to the multi-module searches over the list of original modules -function! HaskellSearchEngine(engine) - amenu ]Popup.- :echo '-'<cr> - aunmenu ]Popup - let namsym = haskellmode#GetNameSymbol(getline('.'),col('.'),0) - if namsym==[] - redraw - echo 'no name/symbol under cursor!' - return 0 - endif - let [start,symb,qual,unqual] = namsym - let imports = haskellmode#GatherImports() - let asm = has_key(imports[1],qual) ? imports[1][qual]['modules'] : [] - let unqual = haskellmode#UrlEncode(unqual) - if a:engine=='hoogle' - let name = asm!=[] ? unqual.'+'.join(map(copy(asm),'"%2B".v:val'),'+') - \ : qual!='' ? unqual.'+'.haskellmode#UrlEncode('+').qual - \ : unqual - elseif a:engine=='hayoo!' - let name = asm!=[] ? unqual.'+module:('.join(copy(asm),' OR ').')' - \ : qual!='' ? unqual.'+module:'.qual - \ : unqual - else - let name = qual=="" ? unqual : qual.".".unqual - endif - if has_key(g:haskell_search_engines,a:engine) - call DocBrowser(printf(g:haskell_search_engines[a:engine],name)) - else - echoerr "unknown search engine: ".a:engine - endif -endfunction - -" used to pass on choices to CompleteAux -let s:choices=[] - -" if there's no gui, use commandline completion instead of :popup -" completion function CompleteAux suggests completions for a:al, wrt to s:choices -function! CompleteAux(al,cl,cp) - "echomsg '|'.a:al.'|'.a:cl.'|'.a:cp.'|' - let res = [] - let l = len(a:al)-1 - for r in s:choices - if l==-1 || r[0 : l]==a:al - let res += [r] - endif - endfor - return res -endfunction - -" CamelCase shorthand matching: -" favour upper-case letters and module qualifier separators (.) for disambiguation -function! CamelCase(shorthand,string) - let s1 = a:shorthand - let s2 = a:string - let notFirst = 0 " don't elide before first pattern letter - while ((s1!="")&&(s2!="")) - let head1 = s1[0] - let head2 = s2[0] - let elide = notFirst && ( ((head1=~'[A-Z]') && (head2!~'[A-Z.]')) - \ ||((head1=='.') && (head2!='.')) ) - if elide - let s2=s2[1:] - elseif (head1==head2) - let s1=s1[1:] - let s2=s2[1:] - else - return 0 - endif - let notFirst = (head1!='.')||(head2!='.') " treat separators as new beginnings - endwhile - return (s1=="") -endfunction - -" use haddock name index for insert mode completion (CTRL-X CTRL-U) -function! CompleteHaddock(findstart, base) - if a:findstart - let namsym = haskellmode#GetNameSymbol(getline('.'),col('.'),-1) " insert-mode: we're 1 beyond the text - if namsym==[] - redraw - echo 'no name/symbol under cursor!' - return -1 - endif - let [start,symb,qual,unqual] = namsym - return (start-1) - else " find keys matching with "a:base" - let res = [] - let l = len(a:base)-1 - let qual = a:base =~ '^[A-Z][a-zA-Z0-9_'']*\(\.[A-Z][a-zA-Z0-9_'']*\)*\(\.[a-zA-Z0-9_'']*\)\?$' - call HaveIndex() - for key in keys(g:haddock_index) - let keylist = map(deepcopy(keys(g:haddock_index[key])),'substitute(v:val,"\\[.\\]","","")') - if (key[0 : l]==a:base) - for m in keylist - let res += [{"word":key,"menu":m,"dup":1}] - endfor - elseif qual " this tends to be slower - for m in keylist - let word = m . '.' . key - if word[0 : l]==a:base - let res += [{"word":word,"menu":m,"dup":1}] - endif - endfor - endif - endfor - if res==[] " no prefix matches, try CamelCase shortcuts - for key in keys(g:haddock_index) - let keylist = map(deepcopy(keys(g:haddock_index[key])),'substitute(v:val,"\\[.\\]","","")') - if CamelCase(a:base,key) - for m in keylist - let res += [{"word":key,"menu":m,"dup":1}] - endfor - elseif qual " this tends to be slower - for m in keylist - let word = m . '.' . key - if CamelCase(a:base,word) - let res += [{"word":word,"menu":m,"dup":1}] - endif - endfor - endif - endfor - endif - return res - endif -endfunction -set completefunc=CompleteHaddock -set completeopt=menu,menuone,longest - -" fully qualify an unqualified name -" TODO: - standardise commandline versions of menus -map <LocalLeader>. :call Qualify()<cr> -function! Qualify() - amenu ]Popup.- :echo '-'<cr> - aunmenu ]Popup - let namsym = haskellmode#GetNameSymbol(getline('.'),col('.'),0) - if namsym==[] - redraw - echo 'no name/symbol under cursor!' - return 0 - endif - let [start,symb,qual,unqual] = namsym - if qual!='' " TODO: should we support re-qualification? - redraw - echo 'already qualified' - return 0 - endif - let name = unqual - let line = line('.') - let prefix = (start<=1 ? '' : getline(line)[0:start-2] ) - let dict = HaddockIndexLookup(name) - if dict=={} | return | endif - let keylist = map(deepcopy(keys(dict)),'substitute(v:val,"\\[.\\]","","")') - let imports = haskellmode#GatherImports() - let qualifiedImports = [] - for qualifiedImport in keys(imports[1]) - let c=0 - for module in imports[1][qualifiedImport]['modules'] - if haskellmode#ListElem(keylist,module) | let c+=1 | endif - endfor - if c>0 | let qualifiedImports=[qualifiedImport]+qualifiedImports | endif - endfor - "let asm = has_key(imports[1],qual) ? imports[1][qual]['modules'] : [] - let keylist = filter(copy(keylist),'index(qualifiedImports,v:val)==-1') - if has("gui_running") - " amenu ]Popup.-imported- : - for key in qualifiedImports - let lhs=escape(prefix.name,'/.|\') - let rhs=escape(prefix.key.'.'.name,'/&|\') - exe 'amenu ]Popup.'.escape(key,'\.').' :'.line.'s/'.lhs.'/'.rhs.'/<cr>:noh<cr>' - endfor - amenu ]Popup.-not\ imported- : - for key in keylist - let lhs=escape(prefix.name,'/.|\') - let rhs=escape(prefix.key.'.'.name,'/&|\') - exe 'amenu ]Popup.'.escape(key,'\.').' :'.line.'s/'.lhs.'/'.rhs.'/<cr>:noh<cr>' - endfor - popup ]Popup - else - let s:choices = qualifiedImports+keylist - let key = input('qualify '.name.' with: ','','customlist,CompleteAux') - if key!='' - let lhs=escape(prefix.name,'/.\') - let rhs=escape(prefix.key.'.'.name,'/&\') - exe line.'s/'.lhs.'/'.rhs.'/' - noh - endif - endif -endfunction - -" create (qualified) import for a (qualified) name -" TODO: refine search patterns, to avoid misinterpretation of -" oddities like import'Neither or not'module -map <LocalLeader>i :call Import(0,0)<cr> -map <LocalLeader>im :call Import(1,0)<cr> -map <LocalLeader>iq :call Import(0,1)<cr> -map <LocalLeader>iqm :call Import(1,1)<cr> -function! Import(module,qualified) - amenu ]Popup.- :echo '-'<cr> - aunmenu ]Popup - let namsym = haskellmode#GetNameSymbol(getline('.'),col('.'),0) - if namsym==[] - redraw - echo 'no name/symbol under cursor!' - return 0 - endif - let [start,symb,qual,unqual] = namsym - let name = unqual - let pname = ( symb ? '('.name.')' : name ) - let importlist = a:module ? '' : '('.pname.')' - let qualified = a:qualified ? 'qualified ' : '' - - if qual!='' - exe 'call append(search(''\%1c\(\<import\>\|\<module\>\|{-# OPTIONS\|{-# LANGUAGE\)'',''nb''),''import '.qualified.qual.importlist.''')' - return - endif - - let line = line('.') - let prefix = getline(line)[0:start-1] - let dict = HaddockIndexLookup(name) - if dict=={} | return | endif - let keylist = map(deepcopy(keys(dict)),'substitute(v:val,"\\[.\\]","","")') - if has("gui_running") - for key in keylist - " exe 'amenu ]Popup.'.escape(key,'\.').' :call append(search("\\%1c\\(import\\\\|module\\\\|{-# OPTIONS\\)","nb"),"import '.key.importlist.'")<cr>' - exe 'amenu ]Popup.'.escape(key,'\.').' :call append(search(''\%1c\(\<import\>\\|\<module\>\\|{-# OPTIONS\\|{-# LANGUAGE\)'',''nb''),''import '.qualified.key.escape(importlist,'|').''')<cr>' - endfor - popup ]Popup - else - let s:choices = keylist - let key = input('import '.name.' from: ','','customlist,CompleteAux') - if key!='' - exe 'call append(search(''\%1c\(\<import\>\|\<module\>\|{-# OPTIONS\|{-# LANGUAGE\)'',''nb''),''import '.qualified.key.importlist.''')' - endif - endif -endfunction - -function! HaddockIndexLookup(name) - call HaveIndex() - if !has_key(g:haddock_index,a:name) - echoerr a:name 'not found in haddock index' - return {} - endif - return g:haddock_index[a:name] -endfunction - -" copied from ghc.vim :-( should we move everything to using autoload instead? -" we query the ghc version here, as we don't otherwise need it.. -function! GHC_VersionGE(target) - let s:ghc_version = substitute(system(g:ghc . ' --numeric-version'),'\n','','') - let current = split(g:ghc_version, '\.' ) - let target = a:target - for i in current - if ((target==[]) || (i>target[0])) - return 1 - elseif (i==target[0]) - let target = target[1:] - else - return 0 - endif - endfor - return 1 -endfunction diff --git a/.vim/ftplugin/haskell_hpaste.vim b/.vim/ftplugin/haskell_hpaste.vim deleted file mode 100644 index 33ea0bd..0000000 --- a/.vim/ftplugin/haskell_hpaste.vim +++ /dev/null @@ -1,79 +0,0 @@ -" rudimentary hpaste support for vim -" (using netrw for reading, wget for posting/annotating) -" -" claus reinke, last modified: 07/04/2009 -" -" part of haskell plugins: http://projects.haskell.org/haskellmode-vim - -" unless wget is in your PATH, you need to set g:wget -" before loading this script. windows users are out of -" luck, unless they have wget installed (such as the -" cygwin one looked for here), or adapt this script to -" whatever alternative they have at hand (perhaps using -" vim's perl/python bindings?) -if !exists("g:wget") - if executable("wget") - let g:wget = "!wget -q" - else - let g:wget = "!c:\\cygwin\\bin\\wget -q" - endif -endif - -" read (recent) hpaste files -" show index in new buffer, where ,r will open current entry -" and ,p will annotate current entry with current buffer -command! HpasteIndex call HpasteIndex() -function! HpasteIndex() - new - read http://hpaste.org - %s/\_$\_.//g - %s/<tr[^>]*>//g - %s/<\/tr>/
/g - g/<\/table>/d - g/DOCTYPE/d - %s/<td>\([^<]*\)<\/td><td><a href="\/fastcgi\/hpaste\.fcgi\/view?id=\([0-9]*\)">\([^<]*\)<\/a><\/td><td>\([^<]*\)<\/td><td>\([^<]*\)<\/td><td>\([^<]*\)<\/td>/\2 [\1] "\3" \4 \5 \6/ - map <buffer> ,r 0yE:noh<cr>:call HpasteEditEntry('"')<cr> -endfunction - -" load an existing entry for editing -command! -nargs=1 HpasteEditEntry call HpasteEditEntry(<f-args>) -function! HpasteEditEntry(entry) - new - exe 'Nread http://hpaste.org/fastcgi/hpaste.fcgi/raw?id='.a:entry - "exe 'map <buffer> ,p :call HpasteAnnotate('''.a:entry.''')<cr>' -endfunction - -" " posting temporarily disabled -- needs someone to look into new -" " hpaste.org structure - -" " annotate existing entry (only to be called via ,p in HpasteIndex) -" function! HpasteAnnotate(entry) -" let nick = input("nick? ") -" let title = input("title? ") -" if nick=='' || title=='' -" echo "nick or title missing. aborting annotation" -" return -" endif -" call HpastePost('annotate/'.a:entry,nick,title) -" endfunction -" -" " post new hpaste entry -" " using 'wget --post-data' and url-encoded content -" command! HpastePostNew call HpastePost('new',<args>) -" function! HpastePost(mode,nick,title,...) -" let lines = getbufline("%",1,"$") -" let pat = '\([^[:alnum:]]\)' -" let code = '\=printf("%%%02X",char2nr(submatch(1)))' -" let lines = map(lines,'substitute(v:val."\r\n",'''.pat.''','''.code.''',''g'')') -" -" let url = 'http://hpaste.org/' . a:mode -" let nick = substitute(a:nick,pat,code,'g') -" let title = substitute(a:title,pat,code,'g') -" if a:0==0 -" let announce = 'false' -" else -" let announce = a:1 -" endif -" let cmd = g:wget.' --post-data="content='.join(lines,'').'&nick='.nick.'&title='.title.'&announce='.announce.'" '.url -" exe escape(cmd,'%') -" endfunction diff --git a/.vim/ftplugin/latex-suite/bibtex.vim b/.vim/ftplugin/latex-suite/bibtex.vim deleted file mode 100644 index 8037914..0000000 --- a/.vim/ftplugin/latex-suite/bibtex.vim +++ /dev/null @@ -1,266 +0,0 @@ -"============================================================================= -" File: bibtex.vim -" Function: BibT -" Author: Alan G Isaac <aisaac@american.edu> -" modified by Srinath Avadhanula for latex-suite. -" License: Vim Charityware license. -" CVS: $Id: bibtex.vim 997 2006-03-20 09:45:45Z srinathava $ -"============================================================================= - -" Fields: -" Define what field type each letter denotes {{{ -" -let s:w_standsfor = 'address' -let s:a_standsfor = 'author' -let s:b_standsfor = 'booktitle' -let s:c_standsfor = 'chapter' -let s:d_standsfor = 'edition' -let s:e_standsfor = 'editor' -let s:h_standsfor = 'howpublished' -let s:i_standsfor = 'institution' -let s:k_standsfor = 'isbn' -let s:j_standsfor = 'journal' -let s:m_standsfor = 'month' -let s:n_standsfor = 'number' -let s:o_standsfor = 'organization' -let s:p_standsfor = 'pages' -let s:q_standsfor = 'publisher' -let s:r_standsfor = 'school' -let s:s_standsfor = 'series' -let s:t_standsfor = 'title' -let s:u_standsfor = 'type' -let s:v_standsfor = 'volume' -let s:y_standsfor = 'year' -let s:z_standsfor = 'note' - -" }}} -" Define the fields required for the various entry types {{{ -" -" s:{type}_required defines the required fields -" s:{type}_optional1 defines common optional fields -" s:{type}_optional2 defines uncommmon optional fields -" s:{type}_retval defines the first line of the formatted bib entry. -" -let s:key='<+key+>' - -let s:{'article'}_required="atjy" -let s:{'article'}_optional1="vnpm" -let s:{'article'}_optional2="z" " z is note -let s:{'article'}_retval = '@ARTICLE{' . s:key . ','."\n" - -let s:{'book'}_required="aetqy" " requires author *or* editor -let s:{'book'}_optional1="wd" -let s:{'book'}_optional2="vnsmz" " w is address, d is edition -let s:{'book'}_extras="k" " isbn -let s:{'book'}_retval = '@BOOK{' . s:key . ','."\n" - -let s:{'booklet'}_required="t" -let s:{'booklet'}_optional1="ahy" -let s:{'booklet'}_optional2="wmz" " w is address -let s:{'booklet'}_retval = '@BOOKLET{' . s:key . ','."\n" - -let s:{'inbook'}_required="aetcpqy" -let s:{'inbook'}_optional1="w" " w is address -let s:{'inbook'}_optional2="vnsudmz" " d is edition -let s:{'inbook'}_extras="k" " isbn -let s:{'inbook'}_retval = '@INBOOK{' . s:key . ','."\n" - -let s:{'incollection'}_required="atbqy" " b is booktitle -let s:{'incollection'}_optional1="cpw" " w is address, c is chapter -let s:{'incollection'}_optional2="evnsudmz" " d is edition -let s:{'incollection'}_extras="k" " isbn -let s:{'incollection'}_retval = '@INCOLLECTION{' . s:key . ','."\n" - -let s:{'inproceedings'}_required="atby" " b is booktitle -let s:{'inproceedings'}_optional1="epwoq" " w is address, q is publisher -let s:{'inproceedings'}_optional2="vnsmz" -let s:{'inproceedings'}_extras="k" " isbn -let s:{'inproceedings'}_retval = '@INPROCEEDINGS{' . s:key . ','."\n" - -let s:{'conference'}_required="atby" " b is booktitle -let s:{'conference'}_optional1="epwoq" " w is address, q is publisher -let s:{'conference'}_optional2="vnsmz" -let s:{'conference'}_extras="k" " isbn -let s:{'conference'}_retval = '@CONFERENCE{' . s:key . ','."\n" - -let s:{'manual'}_required="t" -let s:{'manual'}_optional1="ow" -let s:{'manual'}_optional2="admyz" " w is address -let s:{'manual'}_retval = '@MANUAL{' . s:key . ','."\n" - -let s:{'msthesis'}_required="atry" " r is school -let s:{'msthesis'}_optional1="w" " w is address -let s:{'msthesis'}_optional2="umz" " u is type, w is address -let s:{'msthesis'}_retval = '@MASTERSTHESIS{' . s:key . ','."\n" - -let s:{'misc'}_required="" -let s:{'misc'}_optional1="ath" -let s:{'misc'}_optional2="myz" -let s:{'misc'}_retval = '@MISC{' . s:key . ','."\n" - -let s:{'phdthesis'}_required="atry" " r is school -let s:{'phdthesis'}_optional1="w" " w is address -let s:{'phdthesis'}_optional2="umz" " u is type -let s:{'phdthesis'}_retval = '@PHDTHESIS{' . s:key . ','."\n" - -let s:{'proceedings'}_required="ty" -let s:{'proceedings'}_optional1="ewo" " w is address -let s:{'proceedings'}_optional2="vnsmqz" " q is publisher -let s:{'proceedings'}_retval = '@PROCEEDINGS{' . s:key . ','."\n" - -let s:{'techreport'}_required="atiy" -let s:{'techreport'}_optional1="unw" " u is type, w is address -let s:{'techreport'}_optional2="mz" -let s:{'techreport'}_retval = '@TECHREPORT{' . s:key . ','."\n" - -let s:{'unpublished'}_required="atz" -let s:{'unpublished'}_optional1="y" -let s:{'unpublished'}_optional2="m" -let s:{'unpublished'}_retval = '@UNPUBLISHED{' . s:key . ','."\n" - -" }}} - -if exists('s:done') - finish -endif -let s:done = 1 - -call IMAP ('BBB', "\<C-r>=BibT('', '', 0)\<CR>", 'bib') -call IMAP ('BBL', "\<C-r>=BibT('', 'o', 0)\<CR>", 'bib') -call IMAP ('BBH', "\<C-r>=BibT('', 'O', 0)\<CR>", 'bib') -call IMAP ('BBX', "\<C-r>=BibT('', 'Ox', 0)\<CR>", 'bib') - -" BibT: function to generate a formatted bibtex entry {{{ -" three sample usages: -" :call BibT() will request type choice -" :call BibT("article") preferred, provides most common fields -" :call BibT("article","ox") more optional fields (o) and extras (x) -" -" Input Arguments: -" type: is one of the types listed above. (this should be a complete name, not -" the acronym). -" options: a string containing 0 or more of the letters 'oOx' -" where -" o: include a bib entry with first set of options -" O: include a bib entry with extended options -" x: incude bib entry with extra options -" prompt: whether the fields are asked to be filled on the command prompt or -" whether place-holders are used. when prompt == 1, then comman line -" questions are used. -" -" Returns: -" a string containing a formatted bib entry -function BibT(type, options, prompt) - if a:type != '' - let choosetype = a:type - else - let types = - \ 'article'."\n". - \ 'booklet'."\n". - \ 'book'."\n". - \ 'conference'."\n". - \ 'inbook'."\n". - \ 'incollection'."\n". - \ 'inproceedings'."\n". - \ 'manual'."\n". - \ 'msthesis'."\n". - \ 'misc'."\n". - \ 'phdthesis'."\n". - \ 'proceedings'."\n". - \ 'techreport'."\n". - \ 'unpublished' - let choosetype = Tex_ChooseFromPrompt( - \ "Choose the type of bibliographic entry: \n" . - \ Tex_CreatePrompt(types, 3, "\n") . - \ "\nEnter number or filename :", - \ types, "\n") - if choosetype == '' - let choosetype = 'article' - endif - if types !~ '^\|\n'.choosetype.'$\|\n' - echomsg 'Please choose only one of the given types' - return - endif - endif - if a:options != '' - let options = a:options - else - let options = "" - endif - - let fields = '' - let extras="" - let retval = "" - - " define fields - let fields = s:{choosetype}_required - if options =~ 'o' && exists('s:'.choosetype.'_optional1') - let fields = fields . s:{choosetype}_optional1 - endif - if options =~ "O" && exists('s:'.choosetype.'_optional2') - if options !~ 'o'&& exists('s:'.choosetype.'_optional1') - let fields = fields . s:{choosetype}_optional1 - endif - let fields = fields . s:{choosetype}_optional2 - endif - if options =~ "x" && exists('s:'.choosetype.'_extras') - let fields = fields . extras - endif - if exists('g:Bib_'.choosetype.'_options') - let fields = fields . g:Bib_{choosetype}_options - endif - - let retval = s:{choosetype}_retval - - let i = 0 - while i < strlen(fields) - let field = strpart(fields, i, 1) - - if exists('s:'.field.'_standsfor') - let field_name = s:{field}_standsfor - let retval = retval.field_name." = {<++>},\n" - endif - - let i = i + 1 - endwhile - - " If the user wants even more fine-tuning... - if Tex_GetVarValue('Bib_'.choosetype.'_extrafields') != '' - - let extrafields = Tex_GetVarValue('Bib_'.choosetype.'_extrafields') - - let i = 1 - while 1 - let field_name = Tex_Strntok(extrafields, "\n", i) - if field_name == '' - break - endif - - let retval = retval.field_name." = {<++>},\n" - - let i = i + 1 - endwhile - - endif - - let retval = retval.'otherinfo = {<++>}'."\n" - let retval = retval."}<++>"."\n" - - return IMAP_PutTextWithMovement(retval) -endfunction - -" }}} -function! s:Input(prompt, ask) " {{{ - if a:ask == 1 - let retval = input(a:prompt) - if retval == '' - return "<++>" - endif - else - return "<++>" - endif -endfunction - -" }}} - -" vim:fdm=marker:ff=unix:noet:ts=4:sw=4 diff --git a/.vim/ftplugin/latex-suite/bibtools.py b/.vim/ftplugin/latex-suite/bibtools.py deleted file mode 100644 index 0a5366c..0000000 --- a/.vim/ftplugin/latex-suite/bibtools.py +++ /dev/null @@ -1,221 +0,0 @@ -# Author: Srinath Avadhanula -# This file is distributed as part of the vim-latex project -# http://vim-latex.sf.net - -import re - -class Bibliography(dict): - def __init__(self, txt, macros={}): - """ - txt: - a string which represents the entire bibtex entry. A typical - entry is of the form: - @ARTICLE{ellington:84:part3, - author = {Ellington, C P}, - title = {The Aerodynamics of Hovering Insect Flight. III. Kinematics}, - journal = {Philosophical Transactions of the Royal Society of London. Series B, Biological Sciences}, - year = {1984}, - volume = {305}, - pages = {41-78}, - number = {1122}, - owner = {Srinath}, - pdf = {C:\srinath\research\papers\Ellington-3-Kinematics.pdf}, - timestamp = {2006.01.02}, - } - """ - - if macros: - for k, v in macros.iteritems(): - txt = txt.replace(k, '{'+v+'}') - - m = re.match(r'\s*@(\w+){((\S+),)?(.*)}\s*', txt, re.MULTILINE | re.DOTALL) - if not m: - return None - - self['bibtype'] = m.group(1).capitalize() - self['key'] = m.group(3) - self['body'] = m.group(4) - - body = self['body'] - self['bodytext'] = '' - while 1: - m = re.search(r'(\S+?)\s*=\s*(.)', body) - if not m: - break - - field = m.group(1) - - body = body[(m.start(2)+1):] - if m.group(2) == '{': - # search for the next closing brace. This is not simply a - # matter of searching for the next closing brace since - # braces can be nested. The following code basically goes - # to the next } which has not already been closed by a - # following {. - mniter = re.finditer(r'{|}', body) - - count = 1 - while 1: - try: - mn = mniter.next() - except StopIteration: - return None - - if mn.group(0) == '{': - count += 1 - else: - count -= 1 - - if count == 0: - value = body[:(mn.start(0))] - break - - elif m.group(2) == '"': - # search for the next unquoted double-quote. To be more - # precise, a double quote which is preceded by an even - # number of double quotes. - mn = re.search(r'(?!\\)(\\\\)*"', body) - if not mn: - return None - - value = body[:(mn.start(0))] - - else: - # $ always matches. So we do not need to do any - # error-checking. - mn = re.search(r',|$', body) - value = m.group(2) + body[:(mn.start(0))].rstrip() - - self[field] = re.sub(r'\s+', ' ', value) - body = body[(mn.start(0)+1):] - - self['bodytext'] += (' %s: %s\n' % (field, value)) - if self['bibtype'].lower() == 'string': - self['macro'] = {field: value} - - self['bodytext'] = self['bodytext'].rstrip() - - - def __getitem__(self, key): - try: - return dict.__getitem__(self, key) - except KeyError: - return '' - - def __str__(self): - if self['bibtype'].lower() == 'string': - return 'String: %(macro)s' % self - - elif self['bibtype'].lower() == 'article': - return ('Article [%(key)s]\n' + - 'TI "%(title)s"\n' + - 'AU %(author)s\n' + - 'IN In %(journal)s, %(year)s') % self - - elif self['bibtype'].lower() == 'conference': - return ('Conference [%(key)s]\n' + - 'TI "%(title)s"\n' + - 'AU %(author)s\n' + - 'IN In %(booktitle)s, %(year)s') % self - - elif self['bibtype'].lower() == 'mastersthesis': - return ('Masters [%(key)s]\n' + - 'TI "%(title)s"\n' + - 'AU %(author)s\n' + - 'IN In %(school)s, %(year)s') % self - - elif self['bibtype'].lower() == 'phdthesis': - return ('PhD [%(key)s]\n' + - 'TI "%(title)s"\n' + - 'AU %(author)s\n' + - 'IN In %(school)s, %(year)s') % self - - elif self['bibtype'].lower() == 'book': - return ('Book [%(key)s]\n' + - 'TI "%(title)s"\n' + - 'AU %(author)s\n' + - 'IN %(publisher)s, %(year)s') % self - - else: - s = '%(bibtype)s [%(key)s]\n' % self - if self['title']: - s += 'TI "%(title)s"\n' % self - if self['author']: - s += 'AU %(author)s\n' % self - for k, v in self.iteritems(): - if k not in ['title', 'author', 'bibtype', 'key', 'id', 'file', 'body', 'bodytext']: - s += 'MI %s: %s\n' % (k, v) - - return s.rstrip() - - def satisfies(self, filters): - for field, regexp in filters: - if not re.search(regexp, self[field], re.I): - return False - - return True - -class BibFile: - - def __init__(self, filelist=''): - self.bibentries = [] - self.filters = [] - self.macros = {} - self.sortfields = [] - if filelist: - for f in filelist.splitlines(): - self.addfile(f) - - def addfile(self, file): - fields = open(file).read().split('@') - for f in fields: - if not (f and re.match('string', f, re.I)): - continue - - b = Bibliography('@' + f) - self.macros.update(b['macro']) - - for f in fields: - if not f or re.match('string', f, re.I): - continue - - b = Bibliography('@' + f, self.macros) - if b: - b['file'] = file - b['id'] = len(self.bibentries) - self.bibentries += [b] - - - def addfilter(self, filterspec): - self.filters += [filterspec.split()] - - def rmfilters(self): - self.filters = [] - - def __str__(self): - s = '' - for b in self.bibentries: - if b['key'] and b.satisfies(self.filters): - s += '%s\n\n' % b - return s - - def addsortfield(self, field): - self.sortfields += [field] - - def rmsortfields(self): - self.sortfields = [] - - def sort(self): - def cmpfun(b1, b2): - for f in self.sortfields: - c = cmp(b1[f], b2[f]) - if c: - return c - return 0 - self.bibentries.sort(cmp=cmpfun) - -if __name__ == "__main__": - import sys - - bf = BibFile(sys.argv[1]) - print bf diff --git a/.vim/ftplugin/latex-suite/bibtools.pyc b/.vim/ftplugin/latex-suite/bibtools.pyc Binary files differdeleted file mode 100644 index c79961f..0000000 --- a/.vim/ftplugin/latex-suite/bibtools.pyc +++ /dev/null diff --git a/.vim/ftplugin/latex-suite/brackets.vim b/.vim/ftplugin/latex-suite/brackets.vim deleted file mode 100644 index 0669ce4..0000000 --- a/.vim/ftplugin/latex-suite/brackets.vim +++ /dev/null @@ -1,145 +0,0 @@ -" ============================================================================== -" History: This was originally part of auctex.vim by Carl Mueller. -" Srinath Avadhanula incorporated it into latex-suite with -" significant modifications. -" Parts of this file may be copyrighted by others as noted. -" CVS: $Id: brackets.vim 997 2006-03-20 09:45:45Z srinathava $ -" Description: -" This ftplugin provides the following maps: -" . <M-b> encloses the previous character in \mathbf{} -" . <M-c> is polymorphic as follows: -" Insert mode: -" 1. If the previous character is a letter or number, then capitalize it and -" enclose it in \mathcal{} -" 2. otherwise insert \cite{} -" Visual Mode: -" 1. Enclose selection in \mathcal{} -" . <M-l> is also polymorphic as follows: -" If the character before typing <M-l> is one of '([{|<q', then do the -" following: -" 1. (<M-l> \left(\right -" similarly for [, | -" {<M-l> \left\{\right\} -" 2. <<M-l> \langle\rangle -" 3. q<M-l> \lefteqn{} -" otherwise insert \label{} -" . <M-i> inserts \item commands at the current cursor location depending on -" the surrounding environment. For example, inside itemize, it will -" insert a simple \item, but within a description, it will insert -" \item[<+label+>] etc. -" -" These functions make it extremeley easy to do all the \left \right stuff in -" latex. -" ============================================================================== - -" Avoid reinclusion. -if exists('b:did_brackets') - finish -endif -let b:did_brackets = 1 - -" define the funtions only once. -if exists('*Tex_MathBF') - finish -endif - -" Tex_MathBF: encloses te previous letter/number in \mathbf{} {{{ -" Description: -function! Tex_MathBF() - return "\<Left>\\mathbf{\<Right>}" -endfunction " }}} -" Tex_MathCal: enclose the previous letter/number in \mathcal {{{ -" Description: -" if the last character is not a letter/number, then insert \cite{} -function! Tex_MathCal() - let line = getline(line(".")) - let char = line[col(".")-2] - - if char =~ '[a-zA-Z0-9]' - return "\<BS>".'\mathcal{'.toupper(char).'}' - else - return IMAP_PutTextWithMovement('\cite{<++>}<++>') - endif -endfunction -" }}} -" Tex_LeftRight: maps <M-l> in insert mode. {{{ -" Description: -" This is a polymorphic function, which maps the behaviour of <M-l> in the -" following way: -" If the character before typing <M-l> is one of '([{|<q', then do the -" following: -" 1. (<M-l> \left(<++>\right<++> -" similarly for [, | -" {<M-l> \left\{<++>\right\}<++> -" 2. <<M-l> \langle<++>\rangle<++> -" 3. q<M-l> \lefteqn{<++>}<++> -" otherwise insert \label{<++>}<++> -function! Tex_LeftRight() - let line = getline(line(".")) - let char = line[col(".")-2] - let previous = line[col(".")-3] - - let matchedbrackets = '()[]{}||' - if char =~ '(\|\[\|{\||' - let add = '' - if char =~ '{' - let add = "\\" - endif - let rhs = matchstr(matchedbrackets, char.'\zs.\ze') - return "\<BS>".IMAP_PutTextWithMovement('\left'.add.char.'<++>\right'.add.rhs.'<++>') - elseif char == '<' - return "\<BS>".IMAP_PutTextWithMovement('langle<++>\rangle<++>') - elseif char == 'q' - return "\<BS>".IMAP_PutTextWithMovement('\lefteqn{<++>}<++>') - else - return IMAP_PutTextWithMovement('\label{<++>}<++>') - endif -endfunction " }}} -" Tex_PutLeftRight: maps <M-l> in normal mode {{{ -" Description: -" Put \left...\right in front of the matched brackets. -function! Tex_PutLeftRight() - let previous = getline(line("."))[col(".") - 2] - let char = getline(line("."))[col(".") - 1] - if previous == '\' - if char == '{' - exe "normal ileft\\\<Esc>l%iright\\\<Esc>l%" - elseif char == '}' - exe "normal iright\\\<Esc>l%ileft\\\<Esc>l%" - endif - elseif char =~ '\[\|(' - exe "normal i\\left\<Esc>l%i\\right\<Esc>l%" - elseif char =~ '\]\|)' - exe "normal i\\right\<Esc>l%i\\left\<Esc>l%" - endif -endfunction " }}} - -" Provide <plug>'d mapping for easy user customization. {{{ -inoremap <silent> <Plug>Tex_MathBF <C-r>=Tex_MathBF()<CR> -inoremap <silent> <Plug>Tex_MathCal <C-r>=Tex_MathCal()<CR> -inoremap <silent> <Plug>Tex_LeftRight <C-r>=Tex_LeftRight()<CR> -vnoremap <silent> <Plug>Tex_MathBF <C-C>`>a}<Esc>`<i\mathbf{<Esc> -vnoremap <silent> <Plug>Tex_MathCal <C-C>`>a}<Esc>`<i\mathcal{<Esc> -nnoremap <silent> <Plug>Tex_LeftRight :call Tex_PutLeftRight()<CR> - -" }}} -" Tex_SetBracketingMaps: create mappings for the current buffer {{{ -function! <SID>Tex_SetBracketingMaps() - - call Tex_MakeMap('<M-b>', '<Plug>Tex_MathBF', 'i', '<buffer> <silent>') - call Tex_MakeMap('<M-c>', '<Plug>Tex_MathCal', 'i', '<buffer> <silent>') - call Tex_MakeMap('<M-l>', '<Plug>Tex_LeftRight', 'i', '<buffer> <silent>') - call Tex_MakeMap('<M-b>', '<Plug>Tex_MathBF', 'v', '<buffer> <silent>') - call Tex_MakeMap('<M-c>', '<Plug>Tex_MathCal', 'v', '<buffer> <silent>') - call Tex_MakeMap('<M-l>', '<Plug>Tex_LeftRight', 'n', '<buffer> <silent>') - -endfunction -" }}} - -augroup LatexSuite - au LatexSuite User LatexSuiteFileType - \ call Tex_Debug('brackets.vim: Catching LatexSuiteFileType event', 'brak') | - \ call <SID>Tex_SetBracketingMaps() -augroup END - -" vim:fdm=marker diff --git a/.vim/ftplugin/latex-suite/compiler.vim b/.vim/ftplugin/latex-suite/compiler.vim deleted file mode 100644 index 245f6cd..0000000 --- a/.vim/ftplugin/latex-suite/compiler.vim +++ /dev/null @@ -1,820 +0,0 @@ -"============================================================================= -" File: compiler.vim -" Author: Srinath Avadhanula -" Created: Tue Apr 23 05:00 PM 2002 PST -" -" Description: functions for compiling/viewing/searching latex documents -" CVS: $Id: compiler.vim 997 2006-03-20 09:45:45Z srinathava $ -"============================================================================= - -" Tex_SetTeXCompilerTarget: sets the 'target' for the next call to Tex_RunLaTeX() {{{ -function! Tex_SetTeXCompilerTarget(type, target) - call Tex_Debug("+Tex_SetTeXCompilerTarget: setting target to [".a:target."] for ".a:type."r", "comp") - - if a:target == '' - let target = Tex_GetVarValue('Tex_DefaultTargetFormat') - let target = input('Enter the target format for '.a:type.'r: ', target) - else - let target = a:target - endif - if target == '' - let target = 'dvi' - endif - - let targetRule = Tex_GetVarValue('Tex_'.a:type.'Rule_'.target) - - if targetRule != '' - if a:type == 'Compile' - let &l:makeprg = escape(targetRule, Tex_GetVarValue('Tex_EscapeChars')) - elseif a:type == 'View' - let s:viewer = targetRule - endif - let s:target = target - - elseif Tex_GetVarValue('Tex_'.a:type.'RuleComplete_'.target) != '' - let s:target = target - - else - let curd = getcwd() - exe 'cd '.expand('%:p:h') - if !Tex_GetVarValue('Tex_UseMakefile') || (glob('makefile*') == '' && glob('Makefile*') == '') - if has('gui_running') - call confirm( - \'No '.a:type.' rule defined for target '.target."\n". - \'Please specify a rule in $VIMRUNTIME/ftplugin/tex/texrc'."\n". - \' :help Tex_'.a:type.'Rule_format'."\n". - \'for more information', - \"&ok", 1, 'Warning') - else - call input( - \'No '.a:type.' rule defined for target '.target."\n". - \'Please specify a rule in $VIMRUNTIME/ftplugin/tex/texrc'."\n". - \' :help Tex_'.a:type.'Rule_format'."\n". - \'for more information' - \) - endif - else - echomsg 'Assuming target is for makefile' - let s:target = target - endif - exe 'cd '.curd - endif -endfunction - -function! SetTeXTarget(...) - if a:0 < 1 - let target = Tex_GetVarValue('Tex_DefaultTargetFormat') - let target = input('Enter the target format for compiler and viewer: ', target) - else - let target = a:1 - endif - if target == '' - let target = 'dvi' - endif - - call Tex_SetTeXCompilerTarget('Compile', target) - call Tex_SetTeXCompilerTarget('View', target) -endfunction - -com! -nargs=1 TCTarget :call Tex_SetTeXCompilerTarget('Compile', <f-args>) -com! -nargs=1 TVTarget :call Tex_SetTeXCompilerTarget('View', <f-args>) -com! -nargs=? TTarget :call SetTeXTarget(<f-args>) - -" }}} -" Tex_CompileLatex: compiles the present file. {{{ -" Description: -function! Tex_CompileLatex() - if &ft != 'tex' - echo "calling Tex_RunLaTeX from a non-tex file" - return - end - - " close any preview windows left open. - pclose! - - let curd = getcwd() - - " Find the main file corresponding to this file. Always cd to the - " directory containing the file to avoid problems with the directory - " containing spaces. - " Latex on linux seems to be unable to handle file names with spaces at - " all! Therefore for the moment, do not attempt to handle spaces in the - " file name. - if exists('b:fragmentFile') - let mainfname = expand('%:p:t') - call Tex_CD(expand('%:p:h')) - else - let mainfname = Tex_GetMainFileName(':p:t') - call Tex_CD(Tex_GetMainFileName(':p:h')) - end - - call Tex_Debug('Tex_CompileLatex: getting mainfname = ['.mainfname.'] from Tex_GetMainFileName', 'comp') - - " if a makefile exists and the user wants to use it, then use that - " irrespective of whether *.latexmain exists or not. mainfname is still - " extracted from *.latexmain (if possible) log file name depends on the - " main file which will be compiled. - if Tex_GetVarValue('Tex_UseMakefile') && (glob('makefile') != '' || glob('Makefile') != '') - let _makeprg = &l:makeprg - call Tex_Debug("Tex_CompileLatex: using the makefile in the current directory", "comp") - let &l:makeprg = 'make $*' - if exists('s:target') - call Tex_Debug('Tex_CompileLatex: execing [make! '.s:target.']', 'comp') - exec 'make! '.s:target - else - call Tex_Debug('Tex_CompileLatex: execing [make!]', 'comp') - exec 'make!' - endif - let &l:makeprg = _makeprg - else - " If &makeprg has something like "$*.ps", it means that it wants the - " file-name without the extension... Therefore remove it. - if &makeprg =~ '\$\*\.\w\+' - let mainfname = fnamemodify(mainfname, ':r') - endif - call Tex_Debug('Tex_CompileLatex: execing [make! '.mainfname.']', 'comp') - exec 'make! '.mainfname - endif - redraw! - - call Tex_CD(curd) -endfunction " }}} -" Tex_RunLaTeX: compilation function {{{ -" this function runs the latex command on the currently open file. often times -" the file being currently edited is only a fragment being \input'ed into some -" master tex file. in this case, make a file called mainfile.latexmain in the -" directory containig the file. in other words, if the current file is -" ~/thesis/chapter.tex -" so that doing "latex chapter.tex" doesnt make sense, then make a file called -" main.tex.latexmain -" in the ~/thesis directory. this will then run "latex main.tex" when -" Tex_RunLaTeX() is called. -function! Tex_RunLaTeX() - call Tex_Debug('+Tex_RunLaTeX, b:fragmentFile = '.exists('b:fragmentFile'), 'comp') - - let dir = expand("%:p:h").'/' - let curd = getcwd() - call Tex_CD(expand("%:p:h")) - - let initTarget = s:target - - " first get the dependency chain of this format. - call Tex_Debug("Tex_RunLaTeX: compiling to target [".s:target."]", "comp") - - if Tex_GetVarValue('Tex_FormatDependency_'.s:target) != '' - let dependency = Tex_GetVarValue('Tex_FormatDependency_'.s:target) - if dependency !~ ','.s:target.'$' - let dependency = dependency.','.s:target - endif - else - let dependency = s:target - endif - - call Tex_Debug('Tex_RunLaTeX: getting dependency chain = ['.dependency.']', 'comp') - - " now compile to the final target format via each dependency. - let i = 1 - while Tex_Strntok(dependency, ',', i) != '' - let s:target = Tex_Strntok(dependency, ',', i) - - call Tex_SetTeXCompilerTarget('Compile', s:target) - call Tex_Debug('Tex_RunLaTeX: setting target to '.s:target, 'comp') - - if Tex_GetVarValue('Tex_MultipleCompileFormats') =~ '\<'.s:target.'\>' - call Tex_Debug("Tex_RunLaTeX: compiling file multiple times via Tex_CompileMultipleTimes", "comp") - call Tex_CompileMultipleTimes() - else - call Tex_Debug("Tex_RunLaTeX: compiling file once via Tex_CompileLatex", "comp") - call Tex_CompileLatex() - endif - - let errlist = Tex_GetErrorList() - call Tex_Debug("Tex_RunLaTeX: errlist = [".errlist."]", "comp") - - " If there are any errors, then break from the rest of the steps - if errlist =~ '\v(error|warning)' - call Tex_Debug('Tex_RunLaTeX: There were errors in compiling, breaking chain...', 'comp') - break - endif - - let i = i + 1 - endwhile - - let s:target = initTarget - let s:origwinnum = winnr() - call Tex_SetupErrorWindow() - - call Tex_CD(curd) - call Tex_Debug("-Tex_RunLaTeX", "comp") -endfunction - -" }}} -" Tex_ViewLaTeX: opens viewer {{{ -" Description: opens the DVI viewer for the file being currently edited. -" Again, if the current file is a \input in a master file, see text above -" Tex_RunLaTeX() to see how to set this information. -function! Tex_ViewLaTeX() - if &ft != 'tex' - echo "calling Tex_ViewLaTeX from a non-tex file" - return - end - - let curd = getcwd() - - " If b:fragmentFile is set, it means this file was compiled as a fragment - " using Tex_PartCompile, which means that we want to ignore any - " *.latexmain or makefile's. - if !exists('b:fragmentFile') - " cd to the location of the file to avoid having to deal with spaces - " in the directory name. - let mainfname = Tex_GetMainFileName(':p:t:r') - call Tex_CD(Tex_GetMainFileName(':p:h')) - else - let mainfname = expand("%:p:t:r") - call Tex_CD(expand("%:p:h")) - endif - - if Tex_GetVarValue('Tex_ViewRuleComplete_'.s:target) != '' - - let execString = Tex_GetVarValue('Tex_ViewRuleComplete_'.s:target) - let execString = substitute(execString, '{v:servername}', v:servername, 'g') - - elseif has('win32') - " unfortunately, yap does not allow the specification of an external - " editor from the command line. that would have really helped ensure - " that this particular vim and yap are connected. - let execString = 'start '.s:viewer.' "$*.'.s:target.'"' - - elseif has('macunix') - if strlen(s:viewer) - let s:viewer = '-a '.s:viewer - endif - let execString = 'open '.s:viewer.' $*.'.s:target - - else - " taken from Dimitri Antoniou's tip on vim.sf.net (tip #225). - " slight change to actually use the current servername instead of - " hardcoding it as xdvi. - " Using an option for specifying the editor in the command line - " because that seems to not work on older bash'es. - if s:target == 'dvi' - - if Tex_GetVarValue('Tex_UseEditorSettingInDVIViewer') == 1 && - \ v:servername != '' && - \ (s:viewer == "xdvi" || s:viewer == "xdvik") - - let execString = s:viewer.' -editor "gvim --servername '.v:servername. - \ ' --remote-silent +\%l \%f" $*.dvi &' - - elseif Tex_GetVarValue('Tex_UseEditorSettingInDVIViewer') == 1 && - \ s:viewer == "kdvi" - - let execString = 'kdvi --unique $*.dvi &' - - else - - let execString = s:viewer.' $*.dvi &' - - endif - - else - - let execString = s:viewer.' $*.'.s:target.' &' - - endif - end - - let execString = substitute(execString, '\V$*', mainfname, 'g') - call Tex_Debug("Tex_ViewLaTeX: execString = ".execString, "comp") - - exec 'silent! !'.execString - - if !has('gui_running') - redraw! - endif - - call Tex_CD(curd) -endfunction - -" }}} -" Tex_ForwardSearchLaTeX: searches for current location in dvi file. {{{ -" Description: if the DVI viewr is compatible, then take the viewer to that -" position in the dvi file. see docs for Tex_RunLaTeX() to set a -" master file if this is an \input'ed file. -" Tip: With YAP on Windows, it is possible to do forward and inverse searches -" on DVI files. to do forward search, you'll have to compile the file -" with the --src-specials option. then set the following as the command -" line in the 'view/options/inverse search' dialog box: -" gvim --servername LATEX --remote-silent +%l "%f" -" For inverse search, if you are reading this, then just pressing \ls -" will work. -function! Tex_ForwardSearchLaTeX() - if &ft != 'tex' - echo "calling Tex_ViewLaTeX from a non-tex file" - return - end - - " only know how to do forward search for yap on windows and xdvik (and - " some newer versions of xdvi) on unices. Therefore forward searching will - " automatically open the DVI viewer irrespective of what the user chose as - " the default view format. - if Tex_GetVarValue('Tex_ViewRule_dvi') == '' - return - endif - let viewer = Tex_GetVarValue('Tex_ViewRule_dvi') - - let curd = getcwd() - - let mainfname = Tex_GetMainFileName(':t') - let mainfnameRoot = fnamemodify(Tex_GetMainFileName(), ':t:r') - " cd to the location of the file to avoid problems with directory name - " containing spaces. - call Tex_CD(Tex_GetMainFileName(':p:h')) - - " inverse search tips taken from Dimitri Antoniou's tip and Benji Fisher's - " tips on vim.sf.net (vim.sf.net tip #225) - if has('win32') - - let execString = 'silent! !start '. viewer.' -s '.line('.').expand('%').' '.mainfnameRoot - - else - if Tex_GetVarValue('Tex_UseEditorSettingInDVIViewer') == 1 && - \ exists('v:servername') && - \ (viewer == "xdvi" || viewer == "xdvik") - - let execString = 'silent! !'.viewer.' -name xdvi -sourceposition '.line('.').expand("%"). - \ ' -editor "gvim --servername '.v:servername.' --remote-silent +\%l \%f" '. - \ mainfnameRoot.'.dvi &' - - elseif Tex_GetVarValue('Tex_UseEditorSettingInDVIViewer') == 1 && viewer == "kdvi" - - let execString = 'silent! !kdvi --unique file:'.mainfnameRoot.'.dvi\#src:'.line('.').expand("%").' &' - - else - - let execString = 'silent! !'.viewer.' -name xdvi -sourceposition '.line('.').expand("%").' '.mainfnameRoot.'.dvi &' - - endif - end - - call Tex_Debug("Tex_ForwardSearchLaTeX: execString = ".execString, "comp") - execute execString - if !has('gui_running') - redraw! - endif - - call Tex_CD(curd) -endfunction - -" }}} - -" ============================================================================== -" Functions for compiling parts of a file. -" ============================================================================== -" Tex_PartCompile: compiles selected fragment {{{ -" Description: creates a temporary file from the selected fragment of text -" prepending the preamble and \end{document} and then asks Tex_RunLaTeX() to -" compile it. -function! Tex_PartCompile() range - call Tex_Debug('+Tex_PartCompile', 'comp') - " Save position - let pos = line('.').' | normal! '.virtcol('.').'|' - - " Get a temporary file in the same directory as the file from which - " fragment is being extracted. This is to enable the use of relative path - " names in the fragment. - let tmpfile = Tex_GetTempName(expand('%:p:h')) - - " Remember all the temp files and for each temp file created, remember - " where the temp file came from. - let s:Tex_NumTempFiles = (exists('s:Tex_NumTempFiles') ? s:Tex_NumTempFiles + 1 : 1) - let s:Tex_TempFiles = (exists('s:Tex_TempFiles') ? s:Tex_TempFiles : '') - \ . tmpfile."\n" - let s:Tex_TempFile_{s:Tex_NumTempFiles} = tmpfile - " TODO: For a function Tex_RestoreFragment which restores a temp file to - " its original location. - let s:Tex_TempFileOrig_{s:Tex_NumTempFiles} = expand('%:p') - let s:Tex_TempFileRange_{s:Tex_NumTempFiles} = a:firstline.','.a:lastline - - " Set up an autocmd to clean up the temp files when Vim exits. - if Tex_GetVarValue('Tex_RemoveTempFiles') - augroup RemoveTmpFiles - au! - au VimLeave * :call Tex_RemoveTempFiles() - augroup END - endif - - " If mainfile exists open it in tiny window and extract preamble there, - " otherwise do it from current file - let mainfile = Tex_GetMainFileName(":p") - exe 'bot 1 split '.escape(mainfile, ' ') - exe '1,/\s*\\begin{document}/w '.tmpfile - wincmd q - - exe a:firstline.','.a:lastline."w! >> ".tmpfile - - " edit the temporary file - exec 'drop '.tmpfile - - " append the \end{document} line. - $ put ='\end{document}' - w - - " set this as a fragment file. - let b:fragmentFile = 1 - - silent! call Tex_RunLaTeX() -endfunction " }}} -" Tex_RemoveTempFiles: cleans up temporary files created during part compilation {{{ -" Description: During part compilation, temporary files containing the -" visually selected text are created. These files need to be -" removed when Vim exits to avoid "file leakage". -function! Tex_RemoveTempFiles() - if !exists('s:Tex_NumTempFiles') || !Tex_GetVarValue('Tex_RemoveTempFiles') - return - endif - let i = 1 - while i <= s:Tex_NumTempFiles - let tmpfile = s:Tex_TempFile_{i} - " Remove the tmp file and all other associated files such as the - " .log files etc. - call Tex_DeleteFile(fnamemodify(tmpfile, ':p:r').'.*') - let i = i + 1 - endwhile -endfunction " }}} - -" ============================================================================== -" Compiling a file multiple times to resolve references/citations etc. -" ============================================================================== -" Tex_CompileMultipleTimes: The main function {{{ -" Description: compiles a file multiple times to get cross-references right. -function! Tex_CompileMultipleTimes() - " Just extract the root without any extension because we want to construct - " the log file names etc from it. - let curd = getcwd() - let mainFileName_root = Tex_GetMainFileName(':p:t:r') - call Tex_CD(Tex_GetMainFileName(':p:h')) - - " First ignore undefined references and the - " "rerun to get cross-references right" message from - " the compiler output. - let origlevel = Tex_GetVarValue('Tex_IgnoreLevel') - let origpats = Tex_GetVarValue('Tex_IgnoredWarnings') - - let g:Tex_IgnoredWarnings = g:Tex_IgnoredWarnings."\n" - \ . 'Reference %.%# undefined'."\n" - \ . 'Rerun to get cross-references right' - TCLevel 1000 - - let idxFileName = mainFileName_root.'.idx' - let auxFileName = mainFileName_root.'.aux' - - let runCount = 0 - let needToRerun = 1 - while needToRerun == 1 && runCount < 5 - " assume we need to run only once. - let needToRerun = 0 - - let idxlinesBefore = Tex_CatFile(idxFileName) - let auxlinesBefore = Tex_GetAuxFile(auxFileName) - - " first run latex. - echomsg "latex run number : ".(runCount+1) - call Tex_Debug("Tex_CompileMultipleTimes: latex run number : ".(runCount+1), "comp") - silent! call Tex_CompileLatex() - - " If there are errors in any latex compilation step, immediately - " return. For now, do not bother with warnings because those might go - " away after compiling again or after bibtex is run etc. - let errlist = Tex_GetErrorList() - call Tex_Debug("Tex_CompileMultipleTimes: errors = [".errlist."]", "comp") - - if errlist =~ 'error' - let g:Tex_IgnoredWarnings = origpats - exec 'TCLevel '.origlevel - - return - endif - - let idxlinesAfter = Tex_CatFile(idxFileName) - - " If .idx file changed, then run makeindex to generate the new .ind - " file and remember to rerun latex. - if runCount == 0 && glob(idxFileName) != '' && idxlinesBefore != idxlinesAfter - echomsg "Running makeindex..." - let temp_mp = &mp | let &mp = Tex_GetVarValue('Tex_MakeIndexFlavor') - exec 'silent! make '.mainFileName_root - let &mp = temp_mp - - let needToRerun = 1 - endif - - " The first time we see if we need to run bibtex and if the .bbl file - " changes, we will rerun latex. - if runCount == 0 && Tex_IsPresentInFile('\\bibdata', mainFileName_root.'.aux') - let bibFileName = mainFileName_root.'.bbl' - - let biblinesBefore = Tex_CatFile(bibFileName) - - echomsg "Running '".Tex_GetVarValue('Tex_BibtexFlavor')."' ..." - let temp_mp = &mp | let &mp = Tex_GetVarValue('Tex_BibtexFlavor') - exec 'silent! make '.mainFileName_root - let &mp = temp_mp - - let biblinesAfter = Tex_CatFile(bibFileName) - - " If the .bbl file changed after running bibtex, we need to - " latex again. - if biblinesAfter != biblinesBefore - echomsg 'Need to rerun because bibliography file changed...' - call Tex_Debug('Tex_CompileMultipleTimes: Need to rerun because bibliography file changed...', 'comp') - let needToRerun = 1 - endif - endif - - " check if latex asks us to rerun - let auxlinesAfter = Tex_GetAuxFile(auxFileName) - if auxlinesAfter != auxlinesBefore - echomsg "Need to rerun because the AUX file changed..." - call Tex_Debug("Tex_CompileMultipleTimes: Need to rerun to get cross-references right...", 'comp') - let needToRerun = 1 - endif - - let runCount = runCount + 1 - endwhile - - call Tex_Debug("Tex_CompileMultipleTimes: Ran latex ".runCount." time(s)", "comp") - echomsg "Ran latex ".runCount." time(s)" - - let g:Tex_IgnoredWarnings = origpats - exec 'TCLevel '.origlevel - " After all compiler calls are done, reparse the .log file for - " errors/warnings to handle the situation where the clist might have been - " emptied because of bibtex/makeindex being run as the last step. - exec 'silent! cfile '.mainFileName_root.'.log' - - call Tex_CD(curd) -endfunction " }}} -" Tex_GetAuxFile: get the contents of the AUX file {{{ -" Description: get the contents of the AUX file recursively including any -" @\input'ted AUX files. -function! Tex_GetAuxFile(auxFile) - if !filereadable(a:auxFile) - return '' - endif - - let auxContents = Tex_CatFile(a:auxFile) - let pattern = '@\input{\(.\{-}\)}' - - let auxContents = substitute(auxContents, pattern, '\=Tex_GetAuxFile(submatch(1))', 'g') - - return auxContents -endfunction " }}} - -" ============================================================================== -" Helper functions for -" . viewing the log file in preview mode. -" . syncing the display between the quickfix window and preview window -" . going to the correct line _and column_ number from from the quick fix -" window. -" ============================================================================== -" Tex_SetupErrorWindow: sets up the cwindow and preview of the .log file {{{ -" Description: -function! Tex_SetupErrorWindow() - let mainfname = Tex_GetMainFileName() - - let winnum = winnr() - - " close the quickfix window before trying to open it again, otherwise - " whether or not we end up in the quickfix window after the :cwindow - " command is not fixed. - cclose - cwindow - " create log file name from mainfname - let mfnlog = fnamemodify(mainfname, ":t:r").'.log' - call Tex_Debug('Tex_SetupErrorWindow: mfnlog = '.mfnlog, 'comp') - " if we moved to a different window, then it means we had some errors. - if winnum != winnr() - if Tex_GetVarValue('Tex_ShowErrorContext') - call Tex_UpdatePreviewWindow(mfnlog) - exe 'nnoremap <buffer> <silent> j j:call Tex_UpdatePreviewWindow("'.mfnlog.'")<CR>' - exe 'nnoremap <buffer> <silent> k k:call Tex_UpdatePreviewWindow("'.mfnlog.'")<CR>' - exe 'nnoremap <buffer> <silent> <up> <up>:call Tex_UpdatePreviewWindow("'.mfnlog.'")<CR>' - exe 'nnoremap <buffer> <silent> <down> <down>:call Tex_UpdatePreviewWindow("'.mfnlog.'")<CR>' - endif - exe 'nnoremap <buffer> <silent> <enter> :call Tex_GotoErrorLocation("'.mfnlog.'")<CR>' - - setlocal nowrap - - " resize the window to just fit in with the number of lines. - exec ( line('$') < 4 ? line('$') : 4 ).' wincmd _' - if Tex_GetVarValue('Tex_GotoError') == 1 - call Tex_GotoErrorLocation(mfnlog) - else - exec s:origwinnum.' wincmd w' - endif - endif - -endfunction " }}} -" Tex_PositionPreviewWindow: positions the preview window correctly. {{{ -" Description: -" The purpose of this function is to count the number of times an error -" occurs on the same line. or in other words, if the current line is -" something like |10 error|, then we want to count the number of -" lines in the quickfix window before this line which also contain lines -" like |10 error|. -" -function! Tex_PositionPreviewWindow(filename) - - if getline('.') !~ '|\d\+ \(error\|warning\)|' - if !search('|\d\+ \(error\|warning\)|') - call Tex_Debug("not finding error pattern anywhere in quickfix window :".bufname(bufnr('%')), - \ 'comp') - pclose! - return - endif - endif - - " extract the error pattern (something like 'file.tex|10 error|') on the - " current line. - let errpat = matchstr(getline('.'), '^\f*|\d\+ \(error\|warning\)|\ze') - let errfile = matchstr(getline('.'), '^\f*\ze|\d\+ \(error\|warning\)|') - " extract the line number from the error pattern. - let linenum = matchstr(getline('.'), '|\zs\d\+\ze \(error\|warning\)|') - - " if we are on an error, then count the number of lines before this in the - " quickfix window with an error on the same line. - if errpat =~ 'error|$' - " our location in the quick fix window. - let errline = line('.') - - " goto the beginning of the quickfix window and begin counting the lines - " which show an error on the same line. - 0 - let numrep = 0 - while 1 - " if we are on the same kind of error line, then means we have another - " line containing the same error pattern. - if getline('.') =~ errpat - let numrep = numrep + 1 - normal! 0 - endif - " if we have reached the original location in the quick fix window, - " then break. - if line('.') == errline - break - else - " otherwise, search for the next line which contains the same - " error pattern again. goto the end of the current line so we - " dont count this line again. - normal! $ - call search(errpat, 'W') - endif - endwhile - else - let numrep = 1 - endif - - if getline('.') =~ '|\d\+ warning|' - let searchpat = escape(matchstr(getline('.'), '|\d\+ warning|\s*\zs.*'), '\ ') - else - let searchpat = 'l\.'.linenum - endif - - " We first need to be in the scope of the correct file in the .log file. - " This is important for example, when a.tex and b.tex both have errors on - " line 9 of the file and we want to go to the error of b.tex. Merely - " searching forward from the beginning of the log file for l.9 will always - " land us on the error in a.tex. - if errfile != '' - exec 'silent! bot pedit +/(\\(\\f\\|\\[\\|\]\\|\\s\\)*'.errfile.'/ '.a:filename - else - exec 'bot pedit +0 '.a:filename - endif - " Goto the preview window - " TODO: This is not robust enough. Check that a wincmd j actually takes - " us to the preview window. - wincmd j - " now search forward from this position in the preview window for the - " numrep^th error of the current line in the quickfix window. - while numrep > 0 - call search(searchpat, 'W') - let numrep = numrep - 1 - endwhile - normal! z. - -endfunction " }}} -" Tex_UpdatePreviewWindow: updates the view of the log file {{{ -" Description: -" This function should be called when focus is in a quickfix window. -" It opens the log file in a preview window and makes it display that -" part of the log file which corresponds to the error which the user is -" currently on in the quickfix window. Control returns to the quickfix -" window when the function returns. -" -function! Tex_UpdatePreviewWindow(filename) - call Tex_PositionPreviewWindow(a:filename) - - if &previewwindow - 6 wincmd _ - wincmd p - endif -endfunction " }}} -" Tex_GotoErrorLocation: goes to the correct location of error in the tex file {{{ -" Description: -" This function should be called when focus is in a quickfix window. This -" function will first open the preview window of the log file (if it is not -" already open), position the display of the preview to coincide with the -" current error under the cursor and then take the user to the file in -" which this error has occured. -" -" The position is both the correct line number and the column number. -function! Tex_GotoErrorLocation(filename) - - " first use vim's functionality to take us to the location of the error - " accurate to the line (not column). This lets us go to the correct file - " without applying any logic. - exec "normal! \<enter>" - " If the log file is not found, then going to the correct line number is - " all we can do. - if glob(a:filename) == '' - return - endif - - let winnum = winnr() - " then come back to the quickfix window - wincmd w - - " find out where in the file we had the error. - let linenum = matchstr(getline('.'), '|\zs\d\+\ze \(warning\|error\)|') - call Tex_PositionPreviewWindow(a:filename) - - if getline('.') =~ 'l.\d\+' - - let brokenline = matchstr(getline('.'), 'l.'.linenum.' \zs.*\ze') - " If the line is of the form - " l.10 ...and then there was some error - " it means (most probably) that only part of the erroneous line is - " shown. In this case, finding the length of the broken line is not - " correct. Instead goto the beginning of the line and search forward - " for the part which is displayed and then go to its end. - if brokenline =~ '^\M...' - let partline = matchstr(brokenline, '^\M...\m\zs.*') - let normcmd = "0/\\V".escape(partline, "\\")."/e+1\<CR>" - else - let column = strlen(brokenline) + 1 - let normcmd = column.'|' - endif - - elseif getline('.') =~ 'LaTeX Warning: \(Citation\|Reference\) `.*' - - let ref = matchstr(getline('.'), "LaTeX Warning: \\(Citation\\|Reference\\) `\\zs[^']\\+\\ze'") - let normcmd = '0/'.ref."\<CR>" - - else - - let normcmd = '0' - - endif - - " go back to the window where we came from. - exec winnum.' wincmd w' - exec 'silent! '.linenum.' | normal! '.normcmd - - if !Tex_GetVarValue('Tex_ShowErrorContext') - pclose! - endif -endfunction " }}} -" Tex_SetCompilerMaps: sets maps for compiling/viewing/searching {{{ -" Description: -function! <SID>Tex_SetCompilerMaps() - if exists('b:Tex_doneCompilerMaps') - return - endif - let s:ml = exists('g:mapleader') ? g:mapleader : "\\" - - nnoremap <buffer> <Plug>Tex_Compile :call Tex_RunLaTeX()<cr> - vnoremap <buffer> <Plug>Tex_Compile :call Tex_PartCompile()<cr> - nnoremap <buffer> <Plug>Tex_View :call Tex_ViewLaTeX()<cr> - nnoremap <buffer> <Plug>Tex_ForwardSearch :call Tex_ForwardSearchLaTeX()<cr> - - call Tex_MakeMap(s:ml."ll", "<Plug>Tex_Compile", 'n', '<buffer>') - call Tex_MakeMap(s:ml."ll", "<Plug>Tex_Compile", 'v', '<buffer>') - call Tex_MakeMap(s:ml."lv", "<Plug>Tex_View", 'n', '<buffer>') - call Tex_MakeMap(s:ml."ls", "<Plug>Tex_ForwardSearch", 'n', '<buffer>') -endfunction -" }}} - -augroup LatexSuite - au LatexSuite User LatexSuiteFileType - \ call Tex_Debug('compiler.vim: Catching LatexSuiteFileType event', 'comp') | - \ call <SID>Tex_SetCompilerMaps() -augroup END - -command! -nargs=0 -range=% TPartCompile :<line1>, <line2> silent! call Tex_PartCompile() -" Setting b:fragmentFile = 1 makes Tex_CompileLatex consider the present file -" the _main_ file irrespective of the presence of a .latexmain file. -command! -nargs=0 TCompileThis let b:fragmentFile = 1 -command! -nargs=0 TCompileMainFile let b:fragmentFile = 0 - -" vim:fdm=marker:ff=unix:noet:ts=4:sw=4 diff --git a/.vim/ftplugin/latex-suite/custommacros.vim b/.vim/ftplugin/latex-suite/custommacros.vim deleted file mode 100644 index 1b1c6bd..0000000 --- a/.vim/ftplugin/latex-suite/custommacros.vim +++ /dev/null @@ -1,257 +0,0 @@ -"============================================================================= -" File: custommacros.vim -" Author: Mikolaj Machowski -" Version: 1.0 -" Created: Tue Apr 23 05:00 PM 2002 PST -" CVS: $Id: custommacros.vim 997 2006-03-20 09:45:45Z srinathava $ -" -" Description: functions for processing custom macros in the -" latex-suite/macros directory -"============================================================================= - -let s:path = expand('<sfile>:p:h') - -" Set path to macros dir dependent on OS {{{ -if has("unix") || has("macunix") - let s:macrodirpath = $HOME."/.vim/ftplugin/latex-suite/macros/" -elseif has("win32") - if exists("$HOME") - let s:macrodirpath = $HOME."/vimfiles/ftplugin/latex-suite/macros/" - else - let s:macrodirpath = $VIM."/vimfiles/ftplugin/latex-suite/macros/" - endif -endif - -" }}} -" SetCustomMacrosMenu: sets up the menu for Macros {{{ -function! <SID>SetCustomMacrosMenu() - let flist = Tex_FindInRtp('', 'macros') - exe 'amenu '.g:Tex_MacrosMenuLocation.'&New :call <SID>NewMacro("FFFromMMMenu")<CR>' - exe 'amenu '.g:Tex_MacrosMenuLocation.'&Redraw :call RedrawMacro()<CR>' - - let i = 1 - while 1 - let fname = Tex_Strntok(flist, ',', i) - if fname == '' - break - endif - exe "amenu ".g:Tex_MacrosMenuLocation."&Delete.&".i.":<tab>".fname." :call <SID>DeleteMacro('".fname."')<CR>" - exe "amenu ".g:Tex_MacrosMenuLocation."&Edit.&".i.":<tab>".fname." :call <SID>EditMacro('".fname."')<CR>" - exe "imenu ".g:Tex_MacrosMenuLocation."&".i.":<tab>".fname." <C-r>=<SID>ReadMacro('".fname."')<CR>" - exe "nmenu ".g:Tex_MacrosMenuLocation."&".i.":<tab>".fname." i<C-r>=<SID>ReadMacro('".fname."')<CR>" - let i = i + 1 - endwhile -endfunction - -if g:Tex_Menus - call <SID>SetCustomMacrosMenu() -endif - -" }}} -" NewMacro: opens new file in macros directory {{{ -function! <SID>NewMacro(...) - " Allow for calling :TMacroNew without argument or from menu and prompt - " for name. - if a:0 > 0 - let newmacroname = a:1 - else - let newmacroname = input("Name of new macro: ") - if newmacroname == '' - return - endif - endif - - if newmacroname == "FFFromMMMenu" - " Check if NewMacro was called from menu and prompt for insert macro - " name - let newmacroname = input("Name of new macro: ") - if newmacroname == '' - return - endif - elseif Tex_FindInRtp(newmacroname, 'macros') != '' - " If macro with this name already exists, prompt for another name. - exe "echomsg 'Macro ".newmacroname." already exists. Try another name.'" - let newmacroname = input("Name of new macro: ") - if newmacroname == '' - return - endif - endif - exec 'split '.Tex_EscapeSpaces(s:macrodirpath.newmacroname) - setlocal filetype=tex -endfunction - -" }}} -" RedrawMacro: refreshes macro menu {{{ -function! RedrawMacro() - aunmenu TeX-Suite.Macros - call <SID>SetCustomMacrosMenu() -endfunction - -" }}} -" ChooseMacro: choose a macro file {{{ -" " Description: -function! s:ChooseMacro(ask) - let filelist = Tex_FindInRtp('', 'macros') - let filename = Tex_ChooseFromPrompt( - \ a:ask."\n" . - \ Tex_CreatePrompt(filelist, 2, ',') . - \ "\nEnter number or filename :", - \ filelist, ',') -endfunction - -" }}} -" DeleteMacro: deletes macro file {{{ -function! <SID>DeleteMacro(...) - if a:0 > 0 - let filename = a:1 - else - let filename = s:ChooseMacro('Choose a macro file for deletion :') - endif - - if !filereadable(s:macrodirpath.filename) - " When file is not in local directory decline to remove it. - call confirm('This file is not in your local directory: '.filename."\n". - \ 'It will not be deleted.' , '&OK', 1) - - else - let ch = confirm('Really delete '.filename.' ?', "&Yes\n&No", 2) - if ch == 1 - call delete(s:macrodirpath.filename) - endif - call RedrawMacro() - endif -endfunction - -" }}} -" EditMacro: edits macro file {{{ -function! <SID>EditMacro(...) - if a:0 > 0 - let filename = a:1 - else - let filename = s:ChooseMacro('Choose a macro file for insertion:') - endif - - if filereadable(s:macrodirpath.filename) - " If file exists in local directory open it. - exec 'split '.Tex_EscapeSpaces(s:macrodirpath.filename) - else - " But if file doesn't exist in local dir it probably is in user - " restricted area. Instead opening try to copy it to local dir. - " Pity VimL doesn't have mkdir() function :) - let ch = confirm("You are trying to edit file which is probably read-only.\n". - \ "It will be copied to your local LaTeX-Suite macros directory\n". - \ "and you will be operating on local copy with suffix -local.\n". - \ "It will succeed only if ftplugin/latex-suite/macros dir exists.\n". - \ "Do you agree?", "&Yes\n&No", 1) - if ch == 1 - " But there is possibility we already created local modification. - " Check it and offer opening this file. - if filereadable(s:macrodirpath.filename.'-local') - let ch = confirm('Local version of '.filename." already exists.\n". - \ 'Do you want to open it or overwrite with original version?', - \ "&Open\nOver&write\n&Cancel", 1) - if ch == 1 - exec 'split '.Tex_EscapeSpaces(s:macrodirpath.filename.'-local') - elseif ch == 2 - new - exe '0read '.Tex_FindInRtp(filename, 'macros') - " This is possible macro was edited before, wipe it out. - if bufexists(s:macrodirpath.filename.'-local') - exe 'bwipe '.s:macrodirpath.filename.'-local' - endif - exe 'write! '.s:macrodirpath.filename.'-local' - else - return - endif - else - " If file doesn't exist, open new file, read in system macro and - " save it in local macro dir with suffix -local - new - exe '0read '.Tex_FindInRtp(filename, 'macros') - exe 'write '.s:macrodirpath.filename.'-local' - endif - endif - - endif - setlocal filetype=tex -endfunction - -" }}} -" ReadMacro: reads in a macro from a macro file. {{{ -" allowing for placement via placeholders. -function! <SID>ReadMacro(...) - - if a:0 > 0 - let filename = a:1 - else - let filelist = Tex_FindInRtp('', 'macros') - let filename = - \ Tex_ChooseFromPrompt("Choose a macro file:\n" . - \ Tex_CreatePrompt(filelist, 2, ',') . - \ "\nEnter number or name of file :", - \ filelist, ',') - endif - - let fname = Tex_FindInRtp(filename, 'macros', ':p') - - let markerString = '<---- Latex Suite End Macro ---->' - let _a = @a - let position = line('.').' | normal! '.virtcol('.').'|' - silent! call append(line('.'), markerString) - silent! exec "read ".fname - silent! exec "normal! V/^".markerString."$/-1\<CR>\"ax" - " This is kind of tricky: At this stage, we are one line after the one we - " started from with the marker text on it. We need to - " 1. remove the marker and the line. - " 2. get focus to the previous line. - " 3. not remove anything from the previous line. - silent! exec "normal! $v0k$\"_x" - - call Tex_CleanSearchHistory() - - let @a = substitute(@a, '['."\n\r\t ".']*$', '', '') - let textWithMovement = IMAP_PutTextWithMovement(@a) - let @a = _a - - return textWithMovement - -endfunction - -" }}} -" commands for macros {{{ -com! -nargs=? TMacroNew :call <SID>NewMacro(<f-args>) - -" This macros had to have 2 versions: -if v:version >= 602 - com! -complete=custom,Tex_CompleteMacroName -nargs=? TMacro - \ :let s:retVal = <SID>ReadMacro(<f-args>) <bar> normal! i<C-r>=s:retVal<CR> - com! -complete=custom,Tex_CompleteMacroName -nargs=? TMacroEdit - \ :call <SID>EditMacro(<f-args>) - com! -complete=custom,Tex_CompleteMacroName -nargs=? TMacroDelete - \ :call <SID>DeleteMacro(<f-args>) - - " Tex_CompleteMacroName: for completing names in TMacro... commands {{{ - " Description: get list of macro names with Tex_FindInRtp(), remove full path - " and return list of names separated with newlines. - " - function! Tex_CompleteMacroName(A,P,L) - " Get name of macros from all runtimepath directories - let macronames = Tex_FindInRtp('', 'macros') - " Separate names with \n not , - let macronames = substitute(macronames,',','\n','g') - return macronames - endfunction - - " }}} - -else - com! -nargs=? TMacro - \ :let s:retVal = <SID>ReadMacro(<f-args>) <bar> normal! i<C-r>=s:retVal<CR> - com! -nargs=? TMacroEdit :call <SID>EditMacro(<f-args>) - com! -nargs=? TMacroDelete :call <SID>DeleteMacro(<f-args>) - -endif - -" }}} - -" vim:fdm=marker:ff=unix:noet:ts=4:sw=4 diff --git a/.vim/ftplugin/latex-suite/diacritics.vim b/.vim/ftplugin/latex-suite/diacritics.vim deleted file mode 100644 index 616d30a..0000000 --- a/.vim/ftplugin/latex-suite/diacritics.vim +++ /dev/null @@ -1,124 +0,0 @@ -"============================================================================= -" File: diacritics.vim -" Author: Lubomir Host -" Created: Tue Apr 23 07:00 PM 2002 PST -" -" Description: shortcuts for all diacritics. -"============================================================================= - -if !g:Tex_Diacritics - finish -endif - -" \'{a} {{{ -call IMAP ('=a', "\\\'{a}", 'tex') -call IMAP ('=b', "\\'{b}", 'tex') -call IMAP ('=c', "\\'{c}", 'tex') -call IMAP ('=d', "\\'{d}", 'tex') -call IMAP ('=e', "\\'{e}", 'tex') -call IMAP ('=f', "\\'{f}", 'tex') -call IMAP ('=g', "\\'{g}", 'tex') -call IMAP ('=h', "\\'{h}", 'tex') -call IMAP ('=i', "\\'{\i}", 'tex') -call IMAP ('=j', "\\'{j}", 'tex') -call IMAP ('=k', "\\'{k}", 'tex') -call IMAP ('=l', "\\'{l}", 'tex') -call IMAP ('=m', "\\'{m}", 'tex') -call IMAP ('=n', "\\'{n}", 'tex') -call IMAP ('=o', "\\'{o}", 'tex') -call IMAP ('=p', "\\'{p}", 'tex') -call IMAP ('=q', "\\'{q}", 'tex') -call IMAP ('=r', "\\'{r}", 'tex') -call IMAP ('=s', "\\'{s}", 'tex') -call IMAP ('=t', "\\'{t}", 'tex') -call IMAP ('=u', "\\'{u}", 'tex') -call IMAP ('=v', "\\'{v}", 'tex') -call IMAP ('=w', "\\'{w}", 'tex') -call IMAP ('=x', "\\'{x}", 'tex') -call IMAP ('=y', "\\'{y}", 'tex') -call IMAP ('=z', "\\'{z}", 'tex') -call IMAP ('=A', "\\'{A}", 'tex') -call IMAP ('=B', "\\'{B}", 'tex') -call IMAP ('=C', "\\'{C}", 'tex') -call IMAP ('=D', "\\'{D}", 'tex') -call IMAP ('=E', "\\'{E}", 'tex') -call IMAP ('=F', "\\'{F}", 'tex') -call IMAP ('=G', "\\'{G}", 'tex') -call IMAP ('=H', "\\'{H}", 'tex') -call IMAP ('=I', "\\'{\I}", 'tex') -call IMAP ('=J', "\\'{J}", 'tex') -call IMAP ('=K', "\\'{K}", 'tex') -call IMAP ('=L', "\\'{L}", 'tex') -call IMAP ('=M', "\\'{M}", 'tex') -call IMAP ('=N', "\\'{N}", 'tex') -call IMAP ('=O', "\\'{O}", 'tex') -call IMAP ('=P', "\\'{P}", 'tex') -call IMAP ('=Q', "\\'{Q}", 'tex') -call IMAP ('=R', "\\'{R}", 'tex') -call IMAP ('=S', "\\'{S}", 'tex') -call IMAP ('=T', "\\'{T}", 'tex') -call IMAP ('=U', "\\'{U}", 'tex') -call IMAP ('=V', "\\'{V}", 'tex') -call IMAP ('=W', "\\'{W}", 'tex') -call IMAP ('=X', "\\'{X}", 'tex') -call IMAP ('=Y', "\\'{Y}", 'tex') -call IMAP ('=Z', "\\'{Z}", 'tex') -" }}} -" \v{a} {{{ -call IMAP ('+a', "\\v{a}", 'tex') -call IMAP ('+b', "\\v{b}", 'tex') -call IMAP ('+c', "\\v{c}", 'tex') -call IMAP ('+d', "\\v{d}", 'tex') -call IMAP ('+e', "\\v{e}", 'tex') -call IMAP ('+f', "\\v{f}", 'tex') -call IMAP ('+g', "\\v{g}", 'tex') -call IMAP ('+h', "\\v{h}", 'tex') -call IMAP ('+i', "\\v{\i}", 'tex') -call IMAP ('+j', "\\v{j}", 'tex') -call IMAP ('+k', "\\v{k}", 'tex') -call IMAP ('+l', "\\q l", 'tex') -call IMAP ('+m', "\\v{m}", 'tex') -call IMAP ('+n', "\\v{n}", 'tex') -call IMAP ('+o', "\\v{o}", 'tex') -call IMAP ('+p', "\\v{p}", 'tex') -call IMAP ('+q', "\\v{q}", 'tex') -call IMAP ('+r', "\\v{r}", 'tex') -call IMAP ('+s', "\\v{s}", 'tex') -call IMAP ('+t', "\\q t", 'tex') -call IMAP ('+u', "\\v{u}", 'tex') -call IMAP ('+v', "\\v{v}", 'tex') -call IMAP ('+w', "\\v{w}", 'tex') -call IMAP ('+x', "\\v{x}", 'tex') -call IMAP ('+y', "\\v{y}", 'tex') -call IMAP ('+z', "\\v{z}", 'tex') -call IMAP ('+A', "\\v{A}", 'tex') -call IMAP ('+B', "\\v{B}", 'tex') -call IMAP ('+C', "\\v{C}", 'tex') -call IMAP ('+D', "\\v{D}", 'tex') -call IMAP ('+E', "\\v{E}", 'tex') -call IMAP ('+F', "\\v{F}", 'tex') -call IMAP ('+G', "\\v{G}", 'tex') -call IMAP ('+H', "\\v{H}", 'tex') -call IMAP ('+I', "\\v{\I}", 'tex') -call IMAP ('+J', "\\v{J}", 'tex') -call IMAP ('+K', "\\v{K}", 'tex') -call IMAP ('+L', "\\v{L}", 'tex') -call IMAP ('+M', "\\v{M}", 'tex') -call IMAP ('+N', "\\v{N}", 'tex') -call IMAP ('+O', "\\v{O}", 'tex') -call IMAP ('+P', "\\v{P}", 'tex') -call IMAP ('+Q', "\\v{Q}", 'tex') -call IMAP ('+R', "\\v{R}", 'tex') -call IMAP ('+S', "\\v{S}", 'tex') -call IMAP ('+T', "\\v{T}", 'tex') -call IMAP ('+U', "\\v{U}", 'tex') -call IMAP ('+V', "\\v{V}", 'tex') -call IMAP ('+W', "\\v{W}", 'tex') -call IMAP ('+X', "\\v{X}", 'tex') -call IMAP ('+Y', "\\v{Y}", 'tex') -call IMAP ('+Z', "\\v{Z}", 'tex') -" }}} -call IMAP ('+}', "\\\"{a}", 'tex') -call IMAP ('+:', "\\^{o}", 'tex') - -" vim:fdm=marker:ff=unix:noet:ts=4:sw=4 diff --git a/.vim/ftplugin/latex-suite/dictionaries/SIunits b/.vim/ftplugin/latex-suite/dictionaries/SIunits deleted file mode 100644 index d4ac081..0000000 --- a/.vim/ftplugin/latex-suite/dictionaries/SIunits +++ /dev/null @@ -1,289 +0,0 @@ -addprefix -addunit -ampere -amperemetresecond -amperepermetre -amperepermetrenp -amperepersquaremetre -amperepersquaremetrenp -angstrom -arad -arcminute -arcsecond -are -atomicmass -atto -attod -barn -bbar -becquerel -becquerelbase -bel -candela -candelapersquaremetre -candelapersquaremetrenp -celsius -Celsius -celsiusbase -centi -centid -coulomb -coulombbase -coulombpercubicmetre -coulombpercubicmetrenp -coulombperkilogram -coulombperkilogramnp -coulombpermol -coulombpermolnp -coulombpersquaremetre -coulombpersquaremetrenp -cubed -cubic -cubicmetre -cubicmetreperkilogram -cubicmetrepersecond -curie -dday -deca -decad -deci -decid -degree -degreecelsius -deka -dekad -derbecquerel -dercelsius -dercoulomb -derfarad -dergray -derhenry -derhertz -derjoule -derkatal -derlumen -derlux -dernewton -derohm -derpascal -derradian -dersiemens -dersievert -dersteradian -dertesla -dervolt -derwatt -derweber -electronvolt -exa -exad -farad -faradbase -faradpermetre -faradpermetrenp -femto -femtod -fourth -gal -giga -gigad -gram -graybase -graypersecond -graypersecondnp -hectare -hecto -hectod -henry -henrybase -henrypermetre -henrypermetrenp -hertz -hertzbase -hour -joule -joulebase -joulepercubicmetre -joulepercubicmetrenp -jouleperkelvin -jouleperkelvinnp -jouleperkilogram -jouleperkilogramkelvin -jouleperkilogramkelvinnp -jouleperkilogramnp -joulepermole -joulepermolekelvin -joulepermolekelvinnp -joulepermolenp -joulepersquaremetre -joulepersquaremetrenp -joulepertesla -jouleperteslanp -katal -katalbase -katalpercubicmetre -katalpercubicmetrenp -kelvin -kilo -kilod -kilogram -kilogrammetrepersecond -kilogrammetrepersecondnp -kilogrammetrepersquaresecond -kilogrammetrepersquaresecondnp -kilogrampercubicmetre -kilogrampercubicmetrecoulomb -kilogrampercubicmetrecoulombnp -kilogrampercubicmetrenp -kilogramperkilomole -kilogramperkilomolenp -kilogrampermetre -kilogrampermetrenp -kilogrampersecond -kilogrampersecondcubicmetre -kilogrampersecondcubicmetrenp -kilogrampersecondnp -kilogrampersquaremetre -kilogrampersquaremetrenp -kilogrampersquaremetresecond -kilogrampersquaremetresecondnp -kilogramsquaremetre -kilogramsquaremetrenp -kilogramsquaremetrepersecond -kilogramsquaremetrepersecondnp -kilowatthour -liter -litre -lumen -lumenbase -lux -luxbase -mega -megad -meter -metre -metrepersecond -metrepersecondnp -metrepersquaresecond -metrepersquaresecondnp -micro -microd -milli -millid -minute -mole -molepercubicmetre -molepercubicmetrenp -nano -nanod -neper -newton -newtonbase -newtonmetre -newtonpercubicmetre -newtonpercubicmetrenp -newtonperkilogram -newtonperkilogramnp -newtonpermetre -newtonpermetrenp -newtonpersquaremetre -newtonpersquaremetrenp -NoAMS -no@qsk -ohm -ohmbase -ohmmetre -one -paminute -pascal -pascalbase -pascalsecond -pasecond -per -period@active -persquaremetresecond -persquaremetresecondnp -peta -petad -pico -picod -power -@qsk -quantityskip -rad -radian -radianbase -radianpersecond -radianpersecondnp -radianpersquaresecond -radianpersquaresecondnp -reciprocal -rem -roentgen -rp -rpcubed -rpcubic -rpcubicmetreperkilogram -rpcubicmetrepersecond -rperminute -rpersecond -rpfourth -rpsquare -rpsquared -rpsquaremetreperkilogram -second -siemens -siemensbase -sievert -sievertbase -square -squared -squaremetre -squaremetrepercubicmetre -squaremetrepercubicmetrenp -squaremetrepercubicsecond -squaremetrepercubicsecondnp -squaremetreperkilogram -squaremetrepernewtonsecond -squaremetrepernewtonsecondnp -squaremetrepersecond -squaremetrepersecondnp -squaremetrepersquaresecond -squaremetrepersquaresecondnp -steradian -steradianbase -tera -terad -tesla -teslabase -ton -tonne -unit -unitskip -usk -volt -voltbase -voltpermetre -voltpermetrenp -watt -wattbase -wattpercubicmetre -wattpercubicmetrenp -wattperkilogram -wattperkilogramnp -wattpermetrekelvin -wattpermetrekelvinnp -wattpersquaremetre -wattpersquaremetrenp -wattpersquaremetresteradian -wattpersquaremetresteradiannp -weber -weberbase -yocto -yoctod -yotta -yottad -zepto -zeptod -zetta -zettad diff --git a/.vim/ftplugin/latex-suite/dictionaries/dictionary b/.vim/ftplugin/latex-suite/dictionaries/dictionary deleted file mode 100644 index 458dc0b..0000000 --- a/.vim/ftplugin/latex-suite/dictionaries/dictionary +++ /dev/null @@ -1,677 +0,0 @@ -abbrv -abovedisplayshortskip -abovedisplayskip -abstract -abstract -abstractname -acute -addcontentsline -address -addtime -addtocontents -addtocounter -addtolength -addvspace -align -alph -Alph -alpha -amsmath -amsthm -and -appendix -appendixname -arabic -array -arraycolsep -arrayrulewidth -arraystretch -article -author -a4paper -a5paper -backmatter -bar -bar -baselineskip -baselinestretch -batchmode -begin -belowdisplayshortskip -belowdisplayskip -bezier -bf -bfseries -bibindent -bibitem -bibliography -bibliographystyle -bibname -big -Big -Bigg -bigg -Biggl -biggl -Biggm -biggm -Biggr -biggr -Bigl -bigl -bigm -Bigm -bigr -Bigr -bigskip -bigskipamount -binom -blg -boldmath -boldsymbol -book -botfigrule -bottmofraction -bottomnumber -boxedminipage -bp -breve -b5paper -calc -calc -caption -caption2 -capt-of -cases -cc -ccaption -ccname -cdotscenter -centering -cercle -cfrac -changebar -chapter -chapterbib -chaptername -check -cite -cleardoublepage -clearpage -cline -clock -closing -cm -COLON -columnsep -columnseprule -columnwidth -contentsline -contentsname -copyright -dag -dashbox -date -dbinom -dblfigure -dblfloatpage -dblfloatsep -dbltextfloatsep -dbltopfraction -dbltopnumber -dcolumn -dd -ddag -ddot -ddots -DeclareMathOperator -depth -description -dfrac -displaylimits -displaymath -displaystyle -document -documentclass -dot -dotfill -doublerulesep -downbracefill -draft -dropping -dywiz -em -emph -empty -encl -enclname -end -endfloat -enlargethispage -enskip -enspace -ensuremath -enumerate -enumi -enumii -enumiii -enumiv -eqnarray -equation -errorstopmode -eucal -eufrak -evensidemargin -everyship -ex -executivepaper -expdlist -extracolsep -extramark -fancybox -fancyhdr -fbox -fboxrule -fboxsep -figure -figurename -file -filecontents -final -flafter -fleqn -floatflt -floatpagefraction -floatsep -flushbottom -flushleft -flushright -fnpara -fnsymbol -fn2end -fontenc -footheight -footmisc -footnote -footnotemark -footnoterule -footnotesep -footnotesize -footnotetext -footnpag -footskip -frac -frame -framebox -frenchspacing -frontmatter -ftnright -fussy -gather -genfrac -geometry -glossary -glossaryentry -graphicx -graphpaper -grave -hat -hbox -headheihgt -headings -headsep -height -helvet -hfill -hhline -hline -hrulefill -hspace -huge -Huge -HUGE -hyperref -hyphenation -ifthen -in -include -includeonly -indent -indentfirst -index -indexentry -indexname -indexspace -input -inputenc -intertext -intextsep -invisible -it -item -itemindent -itemize -itemsep -itshape -jot -kill -label -labelenumi -labelenumii -labelenumiii -labelenumiv -labelitemi -labelitemii -labelitemiii -labelitemiv -labelsep -labelwidth -landscape -large -LARGE -Large -LaTeX -LaTeXe -latexsym -ldots -left -leftarrowfill -lefteqn -leftmargin -leftmargini -leftmarginii -leftmarginiii -leftmarginiv -leftmarginv -leftmarginvi -leftmark -legalpaper -leq -leqno -letter -letterpaper -letterspace -lhead -limits -line -linebreak -linethickness -linewidth -list -listfigurename -listfiles -listoffigures -listoftables -listparindent -location -longtable -lq -lrbox -lscape -mainmatter -makeatletter -makeatother -makebox -makeglossary -makeidx -makeindex -makelabel -maketitle -manyfoot -marginpar -marginparpush -marginparsep -marginparwidth -markboth -markleft -markright -math -mathbb -mathbf -mathbin -mathcal -mathclose -mathfrak -mathindent -mathit -mathnormal -mathop -mathopen -mathord -mathpunct -mathrel -mathrm -mathscr -mathsf -mathstrut -mathtt -mathversion -mbox -mdseries -medmuskip -medskip -medskipamount -minipage -minitoc -minus -mkern -mm -moreverbatim -mpfootnote -mu -multicol -multicolumn -multilanguage -multiput -multirow -myheadings -nabla -name -NeedsTeXFormat -newcommand -newcounter -newenvironment -newfont -newlength -newline -newpage -newsavebox -newtheorem -nocite -nofiles -noindent -nolimits -nolinebreak -nomathsymbols -nonfrenchspacing -nonumber -nopagebreak -normalfont -normalsize -not -notag -note -notitlepage -nu -numberline -numline -numprint -oddsidemargin -oldstyle -onecolumn -oneside -onlynotes -onlyslides -openany -openbib -opening -openright -operatorname -oval -overbrace -overlay -overleftarrow -overline -overrightarrow -page -pagebreak -pagenumbering -pageref -pagestyle -paperheight -paperwidth -par -paragraph -parbox -parbox -parindent -parsep -parskip -part -partial -partname -partopsep -pauza -pc -phi -pi -picture -plain -PLdateending -plmath -PLSlash -plus -pmb -pmod -polski -polski -poptabs -pounds -ppauza -prefixing -printindex -protect -providecommand -ps -pt -pushtabs -put -qbezier -qbeziermax -qquad -quad -quotation -quote -raggedbottom -raggedleft -raggedright -ragged2e -raisebox -ratio -real -ref -refname -refstepcounter -relsize -renewcommand -renewenvironment -report -reversemarginpar -rhead -right -rightarrowfill -rightmargin -rightmark -rm -rmfamily -roman -Roman -rotate -rotating -rq -rule -samepage -savebox -sb -sbox -sc -scriptscriptstyle -scriptsize -scriptstyle -scrollmode -scshape -secnumdepth -section -sectionmark -see -seename -selectfont -selectlanguage -setcounter -setlength -settime -settodepth -settoheight -settowidth -sf -sffamily -shadethm -shadow -shapepar -shortstack -showlabels -sidecap -signature -sin -sl -slide -slides -sloppy -sloppybar -slshape -small -smallskip -smallskipamount -soul -sp -space -sqrt -ss -SS -stackrel -startbreaks -stepcounter -stop -stopbreaks -stretch -strut -subfigure -subfigure -subitem -subparagraph -subsection -subsubitem -subsubsection -sum -supressfloats -symbol -symbol -tabbing -tabcolsep -table -tablename -tableofcontents -tabular -tabularx -tag -tan -tbinom -telephone -TeX -textbf -textbullet -textcircled -textcompwordmark -textemdash -textendash -textexclamdown -textfloatsep -textfraction -textheight -textit -textmd -textnormal -textperiodcenter -textquestiondown -textquotedblleft -textquotedblright -textquoteleft -textquoteright -textrm -textsc -textsf -textsl -textstyle -textsuperscript -texttt -textup -textvisiblespace -textwidth -tfrac -thanks -the -thebibliography -theindex -theorem -thepage -thesection -theta -thicklines -thickmuskip -thinlines -thispagestyle -tilde -time -times -tiny -title -titlepage -tocdepth -today -topfigrule -topfraction -topmargin -topmargin -topmargin -topsep -topskip -topskip -totalheight -totalnumber -trivlist -tt -ttfamily -twocolumn -twocolumn -twoside -typein -typein -typeout -typeout -ulem -ulem -unboldmath -underbrace -underline -unsort -unsrt -upbracefill -upshape -upshape -usebox -usebox -usecounter -usefont -usepackage -value -vbox -vdots -vec -vector -verb -verb -verbatim -verse -vfill -visible -vline -vmargin -voffset -vspace -widehat -widetilde -width -wrapfig -xleftarrow -xrightarrow -threeparttable diff --git a/.vim/ftplugin/latex-suite/elementmacros.vim b/.vim/ftplugin/latex-suite/elementmacros.vim deleted file mode 100644 index 8960a0f..0000000 --- a/.vim/ftplugin/latex-suite/elementmacros.vim +++ /dev/null @@ -1,338 +0,0 @@ -"============================================================================= -" File: elementmacros.vim -" Author: Mikolaj Machowski -" Created: Tue Apr 23 06:00 PM 2002 PST -" -" Description: macros for dimensions/fonts/counters. -" and various common commands such ref/label/footnote. -"============================================================================= - -nmap <silent> <script> <plug> i -imap <silent> <script> <C-o><plug> <Nop> - -if exists('s:lastElementsLocation') && g:Tex_ElementsMenuLocation == s:lastElementsLocation - finish -endif - -if exists('s:lastElementsLocation') - exe 'aunmenu '.s:lastElementsLocation.'Font.' - exe 'aunmenu '.s:lastElementsLocation.'Dimension.' - exe 'aunmenu '.s:lastElementsLocation.'Counters.' - exe 'aunmenu '.s:lastElementsLocation.'Various.' -endif - -let s:lastElementsLocation = g:Tex_ElementsMenuLocation - -let s:fontMenuLoc = g:Tex_ElementsMenuLocation.'Font.' -let s:dimensionMenuLoc = g:Tex_ElementsMenuLocation.'Dimension.' -let s:counterMenuLoc = g:Tex_ElementsMenuLocation.'Counters.' -let s:variousMenuLoc = g:Tex_ElementsMenuLocation.'Various.' - -" ============================================================================== -" Set up the functions the first time. -" ============================================================================== -if !exists('s:definedFuncs') " {{{ - let s:definedFuncs = 1 - - " Tex_RemoveElementMenus: remove the elements menu {{{ - " - function! Tex_RemoveElementMenus() - exe 'silent! aunmenu '.s:lastElementsLocation.'Font.' - exe 'silent! aunmenu '.s:lastElementsLocation.'Dimension.' - exe 'silent! aunmenu '.s:lastElementsLocation.'Counters.' - exe 'silent! aunmenu '.s:lastElementsLocation.'Various.' - endfunction - - " }}} - " Tex_FontFamily: sets up font menus {{{ - " - function! <SID>Tex_FontFamily(font,fam) - let vislhs = matchstr(tolower(a:font), '^.\zs.*') - - " avoid redoing imaps and vmaps for every reconfiguration of menus. - if !exists('s:doneOnce') && g:Tex_FontMaps - exe "vnoremap <silent> ".g:Tex_Leader.vislhs. - \" \<C-\\>\<C-N>:call VEnclose('\\text".vislhs."{', '}', '{\\".vislhs.a:fam." ', '}')<CR>" - exe 'call IMAP ("'.a:font.'", "\\text'.vislhs.'{<++>}<++>", "tex")' - endif - - " menu entry. - if g:Tex_Menus && g:Tex_FontMenus - let location = s:fontMenuLoc.substitute(a:fam, '^.', '\u&', '').'.'.vislhs.a:fam.'<tab>'.a:font.'\ ('.g:Tex_Leader.vislhs.')' - exe "amenu ".location. - \" <plug><C-r>=IMAP_PutTextWithMovement('\\text".vislhs."{<++>}<++>')<CR>" - exe "vmenu ".location. - \" \<C-\\>\<C-N>:call VEnclose('\\text".vislhs."{', '}', '{\\".vislhs.a:fam." ', '}')<CR>" - endif - - endfunction - - " }}} - " Tex_FontDiacritics: sets up menus for diacritics. {{{ - " - function! <SID>Tex_FontDiacritics(name, rhs) - let location = s:fontMenuLoc.'&Diacritics.'.a:name.'<tab>' - exe 'amenu '.location. - \" <plug><C-r>=IMAP_PutTextWithMovement('\\".a:rhs."{<++>}<++>')<CR>" - exe 'vmenu '.location. - \" \<C-\\>\<C-n>:call VEnclose('\\".a:rhs."{', '}', '', '')<CR>" - endfunction " }}} - " Tex_FontSize: sets up size fonts {{{ - " - function! <SID>Tex_FontSize(name) - let location = s:fontMenuLoc.'&Size.'.a:name.'<tab>' - exe 'amenu '.location." <plug>\\".a:name - exe 'vunmenu '.location - endfunction " }}} - " Tex_Fontfont: sets up the 'font' part of font menus {{{ - " - function! <SID>Tex_Fontfont(desc, lhs) - let location = s:fontMenuLoc.'&font.'.a:desc.'<tab>' - exe "amenu ".location." <plug><C-r>=IMAP_PutTextWithMovement('".a:lhs."')<CR>" - exe "vunmenu ".location - endfunction " }}} - " Tex_DimMenus: set up dimension menus {{{ - function! <SID>Tex_DimMenus(submenu, rhs) - let location = s:dimensionMenuLoc.a:submenu.'.'.a:rhs.'<tab>' - exe "amenu ".location." <plug>\\".a:rhs - exe "vunmenu ".location - endfunction " }}} - " Tex_CounterMenus: set up counters menus {{{ - function! <SID>Tex_CounterMenus(submenu, rhs) - let location = s:counterMenuLoc.a:submenu.'.'.a:rhs.'<tab>' - exe "amenu ".location." <plug>\\".a:rhs - exe "vunmenu ".location - endfunction " }}} - " Tex_VariousMenus: set up various menus {{{ - function! <SID>Tex_VariousMenus(desc, lhs) - let location = s:variousMenuLoc.a:desc.'<tab>' - exe "amenu ".location." <plug><C-r>=IMAP_PutTextWithMovement('".a:lhs."')<CR>" - exe "vunmenu ".location - endfunction " }}} -endif -" }}} - -" ============================================================================== -" Fonts -" ============================================================================== -" series/family/shape {{{ -call <SID>Tex_FontFamily("FBF","series") -call <SID>Tex_FontFamily("FMD","series") - -call <SID>Tex_FontFamily("FTT","family") -call <SID>Tex_FontFamily("FSF","family") -call <SID>Tex_FontFamily("FRM","family") - -call <SID>Tex_FontFamily("FUP","shape") -call <SID>Tex_FontFamily("FSL","shape") -call <SID>Tex_FontFamily("FSC","shape") -call <SID>Tex_FontFamily("FIT","shape") - -" the \emph is special. -if g:Tex_FontMaps | exe "vnoremap <silent> ".g:Tex_Leader."em \<C-\\>\<C-N>:call VEnclose('\\emph{', '}', '{\\em', '\\/}')<CR>" | endif -if g:Tex_FontMaps | exe 'call IMAP ("FEM", "\\emph{<++>}<++>", "tex")' | endif - -" }}} -if g:Tex_Menus && g:Tex_FontMenus - " {{{ diacritics - call <SID>Tex_FontDiacritics('Acute', '"') - call <SID>Tex_FontDiacritics('Breve', 'u') - call <SID>Tex_FontDiacritics('Circle', 'r') - call <SID>Tex_FontDiacritics('Circumflex', '^') - call <SID>Tex_FontDiacritics('Umlaut', '"') - call <SID>Tex_FontDiacritics('HUmlaut', 'H') - call <SID>Tex_FontDiacritics('Dot\ over', '.') - call <SID>Tex_FontDiacritics('Grave', '`') - call <SID>Tex_FontDiacritics('Hacek', 'v') - call <SID>Tex_FontDiacritics('Makron', '=') - call <SID>Tex_FontDiacritics('Tilde', '~') - call <SID>Tex_FontDiacritics('Underline', 'b') - call <SID>Tex_FontDiacritics('Cedille', 'c') - call <SID>Tex_FontDiacritics('Dot\ under', ' ') - call <SID>Tex_FontDiacritics('Ligature', 't') - " }}} - " {{{ Si&ze. - call <SID>Tex_FontSize('tiny') - call <SID>Tex_FontSize('scriptsize') - call <SID>Tex_FontSize('footnotesize') - call <SID>Tex_FontSize('small') - call <SID>Tex_FontSize('normalsize') - call <SID>Tex_FontSize('large') - call <SID>Tex_FontSize('Large') - call <SID>Tex_FontSize('LARGE') - call <SID>Tex_FontSize('huge') - call <SID>Tex_FontSize('Huge') - " }}} - " {{{ &font. - call s:Tex_Fontfont('fontencoding{}', '\fontencoding{<++>}<++>') - call s:Tex_Fontfont('fontfamily{qtm}', '\fontfamily{<++>}<++>') - call s:Tex_Fontfont('fontseries{m\ b\ bx\ sb\ c}', '\fontseries{<++>}<++>') - call s:Tex_Fontfont('fontshape{n\ it\ sl\ sc\ ui}', '\fontshape{<++>}<++>') - call s:Tex_Fontfont('fontsize{}{}', '\fontsize{<++>}{<++>}<++>') - call s:Tex_Fontfont('selectfont', '\selectfont ') - " }}} -endif - -" ============================================================================== -" Dimensions -" ============================================================================== -if g:Tex_Menus - " {{{ Static1 - call <SID>Tex_DimMenus('Static1', 'arraycolsep') - call <SID>Tex_DimMenus('Static1', 'arrayrulewidth') - call <SID>Tex_DimMenus('Static1', 'bibindent') - call <SID>Tex_DimMenus('Static1', 'columnsep') - call <SID>Tex_DimMenus('Static1', 'columnseprule') - call <SID>Tex_DimMenus('Static1', 'columnwidth') - call <SID>Tex_DimMenus('Static1', 'doublerulesep') - call <SID>Tex_DimMenus('Static1', 'evensidemargin') - call <SID>Tex_DimMenus('Static1', 'fboxrule') - call <SID>Tex_DimMenus('Static1', 'fboxsep') - call <SID>Tex_DimMenus('Static1', 'footheight') - call <SID>Tex_DimMenus('Static1', 'footnotesep') - call <SID>Tex_DimMenus('Static1', 'footskip') - call <SID>Tex_DimMenus('Static1', 'headheight') - call <SID>Tex_DimMenus('Static1', 'headsep') - call <SID>Tex_DimMenus('Static1', 'itemindent') - call <SID>Tex_DimMenus('Static1', 'labelsep') - call <SID>Tex_DimMenus('Static1', 'labelwidth') - call <SID>Tex_DimMenus('Static1', 'leftmargin') - call <SID>Tex_DimMenus('Static1', 'leftmargini') - call <SID>Tex_DimMenus('Static1', 'leftmarginii') - call <SID>Tex_DimMenus('Static1', 'leftmarginiii') - call <SID>Tex_DimMenus('Static1', 'leftmarginiv') - call <SID>Tex_DimMenus('Static1', 'leftmarginv') - call <SID>Tex_DimMenus('Static1', 'leftmarginvi') - call <SID>Tex_DimMenus('Static1', 'linewidth') - call <SID>Tex_DimMenus('Static1', 'listparindent') - call <SID>Tex_DimMenus('Static1', 'marginparpush') - call <SID>Tex_DimMenus('Static1', 'marginparsep') - call <SID>Tex_DimMenus('Static1', 'marginparwidth') - call <SID>Tex_DimMenus('Static1', 'mathindent') - call <SID>Tex_DimMenus('Static1', 'oddsidemargin') - " }}} - " {{{ Static2 - call <SID>Tex_DimMenus('Static2', 'paperheight') - call <SID>Tex_DimMenus('Static2', 'paperwidth') - call <SID>Tex_DimMenus('Static2', 'parindent') - call <SID>Tex_DimMenus('Static2', 'rightmargin') - call <SID>Tex_DimMenus('Static2', 'tabbingsep') - call <SID>Tex_DimMenus('Static2', 'tabcolsep') - call <SID>Tex_DimMenus('Static2', 'textheight') - call <SID>Tex_DimMenus('Static2', 'textwidth') - call <SID>Tex_DimMenus('Static2', 'topmargin') - call <SID>Tex_DimMenus('Static2', 'unitlength') - " }}} - " {{{ Dynamic - call <SID>Tex_DimMenus('Dynamic', 'abovedisplayshortskip') - call <SID>Tex_DimMenus('Dynamic', 'abovedisplayskip') - call <SID>Tex_DimMenus('Dynamic', 'baselineskip') - call <SID>Tex_DimMenus('Dynamic', 'belowdisplayshortskip') - call <SID>Tex_DimMenus('Dynamic', 'belowdisplayskip') - call <SID>Tex_DimMenus('Dynamic', 'dblfloatsep') - call <SID>Tex_DimMenus('Dynamic', 'dbltextfloatsep') - call <SID>Tex_DimMenus('Dynamic', 'floatsep') - call <SID>Tex_DimMenus('Dynamic', 'intextsep') - call <SID>Tex_DimMenus('Dynamic', 'itemsep') - call <SID>Tex_DimMenus('Dynamic', 'parsep') - call <SID>Tex_DimMenus('Dynamic', 'parskip') - call <SID>Tex_DimMenus('Dynamic', 'partopsep') - call <SID>Tex_DimMenus('Dynamic', 'textfloatsep') - call <SID>Tex_DimMenus('Dynamic', 'topsep') - call <SID>Tex_DimMenus('Dynamic', 'topskip') - " }}} - " {{{ Change - call <SID>Tex_DimMenus('Change', 'setlength') - call <SID>Tex_DimMenus('Change', 'addtolength') - call <SID>Tex_DimMenus('Change', 'settoheight') - call <SID>Tex_DimMenus('Change', 'settowidth') - call <SID>Tex_DimMenus('Change', 'settolength') - " }}} -endif - -" ============================================================================== -" Counters -" ============================================================================== -if g:Tex_Menus - " Counters {{{ - call <SID>Tex_CounterMenus('Counters', 'bottomnumber') - call <SID>Tex_CounterMenus('Counters', 'chapter') - call <SID>Tex_CounterMenus('Counters', 'dbltopnumber') - call <SID>Tex_CounterMenus('Counters', 'enumi') - call <SID>Tex_CounterMenus('Counters', 'enumii') - call <SID>Tex_CounterMenus('Counters', 'enumiii') - call <SID>Tex_CounterMenus('Counters', 'enumiv') - call <SID>Tex_CounterMenus('Counters', 'equation') - call <SID>Tex_CounterMenus('Counters', 'figure') - call <SID>Tex_CounterMenus('Counters', 'footnote') - call <SID>Tex_CounterMenus('Counters', 'mpfootnote') - call <SID>Tex_CounterMenus('Counters', 'page') - call <SID>Tex_CounterMenus('Counters', 'paragraph') - call <SID>Tex_CounterMenus('Counters', 'part') - call <SID>Tex_CounterMenus('Counters', 'secnumdepth') - call <SID>Tex_CounterMenus('Counters', 'section') - call <SID>Tex_CounterMenus('Counters', 'subparagraph') - call <SID>Tex_CounterMenus('Counters', 'subsection') - call <SID>Tex_CounterMenus('Counters', 'subsubsection') - call <SID>Tex_CounterMenus('Counters', 'table') - call <SID>Tex_CounterMenus('Counters', 'tocdepth') - call <SID>Tex_CounterMenus('Counters', 'topnumber') - call <SID>Tex_CounterMenus('Counters', 'totalnumber') - " }}} - " theCounters {{{ - call <SID>Tex_CounterMenus('theCounters', 'thebottomnumber') - call <SID>Tex_CounterMenus('theCounters', 'thechapter') - call <SID>Tex_CounterMenus('theCounters', 'thedbltopnumber') - call <SID>Tex_CounterMenus('theCounters', 'theenumi') - call <SID>Tex_CounterMenus('theCounters', 'theenumii') - call <SID>Tex_CounterMenus('theCounters', 'theenumiii') - call <SID>Tex_CounterMenus('theCounters', 'theenumiv') - call <SID>Tex_CounterMenus('theCounters', 'theequation') - call <SID>Tex_CounterMenus('theCounters', 'thefigure') - call <SID>Tex_CounterMenus('theCounters', 'thefootnote') - call <SID>Tex_CounterMenus('theCounters', 'thempfootnote') - call <SID>Tex_CounterMenus('theCounters', 'thepage') - call <SID>Tex_CounterMenus('theCounters', 'theparagraph') - call <SID>Tex_CounterMenus('theCounters', 'thepart') - call <SID>Tex_CounterMenus('theCounters', 'thesecnumdepth') - call <SID>Tex_CounterMenus('theCounters', 'thesection') - call <SID>Tex_CounterMenus('theCounters', 'thesubparagraph') - call <SID>Tex_CounterMenus('theCounters', 'thesubsection') - call <SID>Tex_CounterMenus('theCounters', 'thesubsubsection') - call <SID>Tex_CounterMenus('theCounters', 'thetable') - call <SID>Tex_CounterMenus('theCounters', 'thetocdepth') - call <SID>Tex_CounterMenus('theCounters', 'thetopnumber') - call <SID>Tex_CounterMenus('theCounters', 'thetotalnumber') - " }}} - " Type {{{ - call <SID>Tex_CounterMenus('Type', 'alph') - call <SID>Tex_CounterMenus('Type', 'Alph') - call <SID>Tex_CounterMenus('Type', 'arabic') - call <SID>Tex_CounterMenus('Type', 'roman') - call <SID>Tex_CounterMenus('Type', 'Roman') - " }}} -endif - -" ============================================================================== -" Various -" ============================================================================== -if g:Tex_Menus - " Various {{{ - call <SID>Tex_VariousMenus('ref{}' , '\ref{<++>}<++>') - call <SID>Tex_VariousMenus('pageref{}' , '\pageref{<++>}<++>') - call <SID>Tex_VariousMenus('label{}' , '\label{<++>}<++>') - call <SID>Tex_VariousMenus('footnote{}' , '\footnote{<++>}<++>') - call <SID>Tex_VariousMenus('footnotemark{}', '\footnotemark{<++>}<++>') - call <SID>Tex_VariousMenus('footnotemark{}', '\footnotetext{<++>}<++>') - call <SID>Tex_VariousMenus('cite{}' , '\cite{<++>}<++>') - call <SID>Tex_VariousMenus('nocite{}' , '\nocite{<++>}<++>') - " }}} -endif - -if g:Tex_CatchVisMapErrors - exe "vnoremap ".g:Tex_Leader." :\<C-u>call ExecMap('".g:Tex_Leader."', 'v')\<CR>" -endif -" this is for avoiding reinclusion of imaps from next time on. -let s:doneOnce = 1 - -" vim:fdm=marker:ff=unix:noet:ts=4:sw=4 diff --git a/.vim/ftplugin/latex-suite/envmacros.vim b/.vim/ftplugin/latex-suite/envmacros.vim deleted file mode 100644 index 2f41a27..0000000 --- a/.vim/ftplugin/latex-suite/envmacros.vim +++ /dev/null @@ -1,1167 +0,0 @@ -"============================================================================= -" File: envmacros.vim -" Author: Mikolaj Machowski -" Created: Tue Apr 23 08:00 PM 2002 PST -" CVS Header: $Id: envmacros.vim 997 2006-03-20 09:45:45Z srinathava $ -" Description: mappings/menus for environments. -"============================================================================= - -if !g:Tex_EnvironmentMaps && !g:Tex_EnvironmentMenus - finish -endif - -exe 'so '.expand('<sfile>:p:h').'/wizardfuncs.vim' - -nmap <silent> <script> <plug> i -imap <silent> <script> <C-o><plug> <Nop> - -" Define environments for IMAP evaluation " {{{ -let s:figure = "\\begin{figure}[<+htpb+>]\<cr>\\begin{center}\<cr>\\psfig{figure=<+eps file+>}\<cr>\\end{center}\<cr>\\caption{<+caption text+>}\<cr>\\label{fig:<+label+>}\<cr>\\end{figure}<++>" -let s:figure_graphicx = "\\begin{figure}[<+htpb+>]\<cr>\\begin{center}\<cr>\\includegraphics{<+file+>}\<cr>\\end{center}\<cr>\\caption{<+caption text+>}\<cr>\\label{fig:<+label+>}\<cr>\\end{figure}<++>" -let s:minipage = "\\begin{minipage}[<+tb+>]{<+width+>}\<cr><++>\<cr>\\end{minipage}<++>" -let s:picture = "\\begin{picture}(<+width+>, <+height+>)(<+xoff+>,<+yoff+>)\<cr>\\put(<+xoff+>,<+yoff+>){\\framebox(<++>,<++>){<++>}}\<cr>\\end{picture}<++>" -let s:list = "\\begin{list}{<+label+>}{<+spacing+>}\<cr>\\item <++>\<cr>\\end{list}<++>" -let s:table = "\\begin{table}\<cr>\\centering\<cr>\\begin{tabular}{<+dimensions+>}\<cr><++>\<cr>\\end{tabular}\<cr>\\caption{<+Caption text+>}\<cr>\\label{tab:<+label+>}\<cr>\\end{table}<++>" -let s:array = "\\left<++>\<cr>\\begin{array}{<+dimension+>}\<cr><+elements+>\<cr>\\end{array}\<cr>\\right<++>" -let s:description ="\\begin{description}\<cr>\\item[<+label+>]<++>\<cr>\\end{description}<++>" -let s:document = "\\documentclass[<+options+>]{<+class+>}\<cr>\<cr>\\begin{document}\<cr><++>\<cr>\\end{document}" -let s:tabular = "\\begin{tabular}[<+hbtp+>]{<+format+>}\<cr><++>\<cr>\\end{tabular}" -let s:tabular_star = "\\begin{tabular*}[<+hbtp+>]{<+format+>}\<cr><++>\<cr>\\end{tabular*}" -let s:frame = "\\begin{frame}{<+title>}\<cr><++>\<cr>\\end{frame}<++>" - -" }}} -" define environments with special behavior in line wise selection. {{{ -if !exists('s:vis_center_left') - let s:vis_center_left = '\centerline{' - let s:vis_center_right = '}' - - let s:vis_verbatim_left = '\verb\|' - let s:vis_verbatim_right = '\|' - - let s:vis_flushright_left = '{\raggedright ' - let s:vis_flushright_right = '}' - - let s:vis_fushleft_left = '{\raggedleft ' - let s:vis_fushleft_right = '}' - - let s:vis_lrbox_left = '\sbox{' - let s:vis_lrbox_right = '}' -endif -" }}} -" Tex_EnvMacros: sets up maps and menus for environments {{{ -" Description: -function! <SID>Tex_EnvMacros(lhs, submenu, name) - - let extra = '' - if a:submenu =~ 'Lists' - let extra = '\item ' - endif - - let vright = '' - let vleft = '' - if exists('s:vis_'.a:name.'_right') - let vright = s:vis_{a:name}_right - let vleft = s:vis_{a:name}_left - endif - let vrhs = "\<C-\\>\<C-N>:call VEnclose('".vleft."', '".vright."', '\\begin{".a:name."}', '\\end{".a:name."}')\<CR>" - let location = g:Tex_EnvMenuLocation.a:submenu.a:name.'<tab>' - - if a:lhs != '' - - let vlhs = g:Tex_Leader2.substitute(tolower(a:lhs), '^.', '', '') - let location = location.a:lhs.'\ ('.vlhs.')' - - if g:Tex_EnvironmentMaps && !exists('s:doneOnce') - call IMAP(a:lhs, "\<C-r>=Tex_PutEnvironment('".a:name."')\<CR>", 'tex') - exec 'vnoremap <silent> '.vlhs.' '.vrhs - endif - - endif - - if g:Tex_Menus && g:Tex_EnvironmentMenus && has("gui_running") - exe 'amenu '.location.' <plug><C-r>=Tex_DoEnvironment("'.a:name.'")<CR>' - exe 'vmenu '.location.' '.vrhs - endif - -endfunction - -" }}} -" Tex_SpecialMacros: macros with special right hand sides {{{ -" Description: -function! <SID>Tex_SpecialMacros(lhs, submenu, name, irhs, ...) - - let wiz = 1 - if a:0 > 0 && a:1 == 0 - let wiz = 0 - endif - - let location = g:Tex_EnvMenuLocation.a:submenu.a:name - - let vright = '' - let vleft = '' - if exists('s:vis_'.a:name.'_right') - let vright = s:vis_{a:name}_right - let vleft = s:vis_{a:name}_left - endif - let vrhs = "\<C-\\>\<C-N>:call VEnclose('".vleft."', '".vright."', '\\begin{".a:name."}', '\\end{".a:name."}')\<CR>" - - if a:lhs != '' - - let vlhs = g:Tex_Leader2.substitute(tolower(a:lhs), '^.', '', '') - let location = location.'<tab>'.a:lhs.'\ ('.vlhs.')' - - if g:Tex_EnvironmentMaps && !exists('s:doneOnce') - call IMAP(a:lhs, a:irhs, 'tex') - exec 'vnoremap '.vlhs.' '.vrhs - endif - - endif - - if g:Tex_Menus && g:Tex_EnvironmentMenus - if wiz - exe 'amenu '.location.' <plug><C-r>=Tex_DoEnvironment("'.a:name.'")<CR>' - else - exe 'amenu '.location." <plug><C-r>=IMAP_PutTextWithMovement('".a:irhs."')<CR>" - endif - exe 'vmenu '.location.' '.vrhs - endif - -endfunction " }}} -" Tex_SectionMacros: creates section maps and menus {{{ -" Description: -function! <SID>Tex_SectionMacros(lhs, name) - - let vlhs = g:Tex_Leader2.substitute(tolower(a:lhs), '^.', '', '') - let vrhs = "\<C-\\>\<C-N>:call VEnclose('\\".a:name."{', '}', '', '')<CR>" - - if g:Tex_SectionMaps && !exists('s:doneOnce') - exe 'vnoremap '.vlhs.' '.vrhs - call IMAP (a:lhs, "\\".a:name.'{<++>}<++>', 'tex') - endif - - if g:Tex_Menus && g:Tex_SectionMenus - let location = g:Tex_EnvMenuLocation.'Sections.'.a:name.'<tab>'.a:lhs.'\ ('.vlhs.')' - let advlocation = g:Tex_EnvMenuLocation.'Sections.Advanced.'.a:name - - let irhs = "\<C-r>=IMAP_PutTextWithMovement('\\".a:name."{<++>}<++>')\<CR>" - - let advirhs = "\<C-r>=Tex_InsSecAdv('".a:name."')\<CR>" - let advvrhs = "\<C-\\>\<C-N>:call Tex_VisSecAdv('".a:name."')\<CR>" - - exe 'amenu '.advlocation.' <plug>'.advirhs - exe 'vnoremenu '.advlocation." ".advvrhs - - exe 'amenu '.location.' <plug>'.irhs - exe 'vnoremenu '.location." ".vrhs - endif -endfunction " }}} - -" NewEnvironments {{{ -call s:Tex_SpecialMacros('', '', 'newenvironment', '\newenvironment{<++>}[<++>][<++>]{<++>}{<++>}<++>', 0) -call s:Tex_SpecialMacros('', '', 'newenvironment*', '\newenvironment*{<++>}[<++>][<++>]{<++>}{<++>}<++>', 0) -call s:Tex_SpecialMacros('', '', 'renewenvironment', '\renewenvironment{<++>}[<++>][<++>]{<++>}{<++>}<++>', 0) -call s:Tex_SpecialMacros('', '', 'renewenvironment*', '\renewenvironment*{<++>}[<++>][<++>]{<++>}{<++>}<++>', 0) -call s:Tex_SpecialMacros('', '', '-sepenv0-', ' :', 0) -" }}} -" Environments specific commands {{{ -call s:Tex_SpecialMacros('', 'Env&Commands.&Lists.', '&item', '\item', 0) -call s:Tex_SpecialMacros('', 'Env&Commands.&Lists.', 'i&tem[]', '\item[<++>]<++>', 0) -call s:Tex_SpecialMacros('', 'Env&Commands.&Lists.', '&bibitem{}', '\bibitem{<++>}<++>', 0) -call s:Tex_SpecialMacros('', 'Env&Commands.&Tabbing.', '\\&=', '\=', 0) -call s:Tex_SpecialMacros('', 'Env&Commands.&Tabbing.', '\\&>', '\>', 0) -call s:Tex_SpecialMacros('', 'Env&Commands.&Tabbing.', '&\\\\', '\\', 0) -call s:Tex_SpecialMacros('', 'Env&Commands.&Tabbing.', '\\&+', '\+', 0) -call s:Tex_SpecialMacros('', 'Env&Commands.&Tabbing.', '\\&-', '\-', 0) -call s:Tex_SpecialMacros('', 'Env&Commands.&Tabbing.', "\\\'", "\\\'", 0) -call s:Tex_SpecialMacros('', 'Env&Commands.&Tabbing.', '\\&`', '\`', 0) -call s:Tex_SpecialMacros('', 'Env&Commands.&Tabbing.', '\\&kill', '\kill', 0) -call s:Tex_SpecialMacros('', 'Env&Commands.&Tabbing.', '&makron\ \\CHAR=', '\<++>=<++>', 0) -call s:Tex_SpecialMacros('', 'Env&Commands.&Tabbing.', "&aigu\ \\CHAR\'", "\\<++>\'<++>", 0) -call s:Tex_SpecialMacros('', 'Env&Commands.&Tabbing.', '&grave\ \\CHAR`', '\<++>`<++>', 0) -call s:Tex_SpecialMacros('', 'Env&Commands.&Tabbing.', 'p&ushtabs', '\pushtabs', 0) -call s:Tex_SpecialMacros('', 'Env&Commands.&Tabbing.', 'p&optabs', '\poptabs', 0) -call s:Tex_SpecialMacros('', 'EnvCommands.&Tabular.', '&hline', '\hline', 0) -call s:Tex_SpecialMacros('', 'EnvCommands.&Tabular.', '&cline', '\cline', 0) -call s:Tex_SpecialMacros('', 'EnvCommands.&Tabular.', '&\&', '&', 0) -call s:Tex_SpecialMacros('', 'EnvCommands.&Tabular.', '&\\\\', '\\', 0) -call s:Tex_SpecialMacros('', 'EnvCommands.&Tabular.', '&multicolumn{}{}{}', '\multicolumn{<++>}{<++>}{<++>}<++>', 0) -call s:Tex_SpecialMacros('', 'EnvCommands.Le&tter.', '&makelabels', '\makelabels', 0) -call s:Tex_SpecialMacros('', 'EnvCommands.Le&tter.', '&address', '\address', 0) -call s:Tex_SpecialMacros('', 'EnvCommands.Le&tter.', '&signature', '\signature', 0) -call s:Tex_SpecialMacros('', 'EnvCommands.Le&tter.', '&date', '\date', 0) -call s:Tex_SpecialMacros('', 'EnvCommands.Le&tter.', '-sepenva4-', ' :', 0) -call s:Tex_SpecialMacros('', 'EnvCommands.Le&tter.', '&opening{}', '\opening{<++>}<++>', 0) -call s:Tex_SpecialMacros('', 'EnvCommands.Le&tter.', '&closing{}', '\closing{<++>}<++>', 0) -call s:Tex_SpecialMacros('', 'EnvCommands.Le&tter.', '&ps{}', '\ps{<++>}<++>', 0) -call s:Tex_SpecialMacros('', 'EnvCommands.Le&tter.', 'cc&{}', '\cc{<++>}<++>', 0) -call s:Tex_SpecialMacros('', 'EnvCommands.&Slides.', '&onlyslides{}', '\onlyslides{<++>}<++>', 0) -call s:Tex_SpecialMacros('', 'EnvCommands.&Slides.', '&onlynotes{}', '\onlynotes{<++>}<++>', 0) -call s:Tex_SpecialMacros('', 'EnvCommands.&Slides.', '-sepenva5-', ' :', 0) -call s:Tex_SpecialMacros('', 'EnvCommands.&Slides.', '&invisible', '\invisible', 0) -call s:Tex_SpecialMacros('', 'EnvCommands.&Slides.', '&visible', '\visible', 0) -call s:Tex_SpecialMacros('', 'EnvCommands.&Slides.', '&settime', '\settime', 0) -call s:Tex_SpecialMacros('', 'EnvCommands.&Slides.', '&addtime', '\addtime', 0) -call s:Tex_SpecialMacros('', '', '-sepenv0-', ' :', 0) -" }}} -" Lists {{{ -call s:Tex_SpecialMacros('ELI', '&Lists.', 'list', s:list) -call s:Tex_SpecialMacros('EDE', '&Lists.', 'description', s:description) -call s:Tex_EnvMacros('EEN', '&Lists.', 'enumerate') -call s:Tex_EnvMacros('EIT', '&Lists.', 'itemize') -call s:Tex_EnvMacros('ETI', '&Lists.', 'theindex') -call s:Tex_EnvMacros('ETL', '&Lists.', 'trivlist') -" }}} -" Tables {{{ -call s:Tex_SpecialMacros('ETE', '&Tables.', 'table', s:table) -call s:Tex_EnvMacros('ETG', '&Tables.', 'tabbing') -call s:Tex_EnvMacros('', '&Tables.', 'table*') -call s:Tex_EnvMacros('', '&Tables.', 'table2') -call s:Tex_SpecialMacros('ETR', '&Tables.', 'tabular', s:tabular) -call s:Tex_SpecialMacros('', '&Tables.', 'tabular*', s:tabular_star) -" }}} -" Math {{{ -call s:Tex_EnvMacros('EAR', '&Math.', 'array') -call s:Tex_EnvMacros('EDM', '&Math.', 'displaymath') -call s:Tex_EnvMacros('EEA', '&Math.', 'eqnarray') -call s:Tex_EnvMacros('', '&Math.', 'eqnarray*') -call s:Tex_EnvMacros('EEQ', '&Math.', 'equation') -call s:Tex_EnvMacros('EMA', '&Math.', 'math') -" }}} -" Structure {{{ -call s:Tex_SpecialMacros('EAR', 'Math.', 'array', s:array) -call s:Tex_EnvMacros('EAB', '&Structure.', 'abstract') -call s:Tex_EnvMacros('EAP', '&Structure.', 'appendix') -call s:Tex_EnvMacros('ECE', '&Structure.', 'center') -call s:Tex_EnvMacros('EDO', '&Structure.', 'document') -call s:Tex_EnvMacros('EFC', '&Structure.', 'filecontents') -call s:Tex_EnvMacros('', '&Structure.', 'filecontents*') -call s:Tex_EnvMacros('EFL', '&Structure.', 'flushleft') -call s:Tex_EnvMacros('EFR', '&Structure.', 'flushright') -call s:Tex_EnvMacros('EQN', '&Structure.', 'quotation') -call s:Tex_EnvMacros('EQE', '&Structure.', 'quote') -call s:Tex_EnvMacros('ESB', '&Structure.', 'sloppybar') -call s:Tex_EnvMacros('ETI', '&Structure.', 'theindex') -call s:Tex_EnvMacros('ETP', '&Structure.', 'titlepage') -call s:Tex_EnvMacros('EVM', '&Structure.', 'verbatim') -call s:Tex_EnvMacros('', '&Structure.', 'verbatim*') -call s:Tex_EnvMacros('EVE', '&Structure.', 'verse') -call s:Tex_EnvMacros('ETB', '&Structure.', 'thebibliography') -call s:Tex_SpecialMacros('', '&Structure.', '-sepstruct0-', ':', 0) -call s:Tex_EnvMacros('ENO', '&Structure.', 'note') -call s:Tex_EnvMacros('EOV', '&Structure.', 'overlay') -call s:Tex_EnvMacros('ESL', '&Structure.', 'slide') -" }}} -" Sections {{{ -call s:Tex_SectionMacros('SPA', 'part') -call s:Tex_SectionMacros('SCH', 'chapter') -call s:Tex_SectionMacros('SSE', 'section') -call s:Tex_SectionMacros('SSS', 'subsection') -call s:Tex_SectionMacros('SS2', 'subsubsection') -call s:Tex_SectionMacros('SPG', 'paragraph') -call s:Tex_SectionMacros('SSP', 'subparagraph') -" }}} -" Miscellaneous {{{ -call s:Tex_SpecialMacros('', '', '-sepenv1-', ' :', 0) -call s:Tex_SpecialMacros('EFI', '', 'figure', "\<C-r>=Tex_PutEnvironment('figure')\<CR>") -call s:Tex_EnvMacros('', '', 'figure*') -call s:Tex_EnvMacros('ELR', '', 'lrbox') -call s:Tex_SpecialMacros('EMP', '', 'minipage', s:minipage) -call s:Tex_SpecialMacros('EPI', '', 'picture', s:picture) -" }}} - -if g:Tex_CatchVisMapErrors - exe 'vnoremap '.g:Tex_Leader2." :\<C-u>call ExecMap('".g:Tex_Leader2."', 'v')\<CR>" -endif - -" ============================================================================== -" Specialized functions for various environments -" -" All these functions are to be used as: -" -" inoremap <lhs> <C-r>=Tex_itemize('enumerate')<CR> -" nnoremap <lhs> i<C-r>=Tex_itemize('enumerate')<CR> -" -" and so on... -" ============================================================================== -" Tex_itemize: {{{ -function! Tex_itemize(env) - return IMAP_PutTextWithMovement('\begin{'.a:env."}\<cr>\\item <++>\<cr>\\end{".a:env."}<++>") -endfunction -" }}} -" Tex_description: {{{ -function! Tex_description(env) - if g:Tex_UseMenuWizard == 1 - let itlabel = input('(Optional) Item label? ') - if itlabel != '' - let itlabel = '['.itlabel.']' - endif - return IMAP_PutTextWithMovement("\\begin{description}\<cr>\\item".itlabel." <++>\<cr>\\end{description}<++>") - else - return IMAP_PutTextWithMovement(s:description) - endif -endfunction -" }}} -" Tex_figure: {{{ -function! Tex_figure(env) - if g:Tex_UseMenuWizard == 1 - let flto = input('Float to (htbp)? ') - let caption = input('Caption? ') - let center = input('Center ([y]/n)? ') - let label = input('Label (for use with \ref)? ') - " additional to AUC Tex since my pics are usually external files - let pic = input('Name of Pic-File? ') - if flto != '' - let flto = '['.flto."]\<cr>" - else - let flto = "\<cr>" - endif - if pic != '' - let pic = '\input{'.pic."}\<cr>" - else - let pic = "<++>\<cr>" - endif - if caption != '' - let caption = '\caption{'.caption."}\<cr>" - endif - if label != '' - let label = '\label{fig:'.label."}\<cr>" - endif - if center == 'y' - let centr = '\begin{center}' . "\<cr>" - let centr = centr . pic - let centr = centr . caption - let centr = centr . label - let centr = centr . '\end{center}' . "\<cr>" - else - let centr = pic - let centr = centr . caption - let centr = centr . label - endif - let figure = '\begin{'.a:env.'}'.flto - let figure = figure . centr - let figure = figure . '\end{'.a:env.'}' - return IMAP_PutTextWithMovement(figure) - else - if g:Tex_package_detected =~ '\<graphicx\>' - return IMAP_PutTextWithMovement(s:figure_graphicx) - else - return IMAP_PutTextWithMovement(s:figure) - endif - endif -endfunction -" }}} -" Tex_table: {{{ -function! Tex_table(env) - if g:Tex_UseMenuWizard == 1 - let flto = input('Float to (htbp)? ') - let caption = input('Caption? ') - let center = input('Center (y/n)? ') - let label = input('Label? ') - if flto != '' - let flto ='['.flto."]\<cr>" - else - let flto = '' - endif - let ret='\begin{table}'.flto - if center == 'y' - let ret=ret."\\begin{center}\<cr>" - endif - let foo = '\begin{tabular}' - let pos = input('(Optional) Position (t b)? ') - if pos != '' - let foo = foo.'['.pos.']' - else - let foo = foo."\<cr>" - endif - let format = input("Format ( l r c p{width} | @{text} )? ") - if format == '' - let format = '<++>' - endif - let ret = ret.foo.'{'.format."}\<cr><++>\<cr>\\end{tabular}<++>\<cr>" - if center == 'y' - let ret=ret."\\end{center}\<cr>" - endif - if caption != '' - let ret=ret.'\caption{'.caption."}\<cr>" - endif - if label != '' - let ret=ret.'\label{tab:'.label."}\<cr>" - endif - let ret=ret.'\end{table}<++>' - return IMAP_PutTextWithMovement(ret) - else - return IMAP_PutTextWithMovement(s:table) - endif -endfunction -" }}} -" Tex_tabular: {{{ -function! Tex_tabular(env) - if g:Tex_UseMenuWizard == 1 - let pos = input('(Optional) Position (t b)? ') - let format = input("Format ( l r c p{width} | @{text} )? ") - if pos != '' - let pos = '['.pos.']' - endif - if format != '' - let format = '{'.format.'}' - endif - return IMAP_PutTextWithMovement('\begin{'.a:env.'}'.pos.format."\<cr> \<cr>\\end{".a:env.'}<++>') - else - return IMAP_PutTextWithMovement('\begin{'.a:env.'}[<+position+>]{<+format+>}'."\<cr><++>\<cr>\\end{".a:env.'}<++>') - endif -endfunction -" }}} -" Tex_eqnarray: {{{ -function! Tex_eqnarray(env) - if g:Tex_UseMenuWizard == 1 - if a:env !~ '\*' - let label = input('Label? ') - if label != '' - let arrlabel = '\label{'.label."}\<cr>" - else - let arrlabel = '' - endif - else - let arrlabel = '' - endif - else - if a:env !~ '\*' - let arrlabel = "\\label{<++>}\<cr>" - else - let arrlabel = "" - endif - endif - return IMAP_PutTextWithMovement('\begin{'.a:env."}\<cr><++>\<cr>".arrlabel."\\end{".a:env."}<++>") -endfunction -" }}} -" Tex_list: {{{ -function! Tex_list(env) - if g:Tex_UseMenuWizard == 1 - let label = input('Label (for \item)? ') - if label != '' - let label = '{'.label.'}' - let addcmd = input('Additional commands? ') - if addcmd != '' - let label = label . '{'.addcmd.'}' - endif - else - let label = '' - endif - return IMAP_PutTextWithMovement('\begin{list}'.label."\<cr>\\item \<cr>\\end{list}<++>") - else - return IMAP_PutTextWithMovement(s:list) - endif -endfunction -" }}} -" Tex_document: {{{ -function! Tex_document(env) - if g:Tex_UseMenuWizard == 1 - let dstyle = input('Document style? ') - let opts = input('(Optional) Options? ') - let foo = '\documentclass' - if opts == '' - let foo = foo.'{'.dstyle.'}' - else - let foo = foo.'['.opts.']'.'{'.dstyle.'}' - endif - return IMAP_PutTextWithMovement(foo."\<cr>\<cr>\\begin{document}\<cr><++>\<cr>\\end{document}") - else - return IMAP_PutTextWithMovement(s:document) - endif -endfunction -" }}} -" Tex_minipage: {{{ -function! Tex_minipage(env) - if g:Tex_UseMenuWizard == 1 - let foo = '\begin{minipage}' - let pos = input('(Optional) Position (t b)? ') - let width = input('Width? ') - if pos == '' - let foo = foo.'{'.width.'}' - else - let foo = foo.'['.pos.']{'.width.'}' - endif - return IMAP_PutTextWithMovement(foo."\<cr><++>\<cr>\\end{minipage}<++>") - else - return IMAP_PutTextWithMovement(s:minipage) - endif -endfunction -" }}} -" Tex_thebibliography: {{{ -function! Tex_thebibliography(env) - if g:Tex_UseMenuWizard == 1 - " AUC Tex: "Label for BibItem: 99" - let indent = input('Indent for BibItem? ') - let foo = '{'.indent.'}' - let biblabel = input('(Optional) Bibitem label? ') - let key = input('Add key? ') - let bar = '\bibitem' - if biblabel != '' - let bar = bar.'['.biblabel.']' - endif - let bar = bar.'{'.key.'}' - return IMAP_PutTextWithMovement('\begin{thebibliography}'.foo."\<cr>".bar." \<cr>\\end{thebibliography}<++>\<Up>") - else - return IMAP_PutTextWithMovement( - \ "\\begin{thebibliography}\<CR>". - \ "\\item[<+biblabel+>]{<+bibkey+>} <++>\<CR>". - \ "<++>\<CR>". - \ "\\end{thebibliography}<++>") - endif -endfunction -" }}} - -" ============================================================================== -" Contributions / suggestions from Carl Mueller (auctex.vim) -" ============================================================================== -" PromptForEnvironment: prompts for an environment {{{ -" Description: -function! PromptForEnvironment(ask) - return Tex_ChooseFromPrompt( - \ a:ask."\n" . - \ Tex_CreatePrompt(g:Tex_PromptedEnvironments, 2, ",") . - \ "\nEnter nae or number of environment :", - \ g:Tex_PromptedEnvironments, ",") -endfunction " }}} -" Tex_DoEnvironment: fast insertion of environments {{{ -" Description: -" The menus call this function with an argument (the name of the environment -" to insert). The maps call this without any arguments. In this case, it -" prompts for an environment to enter if the current line is empty. If -" called without arguments and there is a word on the current line, then use -" that as the name of a new environment. -function! Tex_DoEnvironment(...) - if a:0 < 1 - let env = matchstr(getline('.'), '^\s*\zs\w*\*\=\ze\s*$') - " If in current line is more than one word or in visual mode - " ignore contents of line and prompt for environment - if env == '' || (exists('s:isvisual') && s:isvisual == 'yes') - let env = PromptForEnvironment('Choose which environment to insert: ') - if env != '' - return Tex_PutEnvironment(env) - else - return '' - endif - else - " delete the word on the line into the blackhole register. - normal! 0"_D - return Tex_PutEnvironment(env) - endif - else - return Tex_PutEnvironment(a:1) - endif -endfunction " }}} -" Tex_PutEnvironment: calls various specialized functions {{{ -" Description: -" Based on input argument, it calls various specialized functions. -function! Tex_PutEnvironment(env) - if exists("s:isvisual") && s:isvisual == "yes" - let s:isvisual = 'no' - if a:env == '\[' - return VEnclose('', '', '\[', '\]') - elseif a:env == '$$' - return VEnclose('', '', '$$', '$$') - endif - return VEnclose('\begin{'.a:env.'}', '\end{'.a:env.'}', '\begin{'.a:env.'}', '\end{'.a:env.'}') - else - " The user can define something like - " let g:Tex_Env_theorem = "\\begin{theorem}\<CR><++>\<CR>\\end{theorem}" - " This will effectively over-write the default definition of the - " theorem environment which uses a \label. - if exists("b:Tex_Env_{'".a:env."'}") - return IMAP_PutTextWithMovement(b:Tex_Env_{a:env}) - elseif exists("g:Tex_Env_{'".a:env."'}") - return IMAP_PutTextWithMovement(g:Tex_Env_{a:env}) - elseif a:env =~ 'equation*\|eqnarray*\|theorem\|lemma\|equation\|eqnarray\|align\*\|align\>\|multline' - let g:aa = a:env - return Tex_eqnarray(a:env) - elseif a:env =~ "enumerate\\|itemize\\|theindex\\|trivlist" - return Tex_itemize(a:env) - elseif a:env =~ "table\\|table*" - return Tex_table(a:env) - elseif a:env =~ "tabular\\|tabular*\\|array\\|array*" - return Tex_tabular(a:env) - elseif exists('*Tex_'.a:env) - exe 'return Tex_'.a:env.'(a:env)' - elseif a:env == '$$' - return IMAP_PutTextWithMovement('$$<++>$$') - elseif a:env == '\[' - return IMAP_PutTextWithMovement("\\[\<CR><++>\<CR>\\]<++>") - else - " Look in supported packages if exists template for environment - " given in the line - if exists('g:Tex_package_supported') && g:Tex_package_supported != '' - let i = 1 - while Tex_Strntok(g:Tex_package_supported, ',', i) != '' - let checkpack = Tex_Strntok(g:Tex_package_supported, ',', i) - if g:TeX_package_{checkpack} =~ 'e..:'.a:env - if a:env =~ '*' - " Don't allow * to be treated as wildcard - let aenv = substitute(a:env, '*', '\\*', '') - else - let aenv = a:env - endif - let envcommand = matchstr(g:TeX_package_{checkpack}, '\zse..:'.aenv.'[^,]\{-}\ze,') - return Tex_ProcessPackageCommand(envcommand) - endif - let i = i + 1 - endwhile - endif - " If nothing before us managed to create an environment, then just - " create a bare-bones environment from the name. - return IMAP_PutTextWithMovement('\begin{'.a:env."}\<cr><++>\<cr>\\end{".a:env."}<++>") - endif -endfunction " }}} -" Mapping the <F5> key to insert/prompt for an environment/package {{{ -" and <S-F5> to prompt/replace an environment -" -" g:Tex_PromptedEnvironments is a variable containing a comma seperated list -" of environments. This list defines the prompt which latex-suite sets up when -" the user presses <F5> on an empty line. -" -" Leaving this empty is equivalent to disabling the feature. -if g:Tex_PromptedEnvironments != '' - - let b:DoubleDollars = 0 - - " Provide only <plug>s here. main.vim will create the actual maps. - inoremap <silent> <Plug>Tex_FastEnvironmentInsert <C-r>=Tex_FastEnvironmentInsert("no")<cr> - nnoremap <silent> <Plug>Tex_FastEnvironmentInsert i<C-r>=Tex_FastEnvironmentInsert("no")<cr> - vnoremap <silent> <Plug>Tex_FastEnvironmentInsert <C-\><C-N>:call Tex_FastEnvironmentInsert("yes")<CR> - inoremap <silent> <Plug>Tex_FastEnvironmentChange <C-O>:call Tex_ChangeEnvironments()<CR> - nnoremap <silent> <Plug>Tex_FastEnvironmentChange :call Tex_ChangeEnvironments()<CR> - - " Tex_FastEnvironmentInsert: maps <F5> to prompt for env and insert it " {{{ - " Description: - " This function calculates whether we are in the preamble. If we are - " then inserts a \usepackage line by either reading in a word from the - " current line or prompting to type in one. If not in the preamble, then - " inserts a environment template either by reading in a word from the - " current line or prompting the user to choose one. - " - function! Tex_FastEnvironmentInsert(isvisual) - - let start_line = line('.') - let pos = line('.').' | normal! '.virtcol('.').'|' - let s:isvisual = a:isvisual - - " decide if we are in the preamble of the document. If we are then - " insert a package, otherwise insert an environment. - " - if search('\\documentclass', 'bW') && search('\\begin{document}') - - " If there is a \documentclass line and a \begin{document} line in - " the file, then a part of the file is the preamble. - - " search for where the document begins. - let begin_line = search('\\begin{document}') - " if the document begins after where we are presently, then we are - " in the preamble. - if start_line < begin_line - " return to our original location and insert a package - " statement. - exe pos - return Tex_package_from_line() - else - " we are after the preamble. insert an environment. - exe pos - return Tex_DoEnvironment() - endif - - elseif search('\\documentclass') - " if there is only a \documentclass but no \begin{document}, then - " the entire file is a preamble. Put a package. - - exe pos - return Tex_package_from_line() - - else - " no \documentclass, put an environment. - - exe pos - return Tex_DoEnvironment() - - endif - - endfunction - - " }}} - " Tex_package_from_line: puts a \usepackage line in the current line. " {{{ - " Description: - " - function! Tex_package_from_line() - " Function Tex_PutPackage is defined in packages.vim - " Ignores <F5> in Visual mode - if s:isvisual == "yes" - return 0 - else - let l = getline(".") - let pack = matchstr(l, '^\s*\zs.*') - normal! 0"_D - return Tex_pack_one(pack) - endif - endfunction - - " }}} - " Tex_ChangeEnvironments: calls Change() to change the environment {{{ - " Description: - " Finds out which environment the cursor is positioned in and changes - " that to the chosen new environment. This function knows the changes - " which need to be made to change one env to another and calls - " Change() with the info. - " - function! Tex_ChangeEnvironments() - - let env_line = searchpair('$$\|\\[\|begin{', '', '$$\|\\]\|end{', "bn") - - if env_line != 0 - if getline(env_line) !~ 'begin{' - let env_name = '[' - else - let env_name = matchstr(getline(env_line), 'begin{\zs.\{-}\ze}') - endif - endif - - if !exists('env_name') - echomsg "You are not inside environment" - return 0 - endif - - exe 'echomsg "You are within a '.env_name.' environment."' - let change_env = PromptForEnvironment('What do you want to change it to? ') - - if change_env == 'eqnarray' - call <SID>Change('eqnarray', 1, '', 1) - elseif change_env == 'eqnarray*' - call <SID>Change('eqnarray*', 0, '\\nonumber', 0) - elseif change_env == 'align' - call <SID>Change('align', 1, '', 1) - elseif change_env == 'align*' - call <SID>Change('align*', 0, '\\nonumber', 0) - elseif change_env == 'equation*' - call <SID>Change('equation*', 0, '&\|\\lefteqn{\|\\nonumber\|\\\\', 0) - elseif change_env == '' - return 0 - else - call <SID>Change(change_env, 0, '', '') - return 0 - endif - - endfunction - - " }}} - " Change: changes the current env to the new env {{{ - " Description: - " This function needs to know the changes which need to be made while - " going from an old environment to a new one. This info, it gets from - " Tex_ChangeEnvironments - " - " env : name of the new environment. - " label : if 1, then insert a \label at the end of the environment. - " otherwise, delete any \label line found. - " delete : a pattern which is to be deleted from the original environment. - " for example, going to a eqnarray* environment means we need to - " delete \label's. - " putInNonumber : whether we need to put a \nonumber before the end of the - " environment. - function! s:Change(env, label, delete, putInNonumber) - - let start_line = line('.') - let start_col = virtcol('.') - - if a:env == '[' - if b:DoubleDollars == 0 - let first = '\\[' - let second = '\\]' - else - let first = '$$' - let second = '$$' - endif - else - let first = '\\begin{' . a:env . '}' - let second = '\\end{' . a:env . '}' - endif - - if b:DoubleDollars == 0 - let bottom = searchpair('\\\[\|\\begin{','','\\\]\|\\end{','') - s/\\\]\|\\end{.\{-}}/\=second/ - let top = searchpair('\\\[\|\\begin{','','\\\]\|\\end{','b') - s/\\\[\|\\begin{.\{-}}/\=first/ - else - let bottom = search('\$\$\|\\end{') - s/\$\$\|\\end{.\{-}}/\=second/ - let top = search('\$\$\|\\begin{','b') - s/\$\$\|\\begin{.\{-}}/\=first/ - end - if a:delete != '' - exe 'silent '. top . "," . bottom . 's/' . a:delete . '//e' - endif - - if a:putInNonumber == 1 - exe top - call search('\\end\|\\\\') - if line('.') != bottom - exe '.+1,' . bottom . 's/\\\\/\\nonumber\\\\/e' - exe (bottom-1) . 's/\s*$/ \\nonumber/' - endif - endif - - if a:label == 1 - exe top - if search("\\label", "W") > bottom - exe top - let local_label = input('Label? ') - if local_label != '' - put = '\label{'.local_label.'}' - endif - normal $ - endif - else - exe 'silent '.top . ',' . bottom . ' g/\\label/delete' - endif - - if exists('local_label') && local_label != '' - exe start_line + 1.' | normal! '.start_col.'|' - else - exe start_line.' | normal! '.start_col.'|' - endif - endfunction " }}} - -endif - -" }}} -" Map <S-F1> through <S-F4> to insert environments {{{ -if g:Tex_HotKeyMappings != '' - - " SetUpHotKeys: maps <F1> through <F4> to insert environments - " Description: - function! <SID>SetUpHotKeys() - let i = 1 - let envname = Tex_Strntok(g:Tex_HotKeyMappings, ',', i) - while envname != '' - - exec 'inoremap <silent> <buffer> <S-F'.i.'> <C-r>=Tex_PutEnvironment("'.envname.'")<CR>' - - let i = i + 1 - let envname = Tex_Strntok(g:Tex_HotKeyMappings, ',', i) - - endwhile - - endfunction - -endif - -" }}} -" Tex_SetFastEnvironmentMaps: function for setting up the <F5> and <S-F1>-<S-F4> keys {{{ -" Description: This function is made public so it can be called by the -" SetTeXOptions() function in main.vim -function! Tex_SetFastEnvironmentMaps() - if g:Tex_PromptedEnvironments != '' - call Tex_MakeMap("<F5>", "<Plug>Tex_FastEnvironmentInsert", 'i', '<silent> <buffer>') - call Tex_MakeMap("<F5>", "<Plug>Tex_FastEnvironmentInsert", 'n', '<silent> <buffer>') - call Tex_MakeMap("<F5>", "<Plug>Tex_FastEnvironmentInsert", 'v', '<silent> <buffer>') - call Tex_MakeMap("<S-F5>", "<Plug>Tex_FastEnvironmentChange", 'i', '<silent> <buffer>') - call Tex_MakeMap("<S-F5>", "<Plug>Tex_FastEnvironmentChange", 'n', '<silent> <buffer>') - endif - if g:Tex_HotKeyMappings != '' - call s:SetUpHotKeys() - endif -endfunction " }}} - -" ============================================================================== -" Contributions / Tex_InsertItem() from Johannes Tanzler -" ============================================================================== -" Tex_GetCurrentEnv: gets the current environment in which the cursor lies {{{ -" Description: handles cases such as: -" -" \begin{itemize} -" \item first item -" \item second item -" \begin{description} -" \item first desc -" \item second -" % Tex_GetCurrentEnv will return "description" when called from here -" \end{description} -" \item third item -" % Tex_GetCurrentEnv will return "itemize" when called from here -" \end{itemize} -" % Tex_GetCurrentEnv will return "" when called from here -" -" Author: Alan Schmitt -function! Tex_GetCurrentEnv() - let pos = line('.').' | normal! '.virtcol('.').'|' - let i = 0 - while 1 - let env_line = search('^[^%]*\\\%(begin\|end\){', 'bW') - if env_line == 0 - " we reached the beginning of the file, so we return the empty string - exe pos - return '' - endif - if match(getline(env_line), '^[^%]*\\begin{') == -1 - " we found a \\end, so we keep searching - let i = i + 1 - continue - else - " we found a \\begin which has not been \\end'ed. we are done. - if i == 0 - let env = matchstr(getline(env_line), '\\begin{\zs.\{-}\ze}') - exe pos - return env - else - " this \\begin closes a \\end, continue searching. - let i = i - 1 - continue - endif - endif - endwhile -endfunction -" }}} -" Tex_InsertItem: insert \item into a list {{{ -" Description: Find last \begin line, extract env name, return to the start -" position and insert proper \item, depending on env name. -" Env names are stored in g: variables it can be used by -" package files. - -TexLet g:Tex_ItemStyle_itemize = '\item ' -TexLet g:Tex_ItemStyle_enumerate = '\item ' -TexLet g:Tex_ItemStyle_theindex = '\item ' -TexLet g:Tex_ItemStyle_thebibliography = '\item[<+biblabel+>]{<+bibkey+>} <++>' -TexLet g:Tex_ItemStyle_description = '\item[<+label+>] <++>' - -function! Tex_InsertItem() - " Get current enclosing environment - let env = Tex_GetCurrentEnv() - - if exists('g:Tex_ItemStyle_'.env) - return IMAP_PutTextWithMovement(g:Tex_ItemStyle_{env}) - else - return '' - endif -endfunction -" }}} -" Tex_SetItemMaps: sets the \item inserting maps for current buffer {{{ -" Description: - -inoremap <script> <silent> <Plug>Tex_InsertItemOnThisLine <Esc>a<C-r>=Tex_InsertItem()<CR> -inoremap <script> <silent> <Plug>Tex_InsertItemOnNextLine <ESC>o<C-R>=Tex_InsertItem()<CR> - -function! Tex_SetItemMaps() - if !hasmapto("<Plug>Tex_InsertItem", "i") - imap <buffer> <M-i> <Plug>Tex_InsertItemOnThisLine - endif - if !hasmapto("<Plug>Tex_InsertItemOnNextLine", "i") - imap <buffer> <C-CR> <Plug>Tex_InsertItemOnNextLine - endif -endfunction " }}} - -" ============================================================================== -" Implementation of Fast Environment commands for LaTeX commands -" ============================================================================== -" Define certain commonly used command definitions {{{ - -TexLet g:Tex_Com_{'newtheorem'} = '\newtheorem{<+name+>}{<+caption+>}[<+within+>]' -TexLet g:Tex_Com_{'frac'} = '\frac{<+n+>}{<+d+>}<++>' - -" }}} -" PromptForCommand: prompts for a command {{{ -" Description: -function! PromptForCommand(ask) - let common_com_prompt = - \ Tex_CreatePrompt(g:Tex_PromptedCommands, 2, ',') . "\n" . - \ "Enter number or command name :" - - let inp = input(a:ask."\n".common_com_prompt) - if inp =~ '^[0-9]\+$' - let com = Tex_Strntok(g:Tex_PromptedCommands, ',', inp) - else - let com = inp - endif - - return com -endfunction " }}} -" Tex_DoCommand: fast insertion of commands {{{ -" Description: -" -function! Tex_DoCommand(isvisual) - " If the current line is empty or if a visual selection has been made, - " prompt for a new environment. - if getline('.') == '' || a:isvisual == 'yes' - let com = PromptForCommand('Choose a command to insert: ') - if com != '' - return Tex_PutCommand(com, a:isvisual) - else - return '' - endif - else - " We want to find out the word under the cursor without issuing - " any movement commands. - let presline = getline('.') - let c = col('.') - - let wordbef = matchstr(strpart(presline, 0, c-1), '\k\+\*\?$') - let wordaft = matchstr(strpart(presline, c-1), '^\k\+\*\?') - - let word = wordbef . wordaft - call Tex_Debug("Tex_DoCommand: wordbef = [".wordbef."], wordaft = [".wordaft."], word = [".word."]", 'env') - - " We use \<Del> instead of \<Bs> because \<Bs> does not work - " unless bs=2 - if word != '' - return substitute(wordbef, '.', "\<Left>", 'g') - \ . substitute(word, '.', "\<Del>", 'g') - \ . Tex_PutCommand(word, a:isvisual) - else - let cmd = PromptForCommand('Choose a command to insert: ') - if cmd != '' - return Tex_PutCommand(cmd, a:isvisual) - else - return '' - endif - endif - endif -endfunction " }}} -" Tex_PutCommand: calls various specialized functions {{{ -" Description: -" Based on input argument, it calls various specialized functions. -function! Tex_PutCommand(com, isvisual) - if a:isvisual == "yes" - if a:com == '$' - return VEnclose('$', '$', '$', '$') - elseif a:com == '\\(' - return VEnclose('\\(', '\\)', '\\(', '\\)') - else - return VEnclose("\\".a:com.'{', '}', "\\".a:com.'{', '}') - endif - else - if exists('b:Tex_Com_{"'.a:com.'"}') - return IMAP_PutTextWithMovement(b:Tex_Com_{a:com}) - elseif exists('g:Tex_Com_{"'.a:com.'"}') - return IMAP_PutTextWithMovement(g:Tex_Com_{a:com}) - elseif a:com == '$' - return IMAP_PutTextWithMovement('$<++>$') - else - return IMAP_PutTextWithMovement("\\".a:com.'{<++>}<++>') - endif - endif -endfunction " }}} -" Mapping the <F7> key to prompt/insert for command {{{ -" and <S-F7> to prompt/replace command -" -" g:Tex_PromptedCommands is a variable containing a comma seperated list -" of commands. -" -" Leaving this empty is equivalent to disabling the feature. -if g:Tex_PromptedCommands != '' - - let b:DoubleDollars = 0 - - inoremap <silent> <Plug>Tex_FastCommandInsert <C-r>=Tex_DoCommand('no')<cr> - nnoremap <silent> <Plug>Tex_FastCommandInsert i<C-r>=Tex_DoCommand('no')<cr> - vnoremap <silent> <Plug>Tex_FastCommandInsert <C-\><C-N>:call Tex_DoCommand('yes')<CR> - - inoremap <silent> <Plug>Tex_FastCommandChange <C-O>:call Tex_ChangeCommand('no')<CR> - nnoremap <silent> <Plug>Tex_FastCommandChange :call Tex_ChangeCommand('no')<CR> - - " Tex_ChangeCommand: calls ChangeCommand() to change the environment {{{ - " Description: - " Finds out which environment the cursor is positioned in and changes - " that to the chosen new environment. This function knows the changes - " which need to be made to change one env to another and calls - " ChangeCommand() with the info. - " - function! Tex_ChangeCommand(isvisual) - - let pos_com = line('.').' | normal! '.virtcol('.').'|' - - let com_line = searchpair('\\\k\{-}{', '', '}', 'b') - - if com_line != 0 - normal l - let com_name = expand('<cword>') - endif - - if !exists('com_name') - echomsg "You are not inside command" - exe pos_com - return 0 - endif - - exe 'echomsg "You are within a '.com_name.' command."' - let change_com = PromptForCommand('Do you want to change it to (number or name)? ') - - if change_com == '' - exe pos_com - return 0 - else - call <SID>ChangeCommand(change_com) - exe pos_com - return 0 - endif - - endfunction - - " }}} - " ChangeCommand: Changes current command according to prompt menu {{{ - " Description: - " - function! s:ChangeCommand(newcom) - - exe 'normal! ct{'.a:newcom."\<Esc>" - - endfunction - " }}} - -endif - -" }}} -" Tex_SetFastCommandMaps: function for setting up the <F7> keys {{{ -" Description: This function is made public so it can be called by the -" SetTeXOptions() function in main.vim -function! Tex_SetFastCommandMaps() - if g:Tex_PromptedCommands != '' - if !hasmapto('<Plug>Tex_FastCommandInsert', 'i') - imap <silent> <buffer> <F7> <Plug>Tex_FastCommandInsert - endif - if !hasmapto('<Plug>Tex_FastCommandInsert', 'n') - nmap <silent> <buffer> <F7> <Plug>Tex_FastCommandInsert - endif - if !hasmapto('<Plug>Tex_FastCommandChange', 'i') - imap <silent> <buffer> <S-F7> <Plug>Tex_FastCommandChange - endif - if !hasmapto('<Plug>Tex_FastCommandChange', 'n') - nmap <silent> <buffer> <S-F7> <Plug>Tex_FastCommandChange - endif - if !hasmapto('<Plug>Tex_FastCommandInsert', 'v') - vmap <silent> <buffer> <F7> <Plug>Tex_FastCommandInsert - endif - endif -endfunction " }}} - -" SetEnvMacrosOptions: sets mappings for buffers {{{ -" " Description: -function! <SID>SetEnvMacrosOptions() - if exists('b:doneTexEnvMaps') - return - endif - let b:doneTexEnvMaps = 1 - if g:Tex_PromptedEnvironments != '' || g:Tex_HotKeyMappings != '' - call Tex_SetFastEnvironmentMaps() - endif - if g:Tex_PromptedCommands != '' - call Tex_SetFastCommandMaps() - endif - call Tex_SetItemMaps() -endfunction " }}} -" Catch the Filetype event so we set maps for each buffer {{{ -augroup LatexSuite - au LatexSuite User LatexSuiteFileType - \ call Tex_Debug('envmacros.vim: Catching LatexSuiteFileType event', 'env') | - \ call s:SetEnvMacrosOptions() -augroup END -" }}} - -" this statement has to be at the end. -let s:doneOnce = 1 - -" vim:fdm=marker:nowrap:noet:ff=unix diff --git a/.vim/ftplugin/latex-suite/folding.vim b/.vim/ftplugin/latex-suite/folding.vim deleted file mode 100644 index dfaa450..0000000 --- a/.vim/ftplugin/latex-suite/folding.vim +++ /dev/null @@ -1,393 +0,0 @@ -"============================================================================= -" File: folding.vim -" Author: Srinath Avadhanula -" modifications/additions by Zhang Linbo -" CVS: $Id: folding.vim 997 2006-03-20 09:45:45Z srinathava $ -" Created: Tue Apr 23 05:00 PM 2002 PST -" -" Description: functions to interact with Syntaxfolds.vim -"============================================================================= - -nnoremap <unique> <Plug>Tex_RefreshFolds :call MakeTexFolds(1)<cr> - -augroup LatexSuite - au LatexSuite User LatexSuiteFileType - \ call Tex_Debug('folding.vim: catching LatexSuiteFileType', 'fold') | - \ call Tex_SetFoldOptions() -augroup END - -" Tex_SetFoldOptions: sets maps for every buffer {{{ -" Description: -function! Tex_SetFoldOptions() - if exists('b:doneSetFoldOptions') - return - endif - let b:doneSetFoldOptions = 1 - - setlocal foldtext=TexFoldTextFunction() - - if g:Tex_Folding && g:Tex_AutoFolding - call MakeTexFolds(0) - endif - - let s:ml = exists('g:mapleader') ? g:mapleader : "\\" - - call Tex_MakeMap(s:ml."rf", "<Plug>Tex_RefreshFolds", 'n', '<silent> <buffer>') - -endfunction " }}} -" Tex_FoldSections: creates section folds {{{ -" Author: Zhang Linbo -" Description: -" This function takes a comma seperated list of "sections" and creates fold -" definitions for them. The first item is supposed to be the "shallowest" field -" and the last is the "deepest". See g:Tex_FoldedSections for the default -" definition of the lst input argument. -" -" **works recursively** -function! Tex_FoldSections(lst, endpat) - let i = match(a:lst, ',') - if i > 0 - let s = strpart(a:lst, 0, i) - else - let s = a:lst - endif - if s =~ '%%fakesection' - let s = '^\s*' . s - else - let s = '^\s*\\' . s . '\W' - endif - let endpat = s . '\|' . a:endpat - if i > 0 - call Tex_FoldSections(strpart(a:lst,i+1), endpat) - endif - let endpat = '^\s*\\appendix\W\|' . endpat - call AddSyntaxFoldItem(s, endpat, 0, -1) -endfunction -" }}} -" MakeTexFolds: function to create fold items for latex. {{{ -" -" used in conjunction with MakeSyntaxFolds(). -" see ../plugin/syntaxFolds.vim for documentation -function! MakeTexFolds(force) - if exists('g:Tex_Folding') && !g:Tex_Folding - return - endif - if &ft != 'tex' - return - end - - " Setup folded items lists g:Tex_Foldedxxxx - " 1. Use default value if g:Tex_Foldedxxxxxx is not defined - " 2. prepend default value to g:Tex_Foldedxxxxxx if it starts with ',' - " 3. append default value to g:Tex_Foldedxxxxxx if it ends with ',' - - " Folding items which are not caught in any of the standard commands, - " environments or sections. - let s = 'item,slide,preamble,<<<' - if !exists('g:Tex_FoldedMisc') - let g:Tex_FoldedMisc = s - elseif g:Tex_FoldedMisc[0] == ',' - let g:Tex_FoldedMisc = s . g:Tex_FoldedMisc - elseif g:Tex_FoldedMisc =~ ',$' - let g:Tex_FoldedMisc = g:Tex_FoldedMisc . s - endif - - " By default do not fold any commands. It looks like trying to fold - " commands is a difficult problem since commands can be arbitrarily nested - " and the end patterns are not unique unlike the case of environments. - " For this to work well, we need a regexp which will match a line only if - " a command begins on that line but does not end on that line. This - " requires a regexp which will match unbalanced curly braces and that is - " apparently not doable with regexps. - let s = '' - if !exists('g:Tex_FoldedCommands') - let g:Tex_FoldedCommands = s - elseif g:Tex_FoldedCommands[0] == ',' - let g:Tex_FoldedCommands = s . g:Tex_FoldedCommands - elseif g:Tex_FoldedCommands =~ ',$' - let g:Tex_FoldedCommands = g:Tex_FoldedCommands . s - endif - - let s = 'verbatim,comment,eq,gather,align,figure,table,thebibliography,' - \. 'keywords,abstract,titlepage' - if !exists('g:Tex_FoldedEnvironments') - let g:Tex_FoldedEnvironments = s - elseif g:Tex_FoldedEnvironments[0] == ',' - let g:Tex_FoldedEnvironments = s . g:Tex_FoldedEnvironments - elseif g:Tex_FoldedEnvironments =~ ',$' - let g:Tex_FoldedEnvironments = g:Tex_FoldedEnvironments . s - endif - - if !exists('g:Tex_FoldedSections') - let g:Tex_FoldedSections = 'part,chapter,section,%%fakesection,' - \. 'subsection,subsubsection,paragraph' - endif - - " the order in which these calls are made decides the nestedness. in - " latex, a table environment will always be embedded in either an item or - " a section etc. not the other way around. so we first fold up all the - " tables. and then proceed with the other regions. - - let b:numFoldItems = 0 - - " ======================================================================== - " How to add new folding items {{{ - " ======================================================================== - " - " Each of the following function calls defines a syntax fold region. Each - " definition consists of a call to the AddSyntaxFoldItem() function. - " - " The order in which the folds are defined is important. Juggling the - " order of the function calls will create havoc with folding. The - " "deepest" folding item needs to be called first. For example, if - " the \begin{table} environment is a subset (or lies within) the \section - " environment, then add the definition for the \table first. - " - " The AddSyntaxFoldItem() function takes either 4 or 6 arguments. When it - " is called with 4 arguments, it is equivalent to calling it with 6 - " arguments with the last two left blank (i.e as empty strings) - " - " The explanation for each argument is as follows: - " startpat: a line matching this pattern defines the beginning of a fold. - " endpat : a line matching this pattern defines the end of a fold. - " startoff: this is the offset from the starting line at which folding will - " actually start - " endoff : like startoff, but gives the offset of the actual fold end from - " the line satisfying endpat. - " startoff and endoff are necessary when the folding region does - " not have a specific end pattern corresponding to a start - " pattern. for example in latex, - " \begin{section} - " defines the beginning of a section, but its not necessary to - " have a corresponding - " \end{section} - " the section is assumed to end 1 line _before_ another section - " starts. - " startskip: a pattern which defines the beginning of a "skipped" region. - " - " For example, suppose we define a \itemize fold as follows: - " startpat = '^\s*\\item', - " endpat = '^\s*\\item\|^\s*\\end{\(enumerate\|itemize\|description\)}', - " startoff = 0, - " endoff = -1 - " - " This defines a fold which starts with a line beginning with an - " \item and ending one line before a line beginning with an - " \item or \end{enumerate} etc. - " - " Then, as long as \item's are not nested things are fine. - " However, once items begin to nest, the fold started by one - " \item can end because of an \item in an \itemize - " environment within this \item. i.e, the following can happen: - " - " \begin{itemize} - " \item Some text <------- fold will start here - " This item will contain a nested item - " \begin{itemize} <----- fold will end here because next line contains \item... - " \item Hello - " \end{itemize} <----- ... instead of here. - " \item Next item of the parent itemize - " \end{itemize} - " - " Therefore, in order to completely define a folding item which - " allows nesting, we need to also define a "skip" pattern. - " startskip and end skip do that. - " Leave '' when there is no nesting. - " endskip: the pattern which defines the end of the "skip" pattern for - " nested folds. - " - " Example: - " 1. A syntax fold region for a latex section is - " startpat = "\\section{" - " endpat = "\\section{" - " startoff = 0 - " endoff = -1 - " startskip = '' - " endskip = '' - " Note that the start and end patterns are thus the same and endoff has a - " negative value to capture the effect of a section ending one line before - " the next starts. - " 2. A syntax fold region for the \itemize environment is: - " startpat = '^\s*\\item', - " endpat = '^\s*\\item\|^\s*\\end{\(enumerate\|itemize\|description\)}', - " startoff = 0, - " endoff = -1, - " startskip = '^\s*\\begin{\(enumerate\|itemize\|description\)}', - " endskip = '^\s*\\end{\(enumerate\|itemize\|description\)}' - " Note the use of startskip and endskip to allow nesting. - " - " - " }}} - " ======================================================================== - - " {{{ comment lines - if g:Tex_FoldedMisc =~ '\<comments\>' - call AddSyntaxFoldItem ( - \ '^%\([^%]\|[^f]\|[^a]\|[^k]\|[^e]\)', - \ '^[^%]', - \ 0, - \ -1 - \ ) - endif - " }}} - - " {{{ items - if g:Tex_FoldedMisc =~ '\<item\>' - call AddSyntaxFoldItem ( - \ '^\s*\\item', - \ '^\s*\\item\|^\s*\\end{\(enumerate\|itemize\|description\)}', - \ 0, - \ -1, - \ '^\s*\\begin{\(enumerate\|itemize\|description\)}', - \ '^\s*\\end{\(enumerate\|itemize\|description\)}' - \ ) - endif - " }}} - - " {{{ title - if g:Tex_FoldedMisc =~ '\<title\>' - call AddSyntaxFoldItem ( - \ '^\s*\\title\W', - \ '^\s*\\maketitle', - \ 0, - \ 0 - \ ) - endif - " }}} - - " Commands and Environments {{{ - " Fold the commands and environments in 2 passes. - let pass = 0 - while pass < 2 - if pass == 0 - let lst = g:Tex_FoldedCommands - else - let lst = g:Tex_FoldedEnvironments - endif - while lst != '' - let i = match(lst, ',') - if i > 0 - let s = strpart(lst, 0, i) - let lst = strpart(lst, i+1) - else - let s = lst - let lst = '' - endif - if s != '' - if pass == 0 - " NOTE: This pattern ensures that a command which is - " terminated on the same line will not start a fold. - " However, it will also refuse to fold certain commands - " which have not terminated. eg: - " \commandname{something \bf{text} and - " will _not_ start a fold. - " In other words, the pattern is safe, but not exact. - call AddSyntaxFoldItem('^\s*\\'.s.'{[^{}]*$','^[^}]*}',0,0) - else - call AddSyntaxFoldItem('^\s*\\begin{'.s,'^\s*\\end{'.s,0,0) - endif - endif - endwhile - let pass = pass + 1 - endwhile - " }}} - - " Sections {{{ - if g:Tex_FoldedSections != '' - call Tex_FoldSections(g:Tex_FoldedSections, - \ '^\s*\\frontmatter\|^\s*\\mainmatter\|^\s*\\backmatter\|' - \. '^\s*\\begin{thebibliography\|>>>\|^\s*\\endinput\|' - \. '^\s*\\begin{slide\|^\s*\\end{document') - endif - " }}} - - " {{{ slide - if g:Tex_FoldedMisc =~ '\<slide\>' - call AddSyntaxFoldItem ( - \ '^\s*\\begin{slide', - \ '^\s*\\appendix\W\|^\s*\\chapter\W\|^\s*\\end{slide\|^\s*\\end{document', - \ 0, - \ 0 - \ ) - endif - " }}} - - " {{{ preamble - if g:Tex_FoldedMisc =~ '\<preamble\>' - call AddSyntaxFoldItem ( - \ '^\s*\\document\(class\|style\).*{', - \ '^\s*\\begin{document}', - \ 0, - \ -1 - \ ) - endif - " }}} - - " Manually folded regions {{{ - if g:Tex_FoldedMisc =~ '\(^\|,\)<<<\(,\|$\)' - call AddSyntaxFoldItem ( - \ '<<<', - \ '>>>', - \ 0, - \ 0 - \ ) - endif - " }}} - - call MakeSyntaxFolds(a:force) - normal! zv -endfunction - -" }}} -" TexFoldTextFunction: create fold text for folds {{{ -function! TexFoldTextFunction() - let leadingSpace = matchstr(' ', ' \{,'.indent(v:foldstart).'}') - if getline(v:foldstart) =~ '^\s*\\begin{' - let header = matchstr(getline(v:foldstart), - \ '^\s*\\begin{\zs\([:alpha:]*\)[^}]*\ze}') - let caption = '' - let label = '' - let i = v:foldstart - while i <= v:foldend - if getline(i) =~ '\\caption' - " distinguish between - " \caption{fulldesc} - fulldesc will be displayed - " \caption[shortdesc]{fulldesc} - shortdesc will be displayed - if getline(i) =~ '\\caption\[' - let caption = matchstr(getline(i), '\\caption\[\zs[^\]]*') - let caption = substitute(caption, '\zs\]{.*}[^}]*$', '', '') - else - let caption = matchstr(getline(i), '\\caption{\zs.*') - let caption = substitute(caption, '\zs}[^}]*$', '', '') - end - elseif getline(i) =~ '\\label' - let label = matchstr(getline(i), '\\label{\zs.*') - let label = substitute(label, '\zs}[^}]*$', '', '') - end - - let i = i + 1 - endwhile - - let ftxto = foldtext() - " if no caption found, then use the second line. - if caption == '' - let caption = getline(v:foldstart + 1) - end - - let retText = matchstr(ftxto, '^[^:]*').': '.header. - \ ' ('.label.') : '.caption - return leadingSpace.retText - - elseif getline(v:foldstart) =~ '^%' && getline(v:foldstart) !~ '^%%fake' - let ftxto = foldtext() - return leadingSpace.substitute(ftxto, ':', ': % ', '') - elseif getline(v:foldstart) =~ '^\s*\\document\(class\|style\).*{' - let ftxto = leadingSpace.foldtext() - return substitute(ftxto, ':', ': Preamble: ', '') - else - return leadingSpace.foldtext() - end -endfunction -" }}} - -" vim:fdm=marker:ff=unix:noet:ts=4:sw=4 diff --git a/.vim/ftplugin/latex-suite/macros/example b/.vim/ftplugin/latex-suite/macros/example deleted file mode 100644 index 395311f..0000000 --- a/.vim/ftplugin/latex-suite/macros/example +++ /dev/null @@ -1,11 +0,0 @@ -% my long complicated macro. This is an example of how to set up a -% tex-macro for latex-suite. simply type in the lines as you would in -% latex. Place holders are allowed. -% NOTE: if you have filetype indentation turned on, then do not do -% formatting here. the indentation will follow automatically... -\begin{mycomplicatedenvironment} -\mycommand1{<++>} -\mycommand2{<+hint2+>} -\mycommand3{<++>} -\mycommand4{<++>} -\end{mycomplicatedenvironment}<++> diff --git a/.vim/ftplugin/latex-suite/main.vim b/.vim/ftplugin/latex-suite/main.vim deleted file mode 100644 index 063c6f6..0000000 --- a/.vim/ftplugin/latex-suite/main.vim +++ /dev/null @@ -1,1024 +0,0 @@ -" LaTeX filetype -" Language: LaTeX (ft=tex) -" Maintainer: Srinath Avadhanula -" CVS: $Id: main.vim 999 2006-03-21 05:32:37Z srinathava $ -" URL: - -" line continuation used here. -let s:save_cpo = &cpo -set cpo&vim - -" avoiding re-inclusion {{{ -" the avoiding re-inclusion statement is not provided here because the files -" which call this file should in the normal course of events handle the -" re-inclusion stuff. - -" we definitely dont want to run through the entire file each and every time. -" only once to define the functions. for successive latex files, just set up -" the folding and mappings and quit. -if exists('s:doneFunctionDefinitions') && !exists('b:forceRedoLocalTex') - call s:SetTeXOptions() - finish -endif - -let s:doneFunctionDefinitions = 1 - -" get the place where this plugin resides for setting cpt and dict options. -" these lines need to be outside the function. -let s:path = expand('<sfile>:p:h') -" set up personal defaults. -runtime ftplugin/tex/texrc -" set up global defaults. -exe "so ".s:path.'/texrc' - -" }}} - -nmap <silent> <script> <plug> i -imap <silent> <script> <C-o><plug> <Nop> - -" ============================================================================== -" mappings -" ============================================================================== -" {{{ -" calculate the mapleader character. -let s:ml = exists('g:mapleader') ? g:mapleader : '\' - -if !exists('s:doneMappings') - let s:doneMappings = 1 - " short forms for latex formatting and math elements. {{{ - " taken from auctex.vim or miktexmacros.vim - call IMAP ('__', '_{<++>}<++>', "tex") - call IMAP ('()', '(<++>)<++>', "tex") - call IMAP ('[]', '[<++>]<++>', "tex") - call IMAP ('{}', '{<++>}<++>', "tex") - call IMAP ('^^', '^{<++>}<++>', "tex") - call IMAP ('$$', '$<++>$<++>', "tex") - call IMAP ('==', '&=& ', "tex") - call IMAP ('~~', '&\approx& ', "tex") - call IMAP ('=~', '\approx', "tex") - call IMAP ('::', '\dots', "tex") - call IMAP ('((', '\left( <++> \right)<++>', "tex") - call IMAP ('[[', '\left[ <++> \right]<++>', "tex") - call IMAP ('{{', '\left\{ <++> \right\}<++>', "tex") - call IMAP (g:Tex_Leader.'^', '\hat{<++>}<++>', "tex") - call IMAP (g:Tex_Leader.'_', '\bar{<++>}<++>', "tex") - call IMAP (g:Tex_Leader.'6', '\partial', "tex") - call IMAP (g:Tex_Leader.'8', '\infty', "tex") - call IMAP (g:Tex_Leader.'/', '\frac{<++>}{<++>}<++>', "tex") - call IMAP (g:Tex_Leader.'%', '\frac{<++>}{<++>}<++>', "tex") - call IMAP (g:Tex_Leader.'@', '\circ', "tex") - call IMAP (g:Tex_Leader.'0', '^\circ', "tex") - call IMAP (g:Tex_Leader.'=', '\equiv', "tex") - call IMAP (g:Tex_Leader."\\",'\setminus', "tex") - call IMAP (g:Tex_Leader.'.', '\cdot', "tex") - call IMAP (g:Tex_Leader.'*', '\times', "tex") - call IMAP (g:Tex_Leader.'&', '\wedge', "tex") - call IMAP (g:Tex_Leader.'-', '\bigcap', "tex") - call IMAP (g:Tex_Leader.'+', '\bigcup', "tex") - call IMAP (g:Tex_Leader.'M', '\sum_{<++>}^{<++>}<++>', 'tex') - call IMAP (g:Tex_Leader.'S', '\sum_{<++>}^{<++>}<++>', 'tex') - call IMAP (g:Tex_Leader.'(', '\subset', "tex") - call IMAP (g:Tex_Leader.')', '\supset', "tex") - call IMAP (g:Tex_Leader.'<', '\le', "tex") - call IMAP (g:Tex_Leader.'>', '\ge', "tex") - call IMAP (g:Tex_Leader.',', '\nonumber', "tex") - call IMAP (g:Tex_Leader.'~', '\tilde{<++>}<++>', "tex") - call IMAP (g:Tex_Leader.';', '\dot{<++>}<++>', "tex") - call IMAP (g:Tex_Leader.':', '\ddot{<++>}<++>', "tex") - call IMAP (g:Tex_Leader.'2', '\sqrt{<++>}<++>', "tex") - call IMAP (g:Tex_Leader.'|', '\Big|', "tex") - call IMAP (g:Tex_Leader.'I', "\\int_{<++>}^{<++>}<++>", 'tex') - " }}} - " Greek Letters {{{ - call IMAP(g:Tex_Leader.'a', '\alpha', 'tex') - call IMAP(g:Tex_Leader.'b', '\beta', 'tex') - call IMAP(g:Tex_Leader.'c', '\chi', 'tex') - call IMAP(g:Tex_Leader.'d', '\delta', 'tex') - call IMAP(g:Tex_Leader.'e', '\varepsilon', 'tex') - call IMAP(g:Tex_Leader.'f', '\varphi', 'tex') - call IMAP(g:Tex_Leader.'g', '\gamma', 'tex') - call IMAP(g:Tex_Leader.'h', '\eta', 'tex') - call IMAP(g:Tex_Leader.'k', '\kappa', 'tex') - call IMAP(g:Tex_Leader.'l', '\lambda', 'tex') - call IMAP(g:Tex_Leader.'m', '\mu', 'tex') - call IMAP(g:Tex_Leader.'n', '\nu', 'tex') - call IMAP(g:Tex_Leader.'p', '\pi', 'tex') - call IMAP(g:Tex_Leader.'q', '\theta', 'tex') - call IMAP(g:Tex_Leader.'r', '\rho', 'tex') - call IMAP(g:Tex_Leader.'s', '\sigma', 'tex') - call IMAP(g:Tex_Leader.'t', '\tau', 'tex') - call IMAP(g:Tex_Leader.'u', '\upsilon', 'tex') - call IMAP(g:Tex_Leader.'v', '\varsigma', 'tex') - call IMAP(g:Tex_Leader.'w', '\omega', 'tex') - call IMAP(g:Tex_Leader.'w', '\wedge', 'tex') " AUCTEX style - call IMAP(g:Tex_Leader.'x', '\xi', 'tex') - call IMAP(g:Tex_Leader.'y', '\psi', 'tex') - call IMAP(g:Tex_Leader.'z', '\zeta', 'tex') - " not all capital greek letters exist in LaTeX! - " reference: http://www.giss.nasa.gov/latex/ltx-405.html - call IMAP(g:Tex_Leader.'D', '\Delta', 'tex') - call IMAP(g:Tex_Leader.'F', '\Phi', 'tex') - call IMAP(g:Tex_Leader.'G', '\Gamma', 'tex') - call IMAP(g:Tex_Leader.'Q', '\Theta', 'tex') - call IMAP(g:Tex_Leader.'L', '\Lambda', 'tex') - call IMAP(g:Tex_Leader.'X', '\Xi', 'tex') - call IMAP(g:Tex_Leader.'Y', '\Psi', 'tex') - call IMAP(g:Tex_Leader.'S', '\Sigma', 'tex') - call IMAP(g:Tex_Leader.'U', '\Upsilon', 'tex') - call IMAP(g:Tex_Leader.'W', '\Omega', 'tex') - " }}} - " ProtectLetters: sets up indentity maps for things like ``a {{{ - " " Description: If we simply do - " call IMAP('`a', '\alpha', 'tex') - " then we will never be able to type 'a' after a tex-quotation. Since - " IMAP() always uses the longest map ending in the letter, this problem - " can be avoided by creating a fake map for ``a -> ``a. - " This function sets up fake maps of the following forms: - " ``[aA] -> ``[aA] (for writing in quotations) - " \`[aA] -> \`[aA] (for writing diacritics) - " "`[aA] -> "`[aA] (for writing german quotations) - " It does this for all printable lower ascii characters just to make sure - " we dont let anything slip by. - function! s:ProtectLetters(first, last) - let i = a:first - while i <= a:last - if nr2char(i) =~ '[[:print:]]' - call IMAP('``'.nr2char(i), '``'.nr2char(i), 'tex') - call IMAP('\`'.nr2char(i), '\`'.nr2char(i), 'tex') - call IMAP('"`'.nr2char(i), '"`'.nr2char(i), 'tex') - endif - let i = i + 1 - endwhile - endfunction - call s:ProtectLetters(32, 127) - " }}} - " vmaps: enclose selected region in brackets, environments {{{ - " The action changes depending on whether the selection is character-wise - " or line wise. for example, selecting linewise and pressing \v will - " result in the region being enclosed in \begin{verbatim}, \end{verbatim}, - " whereas in characterise visual mode, the thingie is enclosed in \verb| - " and |. - exec 'vnoremap <silent> '.g:Tex_Leader."( \<C-\\>\<C-N>:call VEnclose('\\left( ', ' \\right)', '\\left(', '\\right)')\<CR>" - exec 'vnoremap <silent> '.g:Tex_Leader."[ \<C-\\>\<C-N>:call VEnclose('\\left[ ', ' \\right]', '\\left[', '\\right]')\<CR>" - exec 'vnoremap <silent> '.g:Tex_Leader."{ \<C-\\>\<C-N>:call VEnclose('\\left\\{ ', ' \\right\\}', '\\left\\{', '\\right\\}')\<CR>" - exec 'vnoremap <silent> '.g:Tex_Leader."$ \<C-\\>\<C-N>:call VEnclose('$', '$', '\\[', '\\]')\<CR>" - " }}} -end - -" }}} - -" ============================================================================== -" Helper functions for debugging -" ============================================================================== -" Tex_Debug: appends the argument into s:debugString {{{ -" Description: -" -" Do not want a memory leak! Set this to zero so that latex-suite always -" starts out in a non-debugging mode. -if !exists('g:Tex_Debug') - let g:Tex_Debug = 0 -endif -function! Tex_Debug(str, ...) - if !g:Tex_Debug - return - endif - if a:0 > 0 - let pattern = a:1 - else - let pattern = '' - endif - if !exists('s:debugString_'.pattern) - let s:debugString_{pattern} = '' - endif - let s:debugString_{pattern} = s:debugString_{pattern}.a:str."\n" - - let s:debugString_ = (exists('s:debugString_') ? s:debugString_ : '') - \ . pattern.' : '.a:str."\n" - - if Tex_GetVarValue('Tex_DebugLog') != '' - exec 'redir! >> '.Tex_GetVarValue('Tex_DebugLog') - silent! echo pattern.' : '.a:str - redir END - endif -endfunction " }}} -" Tex_PrintDebug: prings s:debugString {{{ -" Description: -" -function! Tex_PrintDebug(...) - if a:0 > 0 - let pattern = a:1 - else - let pattern = '' - endif - if exists('s:debugString_'.pattern) - echo s:debugString_{pattern} - endif -endfunction " }}} -" Tex_ClearDebug: clears the s:debugString string {{{ -" Description: -" -function! Tex_ClearDebug(...) - if a:0 > 0 - let pattern = a:1 - else - let pattern = '' - endif - if exists('s:debugString_'.pattern) - let s:debugString_{pattern} = '' - endif -endfunction " }}} -" Tex_ShowVariableValue: debugging help {{{ -" provides a way to examine script local variables from outside the script. -" very handy for debugging. -function! Tex_ShowVariableValue(...) - let i = 1 - while i <= a:0 - exe 'let arg = a:'.i - if exists('s:'.arg) || - \ exists('*s:'.arg) - exe 'let val = s:'.arg - echomsg 's:'.arg.' = '.val - end - let i = i + 1 - endwhile -endfunction - -" }}} - -" ============================================================================== -" Helper functions for grepping -" ============================================================================== -" Tex_Grep: shorthand for :grep or :vimgrep {{{ -function! Tex_Grep(string, where) - if v:version >= 700 - exec 'silent! vimgrep! /'.a:string.'/ '.a:where - else - exec 'silent! grep! '.Tex_EscapeForGrep(a:string).' '.a:where - endif -endfunction - -" }}} -" Tex_Grepadd: shorthand for :grepadd or :vimgrepadd {{{ -function! Tex_Grepadd(string, where) - if v:version >= 700 - exec 'silent! vimgrepadd! /'.a:string.'/ '.a:where - else - exec "silent! grepadd! ".Tex_EscapeForGrep(a:string).' '.a:where - endif -endfunction - -" }}} -" Tex_EscapeForGrep: escapes back-slashes and doublequotes the correct number of times {{{ -" Description: This command escapes the backslash and double quotes in a -" search pattern the correct number of times so it can be used in the ``:grep`` -" command. This command is meant to be used as:: -" -" exec "silent! grep ".Tex_EscapeForGrep(pattern)." file" -" -" The input argument to this function should be the string which you want -" the external command to finally see. For example, to search for a string -" ``'\bibitem'``, the grep command needs to be passed a string like -" ``'\\bibitem'``. Examples:: -" -" Tex_EscapeForGrep('\\bibitem') " correct -" Tex_EscapeForGrep('\bibitem') " wrong -" Tex_EscapeForGrep("\\bibitem") " wrong -" Tex_EscapeForGrep('\<word\>') " correct -" -function! Tex_EscapeForGrep(string) - let retVal = a:string - - " The shell halves the backslashes. - if &shell =~ 'sh' - let retVal = escape(retVal, "\\") - - " If shellxquote is set, then the backslashes are halved yet again. - if &shellxquote == '"' - let retVal = escape(retVal, "\"\\") - endif - - endif - " escape special characters which bash/cmd.exe might interpret - let retVal = escape(retVal, "<>") - - return retVal -endfunction " }}} - -" ============================================================================== -" Uncategorized helper functions -" ============================================================================== -" Tex_Strntok: extract the n^th token from a list {{{ -" example: Strntok('1,23,3', ',', 2) = 23 -fun! Tex_Strntok(s, tok, n) - return matchstr( a:s.a:tok[0], '\v(\zs([^'.a:tok.']*)\ze['.a:tok.']){'.a:n.'}') -endfun - -" }}} -" Tex_CreatePrompt: creates a prompt string {{{ -" Description: -" Arguments: -" promptList: This is a string of the form: -" 'item1,item2,item3,item4' -" cols: the number of columns in the resultant prompt -" sep: the list seperator token -" -" Example: -" Tex_CreatePrompt('item1,item2,item3,item4', 2, ',') -" returns -" "(1) item1\t(2)item2\n(3)item3\t(4)item4" -" -" This string can be used in the input() function. -function! Tex_CreatePrompt(promptList, cols, sep) - - let g:listSep = a:sep - let num_common = GetListCount(a:promptList) - - let i = 1 - let promptStr = "" - - while i <= num_common - - let j = 0 - while j < a:cols && i + j <= num_common - let com = Tex_Strntok(a:promptList, a:sep, i+j) - let promptStr = promptStr.'('.(i+j).') '. - \ com."\t".( strlen(com) < 4 ? "\t" : '' ) - - let j = j + 1 - endwhile - - let promptStr = promptStr."\n" - - let i = i + a:cols - endwhile - return promptStr -endfunction - -" }}} -" Tex_CleanSearchHistory: removes last search item from search history {{{ -" Description: This function needs to be globally visible because its -" called from outside the script during expansion. -function! Tex_CleanSearchHistory() - call histdel("/", -1) - let @/ = histget("/", -1) -endfunction -nmap <silent> <script> <plug>cleanHistory :call Tex_CleanSearchHistory()<CR> - -" }}} -" Tex_GetVarValue: gets the value of the variable {{{ -" Description: -" See if a window-local, buffer-local or global variable with the given name -" exists and if so, returns the corresponding value. If none exist, return -" an empty string. -function! Tex_GetVarValue(varname, ...) - if exists('w:'.a:varname) - return w:{a:varname} - elseif exists('b:'.a:varname) - return b:{a:varname} - elseif exists('g:'.a:varname) - return g:{a:varname} - elseif a:0 > 0 - return a:1 - else - return '' - endif -endfunction " }}} -" Tex_GetMainFileName: gets the name of the main file being compiled. {{{ -" Description: returns the full path name of the main file. -" This function checks for the existence of a .latexmain file -" which might point to the location of a "main" latex file. -" If .latexmain exists, then return the full path name of the -" file being pointed to by it. -" -" Otherwise, return the full path name of the current buffer. -" -" You can supply an optional "modifier" argument to the -" function, which will optionally modify the file name before -" returning. -" NOTE: From version 1.6 onwards, this function always trims -" away the .latexmain part of the file name before applying the -" modifier argument. -function! Tex_GetMainFileName(...) - if a:0 > 0 - let modifier = a:1 - else - let modifier = ':p' - endif - - " If the user wants to use his own way to specify the main file name, then - " use it straight away. - if Tex_GetVarValue('Tex_MainFileExpression') != '' - exec 'let retval = '.Tex_GetVarValue('Tex_MainFileExpression') - return retval - endif - - let curd = getcwd() - - let dirmodifier = '%:p:h' - let dirLast = expand(dirmodifier) - call Tex_CD(dirLast) - - " move up the directory tree until we find a .latexmain file. - " TODO: Should we be doing this recursion by default, or should there be a - " setting? - while glob('*.latexmain') == '' - let dirmodifier = dirmodifier.':h' - " break from the loop if we cannot go up any further. - if expand(dirmodifier) == dirLast - break - endif - let dirLast = expand(dirmodifier) - call Tex_CD(dirLast) - endwhile - - let lheadfile = glob('*.latexmain') - if lheadfile != '' - " Remove the trailing .latexmain part of the filename... We never want - " that. - let lheadfile = fnamemodify(substitute(lheadfile, '\.latexmain$', '', ''), modifier) - else - " If we cannot find any main file, just modify the filename of the - " current buffer. - let lheadfile = expand('%'.modifier) - endif - - call Tex_CD(curd) - - " NOTE: The caller of this function needs to escape spaces in the - " file name as appropriate. The reason its not done here is that - " escaping spaces is not safe if this file is to be used as part of - " an external command on certain platforms. - return lheadfile -endfunction - -" }}} -" Tex_ChooseFromPrompt: process a user input to a prompt string {{{ -" " Description: -function! Tex_ChooseFromPrompt(dialog, list, sep) - let g:Tex_ASDF = a:dialog - let inp = input(a:dialog) - if inp =~ '\d\+' - return Tex_Strntok(a:list, a:sep, inp) - else - return inp - endif -endfunction " }}} -" Tex_ChooseFile: produces a file list and prompts for choice {{{ -" Description: -function! Tex_ChooseFile(dialog) - let files = glob('*') - if files == '' - return '' - endif - let s:incnum = 0 - echo a:dialog - let filenames = substitute(files, "\\v(^|\n)", "\\=submatch(0).Tex_IncrementNumber(1).' : '", 'g') - echo filenames - let choice = input('Enter Choice : ') - let g:choice = choice - if choice == '' - return '' - endif - if choice =~ '^\s*\d\+\s*$' - let retval = Tex_Strntok(files, "\n", choice) - else - let filescomma = substitute(files, "\n", ",", "g") - let retval = GetListMatchItem(filescomma, choice) - endif - if retval == '' - return '' - endif - return retval -endfunction - -" }}} -" Tex_IncrementNumber: returns an incremented number each time {{{ -" Description: -let s:incnum = 0 -function! Tex_IncrementNumber(increm) - let s:incnum = s:incnum + a:increm - return s:incnum -endfunction - -" }}} -" Tex_ResetIncrementNumber: increments s:incnum to zero {{{ -" Description: -function! Tex_ResetIncrementNumber(val) - let s:incnum = a:val -endfunction " }}} -" Tex_FindInRtp: check if file exists in &rtp {{{ -" Description: Checks if file exists in globpath(&rtp, ...) and cuts off the -" rest of returned names. This guarantees that sourced file is -" from $HOME. -" If an optional argument is given, it specifies how to expand -" each filename found. For example, '%:p' will return a list of -" the complete paths to the files. By default returns trailing -" path-names without extenions. -" NOTE: This function is very slow when a large number of -" matches are found because of a while loop which modifies -" each filename found. Some speedup was acheived by using -" a tokenizer approach rather than using Tex_Strntok which -" would have been more obvious. -function! Tex_FindInRtp(filename, directory, ...) - " how to expand each filename. ':p:t:r' modifies each filename to its - " trailing part without extension. - let expand = (a:0 > 0 ? a:1 : ':p:t:r') - " The pattern used... An empty filename should be regarded as '*' - let pattern = (a:filename != '' ? a:filename : '*') - - let filelist = globpath(&rtp, 'ftplugin/latex-suite/'.a:directory.'/'.pattern)."\n" - - if filelist == "\n" - return '' - endif - - if a:filename != '' - return fnamemodify(Tex_Strntok(filelist, "\n", 1), expand) - endif - - " Now cycle through the files modifying each filename in the desired - " manner. - let retfilelist = '' - let i = 1 - while 1 - " Extract the portion till the next newline. Then shorten the filelist - " by removing till the newline. - let nextnewline = stridx(filelist, "\n") - if nextnewline == -1 - break - endif - let filename = strpart(filelist, 0, nextnewline) - let filelist = strpart(filelist, nextnewline+1) - - " The actual modification. - if fnamemodify(filename, expand) != '' - let retfilelist = retfilelist.fnamemodify(filename, expand)."," - endif - let i = i + 1 - endwhile - - return substitute(retfilelist, ',$', '', '') -endfunction - -" }}} -" Tex_GetErrorList: returns vim's clist {{{ -" Description: returns the contents of the error list available via the :clist -" command. -function! Tex_GetErrorList() - let _a = @a - redir @a | silent! clist | redir END - let errlist = @a - let @a = _a - - if errlist =~ 'E42: ' - let errlist = '' - endif - - return errlist -endfunction " }}} -" Tex_GetTempName: get the name of a temporary file in specified directory {{{ -" Description: Unlike vim's native tempname(), this function returns the name -" of a temporary file in the directory specified. This enables -" us to create temporary files in a specified directory. -function! Tex_GetTempName(dirname) - let prefix = 'latexSuiteTemp' - let slash = (a:dirname =~ '\\\|/$' ? '' : '/') - let i = 0 - while filereadable(a:dirname.slash.prefix.i.'.tex') && i < 1000 - let i = i + 1 - endwhile - if filereadable(a:dirname.slash.prefix.i.'.tex') - echoerr "Temporary file could not be created in ".a:dirname - return '' - endif - return expand(a:dirname.slash.prefix.i.'.tex', ':p') -endfunction -" }}} -" Tex_MakeMap: creates a mapping from lhs to rhs if rhs is not already mapped {{{ -" Description: -function! Tex_MakeMap(lhs, rhs, mode, extraargs) - if !hasmapto(a:rhs, a:mode) - exec a:mode.'map '.a:extraargs.' '.a:lhs.' '.a:rhs - endif -endfunction " }}} -" Tex_CD: cds to given directory escaping spaces if necessary {{{ -" " Description: -function! Tex_CD(dirname) - exec 'cd '.Tex_EscapeSpaces(a:dirname) -endfunction " }}} -" Tex_EscapeSpaces: escapes unescaped spaces from a path name {{{ -" Description: -function! Tex_EscapeSpaces(path) - return substitute(a:path, '[^\\]\(\\\\\)*\zs ', '\\ ', 'g') -endfunction " }}} -" Tex_FindFile: finds a file in the vim's 'path' {{{ -" Description: finds a file in vim's 'path' -function! Tex_FindFile(fname, path, suffixesadd) - if exists('*findfile') - let _suffixesadd = &suffixesadd - let &suffixesadd = a:suffixesadd - let retval = findfile(a:fname, a:path) - let &suffixesadd = _suffixesadd - else - " split a new window so we do not screw with the current buffer. We - " want to use the same filename each time so that multiple scratch - " buffers are not created. - let retval = '' - silent! split __HOPEFULLY_THIS_FILE_DOES_NOT_EXIST__ - let _suffixesadd = &suffixesadd - let _path = &path - let &suffixesadd = a:suffixesadd - let &path = a:path - exec 'silent! find '.a:fname - if bufname('%') != '__HOPEFULLY_THIS_FILE_DOES_NOT_EXIST__' - let retval = expand('%:p') - end - silent! bdelete! - let &suffixesadd = _suffixesadd - let &path = _path - endif - return retval -endfunction " }}} - -" ============================================================================== -" Smart key-mappings -" ============================================================================== -" TexQuotes: inserts `` or '' instead of " {{{ -if g:Tex_SmartKeyQuote - - " TexQuotes: inserts `` or '' instead of " - " Taken from texmacro.vim by Benji Fisher <benji@e-math.AMS.org> - " TODO: Deal with nested quotes. - " The :imap that calls this function should insert a ", move the cursor to - " the left of that character, then call this with <C-R>= . - function! s:TexQuotes() - let l = line(".") - let c = col(".") - let restore_cursor = l . "G" . virtcol(".") . "|" - normal! H - let restore_cursor = "normal!" . line(".") . "Gzt" . restore_cursor - execute restore_cursor - " In math mode, or when preceded by a \, just move the cursor past the - " already-inserted " character. - if synIDattr(synID(l, c, 1), "name") =~ "^texMath" - \ || (c > 1 && getline(l)[c-2] == '\') - return "\<Right>" - endif - " Find the appropriate open-quote and close-quote strings. - if exists("b:Tex_SmartQuoteOpen") - let open = b:Tex_SmartQuoteOpen - elseif exists("g:Tex_SmartQuoteOpen") - let open = g:Tex_SmartQuoteOpen - else - let open = "``" - endif - if exists("b:Tex_SmartQuoteClose") - let close = b:Tex_SmartQuoteClose - elseif exists("g:Tex_SmartQuoteClose") - let close = g:Tex_SmartQuoteClose - else - let close = "''" - endif - let boundary = '\|' - " This code seems to be obsolete, since this script variable is never - " set. The idea is that some languages use ",," as an open- or - " close-quote string, and we want to avoid confusing ordinary "," - " with a quote boundary. - if exists("s:TeX_strictquote") - if( s:TeX_strictquote == "open" || s:TeX_strictquote == "both" ) - let boundary = '\<' . boundary - endif - if( s:TeX_strictquote == "close" || s:TeX_strictquote == "both" ) - let boundary = boundary . '\>' - endif - endif - - " Eventually return q; set it to the default value now. - let q = open - let pattern = - \ escape(open, '\~') . - \ boundary . - \ escape(close, '\~') . - \ '\|^$\|"' - - while 1 " Look for preceding quote (open or close), ignoring - " math mode and '\"' . - call search(pattern, "bw") - if synIDattr(synID(line("."), col("."), 1), "name") !~ "^texMath" - \ && strpart(getline('.'), col('.')-2, 2) != '\"' - break - endif - endwhile - - " Now, test whether we actually found a _preceding_ quote; if so, is it - " an open quote? - if ( line(".") < l || line(".") == l && col(".") < c ) - if strpart(getline("."), col(".")-1) =~ '\V\^' . escape(open, '\') - if line(".") == l && col(".") + strlen(open) == c - " Insert "<++>''<++>" instead of just "''". - let q = IMAP_PutTextWithMovement("<++>".close."<++>") - else - let q = close - endif - endif - endif - - " Return to line l, column c: - execute restore_cursor - " Start with <Del> to remove the " put in by the :imap . - return "\<Del>" . q - - endfunction - -endif -" }}} -" SmartBS: smart backspacing {{{ -if g:Tex_SmartKeyBS - - " SmartBS: smart backspacing - " SmartBS lets you treat diacritic characters (those \'{a} thingies) as a - " single character. This is useful for example in the following situation: - " - " \v{s}\v{t}astn\'{y} ('happy' in Slovak language :-) ) - " If you will delete this normally (without using smartBS() function), you - " must press <BS> about 19x. With function smartBS() you must press <BS> only - " 7x. Strings like "\v{s}", "\'{y}" are considered like one character and are - " deleted with one <BS>. - let s:smartBS_pat = Tex_GetVarValue('Tex_SmartBSPattern') - - fun! s:SmartBS_pat() - return s:smartBS_pat - endfun - - " This function comes from Benji Fisher <benji@e-math.AMS.org> - " http://vim.sourceforge.net/scripts/download.php?src_id=409 - " (modified/patched by Lubomir Host 'rajo' <host8 AT keplerDOTfmphDOTuniba.sk>) - function! s:SmartBS(pat) - let init = strpart(getline("."), 0, col(".")-1) - let matchtxt = matchstr(init, a:pat) - if matchtxt != '' - let bstxt = substitute(matchtxt, '.', "\<bs>", 'g') - return bstxt - else - return "\<bs>" - endif - endfun - -endif " }}} -" SmartDots: inserts \cdots instead of ... in math mode otherwise \ldots {{{ -" if amsmath package is detected then just use \dots and let amsmath take care -" of it. -if g:Tex_SmartKeyDot - - function! <SID>SmartDots() - if strpart(getline('.'), col('.')-3, 2) == '..' && - \ g:Tex_package_detected =~ '\<amsmath\>' - return "\<bs>\<bs>\\dots" - elseif synIDattr(synID(line('.'),col('.')-1,0),"name") =~ '^texMath' - \&& strpart(getline('.'), col('.')-3, 2) == '..' - return "\<bs>\<bs>\\cdots" - elseif strpart(getline('.'), col('.')-3, 2) == '..' - return "\<bs>\<bs>\\ldots" - else - return '.' - endif - endfunction - -endif -" }}} - -" source texproject.vim before other files -exe 'source '.s:path.'/texproject.vim' - -" source all the relevant files. -exe 'source '.s:path.'/texmenuconf.vim' -exe 'source '.s:path.'/envmacros.vim' -exe 'source '.s:path.'/elementmacros.vim' - -" source utf-8 or plain math menus -if exists("g:Tex_UseUtfMenus") && g:Tex_UseUtfMenus != 0 && has("gui_running") - exe 'source '.s:path.'/mathmacros-utf.vim' -else - exe 'source '.s:path.'/mathmacros.vim' -endif - -exe 'source '.s:path.'/multicompile.vim' -exe 'source '.s:path.'/compiler.vim' -exe 'source '.s:path.'/folding.vim' -exe 'source '.s:path.'/templates.vim' -exe 'source '.s:path.'/custommacros.vim' -exe 'source '.s:path.'/bibtex.vim' - -" source advanced math functions -if g:Tex_AdvancedMath == 1 - exe 'source '.s:path.'/brackets.vim' - exe 'source '.s:path.'/smartspace.vim' -endif - -if g:Tex_Diacritics != 0 - exe 'source '.s:path.'/diacritics.vim' -endif - -exe 'source '.s:path.'/texviewer.vim' -exe 'source '.s:path.'/version.vim' - -" ============================================================================== -" Finally set up the folding, options, mappings and quit. -" ============================================================================== -" SetTeXOptions: sets options/mappings for this file. {{{ -function! <SID>SetTeXOptions() - " Avoid reinclusion. - if exists('b:doneSetTeXOptions') - return - endif - let b:doneSetTeXOptions = 1 - - exe 'setlocal dict^='.s:path.'/dictionaries/dictionary' - - call Tex_Debug('SetTeXOptions: sourcing maps', 'main') - " smart functions - if g:Tex_SmartKeyQuote - inoremap <buffer> <silent> " "<Left><C-R>=<SID>TexQuotes()<CR> - endif - if g:Tex_SmartKeyBS - inoremap <buffer> <silent> <BS> <C-R>=<SID>SmartBS(<SID>SmartBS_pat())<CR> - endif - if g:Tex_SmartKeyDot - inoremap <buffer> <silent> . <C-R>=<SID>SmartDots()<CR> - endif - - " This line seems to be necessary to source our compiler/tex.vim file. - " The docs are unclear why this needs to be done even though this file is - " the first compiler plugin in 'runtimepath'. - runtime compiler/tex.vim - -endfunction - -augroup LatexSuite - au LatexSuite User LatexSuiteFileType - \ call Tex_Debug('main.vim: Catching LatexSuiteFileType event', 'main') | - \ call <SID>SetTeXOptions() -augroup END - -" }}} - -" ============================================================================== -" Settings for taglist.vim plugin -" ============================================================================== -" Sets Tlist_Ctags_Cmd for taglist.vim and regexps for ctags {{{ -if exists("g:Tex_TaglistSupport") && g:Tex_TaglistSupport == 1 - if !exists("g:tlist_tex_settings") - let g:tlist_tex_settings = 'tex;s:section;c:chapter;l:label;r:ref' - endif - - if exists("Tlist_Ctags_Cmd") - let s:tex_ctags = Tlist_Ctags_Cmd - else - let s:tex_ctags = 'ctags' " Configurable in texrc? - endif - - if exists("g:Tex_InternalTagsDefinitions") && g:Tex_InternalTagsDefinitions == 1 - let Tlist_Ctags_Cmd = s:tex_ctags ." --langdef=tex --langmap=tex:.tex.ltx.latex" - \.' --regex-tex="/\\\\begin{abstract}/Abstract/s,abstract/"' - \.' --regex-tex="/\\\\part[ \t]*\*?\{[ \t]*([^}]*)\}/\1/s,part/"' - \.' --regex-tex="/\\\\chapter[ \t]*\*?\{[ \t]*([^}]*)\}/\1/s,chapter/"' - \.' --regex-tex="/\\\\section[ \t]*\*?\{[ \t]*([^}]*)\}/\1/s,section/"' - \.' --regex-tex="/\\\\subsection[ \t]*\*?\{[ \t]*([^}]*)\}/+ \1/s,subsection/"' - \.' --regex-tex="/\\\\subsubsection[ \t]*\*?\{[ \t]*([^}]*)\}/+ \1/s,subsubsection/"' - \.' --regex-tex="/\\\\paragraph[ \t]*\*?\{[ \t]*([^}]*)\}/+ \1/s,paragraph/"' - \.' --regex-tex="/\\\\subparagraph[ \t]*\*?\{[ \t]*([^}]*)\}/+ \1/s,subparagraph/"' - \.' --regex-tex="/\\\\begin{thebibliography}/BIBLIOGRAPHY/s,thebibliography/"' - \.' --regex-tex="/\\\\tableofcontents/TABLE OF CONTENTS/s,tableofcontents/"' - \.' --regex-tex="/\\\\frontmatter/FRONTMATTER/s,frontmatter/"' - \.' --regex-tex="/\\\\mainmatter/MAINMATTER/s,mainmatter/"' - \.' --regex-tex="/\\\\backmatter/BACKMATTER/s,backmatter/"' - \.' --regex-tex="/\\\\appendix/APPENDIX/s,appendix/"' - \.' --regex-tex="/\\\\label[ \t]*\*?\{[ \t]*([^}]*)\}/\1/l,label/"' - \.' --regex-tex="/\\\\ref[ \t]*\*?\{[ \t]*([^}]*)\}/\1/r,ref/"' - endif -endif - -" }}} - -" commands to completion -let g:Tex_completion_explorer = ',' - -" Mappings defined in package files will overwrite all other -exe 'source '.s:path.'/packages.vim' - -" ============================================================================== -" These functions are used to immitate certain operating system type functions -" (like reading the contents of a file), which are not available in vim. For -" example, in Vim, its not possible to read the contents of a file without -" opening a buffer on it, which means that over time, lots of buffers can open -" up needlessly. -" -" If python is available (and allowed), then these functions utilize python -" library functions without making calls to external programs. -" ============================================================================== -" Tex_GotoTempFile: open a temp file. reuse from next time on {{{ -function! Tex_GotoTempFile() - if !exists('s:tempFileName') - let s:tempFileName = tempname() - endif - exec 'silent! split '.s:tempFileName -endfunction " }}} -" Tex_IsPresentInFile: finds if a string str, is present in filename {{{ -if has('python') && g:Tex_UsePython - function! Tex_IsPresentInFile(regexp, filename) - exec 'python isPresentInFile(r"'.a:regexp.'", r"'.a:filename.'")' - - return retval - endfunction -else - function! Tex_IsPresentInFile(regexp, filename) - call Tex_GotoTempFile() - - silent! 1,$ d _ - let _report = &report - let _sc = &sc - set report=9999999 nosc - exec 'silent! 0r! '.g:Tex_CatCmd.' '.a:filename - set nomod - let &report = _report - let &sc = _sc - - if search(a:regexp, 'w') - let retval = 1 - else - let retval = 0 - endif - silent! bd - return retval - endfunction -endif " }}} -" Tex_CatFile: returns the contents of a file in a <NL> seperated string {{{ -if has('*readfile') - function! Tex_CatFile(filename) - return join(readfile(filename), "\n") - endfunction -elseif has('python') && g:Tex_UsePython - function! Tex_CatFile(filename) - " catFile assigns a value to retval - exec 'python catFile("'.a:filename.'")' - - return retval - endfunction -else - function! Tex_CatFile(filename) - if glob(a:filename) == '' - return '' - endif - - call Tex_GotoTempFile() - - silent! 1,$ d _ - - let _report = &report - let _sc = &sc - set report=9999999 nosc - exec 'silent! 0r! '.g:Tex_CatCmd.' '.a:filename - - set nomod - let _a = @a - silent! normal! ggVG"ay - let retval = @a - let @a = _a - - silent! bd - let &report = _report - let &sc = _sc - return retval - endfunction -endif -" }}} -" Tex_DeleteFile: removes a file if present {{{ -" Description: -if has('python') && g:Tex_UsePython - function! Tex_DeleteFile(filename) - exec 'python deleteFile(r"'.a:filename.'")' - - if exists('retval') - return retval - endif - endfunction -else - function! Tex_DeleteFile(filename) - if filereadable(a:filename) - exec '! '.g:Tex_RmCmd.' '.a:filename - endif - endfunction -endif -" }}} - - -let &cpo = s:save_cpo - -" Define the functions in python if available. -if !has('python') || !g:Tex_UsePython - finish -endif - -exec 'pyfile '.expand('<sfile>:p:h').'/pytools.py' - -" vim:fdm=marker:ff=unix:noet:ts=4:sw=4:nowrap diff --git a/.vim/ftplugin/latex-suite/mathmacros-utf.vim b/.vim/ftplugin/latex-suite/mathmacros-utf.vim deleted file mode 100644 index f5b5b85..0000000 --- a/.vim/ftplugin/latex-suite/mathmacros-utf.vim +++ /dev/null @@ -1,729 +0,0 @@ -"============================================================================= -" File: mathmacros.vim -" Author: Mikolaj Machowski -" Created: Tue Apr 23 06:00 PM 2002 PST -" -" Description: macros for everything mathematical in latex. -"============================================================================= - -if !(has('gui_running') && g:Tex_MathMenus && g:Tex_Menus) - finish -endif - -let s:MathMenuName = g:Tex_MenuPrefix.'Ma&th.' - -function! Tex_MathMenuRemove() - exe 'silent! aunmenu '.s:MathMenuName -endfunction - -let s:pA = 'amenu <silent> 85 '.s:MathMenuName - -" brackets and dollars {{{ -exe s:pA.'\\&[\ \\] <plug><C-r>=IMAP_PutTextWithMovement("\\[<++>\\]<++>")<cr>' -exe s:pA.'\\&(\ \\) <plug><C-r>=IMAP_PutTextWithMovement("\\(<++>\\)<++>")<cr>' -exe s:pA.'&$\ $ <plug>$$' -exe s:pA.'-sepmath1- :' -" }}} -" MATH arrows {{{ -let s:pA1 = s:pA."&Arrows." -exe s:pA1.'Leftarrow<Tab>⇠<plug>\Leftarrow ' -exe s:pA1.'leftarrow<Tab>↠<plug>\leftarrow' -exe s:pA1.'longleftarrow<Tab>↠<plug>\longleftarrow ' -exe s:pA1.'Longleftarrow<Tab>⇠<plug>\Longleftarrow ' -exe s:pA1.'rightarrow<Tab>→ <plug>\rightarrow ' -exe s:pA1.'longrightarrow<Tab>→ <plug>\longrightarrow ' -exe s:pA1.'Rightarrow<Tab>⇒ <plug>\Rightarrow ' -exe s:pA1.'Longrightarrow<Tab>⇒ <plug>\Longrightarrow ' -exe s:pA1.'leftrightarrow<Tab>⇆ <plug>\leftrightarrow ' -exe s:pA1.'longleftrightarrow<Tab>↔ <plug>\longleftrightarrow ' -exe s:pA1.'Leftrightarrow<Tab>⇔ <plug>\Leftrightarrow ' -exe s:pA1.'Longleftrightarrow<Tab>⇔ <plug>\Longleftrightarrow ' -exe s:pA1.'uparrow<Tab>↑ <plug>\uparrow ' -exe s:pA1.'Uparrow<Tab>⇑ <plug>\Uparrow ' -exe s:pA1.'downarrow<Tab>↓ <plug>\downarrow ' -exe s:pA1.'Downarrow<Tab>⇓ <plug>\Downarrow ' -exe s:pA1.'updownarrow<Tab>↕ <plug>\updownarrow ' -exe s:pA1.'Updownarrow<Tab>⇕ <plug>\Updownarrow ' -exe s:pA1.'nearrow<Tab>↗ <plug>\nearrow ' -exe s:pA1.'searrow<Tab>↘ <plug>\searrow ' -exe s:pA1.'swarrow<Tab>↙ <plug>\swarrow ' -exe s:pA1.'nwarrow<Tab>↖ <plug>\nwarrow ' -exe s:pA1.'mapsto<Tab>↦ <plug>\mapsto ' -exe s:pA1.'leadsto<Tab>↠<plug>\leadsto ' -exe s:pA1.'longmapsto<Tab>⇖ <plug>\longmapsto ' -exe s:pA1.'hookleftarrow<Tab>↩ <plug>\hookleftarrow ' -exe s:pA1.'hookrightarrow<Tab>↪ <plug>\hookrightarrow ' -exe s:pA1.'leftharpoonup<Tab>↼ <plug>\leftharpoonup ' -exe s:pA1.'leftharpoondown<Tab>↽ <plug>\leftharpoondown ' -exe s:pA1.'rightharpoonup<Tab>⇀ <plug>\rightharpoonup ' -exe s:pA1.'rightharpoondown<Tab>⇠<plug>\rightharpoondown ' -exe s:pA1.'rightleftharpoons<Tab>⇌ <plug>\rightleftharpoons ' -exe s:pA1.'overleftarrow<Tab> <plug>\overleftarrow ' -exe s:pA1.'overrightarrow<Tab> <plug>\overrightarrow ' -exe s:pA1.'overleftrightarrow<Tab> <plug>\overleftrightarrow ' -exe s:pA1.'underleftarrow<Tab> <plug>\underleftarrow ' -exe s:pA1.'underrightarrow<Tab> <plug>\underrightarrow ' -exe s:pA1.'underleftrightarrow<Tab> <plug>\underleftrightarrow ' -exe s:pA1.'xleftarrow<Tab> <plug>\xleftarrow ' -exe s:pA1.'xrightarrow<Tab> <plug>\xrightarrow ' -" }}} -" MATH Arrows2 {{{ -let s:pA1a = s:pA."Arrows2." -exe s:pA1a.'dashleftarrow<Tab>⇠<plug>\dashleftarrow ' -exe s:pA1a.'leftleftarrows<Tab>⇇ <plug>\leftleftarrows ' -exe s:pA1a.'leftrightarrows<Tab>⇆ <plug>\leftrightarrows ' -exe s:pA1a.'Lleftarrow<Tab>⇚ <plug>\Lleftarrow ' -exe s:pA1a.'twoheadleftarrow<Tab>↞ <plug>\twoheadleftarrow ' -exe s:pA1a.'leftarrowtail<Tab>↢ <plug>\leftarrowtail ' -exe s:pA1a.'leftrightharpoons<Tab>⇋ <plug>\leftrightharpoons ' -exe s:pA1a.'Lsh<Tab>↰ <plug>\Lsh ' -exe s:pA1a.'looparrowleft<Tab>↫ <plug>\looparrowleft ' -exe s:pA1a.'curvearrowleft<Tab>↶ <plug>\curvearrowleft ' -exe s:pA1a.'circlearrowleft<Tab>↺ <plug>\circlearrowleft ' -exe s:pA1a.'dashrightarrow<Tab>⇢ <plug>\dashrightarrow ' -exe s:pA1a.'rightrightarrows<Tab>⇉ <plug>\rightrightarrows ' -exe s:pA1a.'rightleftarrows<Tab>⇄ <plug>\rightleftarrows ' -exe s:pA1a.'Rrightarrow<Tab>⇛ <plug>\Rrightarrow ' -exe s:pA1a.'twoheadrightarrow<Tab>↠<plug>\twoheadrightarrow ' -exe s:pA1a.'rightarrowtail<Tab>↣ <plug>\rightarrowtail ' -exe s:pA1a.'rightleftharpoons<Tab>⇌ <plug>\rightleftharpoons ' -exe s:pA1a.'Rsh<Tab>↱ <plug>\Rsh ' -exe s:pA1a.'looparrowright<Tab>↬ <plug>\looparrowright ' -exe s:pA1a.'curvearrowright<Tab>↷ <plug>\curvearrowright ' -exe s:pA1a.'circlearrowright<Tab>↻ <plug>\circlearrowright ' -exe s:pA1a.'multimap<Tab>⊸ <plug>\multimap ' -exe s:pA1a.'upuparrows<Tab>⇈ <plug>\upuparrows ' -exe s:pA1a.'downdownarrows<Tab>⇊ <plug>\downdownarrows ' -exe s:pA1a.'upharpoonleft<Tab>↿ <plug>\upharpoonleft ' -exe s:pA1a.'upharpoonright<Tab>↾ <plug>\upharpoonright ' -exe s:pA1a.'downharpoonleft<Tab>⇃ <plug>\downharpoonleft ' -exe s:pA1a.'downharpoonright<Tab>⇂ <plug>\downharpoonright ' -exe s:pA1a.'rightsquigarrow<Tab>⇠<plug>\rightsquigarrow ' -exe s:pA1a.'leftrightsquigarrow<Tab>↠<plug>\leftrightsquigarrow ' -" }}} -" MATH nArrows {{{ -let s:pA1b = s:pA."&nArrows." -exe s:pA1b.'nleftarrow<Tab>↚ <plug>\nleftarrow ' -exe s:pA1b.'nLeftarrow<Tab>⇠<plug>\nLeftarrow ' -exe s:pA1b.'nleftrightarrow<Tab>↮ <plug>\nleftrightarrow ' -exe s:pA1b.'nLeftrightarrow<Tab>⇎ <plug>\nleftrightarrow ' -exe s:pA1b.'nrightarrow<Tab>↛ <plug>\nrightarrow ' -exe s:pA1b.'nRightarrow<Tab>⇠<plug>\nRightarrow ' -" }}} -" MATH Fonts {{{ -let s:pA2a = s:pA."&MathFonts." -" exe s:pA2a.'mathbf{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathbf{<++>}<++>")<cr>' -exe s:pA2a.'mathrm{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathrm{<++>}<++>")<cr>' -exe s:pA2a.'mathsf{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathsf{<++>}<++>")<cr>' -exe s:pA2a.'mathtt{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathtt{<++>}<++>")<cr>' -exe s:pA2a.'mathit{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathit{<++>}<++>")<cr>' -exe s:pA2a.'mathfrak{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathfrak{<++>}<++>")<cr>' -exe s:pA2a.'mathcal{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathcal{<++>}<++>")<cr>' -exe s:pA2a.'mathscr{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathscr{<++>}<++>")<cr>' -exe s:pA2a.'mathbb{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathbb{<++>}<++>")<cr>' -" }}} -" Greek Letters small {{{ -let s:pA2 = s:pA."&Greek.&Small." -exe s:pA2.'alpha<Tab>`a\ \ α <plug>\alpha ' -exe s:pA2.'beta<Tab>`b\ \ β <plug>\beta ' -exe s:pA2.'gamma<Tab>`g\ \ γ <plug>\gamma ' -exe s:pA2.'delta<Tab>`d\ \ δ <plug>\delta ' -exe s:pA2.'epsilon<Tab>∊ <plug>\epsilon ' -exe s:pA2.'varepsilon<Tab>`e\ \ ε <plug>\varepsilon ' -exe s:pA2.'zeta<Tab>`z\ \ ζ <plug>\zeta ' -exe s:pA2.'eta<Tab>`h\ \ η <plug>\eta ' -exe s:pA2.'theta<Tab>`q\ \ θ <plug>\theta ' -exe s:pA2.'vartheta<Tab>Ï‘ <plug>\vartheta ' -exe s:pA2.'iota<Tab>`i\ \ ι <plug>\iota ' -exe s:pA2.'kappa<Tab>`k\ \ κ <plug>\kappa ' -exe s:pA2.'lambda<Tab>`l\ \ λ <plug>\lambda ' -exe s:pA2.'mu<Tab>`m\ \ μ <plug>\mu ' -exe s:pA2.'nu<Tab>`n\ \ ν <plug>\nu ' -exe s:pA2.'xi<Tab>`x\ \ ξ <plug>\xi ' -exe s:pA2.'pi<Tab>`p\ \ Ï€ <plug>\pi ' -exe s:pA2.'varpi<Tab>Ï– <plug>\varpi ' -exe s:pA2.'rho<Tab>`r\ \ Ï <plug>\rho ' -exe s:pA2.'varrho<Tab>ϱ <plug>\varrho ' -exe s:pA2.'sigma<Tab>`s\ \ σ <plug>\sigma ' -exe s:pA2.'varsigma<Tab>`v\ \ Ï‚ <plug>\varsigma ' -exe s:pA2.'tau<Tab>`t\ \ Ï„ <plug>\tau ' -exe s:pA2.'upsilon<Tab>`u\ \ Ï… <plug>\upsilon ' -exe s:pA2.'phi<Tab>φ <plug>\phi ' -exe s:pA2.'varphi<Tab>`f\ \ Ï• <plug>\varphi ' -exe s:pA2.'chi<Tab>`c\ \ χ <plug>\chi ' -exe s:pA2.'psi<Tab>`y\ \ ψ <plug>\psi ' -exe s:pA2.'omega<Tab>`w\ \ ω <plug>\omega ' -" }}} -" Greek Letters big {{{ -let s:pA3 = s:pA.'&Greek.&Big.' -exe s:pA3.'Alpha<Tab>`A\ \ A <plug>\Alpha ' -exe s:pA3.'Beta<Tab>`B\ \ B <plug>\Beta ' -exe s:pA3.'Gamma<Tab>`G\ \ Γ <plug>\Gamma ' -exe s:pA3.'Delta<Tab>`D\ \ Δ <plug>\Delta ' -exe s:pA3.'Epsilon<Tab>`E\ \ E <plug>\Epsilon ' -exe s:pA3.'Zeta<Tab>`Z\ \ Z <plug>\mathrm{Z} ' -exe s:pA3.'Eta<Tab>`H\ \ H <plug>\Eta ' -exe s:pA3.'Theta<Tab>Θ <plug>\Theta ' -exe s:pA3.'Iota<Tab>I <plug>\mathrm{I} ' -exe s:pA3.'Kappa<Tab>`K\ \ K <plug>\Kappa ' -exe s:pA3.'Lambda<Tab>`L\ \ Λ <plug>\Lambda ' -exe s:pA3.'Mu<Tab>`M\ \ M <plug>\Mu ' -exe s:pA3.'Nu<Tab>`N\ \ N <plug>\Nu ' -exe s:pA3.'Xi<Tab>`X\ \ Ξ <plug>\Xi ' -exe s:pA3.'Pi<Tab>`P\ \ Î <plug>\Pi ' -exe s:pA3.'Rho<Tab>`R\ \ P <plug>\Rho ' -exe s:pA3.'Sigma<Tab>`S\ \ Σ <plug>\Sigma ' -exe s:pA3.'Tau<Tab>`T\ \ T <plug>\Tau ' -exe s:pA3.'Upsilon<Tab>`U\ \ Y <plug>\Upsilon ' -exe s:pA3.'Phi<Tab>Φ <plug>\Phi ' -exe s:pA3.'Chi<Tab>`C\ \ X <plug>\Chi ' -exe s:pA3.'Psi<Tab>`Y\ \ Ψ <plug>\Psi ' -exe s:pA3.'Omega<Tab>`W\ \ Ω <plug>\Omega ' -" }}} -" BinaryRel1 {{{ -let s:pA4 = s:pA."&BinaryRel1." -exe s:pA4.'ll<Tab>≪ <plug>\ll ' -exe s:pA4.'lll<Tab>⋘ <plug>\lll ' -exe s:pA4.'leqslant<Tab>≤ <plug>\leqslant ' -exe s:pA4.'leq<Tab>≤ <plug>\leq ' -exe s:pA4.'leqq<Tab>≦ <plug>\leqq ' -exe s:pA4.'eqslantless<Tab>â‹œ <plug>\eqslantless ' -exe s:pA4.'lessdot<Tab>â‹– <plug>\lessdot ' -exe s:pA4.'prec<Tab>≺ <plug>\prec ' -exe s:pA4.'preceq<Tab>≼ <plug>\preceq ' -exe s:pA4.'preccurlyeq<Tab>≼ <plug>\preccurlyeq ' -exe s:pA4.'curlyeqprec<Tab>â‹ž <plug>\curlyeqprec ' -exe s:pA4.'lesssim<Tab>≲ <plug>\lesssim ' -exe s:pA4.'lessapprox<Tab> <plug>\lessapprox ' -exe s:pA4.'precsim<Tab>≾ <plug>\precsim ' -exe s:pA4.'precapprox<Tab> <plug>\precapprox ' -exe s:pA4.'in<Tab>∈ <plug>\in ' -exe s:pA4.'subset<Tab>`(\ \ ⊂ <plug>\subset ' -exe s:pA4.'Subset<Tab>`)\ \ â‹ <plug>\Subset ' -exe s:pA4.'subseteq<Tab>⊆ <plug>\subseteq ' -exe s:pA4.'subseteqq<Tab> <plug>\subseteqq ' -exe s:pA4.'sqsubset<Tab>⊠<plug>\sqsubset ' -exe s:pA4.'sqsubseteq<Tab>⊑ <plug>\sqsubseteq ' -exe s:pA4.'smile<Tab>⌣ <plug>\smile ' -exe s:pA4.'smallsmile<Tab>⌣ <plug>\smallsmile ' -exe s:pA4.'parallel<Tab>∥ <plug>\parallel ' -exe s:pA4.'shortparallel<Tab>∥ <plug>\shortparallel ' -exe s:pA4.'dashv<Tab>⊣ <plug>\dashv ' -exe s:pA4.'vdash<Tab>⊢ <plug>\vdash ' -exe s:pA4.'vDash<Tab>⊨ <plug>\vDash ' -exe s:pA4.'models<Tab>⊨ <plug>\models ' -exe s:pA4.'therefore<Tab>∴ <plug>\therefore ' -exe s:pA4.'backepsilon<Tab>∠<plug>\backepsilon ' -" }}} -" nBinaryRel1 {{{ -let s:pA4a = s:pA."&nBinaryRel1." -exe s:pA4a.'nless<Tab>≮ <plug>\nless ' -exe s:pA4a.'nleqslant<Tab>≰ <plug>\nleqslant ' -exe s:pA4a.'nleq<Tab> <plug>\nleq ' -exe s:pA4a.'lneq<Tab> <plug>\lneq ' -exe s:pA4a.'nleqq<Tab> <plug>\nleqq ' -exe s:pA4a.'lneqq<Tab>≨ <plug>\lneqq ' -exe s:pA4a.'lvertneqq<Tab> <plug>\lvertneqq ' -exe s:pA4a.'nprec<Tab>⊀ <plug>\nprec ' -exe s:pA4a.'npreceq<Tab>â‹ <plug>\npreceq ' -exe s:pA4a.'precneqq<Tab> <plug>\precneqq ' -exe s:pA4a.'lnsim<Tab>⋦ <plug>\lnsim ' -exe s:pA4a.'lnapprox<Tab> <plug>\lnapprox ' -exe s:pA4a.'precnsim<Tab>⋨ <plug>\precnsim ' -exe s:pA4a.'precnapprox<Tab> <plug>\precnapprox ' -exe s:pA4a.'notin<Tab>∉ <plug>\notin ' -exe s:pA4a.'nsubseteq<Tab>⊈ <plug>\nsubseteq ' -exe s:pA4a.'varsubsetneq<Tab> <plug>\varsubsetneq ' -exe s:pA4a.'subsetneq<Tab>⊊ <plug>\subsetneq ' -exe s:pA4a.'nsubseteqq<Tab> <plug>\nsubseteqq ' -exe s:pA4a.'varsubsetneqq<Tab> <plug>\varsubsetneqq ' -exe s:pA4a.'subsetneqq<Tab>⊈ <plug>\subsetneqq ' -exe s:pA4a.'nparallel<Tab>∦ <plug>\nparallel ' -exe s:pA4a.'nshortparallel<Tab> <plug>\nshortparallel ' -exe s:pA4a.'nvdash<Tab>⊬ <plug>\nvdash ' -exe s:pA4a.'nvDash<Tab>⊠<plug>\nvDash ' -" }}} -" BinaryRel2 {{{ -let s:pA5 = s:pA."&BinaryRel2." -exe s:pA5.'gg<Tab>≫ <plug>\gg ' -exe s:pA5.'ggg<Tab>â‹™ <plug>\ggg ' -exe s:pA5.'gggtr<Tab>â‹™ <plug>\gggtr ' -exe s:pA5.'geqslant<Tab> <plug>\geqslant ' -exe s:pA5.'geq<Tab>≥ <plug>\geq ' -exe s:pA5.'geqq<Tab>≧ <plug>\geqq ' -exe s:pA5.'eqslantgtr<Tab> <plug>\eqslantgtr ' -exe s:pA5.'gtrdot<Tab>â‹— <plug>\gtrdot ' -exe s:pA5.'succ<Tab>≻ <plug>\succ ' -exe s:pA5.'succeq<Tab>≽ <plug>\succeq ' -exe s:pA5.'succcurlyeq<Tab>≽ <plug>\succcurlyeq ' -exe s:pA5.'curlyeqsucc<Tab>â‹Ÿ <plug>\curlyeqsucc ' -exe s:pA5.'gtrsim<Tab>≳ <plug>\gtrsim ' -exe s:pA5.'gtrapprox<Tab> <plug>\gtrapprox ' -exe s:pA5.'succsim<Tab>≿ <plug>\succsim ' -exe s:pA5.'succapprox<Tab> <plug>\succapprox ' -exe s:pA5.'ni<Tab>∋ <plug>\ni ' -exe s:pA5.'owns<Tab> <plug>\owns ' -exe s:pA5.'supset<Tab>⊃ <plug>\supset ' -exe s:pA5.'Supset<Tab>â‹‘ <plug>\Supset ' -exe s:pA5.'supseteq<Tab>⊇ <plug>\supseteq ' -exe s:pA5.'supseteqq<Tab> <plug>\supseteqq ' -exe s:pA5.'sqsupset<Tab>⊠<plug>\sqsupset ' -exe s:pA5.'sqsupseteq<Tab>⊒ <plug>\sqsupseteq ' -exe s:pA5.'frown<Tab>⌢ <plug>\frown ' -exe s:pA5.'smallfrown<Tab>⌢ <plug>\smallfrown ' -exe s:pA5.'mid<Tab>∣ <plug>\mid ' -exe s:pA5.'shortmid<Tab> <plug>\shortmid ' -exe s:pA5.'between<Tab>≬ <plug>\between ' -exe s:pA5.'Vdash<Tab>⊩ <plug>\Vdash ' -exe s:pA5.'bowtie<Tab>⋈ <plug>\bowtie ' -exe s:pA5.'Join<Tab>⋈ <plug>\Join ' -exe s:pA5.'pitchfork<Tab>â‹” <plug>\pitchfork ' -" }}} -" {{{ nBinaryRel2 -let s:pA5a = s:pA."n&BinaryRel2." "TODO: dorobiæ logarytmy -exe s:pA5a.'ngtr<Tab>≯ <plug>\ngtr ' -exe s:pA5a.'ngeqslant<Tab>≱ <plug>\ngeqslant ' -exe s:pA5a.'ngeq<Tab> <plug>\ngeq ' -exe s:pA5a.'gneq<Tab> <plug>\gneq ' -exe s:pA5a.'ngeqq<Tab> <plug>\ngeqq ' -exe s:pA5a.'gneqq<Tab>≩ <plug>\gneqq ' -exe s:pA5a.'nsucc<Tab>⊠<plug>\nsucc ' -exe s:pA5a.'nsucceq<Tab>â‹¡ <plug>\nsucceq ' -exe s:pA5a.'succneqq<Tab> <plug>\succneqq ' -exe s:pA5a.'gnsim<Tab>⋧ <plug>\gnsim ' -exe s:pA5a.'gnapprox<Tab> <plug>\gnapprox ' -exe s:pA5a.'succnsim<Tab>â‹© <plug>\succnsim ' -exe s:pA5a.'succnapprox<Tab> <plug>\succnapprox ' -exe s:pA5a.'nsupseteq<Tab>⊉ <plug>\nsupseteq ' -exe s:pA5a.'varsupsetneq<Tab> <plug>\varsupsetneq ' -exe s:pA5a.'supsetneq<Tab>⊋ <plug>\supsetneq ' -exe s:pA5a.'nsupseteqq<Tab> <plug>\nsupseteqq ' -exe s:pA5a.'varsupsetneqq<Tab> <plug>\varsupsetneqq ' -exe s:pA5a.'supsetneqq<Tab> <plug>\supsetneqq ' -exe s:pA5a.'nmid<Tab>∤ <plug>\nmid ' -exe s:pA5a.'nshortmid<Tab> <plug>\nshortmid ' -exe s:pA5a.'nVdash<Tab>⊮ <plug>\nVdash ' -" }}} -" {{{ BinaryRel3 -let s:pA6 = s:pA."&BinaryRel3." -exe s:pA6.'doteq<Tab>≠<plug>\doteq ' -exe s:pA6.'circeq<Tab>≗ <plug>\circeq ' -exe s:pA6.'eqcirc<Tab>≖ <plug>\eqcirc ' -exe s:pA6.'risingdotseq<Tab>≓ <plug>\risingdotseq ' -exe s:pA6.'doteqdot<Tab>≑ <plug>\doteqdot ' -exe s:pA6.'Doteq<Tab>≑ <plug>\Doteq ' -exe s:pA6.'fallingdotseq<Tab>≒ <plug>\fallingdotseq ' -exe s:pA6.'triangleq<Tab>≜ <plug>\triangleq ' -exe s:pA6.'bumpeq<Tab>≠<plug>\bumpeq ' -exe s:pA6.'Bumpeq<Tab>≎ <plug>\Bumpeq ' -exe s:pA6.'equiv<Tab>`=\ \ ≡ <plug>\equiv ' -exe s:pA6.'sim<Tab>∼ <plug>\sim ' -exe s:pA6.'thicksim<Tab>∼ <plug>\thicksim ' -exe s:pA6.'backsim<Tab>∽ <plug>\backsim ' -exe s:pA6.'simeq<Tab>≃ <plug>\simeq ' -exe s:pA6.'backsimeq<Tab>â‹ <plug>\backsimeq ' -exe s:pA6.'cong<Tab>≅ <plug>\cong ' -exe s:pA6.'approx<tab>=~\ \ ≈ <plug>\approx ' -exe s:pA6.'thickapprox<Tab>≈ <plug>\thickapprox ' -exe s:pA6.'approxeq<Tab>≊ <plug>\approxeq ' -exe s:pA6.'blacktriangleleft<Tab>â—€ <plug>\blacktriangleleft ' -exe s:pA6.'vartriangleleft<Tab>⊲ <plug>\vartriangleleft ' -exe s:pA6.'trianglelefteq<Tab>⊴ <plug>\trianglelefteq ' -exe s:pA6.'blacktriangleright<Tab>â–¶ <plug>\blacktriangleright ' -exe s:pA6.'vartriangleright<Tab>⊳ <plug>\vartriangleright ' -exe s:pA6.'trianglerighteq<Tab>⊵ <plug>\trianglerighteq ' -exe s:pA6.'perp<Tab>⊥ <plug>\perp ' -exe s:pA6.'asymp<Tab>≠<plug>\asymp ' -exe s:pA6.'Vvdash<Tab>⊪ <plug>\Vvdash ' -exe s:pA6.'propto<Tab>∠<plug>\propto ' -exe s:pA6.'varpropto<Tab>∠<plug>\varpropto ' -exe s:pA6.'because<Tab>∵ <plug>\because ' -" }}} -" {{{ nBinaryRel3 -let s:pA6a = s:pA."&nBinaryRel3." -exe s:pA6a.'neq<Tab>≠<plug>\neq ' -exe s:pA6a.'nsim<Tab>≠<plug>\nsim ' -exe s:pA6a.'ncong<Tab>≆ <plug>\ncong ' -exe s:pA6a.'ntriangleleft<Tab>⋪ <plug>\ntriangleleft ' -exe s:pA6a.'ntrianglelefteq<Tab>⋬ <plug>\ntrianglelefteq ' -exe s:pA6a.'ntriangleright<Tab>â‹« <plug>\ntriangleright ' -exe s:pA6a.'ntrianglerighteq<Tab>â‹ <plug>\ntrianglerighteq ' -" }}} -" {{{ BinaryRel4 -let s:pA7 = s:pA."&BinaryRel4." -exe s:pA7.'lessgtr<Tab>≶ <plug>\lessgtr ' -exe s:pA7.'gtrless<Tab>≷ <plug>\gtrless ' -exe s:pA7.'lesseqgtr<Tab>â‹š <plug>\lesseqgtr ' -exe s:pA7.'gtreqless<Tab>â‹› <plug>\gtreqless ' -exe s:pA7.'lesseqqgtr<Tab> <plug>\lesseqqgtr ' -exe s:pA7.'gtreqqless<Tab> <plug>\gtreqqless ' -" }}} -" {{{ BigOp -let s:pA8a = s:pA."&BigOp." -exe s:pA8a.'limits<Tab> <plug>\limits' -exe s:pA8a.'nolimits<Tab> <plug>\nolimits' -exe s:pA8a.'displaylimits<Tab> <plug>\displaylimits' -exe s:pA8a.'-seplimits- :' -exe s:pA8a.'bigcap<Tab>`-\ \ â‹‚ <plug>\bigcap' -exe s:pA8a.'bigcup<Tab>`+\ \ ⋃ <plug>\bigcup' -exe s:pA8a.'bigodot<Tab>⊙ <plug>\bigodot' -exe s:pA8a.'bigoplus<Tab>⊕ <plug>\bigoplus' -exe s:pA8a.'bigotimes<Tab>⊗ <plug>\bigotimes' -exe s:pA8a.'bigsqcup<Tab>⊔ <plug>\bigsqcup' -exe s:pA8a.'biguplus<Tab>⊎ <plug>\biguplus' -exe s:pA8a.'bigvee<Tab>â‹ <plug>\bigvee' -exe s:pA8a.'bigwedge<Tab>â‹€ <plug>\bigwedge' -exe s:pA8a.'coprod<Tab>∠<plug>\coprod' -exe s:pA8a.'int<Tab>∫ <plug>\int' -exe s:pA8a.'iint<Tab>∬ <plug>\int' -exe s:pA8a.'iiint<Tab>∠<plug>\int' -exe s:pA8a.'oint<Tab>∮ <plug>\oint' -exe s:pA8a.'prod<Tab>∠<plug>\prod' -exe s:pA8a.'sum<Tab>∑ <plug>\sum' -" }}} -" {{{ BinaryOp -let s:pA8 = s:pA."&BinaryOp." -exe s:pA8.'pm<Tab>± <plug>\pm ' -exe s:pA8.'mp<Tab>∓ <plug>\mp ' -exe s:pA8.'dotplus<Tab>∔ <plug>\dotplus ' -exe s:pA8.'cdot<Tab>`.\ \ â‹… <plug>\cdot ' -exe s:pA8.'centerdot<Tab>â‹… <plug>\centerdot ' -exe s:pA8.'times<Tab>`*\ \ × <plug>\times ' -exe s:pA8.'ltimes<Tab>⋉ <plug>\ltimes ' -exe s:pA8.'rtimes<Tab>â‹Š <plug>\rtimes ' -exe s:pA8.'leftthreetimes<Tab>â‹‹ <plug>\leftthreetimes ' -exe s:pA8.'rightthreetimes<Tab>â‹Œ <plug>\rightthreetimes ' -exe s:pA8.'div<Tab>÷ <plug>\div ' -exe s:pA8.'divideontimes<Tab>⋇ <plug>\divideontimes ' -exe s:pA8.'bmod<Tab> <plug>\bmod ' -exe s:pA8.'ast<Tab>∗ <plug>\ast ' -exe s:pA8.'star<Tab>⋆ <plug>\star ' -exe s:pA8.'setminus<Tab>`\\\ \ ∖ <plug>\setminus ' -exe s:pA8.'smallsetminus<Tab>∖ <plug>\smallsetminus ' -exe s:pA8.'diamond<Tab>â‹„ <plug>\diamond ' -exe s:pA8.'wr<Tab>≀ <plug>\wr ' -exe s:pA8.'intercal<Tab>⊺ <plug>\intercal ' -exe s:pA8.'circ<Tab>`@\ \ ∘ <plug>\circ ' -exe s:pA8.'bigcirc<Tab>â—‹ <plug>\bigcirc ' -exe s:pA8.'bullet<Tab>∙ <plug>\bullet ' -exe s:pA8.'cap<Tab>∩ <plug>\cap ' -exe s:pA8.'Cap<Tab>â‹’ <plug>\Cap ' -exe s:pA8.'cup<Tab>∪ <plug>\cup ' -exe s:pA8.'Cup<Tab>â‹“ <plug>\Cup ' -exe s:pA8.'sqcap<Tab>⊓ <plug>\sqcap ' -exe s:pA8.'sqcup<Tab>⊔ <plug>\sqcup' -exe s:pA8.'amalg<Tab> <plug>\amalg ' -exe s:pA8.'uplus<Tab>⊎ <plug>\uplus ' -exe s:pA8.'triangleleft<Tab>â— <plug>\triangleleft ' -exe s:pA8.'triangleright<Tab>â–· <plug>\triangleright ' -exe s:pA8.'bigtriangleup<Tab>â–³ <plug>\bigtriangleup ' -exe s:pA8.'bigtriangledown<Tab>â–½ <plug>\bigtriangledown ' -exe s:pA8.'vee<Tab>∨ <plug>\vee ' -exe s:pA8.'veebar<Tab>⊻ <plug>\veebar ' -exe s:pA8.'curlyvee<Tab>â‹Ž <plug>\curlyvee ' -exe s:pA8.'wedge<Tab>`&\ \ ∧ <plug>\wedge ' -exe s:pA8.'barwedge<Tab>⊼ <plug>\barwedge ' -exe s:pA8.'doublebarwedge<Tab>⌆ <plug>\doublebarwedge ' -exe s:pA8.'curlywedge<Tab>â‹ <plug>\curlywedge ' -exe s:pA8.'oplus<Tab>⊕ <plug>\oplus ' -exe s:pA8.'ominus<Tab>⊖ <plug>\ominus ' -exe s:pA8.'otimes<Tab>⊗ <plug>\otimes ' -exe s:pA8.'oslash<Tab>⊘ <plug>\oslash ' -exe s:pA8.'boxplus<Tab>⊞ <plug>\boxplus ' -exe s:pA8.'boxminus<Tab>⊟ <plug>\boxminus ' -exe s:pA8.'boxtimes<Tab>⊠<plug>\boxtimes ' -exe s:pA8.'boxdot<Tab>⊡ <plug>\boxdot ' -exe s:pA8.'odot<Tab>⊙ <plug>\odot ' -exe s:pA8.'circledast<Tab>⊛ <plug>\circledast ' -exe s:pA8.'circleddash<Tab>⊠<plug>\circleddash ' -exe s:pA8.'circledcirc<Tab>⊚ <plug>\circledcirc ' -exe s:pA8.'dagger<Tab>†<plug>\dagger ' -exe s:pA8.'ddagger<Tab>‡ <plug>\ddagger ' -exe s:pA8.'lhd<Tab>⊲ <plug>\lhd ' -exe s:pA8.'unlhd<Tab>⊴ <plug>\unlhd ' -exe s:pA8.'rhd<Tab>⊳ <plug>\rhd ' -exe s:pA8.'unrhd<Tab>⊵ <plug>\unrhd ' -" }}} -" {{{ Other1 -let s:pA9 = s:pA."&Other1." -" exe s:pA9.'hat<Tab>â <plug>\hat ' -exe s:pA9.'check<Tab>ÇŽ <plug>\check ' -exe s:pA9.'grave<Tab>à <plug>\grave ' -exe s:pA9.'acute<Tab>á <plug>\acute ' -exe s:pA9.'dot<Tab>ȧ <plug>\dot ' -exe s:pA9.'ddot<Tab>ä <plug>\ddot ' -exe s:pA9.'tilde<Tab>`,\ \ ã <plug>\tilde ' -exe s:pA9.'breve<Tab>ă <plug>\breve ' -exe s:pA9.'bar<Tab>Ä <plug>\bar ' -exe s:pA9.'vec<Tab>a⃗ <plug>\vec ' -exe s:pA9.'aleph<Tab>× <plug>\aleph ' -exe s:pA9.'hbar<Tab>â„ <plug>\hbar ' -exe s:pA9.'imath<Tab> <plug>\imath ' -exe s:pA9.'jmath<Tab> <plug>\jmath ' -exe s:pA9.'ell<Tab>â„“ <plug>\ell ' -exe s:pA9.'wp<Tab>℘ <plug>\wp ' -exe s:pA9.'Re<Tab>â„œ <plug>\Re ' -exe s:pA9.'Im<Tab>â„‘ <plug>\Im ' -exe s:pA9.'partial<Tab>∂ <plug>\partial ' -exe s:pA9.'infty<Tab>`8\ \ ∞ <plug>\infty ' -exe s:pA9.'prime<Tab>′ <plug>\prime ' -exe s:pA9.'emptyset<Tab>∅ <plug>\emptyset ' -exe s:pA9.'nabla<Tab>∇ <plug>\nabla ' -exe s:pA9.'surd<Tab>√ <plug>\surd ' -exe s:pA9.'top<Tab>⊤ <plug>\top ' -exe s:pA9.'bot<Tab>⊥ <plug>\bot ' -exe s:pA9.'angle<Tab>∠<plug>\angle ' -exe s:pA9.'triangle<Tab>â–³ <plug>\triangle ' -exe s:pA9.'backslash<Tab>\\ <plug>\backslash ' -exe s:pA9.'forall<Tab>∀ <plug>\forall ' -exe s:pA9.'exists<Tab>∃ <plug>\exists ' -exe s:pA9.'neg<Tab>¬ <plug>\neg ' -exe s:pA9.'flat<Tab>â™ <plug>\flat ' -exe s:pA9.'natural<Tab>â™® <plug>\natural ' -exe s:pA9.'sharp<Tab>♯ <plug>\sharp ' -exe s:pA9.'clubsuit<Tab>♣ <plug>\clubsuit ' -exe s:pA9.'diamondsuit<Tab>♢ <plug>\diamondsuit ' -exe s:pA9.'heartsuit<Tab>♡ <plug>\heartsuit ' -exe s:pA9.'spadesuit<Tab>â™ <plug>\spadesuit ' -exe s:pA9.'S<Tab>§ <plug>\S ' -exe s:pA9.'P<Tab>¶ <plug>\P' -" }}} -" {{{ MathCreating -let s:pA10 = s:pA."&MathCreating." -exe s:pA10.'not<Tab> <plug>\not' -exe s:pA10.'mkern<Tab> <plug>\mkern' -exe s:pA10.'mathbin<Tab> <plug>\mathbin' -exe s:pA10.'mathrel<Tab> <plug>\mathrel' -exe s:pA10.'stackrel<Tab> <plug>\stackrel' -exe s:pA10.'mathord<Tab> <plug>\mathord' -" }}} -" {{{ Styles -let s:pA11 = s:pA."&Styles." -exe s:pA11.'displaystyle<Tab> <plug>\displaystyle' -exe s:pA11.'textstyle<Tab> <plug>\textstyle' -exe s:pA11.'scritpstyle<Tab> <plug>\scritpstyle' -exe s:pA11.'scriptscriptstyle<Tab> <plug>\scriptscriptstyle' -" }}} -" {{{ MathDiacritics -let s:pA12 = s:pA."&MathDiacritics." -exe s:pA12.'acute{}<Tab>á <plug><C-r>=IMAP_PutTextWithMovement("\\acute{<++>}<++>")<cr>' -exe s:pA12.'bar{}<Tab>`_\ \ Ä <plug><C-r>=IMAP_PutTextWithMovement("\\bar{<++>}<++>")<cr>' -exe s:pA12.'breve{}<Tab>ă <plug><C-r>=IMAP_PutTextWithMovement("\\breve{<++>}<++>")<cr>' -exe s:pA12.'check{}<Tab>ÇŽ <plug><C-r>=IMAP_PutTextWithMovement("\\check{<++>}<++>")<cr>' -exe s:pA12.'ddot{}<Tab>`:\ \ ä <plug><C-r>=IMAP_PutTextWithMovement("\\ddot{<++>}<++>")<cr>' -exe s:pA12.'dot{}<Tab>`;\ \ ȧ <plug><C-r>=IMAP_PutTextWithMovement("\\dot{<++>}<++>")<cr>' -exe s:pA12.'grave{}<Tab>à <plug><C-r>=IMAP_PutTextWithMovement("\\grave{<++>}<++>")<cr>' -" exe s:pA12.'hat{}<Tab>`^\ \ â <plug><C-r>=IMAP_PutTextWithMovement("\\hat{<++>}<++>")<cr>' -exe s:pA12.'tilde{}<tab>`~\ \ ã <plug><C-r>=IMAP_PutTextWithMovement("\\tilde{<++>}<++>")<cr>' -exe s:pA12.'vec{}<Tab>a⃗ <plug><C-r>=IMAP_PutTextWithMovement("\\vec{<++>}<++>")<cr>' -exe s:pA12.'widehat{}<Tab> <plug><C-r>=IMAP_PutTextWithMovement("\\widehat{<++>}<++>")<cr>' -exe s:pA12.'widetilde{}<Tab> <plug><C-r>=IMAP_PutTextWithMovement("\\widetilde{<++>}<++>")<cr>' -exe s:pA12.'imath<Tab> <plug><C-r>=IMAP_PutTextWithMovement("\\imath")<cr>' -exe s:pA12.'jmath<Tab> <plug><C-r>=IMAP_PutTextWithMovement("\\jmath")<cr>' -" }}} -" {{{ OverlineAndCo -let s:pA13 = s:pA."&OverlineAndCo." -exe s:pA13.'overline{} <plug><C-r>=IMAP_PutTextWithMovement("\\overline{}")<cr>' -exe s:pA13.'underline{} <plug><C-r>=IMAP_PutTextWithMovement("\\underline{}")<cr>' -exe s:pA13.'overrightarrow{} <plug><C-r>=IMAP_PutTextWithMovement("\\overrightarrow{}")<cr>' -exe s:pA13.'overleftarrow{} <plug><C-r>=IMAP_PutTextWithMovement("\\overleftarrow{}")<cr>' -exe s:pA13.'overbrace{} <plug><C-r>=IMAP_PutTextWithMovement("\\overbrace{}")<cr>' -exe s:pA13.'underbrace{} <plug><C-r>=IMAP_PutTextWithMovement("\\underbrace{}")<cr>' -" }}} -" {{{ Symbols1 -let s:pA14a = s:pA."&Symbols1." -exe s:pA14a.'forall<Tab>∀ <plug>\forall ' -exe s:pA14a.'exists<Tab>∃ <plug>\exists ' -exe s:pA14a.'nexists<Tab>∄ <plug>\nexists ' -exe s:pA14a.'neg<Tab>¬ <plug>\neg ' -exe s:pA14a.'top<Tab>⊤ <plug>\top ' -exe s:pA14a.'bot<Tab>⊥ <plug>\bot ' -exe s:pA14a.'emptyset<Tab>∅ <plug>\emptyset ' -exe s:pA14a.'varnothing<Tab>⌀ <plug>\varnothing ' -exe s:pA14a.'infty<Tab>∞ <plug>\infty ' -exe s:pA14a.'aleph<Tab>× <plug>\aleph ' -exe s:pA14a.'beth<Tab>ב <plug>\beth ' -exe s:pA14a.'gimel<Tab>×’ <plug>\gimel ' -exe s:pA14a.'daleth<Tab>ד <plug>\daleth ' -exe s:pA14a.'hbar<Tab> <plug>\hbar ' -exe s:pA14a.'hslash<Tab>â„ <plug>\hslash ' -exe s:pA14a.'diagup<Tab>â„ <plug>\diagup ' -exe s:pA14a.'vert<Tab>\| <plug>\vert ' -exe s:pA14a.'Vert<Tab>∥ <plug>\Vert ' -exe s:pA14a.'backslash<Tab>\\ <plug>\backslash ' -exe s:pA14a.'diagdown<Tab> <plug>\diagdown ' -exe s:pA14a.'Bbbk<Tab>ᵕ <plug>\Bbbk ' -exe s:pA14a.'P<Tab>¶ <plug>\P ' -exe s:pA14a.'S<Tab>§ <plug>\S ' -" }}} -" {{{ Symbols2 -let s:pA14b = s:pA."&Symbols2." -exe s:pA14b.'# <plug>\# ' -exe s:pA14b.'% <plug>\% ' -exe s:pA14b.'_<Tab> <plug>\_ ' -exe s:pA14b.'$ <plug>\$ ' -exe s:pA14b.'& <plug>\& ' -exe s:pA14b.'imath<Tab> <plug>\imath ' -exe s:pA14b.'jmath<Tab> <plug>\jmath ' -exe s:pA14b.'ell<Tab>â„“ <plug>\ell ' -exe s:pA14b.'wp<Tab>℘ <plug>\wp ' -exe s:pA14b.'Re<Tab>â„œ <plug>\Re ' -exe s:pA14b.'Im<Tab>â„‘ <plug>\Im ' -exe s:pA14b.'prime<Tab>′ <plug>\prime ' -exe s:pA14b.'backprime<Tab>‵ <plug>\backprime ' -exe s:pA14b.'nabla<Tab>∇ <plug>\nabla ' -exe s:pA14b.'surd<Tab>√ <plug>\surd ' -exe s:pA14b.'flat<Tab>â™ <plug>\flat ' -exe s:pA14b.'sharp<Tab>♯ <plug>\sharp ' -exe s:pA14b.'natural<Tab>â™® <plug>\natural ' -exe s:pA14b.'eth<Tab>ð <plug>\eth ' -exe s:pA14b.'bigstar<Tab>★ <plug>\bigstar ' -exe s:pA14b.'circledS<Tab>Ⓢ <plug>\circledS ' -exe s:pA14b.'Finv<Tab>Ⅎ <plug>\Finv ' -exe s:pA14b.'dag<Tab>†<plug>\dag ' -exe s:pA14b.'ddag<Tab>‡ <plug>\ddag ' -" }}} -" {{{ Symbols3 -let s:pA14c = s:pA."&Symbols3." -exe s:pA14c.'angle<Tab>∠<plug>\angle ' -exe s:pA14c.'measuredangle<Tab>∡ <plug>\measuredangle ' -exe s:pA14c.'sphericalangle<Tab>∢ <plug>\sphericalangle ' -exe s:pA14c.'spadesuit<Tab>â™ <plug>\spadesuit ' -exe s:pA14c.'heartsuit<Tab>♡ <plug>\heartsuit ' -exe s:pA14c.'diamondsuit<Tab>♢ <plug>\diamondsuit ' -exe s:pA14c.'clubsuit<Tab>♣ <plug>\clubsuit ' -exe s:pA14c.'lozenge<Tab>â—Š <plug>\lozenge ' -exe s:pA14c.'blacklozenge<Tab>â—† <plug>\blacklozenge ' -exe s:pA14c.'Diamond<Tab>â—‡ <plug>\Diamond ' -exe s:pA14c.'triangle<Tab>â–³ <plug>\triangle ' -exe s:pA14c.'vartriangle<Tab>â–³ <plug>\vartriangle ' -exe s:pA14c.'blacktriangle<Tab>â–² <plug>\blacktriangle ' -exe s:pA14c.'triangledown<Tab>â–½ <plug>\triangledown ' -exe s:pA14c.'blacktriangledown<Tab>â–¼ <plug>\blacktriangledown ' -exe s:pA14c.'Box<Tab>â–¡ <plug>\Box ' -exe s:pA14c.'square<Tab>â–¡ <plug>\square ' -exe s:pA14c.'blacksquare<Tab>â– <plug>\blacksquare ' -exe s:pA14c.'complement<Tab>∠<plug>\complement ' -exe s:pA14c.'mho<Tab>℧ <plug>\mho ' -exe s:pA14c.'Game<Tab>â… <plug>\Game ' -exe s:pA14c.'partial<Tab>`6\ \ ∂ <plug>\partial ' -exe s:pA14c.'smallint<Tab>∫ <plug>\smallint ' -" }}} -" {{{ Logic -let s:pA15 = s:pA."&Logic." -exe s:pA15.'lnot<Tab>¬ <plug>\lnot ' -exe s:pA15.'lor<Tab>∨ <plug>\lor ' -exe s:pA15.'land<Tab>∧ <plug>\land ' -" }}} -" {{{ Limits1 -let s:pA16 = s:pA."&Limits1." -exe s:pA16.'left<Tab>( <plug>\left' -exe s:pA16.'right<Tab>) <plug>\right' -exe s:pA16.'-sepbigl- :' -exe s:pA16.'bigl<Tab> <plug>\bigl' -exe s:pA16.'Bigl<Tab> <plug>\Bigl' -exe s:pA16.'biggl<Tab> <plug>\biggl' -exe s:pA16.'Biggl<Tab> <plug>\Biggl' -exe s:pA16.'-sepbigr- :' -exe s:pA16.'bigr<Tab> <plug>\bigr' -exe s:pA16.'Bigr<Tab> <plug>\Bigr' -exe s:pA16.'biggr<Tab> <plug>\biggr' -exe s:pA16.'Biggr<Tab> <plug>\Biggr' -exe s:pA16.'-sepbig- :' -exe s:pA16.'big<Tab> <plug>\big' -exe s:pA16.'bigm<Tab> <plug>\bigm' -exe s:pA16.'-sepfloor- :' -exe s:pA16.'lfloor<Tab>⌊ <plug>\lfloor ' -exe s:pA16.'lceil<Tab>⌈ <plug>\lceil ' -exe s:pA16.'rfloor<Tab>⌋ <plug>\rfloor ' -exe s:pA16.'rceil<Tab>⌉ <plug>\rceil ' -exe s:pA16.'-sepangle- :' -exe s:pA16.'langle<Tab>〈 <plug>\langle ' -exe s:pA16.'rangle<Tab>〉 <plug>\rangle ' -" }}} -" {{{ Limits2 -let s:pA16a = s:pA."&Limits2." -exe s:pA16a.'ulcorner<Tab>⌜ <plug>\ulcorner ' -exe s:pA16a.'urcorner<Tab>⌠<plug>\urcorner ' -exe s:pA16a.'llcorner<Tab>⌞ <plug>\llcorner ' -exe s:pA16a.'rlcorner<Tab>⌟ <plug>\rlcorner ' -exe s:pA16a.'-sepcorner- :' -exe s:pA16a.'vert<Tab>\| <plug>\vert ' -exe s:pA16a.'Vert<Tab>∥ <plug>\Vert ' -exe s:pA16a.'lvert<Tab> <plug>\lvert ' -exe s:pA16a.'lVert<Tab> <plug>\lVert ' -exe s:pA16a.'rvert<Tab> <plug>\rvert ' -exe s:pA16a.'rVert<Tab> <plug>\rVert ' -exe s:pA16a.'uparrow<Tab>↑ <plug>\uparrow ' -exe s:pA16a.'Uparrow<Tab>⇑ <plug>\Uparrow ' -exe s:pA16a.'downarrow<Tab>↓ <plug>\downarrow ' -exe s:pA16a.'Downarrow<Tab>⇓ <plug>\Downarrow ' -exe s:pA16a.'updownarrow<Tab>↕ <plug>\updownarrow ' -exe s:pA16a.'Updownarrow<Tab>⇕ <plug>\Updownarrow ' -exe s:pA16a.'lgroup<Tab> <plug>\lgroup ' -exe s:pA16a.'rgroup<Tab> <plug>\rgroup ' -exe s:pA16a.'lmoustache<Tab>∫ <plug>\lmoustache ' -exe s:pA16a.'rmoustache<Tab> <plug>\rmoustache ' -exe s:pA16a.'arrowvert<Tab> <plug>\arrowvert ' -exe s:pA16a.'Arrowvert<Tab> <plug>\Arrowvert ' -exe s:pA16a.'bracevert<Tab> <plug>\bracevert ' -" }}} -" {{{ Log-likes -let s:pA17 = s:pA."Lo&g-likes." -exe s:pA17.'arccos<Tab> <plug>\arccos ' -exe s:pA17.'arcsin<Tab> <plug>\arcsin ' -exe s:pA17.'arctan<Tab> <plug>\arctan ' -exe s:pA17.'arg<Tab> <plug>\arg ' -exe s:pA17.'cos<Tab> <plug>\cos ' -exe s:pA17.'cosh<Tab> <plug>\cosh ' -exe s:pA17.'cot<Tab> <plug>\cot ' -exe s:pA17.'coth<Tab> <plug>\coth ' -exe s:pA17.'csc<Tab> <plug>\csc ' -exe s:pA17.'deg<Tab> <plug>\deg ' -exe s:pA17.'det<Tab> <plug>\det ' -exe s:pA17.'dim<Tab> <plug>\dim ' -exe s:pA17.'exp<Tab> <plug>\exp ' -exe s:pA17.'gcd<Tab> <plug>\gcd ' -exe s:pA17.'hom<Tab> <plug>\hom ' -exe s:pA17.'inf<Tab> <plug>\inf ' -exe s:pA17.'injlim<Tab> <plug>\injlim ' -exe s:pA17.'ker<Tab> <plug>\ker ' -exe s:pA17.'lg<Tab> <plug>\lg ' -exe s:pA17.'lim<Tab> <plug>\lim ' -exe s:pA17.'liminf<Tab> <plug>\liminf ' -exe s:pA17.'limsup<Tab> <plug>\limsup ' -exe s:pA17.'ln<Tab> <plug>\ln ' -exe s:pA17.'log<Tab> <plug>\log ' -exe s:pA17.'max<Tab> <plug>\max ' -exe s:pA17.'min<Tab> <plug>\min ' -exe s:pA17.'Pr<Tab> <plug>\Pr ' -exe s:pA17.'projlim<Tab> <plug>\projlim ' -exe s:pA17.'sec<Tab> <plug>\sec ' -exe s:pA17.'sin<Tab> <plug>\sin ' -exe s:pA17.'sinh<Tab> <plug>\sinh ' -exe s:pA17.'sup<Tab> <plug>\sup ' -exe s:pA17.'tan<Tab> <plug>\tan ' -exe s:pA17.'tanh<Tab> <plug>\tanh ' -exe s:pA17.'varlimsup<Tab> <plug>\varlimsup ' -exe s:pA17.'varliminf<Tab> <plug>\varliminf ' -exe s:pA17.'varinjlim<Tab> <plug>\varinjlim ' -exe s:pA17.'varprojlim<Tab> <plug>\varprojlim ' -" }}} -" {{{ MathSpacing -let s:pA18 = s:pA."MathSpacing." -exe s:pA18.', <plug>\, ' -exe s:pA18.': <plug>\: ' -exe s:pA18.'; <plug>\; ' -exe s:pA18.'[space] <plug>\ ' -exe s:pA18.'quad<Tab> <plug>\quad ' -exe s:pA18.'qquad<Tab> <plug>\qquad ' -exe s:pA18.'! <plug>\! ' -exe s:pA18.'thinspace<Tab> <plug>\thinspace ' -exe s:pA18.'medspace<Tab> <plug>\medspace ' -exe s:pA18.'thickspace<Tab> <plug>\thickspace ' -exe s:pA18.'negthinspace<Tab> <plug>\negthinspace ' -exe s:pA18.'negmedspace<Tab> <plug>\negmedspace ' -exe s:pA18.'negthickspace<Tab> <plug>\negthickspace ' -" 1}}} - -" vim:fdm=marker:ff=unix:noet:ts=4:sw=4:fenc=utf-8 diff --git a/.vim/ftplugin/latex-suite/mathmacros.vim b/.vim/ftplugin/latex-suite/mathmacros.vim deleted file mode 100644 index f160db5..0000000 --- a/.vim/ftplugin/latex-suite/mathmacros.vim +++ /dev/null @@ -1,730 +0,0 @@ -"============================================================================= -" File: mathmacros.vim -" Author: Mikolaj Machowski -" Created: Tue Apr 23 06:00 PM 2002 PST -" -" Description: macros for everything mathematical in latex. -"============================================================================= - -if !(has('gui_running') && g:Tex_MathMenus && g:Tex_Menus) - finish -endif - -let s:MathMenuName = g:Tex_MenuPrefix.'&Math.' - -function! Tex_MathMenuRemove() - exe 'silent! aunmenu '.s:MathMenuName -endfunction - -let s:pA = 'amenu <silent> '.g:Tex_NextMenuLocation.' '.s:MathMenuName -let g:Tex_NextMenuLocation = g:Tex_NextMenuLocation + 1 - -" brackets and dollars {{{ -exe s:pA.'\\&[\ \\] <plug><C-r>=IMAP_PutTextWithMovement("\\[<++>\\]<++>")<cr>' -exe s:pA.'\\&(\ \\) <plug><C-r>=IMAP_PutTextWithMovement("\\(<++>\\)<++>")<cr>' -exe s:pA.'&$\ $ <plug>$$' -exe s:pA.'-sepmath1- :' -" }}} -" MATH arrows {{{ -let s:pA1 = s:pA."&Arrows." -exe s:pA1.'Leftarrow <plug>\leftarrow ' -exe s:pA1.'leftarrow <plug>\leftarrow' -exe s:pA1.'longleftarrow <plug>\longleftarrow ' -exe s:pA1.'Leftarrow <plug>\Leftarrow ' -exe s:pA1.'Longleftarrow <plug>\Longleftarrow ' -exe s:pA1.'rightarrow <plug>\rightarrow ' -exe s:pA1.'longrightarrow <plug>\longrightarrow ' -exe s:pA1.'Rightarrow <plug>\Rightarrow ' -exe s:pA1.'Longrightarrow <plug>\Longrightarrow ' -exe s:pA1.'leftrightarrow <plug>\leftrightarrow ' -exe s:pA1.'longleftrightarrow <plug>\longleftrightarrow ' -exe s:pA1.'Leftrightarrow <plug>\Leftrightarrow ' -exe s:pA1.'Longleftrightarrow <plug>\Longleftrightarrow ' -exe s:pA1.'uparrow <plug>\uparrow ' -exe s:pA1.'Uparrow <plug>\Uparrow ' -exe s:pA1.'downarrow <plug>\downarrow ' -exe s:pA1.'Downarrow <plug>\Downarrow ' -exe s:pA1.'updownarrow <plug>\updownarrow ' -exe s:pA1.'Updownarrow <plug>\Updownarrow ' -exe s:pA1.'nearrow <plug>\nearrow ' -exe s:pA1.'searrow <plug>\searrow ' -exe s:pA1.'swarrow <plug>\swarrow ' -exe s:pA1.'nwarrow <plug>\nwarrow ' -exe s:pA1.'mapsto <plug>\mapsto ' -exe s:pA1.'leadsto <plug>\leadsto ' -exe s:pA1.'longmapsto <plug>\longmapsto ' -exe s:pA1.'hookleftarrow <plug>\hookleftarrow ' -exe s:pA1.'hookrightarrow <plug>\hookrightarrow ' -exe s:pA1.'leftharpoonup <plug>\leftharpoonup ' -exe s:pA1.'leftharpoondown <plug>\leftharpoondown ' -exe s:pA1.'rightharpoonup <plug>\rightharpoonup ' -exe s:pA1.'rightharpoondown <plug>\rightharpoondown ' -exe s:pA1.'rightleftharpoons <plug>\rightleftharpoons ' -exe s:pA1.'overleftarrow <plug>\overleftarrow ' -exe s:pA1.'overrightarrow <plug>\overrightarrow ' -exe s:pA1.'overleftrightarrow <plug>\overleftrightarrow ' -exe s:pA1.'underleftarrow <plug>\underleftarrow ' -exe s:pA1.'underrightarrow <plug>\underrightarrow ' -exe s:pA1.'underleftrightarrow <plug>\underleftrightarrow ' -exe s:pA1.'xleftarrow <plug>\xleftarrow ' -exe s:pA1.'xrightarrow <plug>\xrightarrow ' -" }}} - - -" MATH nArrows {{{ -let s:pA1a = s:pA."&nArrows." -exe s:pA1a.'nleftarrow <plug>\nleftarrow ' -exe s:pA1a.'nLeftarrow <plug>\nLeftarrow ' -exe s:pA1a.'nleftrightarrow <plug>\nleftrightarrow ' -exe s:pA1a.'nrightarrow <plug>\nrightarrow ' -exe s:pA1a.'nRightarrow <plug>\nRightarrow ' -" }}} -" MATH Arrows2 {{{ -let s:pA1a = s:pA."Arrows2." -exe s:pA1a.'dashleftarrow <plug>\dashleftarrow ' -exe s:pA1a.'leftleftarrows <plug>\leftleftarrows ' -exe s:pA1a.'leftrightarrows <plug>\leftrightarrows ' -exe s:pA1a.'Lleftarrow <plug>\Lleftarrow ' -exe s:pA1a.'twoheadleftarrow <plug>\twoheadleftarrow ' -exe s:pA1a.'leftarrowtail <plug>\leftarrowtail ' -exe s:pA1a.'leftrightharpoons <plug>\leftrightharpoons ' -exe s:pA1a.'Lsh <plug>\Lsh ' -exe s:pA1a.'looparrowleft <plug>\looparrowleft ' -exe s:pA1a.'curvearrowleft <plug>\curvearrowleft ' -exe s:pA1a.'circlearrowleft <plug>\circlearrowleft ' -exe s:pA1a.'dashrightarrow <plug>\dashrightarrow ' -exe s:pA1a.'rightrightarrows <plug>\rightrightarrows ' -exe s:pA1a.'rightleftarrows <plug>\rightleftarrows ' -exe s:pA1a.'Rrightarrow <plug>\Rrightarrow ' -exe s:pA1a.'twoheadrightarrow <plug>\twoheadrightarrow ' -exe s:pA1a.'rightarrowtail <plug>\rightarrowtail ' -exe s:pA1a.'rightleftharpoons <plug>\rightleftharpoons ' -exe s:pA1a.'Rsh <plug>\Rsh ' -exe s:pA1a.'looparrowright <plug>\looparrowright ' -exe s:pA1a.'curvearrowright <plug>\curvearrowright ' -exe s:pA1a.'circlearrowright <plug>\circlearrowright ' -exe s:pA1a.'multimap <plug>\multimap ' -exe s:pA1a.'upuparrows <plug>\upuparrows ' -exe s:pA1a.'downdownarrows <plug>\downdownarrows ' -exe s:pA1a.'upharpoonleft <plug>\upharpoonleft ' -exe s:pA1a.'upharpoonright <plug>\upharpoonright ' -exe s:pA1a.'downharpoonleft <plug>\downharpoonleft ' -exe s:pA1a.'downharpoonright <plug>\downharpoonright ' -exe s:pA1a.'rightsquigarrow <plug>\rightsquigarrow ' -exe s:pA1a.'leftrightsquigarrow <plug>\leftrightsquigarrow ' -" }}} -" MATH Fonts {{{ -let s:pA2a = s:pA."&MathFonts." -" exe s:pA2a.'mathbf{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathbf{<++>}<++>")<cr>' -exe s:pA2a.'mathrm{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathrm{<++>}<++>")<cr>' -exe s:pA2a.'mathsf{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathsf{<++>}<++>")<cr>' -exe s:pA2a.'mathtt{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathtt{<++>}<++>")<cr>' -exe s:pA2a.'mathit{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathit{<++>}<++>")<cr>' -exe s:pA2a.'mathfrak{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathfrak{<++>}<++>")<cr>' -exe s:pA2a.'mathcal{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathcal{<++>}<++>")<cr>' -exe s:pA2a.'mathscr{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathscr{<++>}<++>")<cr>' -exe s:pA2a.'mathbb{} <plug><C-r>=IMAP_PutTextWithMovement("\\mathbb{<++>}<++>")<cr>' -" }}} -" Greek Letters small {{{ -let s:pA2 = s:pA."&Greek.&Small." -exe s:pA2.'alpha<Tab>`a <plug>\alpha ' -exe s:pA2.'beta<Tab>`b <plug>\beta ' -exe s:pA2.'gamma<Tab>`g <plug>\gamma ' -exe s:pA2.'delta<Tab>`d <plug>\delta ' -exe s:pA2.'epsilon <plug>\epsilon ' -exe s:pA2.'varepsilon<Tab>`e <plug>\varepsilon ' -exe s:pA2.'zeta<Tab>`z <plug>\zeta ' -exe s:pA2.'eta<Tab>`h <plug>\eta ' -exe s:pA2.'theta<Tab>`q <plug>\theta ' -exe s:pA2.'vartheta <plug>\vartheta ' -exe s:pA2.'iota<Tab>`i <plug>\iota ' -exe s:pA2.'kappa<Tab>`k <plug>\kappa ' -exe s:pA2.'lambda<Tab>`l <plug>\lambda ' -exe s:pA2.'mu<Tab>`m <plug>\mu ' -exe s:pA2.'nu<Tab>`n <plug>\nu ' -exe s:pA2.'xi<Tab>`x <plug>\xi ' -exe s:pA2.'pi<Tab>`p <plug>\pi ' -exe s:pA2.'varpi <plug>\varpi ' -exe s:pA2.'rho<Tab>`r <plug>\rho ' -exe s:pA2.'varrho <plug>\varrho ' -exe s:pA2.'sigma<Tab>`s <plug>\sigma ' -exe s:pA2.'varsigma<Tab>`v <plug>\varsigma ' -exe s:pA2.'tau<Tab>`t <plug>\tau ' -exe s:pA2.'upsilon<Tab>`u <plug>\upsilon ' -exe s:pA2.'phi <plug>\phi ' -exe s:pA2.'varphi<Tab>`f <plug>\varphi ' -exe s:pA2.'chi<Tab>`c <plug>\chi ' -exe s:pA2.'psi<Tab>`y <plug>\psi ' -exe s:pA2.'omega<Tab>`w <plug>\omega ' -" }}} -" Greek Letters big {{{ -let s:pA3 = s:pA.'&Greek.&Big.' -exe s:pA3.'Alpha<Tab>`A <plug>\Alpha ' -exe s:pA3.'Beta<Tab>`B <plug>\Beta ' -exe s:pA3.'Gamma<Tab>`G <plug>\Gamma ' -exe s:pA3.'Delta<Tab>`D <plug>\Delta ' -exe s:pA3.'Epsilon<Tab>`E <plug>\Epsilon ' -exe s:pA3.'Zeta<Tab>`Z <plug>\mathrm{Z} ' -exe s:pA3.'Eta<Tab>`H <plug>\Eta ' -exe s:pA3.'Theta <plug>\Theta ' -exe s:pA3.'Iota <plug>\mathrm{I} ' -exe s:pA3.'Kappa<Tab>`K <plug>\Kappa ' -exe s:pA3.'Lambda<Tab>`L <plug>\Lambda ' -exe s:pA3.'Mu<Tab>`M <plug>\Mu ' -exe s:pA3.'Nu<Tab>`N <plug>\Nu ' -exe s:pA3.'Xi<Tab>`X <plug>\Xi ' -exe s:pA3.'Pi<Tab>`P <plug>\Pi ' -exe s:pA3.'Rho<Tab>`R <plug>\Rho ' -exe s:pA3.'Sigma<Tab>`S <plug>\Sigma ' -exe s:pA3.'Tau<Tab>`T <plug>\Tau ' -exe s:pA3.'Upsilon<Tab>`U <plug>\Upsilon ' -exe s:pA3.'Phi <plug>\Phi ' -exe s:pA3.'Chi<Tab>`C <plug>\Chi ' -exe s:pA3.'Psi<Tab>`Y <plug>\Psi ' -exe s:pA3.'Omega<Tab>`W <plug>\Omega ' -" }}} -" BinaryRel1 {{{ -let s:pA4 = s:pA."&BinaryRel1." -exe s:pA4.'ll <plug>\ll ' -exe s:pA4.'lll <plug>\lll ' -exe s:pA4.'leqslant <plug>\leqslant ' -exe s:pA4.'leq <plug>\leq ' -exe s:pA4.'leqq <plug>\leqq ' -exe s:pA4.'eqslantless <plug>\eqslantless ' -exe s:pA4.'lessdot <plug>\lessdot ' -exe s:pA4.'prec <plug>\prec ' -exe s:pA4.'preceq <plug>\preceq ' -exe s:pA4.'preccurlyeq <plug>\preccurlyeq ' -exe s:pA4.'curlyeqprec <plug>\curlyeqprec ' -exe s:pA4.'lesssim <plug>\lesssim ' -exe s:pA4.'lessapprox <plug>\lessapprox ' -exe s:pA4.'precsim <plug>\precsim ' -exe s:pA4.'precapprox <plug>\precapprox ' -exe s:pA4.'in <plug>\in ' -exe s:pA4.'subset<Tab>`( <plug>\subset ' -exe s:pA4.'Subset<Tab>`) <plug>\Subset ' -exe s:pA4.'subseteq <plug>\subseteq ' -exe s:pA4.'subseteqq <plug>\subseteqq ' -exe s:pA4.'sqsubset <plug>\sqsubset ' -exe s:pA4.'sqsubseteq <plug>\sqsubseteq ' -exe s:pA4.'smile <plug>\smile ' -exe s:pA4.'smallsmile <plug>\smallsmile ' -exe s:pA4.'parallel <plug>\parallel ' -exe s:pA4.'shortparallel <plug>\shortparallel ' -exe s:pA4.'dashv <plug>\dashv ' -exe s:pA4.'vdash <plug>\vdash ' -exe s:pA4.'vDash <plug>\vDash ' -exe s:pA4.'models <plug>\models ' -exe s:pA4.'therefore <plug>\therefore ' -exe s:pA4.'backepsilon <plug>\backepsilon ' -" }}} -" nBinaryRel1 {{{ -let s:pA4a = s:pA."&nBinaryRel1." -exe s:pA4a.'nless <plug>\nless ' -exe s:pA4a.'nleqslant <plug>\nleqslant ' -exe s:pA4a.'nleq <plug>\nleq ' -exe s:pA4a.'lneq <plug>\lneq ' -exe s:pA4a.'nleqq <plug>\nleqq ' -exe s:pA4a.'lneqq <plug>\lneqq ' -exe s:pA4a.'lvertneqq <plug>\lvertneqq ' -exe s:pA4a.'nprec <plug>\nprec ' -exe s:pA4a.'npreceq <plug>\npreceq ' -exe s:pA4a.'precneqq <plug>\precneqq ' -exe s:pA4a.'lnsim <plug>\lnsim ' -exe s:pA4a.'lnapprox <plug>\lnapprox ' -exe s:pA4a.'precnsim <plug>\precnsim ' -exe s:pA4a.'precnapprox <plug>\precnapprox ' -exe s:pA4a.'notin <plug>\notin ' -exe s:pA4a.'nsubseteq <plug>\nsubseteq ' -exe s:pA4a.'varsubsetneq <plug>\varsubsetneq ' -exe s:pA4a.'subsetneq <plug>\subsetneq ' -exe s:pA4a.'nsubseteqq <plug>\nsubseteqq ' -exe s:pA4a.'varsubsetneqq <plug>\varsubsetneqq ' -exe s:pA4a.'subsetneqq <plug>\subsetneqq ' -exe s:pA4a.'nparallel <plug>\nparallel ' -exe s:pA4a.'nshortparallel <plug>\nshortparallel ' -exe s:pA4a.'nvdash <plug>\nvdash ' -exe s:pA4a.'nvDash <plug>\nvDash ' -" }}} -" BinaryRel2 {{{ -let s:pA5 = s:pA."&BinaryRel2." -exe s:pA5.'gg <plug>\gg ' -exe s:pA5.'ggg <plug>\ggg ' -exe s:pA5.'gggtr <plug>\gggtr ' -exe s:pA5.'geqslant <plug>\geqslant ' -exe s:pA5.'geq <plug>\geq ' -exe s:pA5.'geqq <plug>\geqq ' -exe s:pA5.'eqslantgtr <plug>\eqslantgtr ' -exe s:pA5.'gtrdot <plug>\gtrdot ' -exe s:pA5.'succ <plug>\succ ' -exe s:pA5.'succeq <plug>\succeq ' -exe s:pA5.'succcurlyeq <plug>\succcurlyeq ' -exe s:pA5.'curlyeqsucc <plug>\curlyeqsucc ' -exe s:pA5.'gtrsim <plug>\gtrsim ' -exe s:pA5.'gtrapprox <plug>\gtrapprox ' -exe s:pA5.'succsim <plug>\succsim ' -exe s:pA5.'succapprox <plug>\succapprox ' -exe s:pA5.'ni <plug>\ni ' -exe s:pA5.'owns <plug>\owns ' -exe s:pA5.'supset <plug>\supset ' -exe s:pA5.'Supset <plug>\Supset ' -exe s:pA5.'supseteq <plug>\supseteq ' -exe s:pA5.'supseteqq <plug>\supseteqq ' -exe s:pA5.'sqsupset <plug>\sqsupset ' -exe s:pA5.'sqsupseteq <plug>\sqsupseteq ' -exe s:pA5.'frown <plug>\frown ' -exe s:pA5.'smallfrown <plug>\smallfrown ' -exe s:pA5.'mid <plug>\mid ' -exe s:pA5.'shortmid <plug>\shortmid ' -exe s:pA5.'between <plug>\between ' -exe s:pA5.'Vdash <plug>\Vdash ' -exe s:pA5.'bowtie <plug>\bowtie ' -exe s:pA5.'Join <plug>\Join ' -exe s:pA5.'pitchfork <plug>\pitchfork ' -" }}} -" {{{ nBinaryRel2 -let s:pA5a = s:pA."n&BinaryRel2." "TODO: dorobiæ logarytmy -exe s:pA5a.'ngtr <plug>\ngtr ' -exe s:pA5a.'ngeqslant <plug>\ngeqslant ' -exe s:pA5a.'ngeq <plug>\ngeq ' -exe s:pA5a.'gneq <plug>\gneq ' -exe s:pA5a.'ngeqq <plug>\ngeqq ' -exe s:pA5a.'gneqq <plug>\gneqq ' -exe s:pA5a.'nsucc <plug>\nsucc ' -exe s:pA5a.'nsucceq <plug>\nsucceq ' -exe s:pA5a.'succneqq <plug>\succneqq ' -exe s:pA5a.'gnsim <plug>\gnsim ' -exe s:pA5a.'gnapprox <plug>\gnapprox ' -exe s:pA5a.'succnsim <plug>\succnsim ' -exe s:pA5a.'succnapprox <plug>\succnapprox ' -exe s:pA5a.'nsupseteq <plug>\nsupseteq ' -exe s:pA5a.'varsupsetneq <plug>\varsupsetneq ' -exe s:pA5a.'supsetneq <plug>\supsetneq ' -exe s:pA5a.'nsupseteqq <plug>\nsupseteqq ' -exe s:pA5a.'varsupsetneqq <plug>\varsupsetneqq ' -exe s:pA5a.'supsetneqq <plug>\supsetneqq ' -exe s:pA5a.'nmid <plug>\nmid ' -exe s:pA5a.'nshortmid <plug>\nshortmid ' -exe s:pA5a.'nVdash <plug>\nVdash ' -" }}} -" {{{ BinaryRel3 -let s:pA6 = s:pA."&BinaryRel3." -exe s:pA6.'doteq <plug>\doteq ' -exe s:pA6.'circeq <plug>\circeq ' -exe s:pA6.'eqcirc <plug>\eqcirc ' -exe s:pA6.'risingdotseq <plug>\risingdotseq ' -exe s:pA6.'doteqdot <plug>\doteqdot ' -exe s:pA6.'Doteq <plug>\Doteq ' -exe s:pA6.'fallingdotseq <plug>\fallingdotseq ' -exe s:pA6.'triangleq <plug>\triangleq ' -exe s:pA6.'bumpeq <plug>\bumpeq ' -exe s:pA6.'Bumpeq <plug>\Bumpeq ' -exe s:pA6.'equiv<Tab>`= <plug>\equiv ' -exe s:pA6.'sim <plug>\sim ' -exe s:pA6.'thicksim <plug>\thicksim ' -exe s:pA6.'backsim <plug>\backsim ' -exe s:pA6.'simeq <plug>\simeq ' -exe s:pA6.'backsimeq <plug>\backsimeq ' -exe s:pA6.'cong <plug>\cong ' -exe s:pA6.'approx<tab>=~ <plug>\approx ' -exe s:pA6.'thickapprox <plug>\thickapprox ' -exe s:pA6.'approxeq <plug>\approxeq ' -exe s:pA6.'blacktriangleleft <plug>\blacktriangleleft ' -exe s:pA6.'vartriangleleft <plug>\vartriangleleft ' -exe s:pA6.'trianglelefteq <plug>\trianglelefteq ' -exe s:pA6.'blacktriangleright <plug>\blacktriangleright ' -exe s:pA6.'vartriangleright <plug>\vartriangleright ' -exe s:pA6.'trianglerighteq <plug>\trianglerighteq ' -exe s:pA6.'perp <plug>\perp ' -exe s:pA6.'asymp <plug>\asymp ' -exe s:pA6.'Vvdash <plug>\Vvdash ' -exe s:pA6.'propto <plug>\propto ' -exe s:pA6.'varpropto <plug>\varpropto ' -exe s:pA6.'because <plug>\because ' -" }}} -" {{{ nBinaryRel3 -let s:pA6a = s:pA."&nBinaryRel3." -exe s:pA6a.'neq <plug>\neq ' -exe s:pA6a.'nsim <plug>\nsim ' -exe s:pA6a.'ncong <plug>\ncong ' -exe s:pA6a.'ntriangleleft <plug>\ntriangleleft ' -exe s:pA6a.'ntrianglelefteq <plug>\ntrianglelefteq ' -exe s:pA6a.'ntriangleright <plug>\ntriangleright ' -exe s:pA6a.'ntrianglerighteq <plug>\ntrianglerighteq ' -" }}} -" {{{ BinaryRel4 -let s:pA7 = s:pA."&BinaryRel4." -exe s:pA7.'lessgtr <plug>\lessgtr ' -exe s:pA7.'gtrless <plug>\gtrless ' -exe s:pA7.'lesseqgtr <plug>\lesseqgtr ' -exe s:pA7.'gtreqless <plug>\gtreqless ' -exe s:pA7.'lesseqqgtr <plug>\lesseqqgtr ' -exe s:pA7.'gtreqqless <plug>\gtreqqless ' -" }}} -" {{{ BigOp -let s:pA8a = s:pA."&BigOp." -exe s:pA8a.'limits <plug>\limits' -exe s:pA8a.'nolimits <plug>\nolimits' -exe s:pA8a.'displaylimits <plug>\displaylimits' -exe s:pA8a.'-seplimits- :' -exe s:pA8a.'bigcap<Tab>`- <plug>\bigcap' -exe s:pA8a.'bigcup<Tab>`+ <plug>\bigcup' -exe s:pA8a.'bigodot <plug>\bigodot' -exe s:pA8a.'bigoplus <plug>\bigoplus' -exe s:pA8a.'bigotimes <plug>\bigotimes' -exe s:pA8a.'bigsqcup <plug>\bigsqcup' -exe s:pA8a.'biguplus <plug>\biguplus' -exe s:pA8a.'bigvee <plug>\bigvee' -exe s:pA8a.'bigwedge <plug>\bigwedge' -exe s:pA8a.'coprod <plug>\coprod' -exe s:pA8a.'int <plug>\int' -exe s:pA8a.'oint <plug>\oint' -exe s:pA8a.'prod <plug>\prod' -exe s:pA8a.'sum <plug>\sum' -" }}} -" {{{ BinaryOp -let s:pA8 = s:pA."&BinaryOp." -exe s:pA8.'pm <plug>\pm ' -exe s:pA8.'mp <plug>\mp ' -exe s:pA8.'dotplus <plug>\dotplus ' -exe s:pA8.'cdot<Tab>`. <plug>\cdot ' -exe s:pA8.'centerdot <plug>\centerdot ' -exe s:pA8.'times<Tab>`* <plug>\times ' -exe s:pA8.'ltimes <plug>\ltimes ' -exe s:pA8.'rtimes <plug>\rtimes ' -exe s:pA8.'leftthreetimes <plug>\leftthreetimes ' -exe s:pA8.'rightthreetimes <plug>\rightthreetimes ' -exe s:pA8.'div <plug>\div ' -exe s:pA8.'divideontimes <plug>\divideontimes ' -exe s:pA8.'bmod <plug>\bmod ' -exe s:pA8.'ast <plug>\ast ' -exe s:pA8.'star <plug>\star ' -exe s:pA8.'setminus<Tab>`\\ <plug>\setminus ' -exe s:pA8.'smallsetminus <plug>\smallsetminus ' -exe s:pA8.'diamond <plug>\diamond ' -exe s:pA8.'wr <plug>\wr ' -exe s:pA8.'intercal <plug>\intercal ' -exe s:pA8.'circ<Tab>`@ <plug>\circ ' -exe s:pA8.'bigcirc <plug>\bigcirc ' -exe s:pA8.'bullet <plug>\bullet ' -exe s:pA8.'cap <plug>\cap ' -exe s:pA8.'Cap <plug>\Cap ' -exe s:pA8.'cup <plug>\cup ' -exe s:pA8.'Cup <plug>\Cup ' -exe s:pA8.'sqcap <plug>\sqcap ' -exe s:pA8.'sqcup <plug>\sqcup' -exe s:pA8.'amalg <plug>\amalg ' -exe s:pA8.'uplus <plug>\uplus ' -exe s:pA8.'triangleleft <plug>\triangleleft ' -exe s:pA8.'triangleright <plug>\triangleright ' -exe s:pA8.'bigtriangleup <plug>\bigtriangleup ' -exe s:pA8.'bigtriangledown <plug>\bigtriangledown ' -exe s:pA8.'vee <plug>\vee ' -exe s:pA8.'veebar <plug>\veebar ' -exe s:pA8.'curlyvee <plug>\curlyvee ' -exe s:pA8.'wedge<Tab>`& <plug>\wedge ' -exe s:pA8.'barwedge <plug>\barwedge ' -exe s:pA8.'doublebarwedge <plug>\doublebarwedge ' -exe s:pA8.'curlywedge <plug>\curlywedge ' -exe s:pA8.'oplus <plug>\oplus ' -exe s:pA8.'ominus <plug>\ominus ' -exe s:pA8.'otimes <plug>\otimes ' -exe s:pA8.'oslash <plug>\oslash ' -exe s:pA8.'boxplus <plug>\boxplus ' -exe s:pA8.'boxminus <plug>\boxminus ' -exe s:pA8.'boxtimes <plug>\boxtimes ' -exe s:pA8.'boxdot <plug>\boxdot ' -exe s:pA8.'odot <plug>\odot ' -exe s:pA8.'circledast <plug>\circledast ' -exe s:pA8.'circleddash <plug>\circleddash ' -exe s:pA8.'circledcirc <plug>\circledcirc ' -exe s:pA8.'dagger <plug>\dagger ' -exe s:pA8.'ddagger <plug>\ddagger ' -exe s:pA8.'lhd <plug>\lhd ' -exe s:pA8.'unlhd <plug>\unlhd ' -exe s:pA8.'rhd <plug>\rhd ' -exe s:pA8.'unrhd <plug>\unrhd ' -" }}} -" {{{ Other1 -let s:pA9 = s:pA."&Other1." -exe s:pA9.'hat <plug>\hat ' -exe s:pA9.'check <plug>\check ' -exe s:pA9.'grave <plug>\grave ' -exe s:pA9.'acute <plug>\acute ' -exe s:pA9.'dot <plug>\dot ' -exe s:pA9.'ddot <plug>\ddot ' -exe s:pA9.'tilde<Tab>`, <plug>\tilde ' -exe s:pA9.'breve <plug>\breve ' -exe s:pA9.'bar <plug>\bar ' -exe s:pA9.'vec <plug>\vec ' -exe s:pA9.'aleph <plug>\aleph ' -exe s:pA9.'hbar <plug>\hbar ' -exe s:pA9.'imath <plug>\imath ' -exe s:pA9.'jmath <plug>\jmath ' -exe s:pA9.'ell <plug>\ell ' -exe s:pA9.'wp <plug>\wp ' -exe s:pA9.'Re <plug>\Re ' -exe s:pA9.'Im <plug>\Im ' -exe s:pA9.'partial <plug>\partial ' -exe s:pA9.'infty<Tab>`8 <plug>\infty ' -exe s:pA9.'prime <plug>\prime ' -exe s:pA9.'emptyset <plug>\emptyset ' -exe s:pA9.'nabla <plug>\nabla ' -exe s:pA9.'surd <plug>\surd ' -exe s:pA9.'top <plug>\top ' -exe s:pA9.'bot <plug>\bot ' -exe s:pA9.'angle <plug>\angle ' -exe s:pA9.'triangle <plug>\triangle ' -exe s:pA9.'backslash <plug>\backslash ' -exe s:pA9.'forall <plug>\forall ' -exe s:pA9.'exists <plug>\exists ' -exe s:pA9.'neg <plug>\neg ' -exe s:pA9.'flat <plug>\flat ' -exe s:pA9.'natural <plug>\natural ' -exe s:pA9.'sharp <plug>\sharp ' -exe s:pA9.'clubsuit <plug>\clubsuit ' -exe s:pA9.'diamondsuit <plug>\diamondsuit ' -exe s:pA9.'heartsuit <plug>\heartsuit ' -exe s:pA9.'spadesuit <plug>\spadesuit ' -exe s:pA9.'S <plug>\S ' -exe s:pA9.'P <plug>\P' -" }}} -" {{{ MathCreating -let s:pA10 = s:pA."&MathCreating." -exe s:pA10.'not <plug>\not' -exe s:pA10.'mkern <plug>\mkern' -exe s:pA10.'mathbin <plug>\mathbin' -exe s:pA10.'mathrel <plug>\mathrel' -exe s:pA10.'stackrel <plug>\stackrel' -exe s:pA10.'mathord <plug>\mathord' -" }}} -" {{{ Styles -let s:pA11 = s:pA."&Styles." -exe s:pA11.'displaystyle <plug>\displaystyle' -exe s:pA11.'textstyle <plug>\textstyle' -exe s:pA11.'scritpstyle <plug>\scritpstyle' -exe s:pA11.'scriptscriptstyle <plug>\scriptscriptstyle' -" }}} -" {{{ MathDiacritics -let s:pA12 = s:pA."&MathDiacritics." -exe s:pA12.'acute{} <plug><C-r>=IMAP_PutTextWithMovement("\\acute{<++>}<++>")<cr>' -exe s:pA12.'bar{}<Tab>`_ <plug><C-r>=IMAP_PutTextWithMovement("\\bar{<++>}<++>")<cr>' -exe s:pA12.'breve{} <plug><C-r>=IMAP_PutTextWithMovement("\\breve{<++>}<++>")<cr>' -exe s:pA12.'check{} <plug><C-r>=IMAP_PutTextWithMovement("\\check{<++>}<++>")<cr>' -exe s:pA12.'ddot{}<Tab>`: <plug><C-r>=IMAP_PutTextWithMovement("\\ddot{<++>}<++>")<cr>' -exe s:pA12.'dot{}<Tab>`; <plug><C-r>=IMAP_PutTextWithMovement("\\dot{<++>}<++>")<cr>' -exe s:pA12.'grave{} <plug><C-r>=IMAP_PutTextWithMovement("\\grave{<++>}<++>")<cr>' -exe s:pA12.'hat{}<Tab>`^ <plug><C-r>=IMAP_PutTextWithMovement("\\hat{<++>}<++>")<cr>' -exe s:pA12.'tilde{}<tab>`~ <plug><C-r>=IMAP_PutTextWithMovement("\\tilde{<++>}<++>")<cr>' -exe s:pA12.'vec{} <plug><C-r>=IMAP_PutTextWithMovement("\\vec{<++>}<++>")<cr>' -exe s:pA12.'widehat{} <plug><C-r>=IMAP_PutTextWithMovement("\\widehat{<++>}<++>")<cr>' -exe s:pA12.'widetilde{} <plug><C-r>=IMAP_PutTextWithMovement("\\widetilde{<++>}<++>")<cr>' -exe s:pA12.'imath <plug><C-r>=IMAP_PutTextWithMovement("\\imath")<cr>' -exe s:pA12.'jmath <plug><C-r>=IMAP_PutTextWithMovement("\\jmath")<cr>' -" }}} -" {{{ OverlineAndCo -let s:pA13 = s:pA."&OverlineAndCo." -exe s:pA13.'overline{} <plug><C-r>=IMAP_PutTextWithMovement("\\overline{}")<cr>' -exe s:pA13.'underline{} <plug><C-r>=IMAP_PutTextWithMovement("\\underline{}")<cr>' -exe s:pA13.'overrightarrow{} <plug><C-r>=IMAP_PutTextWithMovement("\\overrightarrow{}")<cr>' -exe s:pA13.'overleftarrow{} <plug><C-r>=IMAP_PutTextWithMovement("\\overleftarrow{}")<cr>' -exe s:pA13.'overbrace{} <plug><C-r>=IMAP_PutTextWithMovement("\\overbrace{}")<cr>' -exe s:pA13.'underbrace{} <plug><C-r>=IMAP_PutTextWithMovement("\\underbrace{}")<cr>' -" }}} -" {{{ Symbols1 -let s:pA14a = s:pA."&Symbols1." -exe s:pA14a.'forall <plug>\forall ' -exe s:pA14a.'exists <plug>\exists ' -exe s:pA14a.'nexists <plug>\nexists ' -exe s:pA14a.'neg <plug>\neg ' -exe s:pA14a.'top <plug>\top ' -exe s:pA14a.'bot <plug>\bot ' -exe s:pA14a.'emptyset <plug>\emptyset ' -exe s:pA14a.'varnothing <plug>\varnothing ' -exe s:pA14a.'infty <plug>\infty ' -exe s:pA14a.'aleph <plug>\aleph ' -exe s:pA14a.'beth <plug>\beth ' -exe s:pA14a.'gimel <plug>\gimel ' -exe s:pA14a.'daleth <plug>\daleth ' -exe s:pA14a.'hbar <plug>\hbar ' -exe s:pA14a.'hslash <plug>\hslash ' -exe s:pA14a.'diagup <plug>\diagup ' -exe s:pA14a.'vert <plug>\vert ' -exe s:pA14a.'Vert <plug>\Vert ' -exe s:pA14a.'backslash <plug>\backslash ' -exe s:pA14a.'diagdown <plug>\diagdown ' -exe s:pA14a.'Bbbk <plug>\Bbbk ' -exe s:pA14a.'P <plug>\P ' -exe s:pA14a.'S <plug>\S ' -" }}} -" {{{ Symbols2 -let s:pA14b = s:pA."&Symbols2." -exe s:pA14b.'# <plug>\# ' -exe s:pA14b.'% <plug>\% ' -exe s:pA14b.'_ <plug>\_ ' -exe s:pA14b.'$ <plug>\$ ' -exe s:pA14b.'& <plug>\& ' -exe s:pA14b.'imath <plug>\imath ' -exe s:pA14b.'jmath <plug>\jmath ' -exe s:pA14b.'ell <plug>\ell ' -exe s:pA14b.'wp <plug>\wp ' -exe s:pA14b.'Re <plug>\Re ' -exe s:pA14b.'Im <plug>\Im ' -exe s:pA14b.'prime <plug>\prime ' -exe s:pA14b.'backprime <plug>\backprime ' -exe s:pA14b.'nabla <plug>\nabla ' -exe s:pA14b.'surd <plug>\surd ' -exe s:pA14b.'flat <plug>\flat ' -exe s:pA14b.'sharp <plug>\sharp ' -exe s:pA14b.'natural <plug>\natural ' -exe s:pA14b.'eth <plug>\eth ' -exe s:pA14b.'bigstar <plug>\bigstar ' -exe s:pA14b.'circledS <plug>\circledS ' -exe s:pA14b.'Finv <plug>\Finv ' -exe s:pA14b.'dag <plug>\dag ' -exe s:pA14b.'ddag <plug>\ddag ' -" }}} -" {{{ Symbols3 -let s:pA14c = s:pA."&Symbols3." -exe s:pA14c.'angle <plug>\angle ' -exe s:pA14c.'measuredangle <plug>\measuredangle ' -exe s:pA14c.'sphericalangle <plug>\sphericalangle ' -exe s:pA14c.'spadesuit <plug>\spadesuit ' -exe s:pA14c.'heartsuit <plug>\heartsuit ' -exe s:pA14c.'diamondsuit <plug>\diamondsuit ' -exe s:pA14c.'clubsuit <plug>\clubsuit ' -exe s:pA14c.'lozenge <plug>\lozenge ' -exe s:pA14c.'blacklozenge <plug>\blacklozenge ' -exe s:pA14c.'Diamond <plug>\Diamond ' -exe s:pA14c.'triangle <plug>\triangle ' -exe s:pA14c.'vartriangle <plug>\vartriangle ' -exe s:pA14c.'blacktriangle <plug>\blacktriangle ' -exe s:pA14c.'triangledown <plug>\triangledown ' -exe s:pA14c.'blacktriangledown <plug>\blacktriangledown ' -exe s:pA14c.'Box <plug>\Box ' -exe s:pA14c.'square <plug>\square ' -exe s:pA14c.'blacksquare <plug>\blacksquare ' -exe s:pA14c.'complement <plug>\complement ' -exe s:pA14c.'mho <plug>\mho ' -exe s:pA14c.'Game <plug>\Game ' -exe s:pA14c.'partial<Tab>`6 <plug>\partial ' -exe s:pA14c.'smallint <plug>\smallint ' -" }}} -" {{{ Logic -let s:pA15 = s:pA."&Logic." -exe s:pA15.'lnot <plug>\lnot ' -exe s:pA15.'lor <plug>\lor ' -exe s:pA15.'land <plug>\land ' -" }}} -" {{{ Limits1 -let s:pA16 = s:pA."&Limits1." -exe s:pA16.'left <plug>\left' -exe s:pA16.'right <plug>\right' -exe s:pA16.'-sepbigl- :' -exe s:pA16.'bigl <plug>\bigl' -exe s:pA16.'Bigl <plug>\Bigl' -exe s:pA16.'biggl <plug>\biggl' -exe s:pA16.'Biggl <plug>\Biggl' -exe s:pA16.'-sepbigr- :' -exe s:pA16.'bigr <plug>\bigr' -exe s:pA16.'Bigr <plug>\Bigr' -exe s:pA16.'biggr <plug>\biggr' -exe s:pA16.'Biggr <plug>\Biggr' -exe s:pA16.'-sepbig- :' -exe s:pA16.'big <plug>\big' -exe s:pA16.'bigm <plug>\bigm' -exe s:pA16.'-sepfloor- :' -exe s:pA16.'lfloor <plug>\lfloor ' -exe s:pA16.'lceil <plug>\lceil ' -exe s:pA16.'rfloor <plug>\rfloor ' -exe s:pA16.'rceil <plug>\rceil ' -exe s:pA16.'-sepangle- :' -exe s:pA16.'langle <plug>\langle ' -exe s:pA16.'rangle <plug>\rangle ' -" }}} -" {{{ Limits2 -let s:pA16a = s:pA."&Limits2." -exe s:pA16a.'ulcorner <plug>\ulcorner ' -exe s:pA16a.'urcorner <plug>\urcorner ' -exe s:pA16a.'llcorner <plug>\llcorner ' -exe s:pA16a.'rlcorner <plug>\rlcorner ' -exe s:pA16a.'-sepcorner- :' -exe s:pA16a.'vert <plug>\vert ' -exe s:pA16a.'Vert <plug>\Vert ' -exe s:pA16a.'lvert <plug>\lvert ' -exe s:pA16a.'lVert <plug>\lVert ' -exe s:pA16a.'rvert <plug>\rvert ' -exe s:pA16a.'rVert <plug>\rVert ' -exe s:pA16a.'uparrow <plug>\uparrow ' -exe s:pA16a.'Uparrow <plug>\Uparrow ' -exe s:pA16a.'downarrow <plug>\downarrow ' -exe s:pA16a.'Downarrow <plug>\Downarrow ' -exe s:pA16a.'updownarrow <plug>\updownarrow ' -exe s:pA16a.'Updownarrow <plug>\Updownarrow ' -exe s:pA16a.'lgroup <plug>\lgroup ' -exe s:pA16a.'rgroup <plug>\rgroup ' -exe s:pA16a.'lmoustache <plug>\lmoustache ' -exe s:pA16a.'rmoustache <plug>\rmoustache ' -exe s:pA16a.'arrowvert <plug>\arrowvert ' -exe s:pA16a.'Arrowvert <plug>\Arrowvert ' -exe s:pA16a.'bracevert <plug>\bracevert ' -" }}} -" {{{ Log-likes -let s:pA17 = s:pA."Lo&g-likes." -exe s:pA17.'arccos <plug>\arccos ' -exe s:pA17.'arcsin <plug>\arcsin ' -exe s:pA17.'arctan <plug>\arctan ' -exe s:pA17.'arg <plug>\arg ' -exe s:pA17.'cos <plug>\cos ' -exe s:pA17.'cosh <plug>\cosh ' -exe s:pA17.'cot <plug>\cot ' -exe s:pA17.'coth <plug>\coth ' -exe s:pA17.'csc <plug>\csc ' -exe s:pA17.'deg <plug>\deg ' -exe s:pA17.'det <plug>\det ' -exe s:pA17.'dim <plug>\dim ' -exe s:pA17.'exp <plug>\exp ' -exe s:pA17.'gcd <plug>\gcd ' -exe s:pA17.'hom <plug>\hom ' -exe s:pA17.'inf <plug>\inf ' -exe s:pA17.'injlim <plug>\injlim ' -exe s:pA17.'ker <plug>\ker ' -exe s:pA17.'lg <plug>\lg ' -exe s:pA17.'lim <plug>\lim ' -exe s:pA17.'liminf <plug>\liminf ' -exe s:pA17.'limsup <plug>\limsup ' -exe s:pA17.'ln <plug>\ln ' -exe s:pA17.'log <plug>\log ' -exe s:pA17.'max <plug>\max ' -exe s:pA17.'min <plug>\min ' -exe s:pA17.'Pr <plug>\Pr ' -exe s:pA17.'projlim <plug>\projlim ' -exe s:pA17.'sec <plug>\sec ' -exe s:pA17.'sin <plug>\sin ' -exe s:pA17.'sinh <plug>\sinh ' -exe s:pA17.'sup <plug>\sup ' -exe s:pA17.'tan <plug>\tan ' -exe s:pA17.'tanh <plug>\tanh ' -exe s:pA17.'varlimsup <plug>\varlimsup ' -exe s:pA17.'varliminf <plug>\varliminf ' -exe s:pA17.'varinjlim <plug>\varinjlim ' -exe s:pA17.'varprojlim <plug>\varprojlim ' -" }}} -" {{{ MathSpacing -let s:pA18 = s:pA."MathSpacing." -exe s:pA18.', <plug>\, ' -exe s:pA18.': <plug>\: ' -exe s:pA18.'; <plug>\; ' -exe s:pA18.'[space] <plug>\ ' -exe s:pA18.'quad <plug>\quad ' -exe s:pA18.'qquad <plug>\qquad ' -exe s:pA18.'! <plug>\! ' -exe s:pA18.'thinspace <plug>\thinspace ' -exe s:pA18.'medspace <plug>\medspace ' -exe s:pA18.'thickspace <plug>\thickspace ' -exe s:pA18.'negthinspace <plug>\negthinspace ' -exe s:pA18.'negmedspace <plug>\negmedspace ' -exe s:pA18.'negthickspace <plug>\negthickspace ' -" 1}}} - -" vim:fdm=marker:ff=unix:noet:ts=4:sw=4 diff --git a/.vim/ftplugin/latex-suite/multicompile.vim b/.vim/ftplugin/latex-suite/multicompile.vim deleted file mode 100644 index f5598cc..0000000 --- a/.vim/ftplugin/latex-suite/multicompile.vim +++ /dev/null @@ -1,17 +0,0 @@ -" ============================================================================ -" File: multicompile.vim -" Author: Srinath Avadhanula -" Created: Sat Jul 05 03:00 PM 2003 -" Description: compile a .tex file multiple times to get cross references -" right. -" License: Vim Charityware License -" Part of vim-latexSuite: http://vim-latex.sourceforge.net -" CVS: $Id: multicompile.vim 997 2006-03-20 09:45:45Z srinathava $ -" ============================================================================ - -" The contents of this file have been moved to compiler.vim, the file which -" contains all functions relevant to compiling and viewing. -" This file is kept empty on purpose so that it will over-write previous -" versions of multicompile.vim, therby preventing conflicts. - -" vim:fdm=marker:nowrap:noet:ff=unix:ts=4:sw=4 diff --git a/.vim/ftplugin/latex-suite/outline.py b/.vim/ftplugin/latex-suite/outline.py deleted file mode 100644 index 7bb6896..0000000 --- a/.vim/ftplugin/latex-suite/outline.py +++ /dev/null @@ -1,186 +0,0 @@ -#!/usr/bin/python - -# Part of Latex-Suite -# -# Copyright: Srinath Avadhanula -# Description: -# This file implements a simple outline creation for latex documents. - -import re -import os -import sys -import StringIO - -# getFileContents {{{ -def getFileContents(argin, ext=''): - if type(argin) is str: - fname = argin + ext - else: - fname = argin.group(3) + ext - - # This longish thing is to make sure that all files are converted into - # \n seperated lines. - contents = '\n'.join(open(fname).read().splitlines()) - - # TODO what are all the ways in which a tex file can include another? - pat = re.compile(r'^\\(@?)(include|input){(.*?)}', re.M) - contents = re.sub(pat, lambda input: getFileContents(input, ext), contents) - - return ('%%==== FILENAME: %s' % fname) + '\n' + contents - -# }}} -# stripComments {{{ -def stripComments(contents): - # remove all comments except those of the form - # %%==== FILENAME: <filename.tex> - uncomm = [re.sub('%(?!==== FILENAME: ).*', '', line) for line in contents.splitlines()] - # also remove all only-whitespace lines. - nonempty = [line for line in uncomm if line.strip()] - - return nonempty -# }}} -# addFileNameAndNumber {{{ -def addFileNameAndNumber(lines): - filename = '' - retval = '' - for line in lines: - if re.match('%==== FILENAME: ', line): - filename = line.split('%==== FILENAME: ')[1] - else: - retval += '<%s>%s\n' % (filename, line) - - return retval -# }}} -# getSectionLabels_Root {{{ -def getSectionLabels_Root(lineinfo, section_prefix, label_prefix): - prev_txt = '' - inside_env = 0 - prev_env = '' - outstr = StringIO.StringIO('') - pres_depth = len(section_prefix) - - #print '+getSectionLabels_Root: lineinfo = [%s]' % lineinfo - for line in lineinfo.splitlines(): - if not line: - continue - - # throw away leading white-space - m = re.search('<(.*?)>(.*)', line) - - fname = m.group(1) - line = m.group(2).lstrip() - - # we found a label! - m = re.search(r'\\label{(%s.*?)}' % label_prefix, line) - if m: - # add the current line (except the \label command) to the text - # which will be displayed below this label - prev_txt += re.search(r'(^.*?)\\label{', line).group(1) - - # for the figure environment however, just display the caption. - # instead of everything since the \begin command. - if prev_env == 'figure': - cm = re.search(r'\caption(\[.*?\]\s*)?{(.*?)}', prev_txt) - if cm: - prev_txt = cm.group(2) - - # print a nice formatted text entry like so - # - # > eqn:label - # : e^{i\pi} + 1 = 0 - # - # Use the current "section depth" for the leading indentation. - print >>outstr, '>%s%s\t\t<%s>' % (' '*(2*pres_depth+2), - m.group(1), fname) - print >>outstr, ':%s%s' % (' '*(2*pres_depth+4), prev_txt) - prev_txt = '' - - # If we just encoutered the start or end of an environment or a - # label, then do not remember this line. - # NOTE: This assumes that there is no equation text on the same - # line as the \begin or \end command. The text on the same line as - # the \label was already handled. - if re.search(r'\\begin{(equation|eqnarray|align|figure)', line): - prev_txt = '' - prev_env = re.search(r'\\begin{(.*?)}', line).group(1) - inside_env = 1 - - elif re.search(r'\\label', line): - prev_txt = '' - - elif re.search(r'\\end{(equation|eqnarray|align|figure)', line): - inside_env = 0 - prev_env = '' - - else: - # If we are inside an environment, then the text displayed with - # the label is the complete text within the environment, - # otherwise its just the previous line. - if inside_env: - prev_txt += line - else: - prev_txt = line - - return outstr.getvalue() - -# }}} -# getSectionLabels {{{ -def getSectionLabels(lineinfo, - sectypes=['chapter', 'section', 'subsection', 'subsubsection'], - section_prefix='', label_prefix=''): - - if not sectypes: - return getSectionLabels_Root(lineinfo, section_prefix, label_prefix) - - ##print 'sectypes[0] = %s, section_prefix = [%s], lineinfo = [%s]' % ( - ## sectypes[0], section_prefix, lineinfo) - - sections = re.split(r'(<.*?>\\%s{.*})' % sectypes[0], lineinfo) - - # there will 1+2n sections, the first containing the "preamble" and the - # others containing the child sections as paris of [section_name, - # section_text] - - rettext = getSectionLabels(sections[0], sectypes[1:], section_prefix, label_prefix) - - for i in range(1,len(sections),2): - sec_num = (i+1)/2 - section_name = re.search(r'\\%s{(.*?)}' % sectypes[0], sections[i]).group(1) - section_label_text = getSectionLabels(sections[i] + sections[i+1], sectypes[1:], - section_prefix+('%d.' % sec_num), label_prefix) - - if section_label_text: - sec_heading = 2*' '*len(section_prefix) + section_prefix - sec_heading += '%d. %s' % (sec_num, section_name) - sec_heading += '<<<%d\n' % (len(section_prefix)/2+1) - - rettext += sec_heading + section_label_text - - return rettext - -# }}} - -# main {{{ -def main(fname, label_prefix): - [head, tail] = os.path.split(fname) - if head: - os.chdir(head) - - [root, ext] = os.path.splitext(tail) - contents = getFileContents(root, ext) - nonempty = stripComments(contents) - lineinfo = addFileNameAndNumber(nonempty) - - return getSectionLabels(lineinfo, label_prefix=label_prefix) -# }}} - -if __name__ == "__main__": - if len(sys.argv) > 2: - prefix = sys.argv[2] - else: - prefix = '' - - print main(sys.argv[1], prefix) - - -# vim: fdm=marker diff --git a/.vim/ftplugin/latex-suite/outline.pyc b/.vim/ftplugin/latex-suite/outline.pyc Binary files differdeleted file mode 100644 index 8049cdc..0000000 --- a/.vim/ftplugin/latex-suite/outline.pyc +++ /dev/null diff --git a/.vim/ftplugin/latex-suite/packages.vim b/.vim/ftplugin/latex-suite/packages.vim deleted file mode 100644 index c3bf2b1..0000000 --- a/.vim/ftplugin/latex-suite/packages.vim +++ /dev/null @@ -1,669 +0,0 @@ -"============================================================================= -" File: packages.vim -" Author: Mikolaj Machowski -" Created: Tue Apr 23 06:00 PM 2002 PST -" CVS: $Id: packages.vim 997 2006-03-20 09:45:45Z srinathava $ -" -" Description: handling packages from within vim -"============================================================================= - -" avoid reinclusion. -if !g:Tex_PackagesMenu || exists('s:doneOnce') - finish -endif -let s:doneOnce = 1 - -let s:path = expand("<sfile>:p:h") - -let s:menu_div = 20 - -com! -nargs=0 TPackageUpdate :silent! call Tex_pack_updateall(1) -com! -nargs=0 TPackageUpdateAll :silent! call Tex_pack_updateall(1) - -" Custom command-line completion of Tcommands is very useful but this feature -" is available only in Vim 6.2 and above. Check number of version and choose -" proper command and function. -if v:version >= 602 - com! -complete=custom,Tex_CompletePackageName -nargs=* TPackage let s:retVal = Tex_pack_one(<f-args>) <bar> normal! i<C-r>=s:retVal<CR> - - " Tex_CompletePackageName: for completing names in TPackage command {{{ - " Description: get list of package names with globpath(), remove full path - " and return list of names separated with newlines. - " - function! Tex_CompletePackageName(A,P,L) - " Get name of packages from all runtimepath directories - let packnames = Tex_FindInRtp('', 'packages') - let packnames = substitute(packnames, '^,', '', 'e') - " Separate names with \n not , - let packnames = substitute(packnames,',','\n','g') - return packnames - endfunction - " }}} - -else - com! -nargs=* TPackage let s:retVal = Tex_pack_one(<f-args>) <bar> normal! i<C-r>=s:retVal<CR> - -endif - -imap <silent> <plug> <Nop> -nmap <silent> <plug> i - -let g:Tex_package_supported = '' -let g:Tex_package_detected = '' -" Remember the defaults because we want g:Tex_PromptedEnvironments to contain -" in addition to the default, \newenvironments, and the \newenvironments might -" change... -let g:Tex_PromptedEnvironmentsDefault = g:Tex_PromptedEnvironments -let g:Tex_PromptedCommandsDefault = g:Tex_PromptedCommands - - -" Tex_pack_check: creates the package menu and adds to 'dict' setting. {{{ -" -function! Tex_pack_check(package) - " Use Tex_FindInRtp() function to get first name from packages list in all - " rtp directories conforming with latex-suite directories hierarchy - " Store names in variables to process functions only once. - let packname = Tex_FindInRtp(a:package, 'packages') - if packname != '' - exe 'runtime! ftplugin/latex-suite/packages/' . a:package - if has("gui_running") - call Tex_pack(a:package) - endif - if g:Tex_package_supported !~ a:package - let g:Tex_package_supported = g:Tex_package_supported.','.a:package - endif - endif - " Return full list of dictionaries (separated with ,) for package in &rtp - call Tex_Debug("Tex_pack_check: searching for ".a:package." in dictionaries/ in &rtp", "pack") - let dictname = Tex_FindInRtp(a:package, 'dictionaries', ':p') - if dictname != '' - exe 'setlocal dict^=' . dictname - call Tex_Debug('Tex_pack_check: setlocal dict^=' . dictname, 'pack') - if g:Tex_package_supported !~ a:package - let g:Tex_package_supported = g:Tex_package_supported.','.a:package - endif - endif - if g:Tex_package_detected !~ '\<'.a:package.'\>' - let g:Tex_package_detected = g:Tex_package_detected.','.a:package - endif - let g:Tex_package_detected = substitute(g:Tex_package_detected, '^,', '', '') - let g:Tex_package_supported = substitute(g:Tex_package_supported, '^,', '', '') -endfunction - -" }}} -" Tex_pack_uncheck: removes package from menu and 'dict' settings. {{{ -function! Tex_pack_uncheck(package) - if has("gui_running") && Tex_FindInRtp(a:package, 'packages') != '' - exe 'silent! aunmenu '.g:Tex_PackagesMenuLocation.'-sep'.a:package.'-' - exe 'silent! aunmenu '.g:Tex_PackagesMenuLocation.a:package.'\ Options' - exe 'silent! aunmenu '.g:Tex_PackagesMenuLocation.a:package.'\ Commands' - endif - if Tex_FindInRtp(a:package, 'dictionaries') != '' - exe 'setlocal dict-='.Tex_FindInRtp(a:package, 'dictionaries') - endif -endfunction - -" }}} -" Tex_pack_updateall: updates the TeX-Packages menu {{{ -" Description: -" This function first calls Tex_pack_all to scan for \usepackage's etc if -" necessary. After that, it 'supports' and 'unsupports' packages as needed -" in such a way as to not repeat work. -function! Tex_pack_updateall(force) - call Tex_Debug('+Tex_pack_updateall', 'pack') - - " Find out which file we need to scan. - let fname = Tex_GetMainFileName(':p') - - " If this is the same as last time, don't repeat. - if !a:force && exists('s:lastScannedFile') && - \ s:lastScannedFile == fname - return - endif - " Remember which file we scanned for next time. - let s:lastScannedFile = fname - - " Remember which packages we detected last time. - if exists('g:Tex_package_detected') - let oldpackages = g:Tex_package_detected - else - let oldpackages = '' - endif - - " This sets up a global variable of all detected packages. - let g:Tex_package_detected = '' - " reset the environments and commands. - let g:Tex_PromptedEnvironments = g:Tex_PromptedEnvironmentsDefault - let g:Tex_PromptedCommands = g:Tex_PromptedCommandsDefault - - if expand('%:p') != fname - call Tex_Debug(':Tex_pack_updateall: sview '.Tex_EscapeSpaces(fname), 'pack') - exe 'sview '.Tex_EscapeSpaces(fname) - else - call Tex_Debug(':Tex_pack_updateall: split', 'pack') - split - endif - - call Tex_ScanForPackages() - q - - call Tex_Debug(':Tex_pack_updateall: detected ['.g:Tex_package_detected.'] in first run', 'pack') - - " Now for each package find out if this is a custom package and if so, - " scan that as well. We will use the ':find' command in vim to let vim - " search through the file paths for us. - " - " NOTE: This while loop will also take into account packages included - " within packages to any level of recursion as long as - " g:Tex_package_detected is always padded with new package names - " from the end. - " - " First set the &path setting to the user's TEXINPUTS setting. - let _path = &path - let _suffixesadd = &suffixesadd - - let &path = '.,'.g:Tex_TEXINPUTS - let &suffixesadd = '.sty,.tex' - - let scannedPackages = '' - - let i = 1 - let packname = Tex_Strntok(g:Tex_package_detected, ',', i) - while packname != '' - - call Tex_Debug(':Tex_pack_updateall: scanning package '.packname, 'pack') - - " Scan this package only if we have not scanned it before in this - " run. - if scannedPackages =~ '\<'.packname.'\>' - let i = i + 1 - - call Tex_Debug(':Tex_pack_updateall: '.packname.' already scanned', 'pack') - let packname = Tex_Strntok(g:Tex_package_detected, ',', i) - continue - endif - - " Split this window in two. The packages/files being found will open - " in this new window and we also need not bother with files being - " modified etc. - split - - call Tex_Debug(':Tex_pack_updateall: silent! find '.Tex_EscapeSpaces(packname).'.sty', 'pack') - let thisbufnum = bufnr('%') - exec 'silent! find '.Tex_EscapeSpaces(packname).'.sty' - call Tex_Debug(':Tex_pack_updateall: present file = '.bufname('%'), 'pack') - - " If this file was not found, assume that it means its not a - " custom package and mark it "scanned". - " A package is not found if we stay in the same buffer as before and - " its not the one where we want to go. - if bufnr('%') == thisbufnum && bufnr('%') != bufnr(packname.'.sty') - let scannedPackages = scannedPackages.','.packname - q - - call Tex_Debug(':Tex_pack_updateall: '.packname.' not found anywhere', 'pack') - let i = i + 1 - let packname = Tex_Strntok(g:Tex_package_detected, ',', i) - continue - endif - - " otherwise we are presently editing a custom package, scan it for - " more \usepackage lines from the first line to the last. - let packpath = expand('%:p') - let &complete = &complete.'s'.packpath - - call Tex_Debug(':Tex_pack_updateall: found custom package '.packpath, 'pack') - call Tex_ScanForPackages(line('$'), line('$')) - call Tex_Debug(':Tex_pack_updateall: After scanning, g:Tex_package_detected = '.g:Tex_package_detected, 'pack') - - let scannedPackages = scannedPackages.','.packname - " Do not use bwipe, but that leads to excessive buffer number - " consumption. Besides, its intuitive for a custom package to remain - " on the buffer list. - q - - let i = i + 1 - let packname = Tex_Strntok(g:Tex_package_detected, ',', i) - endwhile - - let &path = _path - let &suffixesadd = _suffixesadd - - " Now only support packages we didn't last time. - " First remove packages which were used last time but are no longer used. - let i = 1 - let oldPackName = Tex_Strntok(oldpackages, ',', i) - while oldPackName != '' - if g:Tex_package_detected !~ oldPackName - call Tex_pack_uncheck(oldPackName) - endif - let i = i + 1 - let oldPackName = Tex_Strntok(oldpackages, ',', i) - endwhile - - " Then support packages which are used this time but weren't used last - " time. - let i = 1 - let newPackName = Tex_Strntok(g:Tex_package_detected, ',', i) - while newPackName != '' - if oldpackages !~ newPackName - call Tex_pack_one(newPackName) - endif - let i = i + 1 - let newPackName = Tex_Strntok(g:Tex_package_detected, ',', i) - endwhile - - " Throw an event that we are done scanning packages. Some packages might - " use this to change behavior based on which options have been used etc. - call Tex_Debug(":Tex_pack_updateall: throwing LatexSuiteScannedPackages event", "pack") - silent! do LatexSuite User LatexSuiteScannedPackages - - call Tex_Debug("-Tex_pack_updateall", "pack") -endfunction - -" }}} -" Tex_pack_one: supports each package in the argument list.{{{ -" Description: -" If no arguments are supplied, then the user is asked to choose from the -" packages found in the packages/ directory -function! Tex_pack_one(...) - if a:0 == 0 || (a:0 > 0 && a:1 == '') - let packlist = Tex_FindInRtp('', 'packages') - let packname = Tex_ChooseFromPrompt( - \ "Choose a package: \n" . - \ Tex_CreatePrompt(packlist, '3', ',') . - \ "\nEnter number or filename :", - \ packlist, ',') - if packname != '' - return Tex_pack_one(packname) - else - return '' - endif - else - " Support the packages supplied. This function can be called with - " multiple arguments in which case, support each of them in turn. - let retVal = '' - let omega = 1 - while omega <= a:0 - let packname = a:{omega} - if Tex_FindInRtp(packname, 'packages') != '' - call Tex_pack_check(packname) - if exists('g:TeX_package_option_'.packname) - \ && g:TeX_package_option_{packname} != '' - let retVal = retVal.'\usepackage[<++>]{'.packname.'}<++>' - else - let retVal = retVal.'\usepackage{'.packname.'}'."\<CR>" - endif - else - let retVal = retVal.'\usepackage{'.packname.'}'."\<CR>" - endif - let omega = omega + 1 - endwhile - return IMAP_PutTextWithMovement(substitute(retVal, "\<CR>$", '', ''), '<+', '+>') - endif -endfunction -" }}} -" Tex_ScanForPackages: scans the current file for \usepackage{} lines {{{ -" and if supported, loads the options and commands found in the -" corresponding package file. Also scans for \newenvironment and -" \newcommand lines and adds names to g:Tex_Prompted variables, they can be -" easy available through <F5> and <F7> shortcuts -function! Tex_ScanForPackages(...) - call Tex_Debug("+Tex_ScanForPackages", "pack") - - let pos = line('.').' | normal! '.virtcol('.').'|' - - " For package files without \begin and \end{document}, we might be told to - " search from beginning to end. - if a:0 < 2 - 0 - let beginline = search('\\begin{document}', 'W') - let endline = search('\\end{document}', 'W') - 0 - else - let beginline = a:1 - let endline = a:2 - endif - - call Tex_Debug(":Tex_ScanForPackages: Begining scans in [".bufname('%')."], beginline = ".beginline, "pack") - - - " Scan the file. First open up all the folds, because the command - " /somepattern - " issued in a closed fold _always_ goes to the first match. - let erm = v:errmsg - silent! normal! ggVGzO - let v:errmsg = erm - - call Tex_Debug(":Tex_ScanForPackages: beginning scan for \\usepackage lines", "pack") - " The wrap trick enables us to match \usepackage on the first line as - " well. - let wrap = 'w' - while search('^\s*\\usepackage\_.\{-}{\_.\+}', wrap) - let wrap = 'W' - - if line('.') > beginline - break - endif - - let saveA = @a - - " If there are options, then find those. - if getline('.') =~ '\\usepackage\[.\{-}\]' - let options = matchstr(getline('.'), '\\usepackage\[\zs.\{-}\ze\]') - elseif getline('.') =~ '\\usepackage\[' - " Entering here means that the user has split the \usepackage - " across newlines. Therefore, use yank. - exec "normal! /{\<CR>\"ayi}" - let options = @a - else - let options = '' - endif - - " The following statement puts the stuff between the { }'s of a - " \usepackage{stuff,foo} into @a. Do not use matchstr() and the like - " because we can have things split across lines and such. - exec "normal! /{\<CR>\"ay/}\<CR>" - - " now remove all whitespace from @a. We need to remove \n and \r - " because we can encounter stuff like - " \usepackage{pack1, - " newpackonanotherline} - let @a = substitute(@a, "[ \t\n\r]", '', 'g') - - " Now we have something like pack1,pack2,pack3 with possibly commas - " and stuff before the first package and after the last package name. - " Remove those. - let @a = substitute(@a, '\(^\W*\|\W*$\)', '', 'g') - - " This gets us a string like 'pack1,pack2,pack3' - " TODO: This will contain duplicates if the user has duplicates. - " Should we bother taking care of this? - let g:Tex_package_detected = g:Tex_package_detected.','.@a - - " For each package found, form a global variable of the form - " g:Tex_{packagename}_options - " which contains a list of the options. - let j = 1 - while Tex_Strntok(@a, ',', j) != '' - let g:Tex_{Tex_Strntok(@a, ',', j)}_options = options - let j = j + 1 - endwhile - - " Finally convert @a into something like '"pack1","pack2"' - let @a = substitute(@a, '^\|$', '"', 'g') - let @a = substitute(@a, ',', '","', 'g') - - call Tex_Debug(":Tex_ScanForPackages: found package(s) [".@a."] on line ".line('.'), "pack") - - " restore @a - let @a = saveA - endwhile - call Tex_Debug(":Tex_ScanForPackages: End scan \\usepackage, detected packages = ".g:Tex_package_detected, "pack") - - " TODO: This needs to be changed. In the future, we might have - " functionality to remember the fold-state before opening up all the folds - " and then re-creating them. Use mkview.vim. - let erm = v:errmsg - silent! normal! ggVGzC - let v:errmsg = erm - - " Because creating list of detected packages gives string - " ',pack1,pack2,pack3' remove leading , - let g:Tex_package_detected = substitute(g:Tex_package_detected, '^,', '', '') - - call Tex_Debug(":Tex_ScanForPackages: Beginning scan for \\newcommand's", "pack") - " Scans whole file (up to \end{document}) for \newcommand and adds this - " commands to g:Tex_PromptedCommands variable, it is easily available - " through <F7> - 0 - while search('^\s*\\newcommand\*\?{.\{-}}', 'W') - - if line('.') > endline - break - endif - - let newcommand = matchstr(getline('.'), '\\newcommand\*\?{\\\zs.\{-}\ze}') - let g:Tex_PromptedCommands = g:Tex_PromptedCommands . ',' . newcommand - - endwhile - - " Scans whole file (up to \end{document}) for \newenvironment and adds this - " environments to g:Tex_PromptedEnvironments variable, it is easily available - " through <F5> - 0 - call Tex_Debug(":Tex_ScanForPackages: Beginning scan for \\newenvironment's", 'pack') - - while search('^\s*\\newenvironment\*\?{.\{-}}', 'W') - call Tex_Debug('found newenvironment on '.line('.'), 'pack') - - if line('.') > endline - break - endif - - let newenvironment = matchstr(getline('.'), '\\newenvironment\*\?{\zs.\{-}\ze}') - let g:Tex_PromptedEnvironments = g:Tex_PromptedEnvironments . ',' . newenvironment - - endwhile - - exe pos - " first make a random search so that we push at least one item onto the - " search history. Since vim puts only one item in the history per function - " call, this way we make sure that one and only item is put into the - " search history. - normal! /^<CR> - " now delete it... - call histdel('/', -1) - - call Tex_Debug("-Tex_ScanForPackages", "pack") -endfunction - -" }}} -" Tex_pack_supp_menu: sets up a menu for package files {{{ -" found in the packages directory groups the packages thus found into groups -" of 20... -function! Tex_pack_supp_menu() - let suplist = Tex_FindInRtp('', 'packages') - - call Tex_MakeSubmenu(suplist, g:Tex_PackagesMenuLocation.'Supported.', - \ '<plug><C-r>=Tex_pack_one("', '")<CR>') -endfunction - -" }}} -" Tex_pack: loads the options (and commands) for the given package {{{ -function! Tex_pack(pack) - if exists('g:TeX_package_'.a:pack) - - let optionList = g:TeX_package_option_{a:pack}.',' - let commandList = g:TeX_package_{a:pack}.',' - - " Don't create separator if in package file are only Vim commands. - " Rare but possible. - if !(commandList == ',' && optionList == ',') - exec 'amenu '.g:Tex_PackagesMenuLocation.'-sep'.a:pack.'- <Nop>' - endif - - if optionList != '' - - let mainMenuName = g:Tex_PackagesMenuLocation.a:pack.'\ Options.' - call s:GroupPackageMenuItems(optionList, mainMenuName, - \ '<plug><C-r>=IMAP_PutTextWithMovement("', ',")<CR>') - - endif - - if commandList != '' - - let mainMenuName = g:Tex_PackagesMenuLocation.a:pack.'\ Commands.' - call s:GroupPackageMenuItems(commandList, mainMenuName, - \ '<plug><C-r>=Tex_ProcessPackageCommand("', '")<CR>', - \ '<SID>FilterPackageMenuLHS') - endif - endif -endfunction - -" }}} - -" ============================================================================== -" Menu Functions -" Creating menu items for the all the package files found in the packages/ -" directory as well as creating menus for each supported package found in the -" preamble. -" ============================================================================== -" Tex_MakeSubmenu: makes a submenu given a list of items {{{ -" Description: -" This function takes a comma seperated list of menu items and creates a -" 'grouped' menu. i.e, it groups the items into s:menu_div items each and -" puts them in submenus of the given mainMenu. -" Each menu item is linked to the HandlerFunc. -" If an additional argument is supplied, then it is used to filter each of -" the menu items to generate better names for the menu display. -" -function! Tex_MakeSubmenu(menuList, mainMenuName, - \ handlerFuncLHS, handlerFuncRHS, ...) - - let extractFunction = (a:0 > 0 ? a:1 : '' ) - let menuList = substitute(a:menuList, '[^,]$', ',', '') - - let doneMenuSubmenu = 0 - - while menuList != '' - - " Extract upto s:menu_div menus at once. - let menuBunch = matchstr(menuList, '\v(.{-},){,'.s:menu_div.'}') - - " The remaining menus go into the list. - let menuList = strpart(menuList, strlen(menuBunch)) - - let submenu = '' - " If there is something remaining, then we got s:menu_div items. - " therefore put these menu items into a submenu. - if strlen(menuList) || doneMenuSubmenu - exec 'let firstMenu = '.extractFunction."(matchstr(menuBunch, '\\v^.{-}\\ze,'))" - exec 'let lastMenu = '.extractFunction."(matchstr(menuBunch, '\\v[^,]{-}\\ze,$'))" - - let submenu = firstMenu.'\ \-\ '.lastMenu.'.' - - let doneMenuSubmenu = 1 - endif - - " Now for each menu create a menu under the submenu - let i = 1 - let menuName = Tex_Strntok(menuBunch, ',', i) - while menuName != '' - exec 'let menuItem = '.extractFunction.'(menuName)' - execute 'amenu '.a:mainMenuName.submenu.menuItem - \ ' '.a:handlerFuncLHS.menuName.a:handlerFuncRHS - - let i = i + 1 - let menuName = Tex_Strntok(menuBunch, ',', i) - endwhile - endwhile -endfunction - -" }}} -" GroupPackageMenuItems: uses the sbr: to split menus into groups {{{ -" Description: -" This function first splits up the menuList into groups based on the -" special sbr: tag and then calls Tex_MakeSubmenu -" -function! <SID>GroupPackageMenuItems(menuList, menuName, - \ handlerFuncLHS, handlerFuncRHS,...) - - if a:0 > 0 - let extractFunction = a:1 - else - let extractFunction = '' - endif - let menuList = a:menuList - - while matchstr(menuList, 'sbr:') != '' - let groupName = matchstr(menuList, '\v^sbr:\zs.{-}\ze,') - let menuList = strpart(menuList, strlen('sbr:'.groupName.',')) - if matchstr(menuList, 'sbr:') != '' - let menuGroup = matchstr(menuList, '\v^.{-},\zesbr:') - else - let menuGroup = menuList - endif - - call Tex_MakeSubmenu(menuGroup, a:menuName.groupName.'.', - \ a:handlerFuncLHS, a:handlerFuncRHS, extractFunction) - - let menuList = strpart(menuList, strlen(menuGroup)) - endwhile - - call Tex_MakeSubmenu(menuList, a:menuName, - \ a:handlerFuncLHS, a:handlerFuncRHS, extractFunction) - -endfunction " }}} -" Definition of what to do for various package commands {{{ -let s:CommandSpec_bra = '\<+replace+>{<++>}<++>' -let s:CommandSpec_brs = '\<+replace+><++>' -let s:CommandSpec_brd = '\<+replace+>{<++>}{<++>}<++>' -let s:CommandSpec_env = '\begin{<+replace+>}'."\<CR><++>\<CR>".'\end{<+replace+>}<++>' -let s:CommandSpec_ens = '\begin{<+replace+>}<+extra+>'."\<CR><++>\<CR>".'\end{<+replace+>}<++>' -let s:CommandSpec_eno = '\begin[<++>]{<+replace+>}'."\<CR><++>\<CR>".'\end{<+replace+>}' -let s:CommandSpec_nor = '\<+replace+>' -let s:CommandSpec_noo = '\<+replace+>[<++>]' -let s:CommandSpec_nob = '\<+replace+>[<++>]{<++>}{<++>}<++>' -let s:CommandSpec_spe = '<+replace+>' -let s:CommandSpec_ = '\<+replace+>' - -let s:MenuLHS_bra = '\\&<+replace+>{}' -let s:MenuLHS_brs = '\\&<+replace+>{}' -let s:MenuLHS_brd = '\\&<+replace+>{}{}' -let s:MenuLHS_env = '&<+replace+>\ (E)' -let s:MenuLHS_ens = '&<+replace+>\ (E)' -let s:MenuLHS_eno = '&<+replace+>\ (E)' -let s:MenuLHS_nor = '\\&<+replace+>' -let s:MenuLHS_noo = '\\&<+replace+>[]' -let s:MenuLHS_nob = '\\&<+replace+>[]{}{}' -let s:MenuLHS_spe = '&<+replace+>' -let s:MenuLHS_sep = '-sep<+replace+>-' -let s:MenuLHS_ = '\\&<+replace+>' -" }}} -" Tex_ProcessPackageCommand: processes a command from the package menu {{{ -" Description: -function! Tex_ProcessPackageCommand(command) - if a:command =~ ':' - let commandType = matchstr(a:command, '^\w\+\ze:') - let commandName = matchstr(a:command, '^\w\+:\zs[^:]\+\ze:\?') - let extrapart = strpart(a:command, strlen(commandType.':'.commandName.':')) - else - let commandType = '' - let commandName = a:command - let extrapart = '' - endif - - let command = s:CommandSpec_{commandType} - let command = substitute(command, '<+replace+>', commandName, 'g') - let command = substitute(command, '<+extra+>', extrapart, 'g') - return IMAP_PutTextWithMovement(command) -endfunction -" }}} -" FilterPackageMenuLHS: filters the command description to provide a better menu item {{{ -" Description: -function! <SID>FilterPackageMenuLHS(command) - let commandType = matchstr(a:command, '^\w\+\ze:') - if commandType != '' - let commandName = strpart(a:command, strlen(commandType.':')) - else - let commandName = a:command - endif - - return substitute(s:MenuLHS_{commandType}, '<+replace+>', commandName, 'g') -endfunction " }}} - -if g:Tex_Menus - exe 'amenu '.g:Tex_PackagesMenuLocation.'&UpdatePackage :call Tex_pack(expand("<cword>"))<cr>' - exe 'amenu '.g:Tex_PackagesMenuLocation.'&UpdateAll :call Tex_pack_updateall(1)<cr>' - - call Tex_pack_supp_menu() -endif - -augroup LatexSuite - au LatexSuite User LatexSuiteFileType - \ call Tex_Debug('packages.vim: Catching LatexSuiteFileType event', 'pack') | - \ call Tex_pack_updateall(0) -augroup END - -" vim:fdm=marker:ts=4:sw=4:noet:ff=unix diff --git a/.vim/ftplugin/latex-suite/packages/SIunits b/.vim/ftplugin/latex-suite/packages/SIunits deleted file mode 100644 index ba110fa..0000000 --- a/.vim/ftplugin/latex-suite/packages/SIunits +++ /dev/null @@ -1,315 +0,0 @@ -if exists("SIunits_package_file") - finish -endif -let SIunits_package_file = 1 - -let g:TeX_package_SIunits = -\'nor:addprefix,'. -\'nor:addunit,'. -\'nor:ampere,'. -\'nor:amperemetresecond,'. -\'nor:amperepermetre,'. -\'nor:amperepermetrenp,'. -\'nor:amperepersquaremetre,'. -\'nor:amperepersquaremetrenp,'. -\'nor:angstrom,'. -\'nor:arad,'. -\'nor:arcminute,'. -\'nor:arcsecond,'. -\'nor:are,'. -\'nor:atomicmass,'. -\'nor:atto,'. -\'nor:attod,'. -\'nor:barn,'. -\'nor:bbar,'. -\'nor:becquerel,'. -\'nor:becquerelbase,'. -\'nor:bel,'. -\'nor:candela,'. -\'nor:candelapersquaremetre,'. -\'nor:candelapersquaremetrenp,'. -\'nor:celsius,'. -\'nor:Celsius,'. -\'nor:celsiusbase,'. -\'nor:centi,'. -\'nor:centid,'. -\'nor:coulomb,'. -\'nor:coulombbase,'. -\'nor:coulombpercubicmetre,'. -\'nor:coulombpercubicmetrenp,'. -\'nor:coulombperkilogram,'. -\'nor:coulombperkilogramnp,'. -\'nor:coulombpermol,'. -\'nor:coulombpermolnp,'. -\'nor:coulombpersquaremetre,'. -\'nor:coulombpersquaremetrenp,'. -\'nor:cubed,'. -\'nor:cubic,'. -\'nor:cubicmetre,'. -\'nor:cubicmetreperkilogram,'. -\'nor:cubicmetrepersecond,'. -\'nor:curie,'. -\'nor:dday,'. -\'nor:deca,'. -\'nor:decad,'. -\'nor:deci,'. -\'nor:decid,'. -\'nor:degree,'. -\'nor:degreecelsius,'. -\'nor:deka,'. -\'nor:dekad,'. -\'nor:derbecquerel,'. -\'nor:dercelsius,'. -\'nor:dercoulomb,'. -\'nor:derfarad,'. -\'nor:dergray,'. -\'nor:derhenry,'. -\'nor:derhertz,'. -\'nor:derjoule,'. -\'nor:derkatal,'. -\'nor:derlumen,'. -\'nor:derlux,'. -\'nor:dernewton,'. -\'nor:derohm,'. -\'nor:derpascal,'. -\'nor:derradian,'. -\'nor:dersiemens,'. -\'nor:dersievert,'. -\'nor:dersteradian,'. -\'nor:dertesla,'. -\'nor:dervolt,'. -\'nor:derwatt,'. -\'nor:derweber,'. -\'nor:electronvolt,'. -\'nor:exa,'. -\'nor:exad,'. -\'nor:farad,'. -\'nor:faradbase,'. -\'nor:faradpermetre,'. -\'nor:faradpermetrenp,'. -\'nor:femto,'. -\'nor:femtod,'. -\'nor:fourth,'. -\'nor:gal,'. -\'nor:giga,'. -\'nor:gigad,'. -\'nor:gram,'. -\'nor:graybase,'. -\'nor:graypersecond,'. -\'nor:graypersecondnp,'. -\'nor:hectare,'. -\'nor:hecto,'. -\'nor:hectod,'. -\'nor:henry,'. -\'nor:henrybase,'. -\'nor:henrypermetre,'. -\'nor:henrypermetrenp,'. -\'nor:hertz,'. -\'nor:hertzbase,'. -\'nor:hour,'. -\'nor:joule,'. -\'nor:joulebase,'. -\'nor:joulepercubicmetre,'. -\'nor:joulepercubicmetrenp,'. -\'nor:jouleperkelvin,'. -\'nor:jouleperkelvinnp,'. -\'nor:jouleperkilogram,'. -\'nor:jouleperkilogramkelvin,'. -\'nor:jouleperkilogramkelvinnp,'. -\'nor:jouleperkilogramnp,'. -\'nor:joulepermole,'. -\'nor:joulepermolekelvin,'. -\'nor:joulepermolekelvinnp,'. -\'nor:joulepermolenp,'. -\'nor:joulepersquaremetre,'. -\'nor:joulepersquaremetrenp,'. -\'nor:joulepertesla,'. -\'nor:jouleperteslanp,'. -\'nor:katal,'. -\'nor:katalbase,'. -\'nor:katalpercubicmetre,'. -\'nor:katalpercubicmetrenp,'. -\'nor:kelvin,'. -\'nor:kilo,'. -\'nor:kilod,'. -\'nor:kilogram,'. -\'nor:kilogrammetrepersecond,'. -\'nor:kilogrammetrepersecondnp,'. -\'nor:kilogrammetrepersquaresecond,'. -\'nor:kilogrammetrepersquaresecondnp,'. -\'nor:kilogrampercubicmetre,'. -\'nor:kilogrampercubicmetrecoulomb,'. -\'nor:kilogrampercubicmetrecoulombnp,'. -\'nor:kilogrampercubicmetrenp,'. -\'nor:kilogramperkilomole,'. -\'nor:kilogramperkilomolenp,'. -\'nor:kilogrampermetre,'. -\'nor:kilogrampermetrenp,'. -\'nor:kilogrampersecond,'. -\'nor:kilogrampersecondcubicmetre,'. -\'nor:kilogrampersecondcubicmetrenp,'. -\'nor:kilogrampersecondnp,'. -\'nor:kilogrampersquaremetre,'. -\'nor:kilogrampersquaremetrenp,'. -\'nor:kilogrampersquaremetresecond,'. -\'nor:kilogrampersquaremetresecondnp,'. -\'nor:kilogramsquaremetre,'. -\'nor:kilogramsquaremetrenp,'. -\'nor:kilogramsquaremetrepersecond,'. -\'nor:kilogramsquaremetrepersecondnp,'. -\'nor:kilowatthour,'. -\'nor:liter,'. -\'nor:litre,'. -\'nor:lumen,'. -\'nor:lumenbase,'. -\'nor:lux,'. -\'nor:luxbase,'. -\'nor:mega,'. -\'nor:megad,'. -\'nor:meter,'. -\'nor:metre,'. -\'nor:metrepersecond,'. -\'nor:metrepersecondnp,'. -\'nor:metrepersquaresecond,'. -\'nor:metrepersquaresecondnp,'. -\'nor:micro,'. -\'nor:microd,'. -\'nor:milli,'. -\'nor:millid,'. -\'nor:minute,'. -\'nor:mole,'. -\'nor:molepercubicmetre,'. -\'nor:molepercubicmetrenp,'. -\'nor:nano,'. -\'nor:nanod,'. -\'nor:neper,'. -\'nor:newton,'. -\'nor:newtonbase,'. -\'nor:newtonmetre,'. -\'nor:newtonpercubicmetre,'. -\'nor:newtonpercubicmetrenp,'. -\'nor:newtonperkilogram,'. -\'nor:newtonperkilogramnp,'. -\'nor:newtonpermetre,'. -\'nor:newtonpermetrenp,'. -\'nor:newtonpersquaremetre,'. -\'nor:newtonpersquaremetrenp,'. -\'nor:NoAMS,'. -\'nor:no@qsk,'. -\'nor:ohm,'. -\'nor:ohmbase,'. -\'nor:ohmmetre,'. -\'nor:one,'. -\'nor:paminute,'. -\'nor:pascal,'. -\'nor:pascalbase,'. -\'nor:pascalsecond,'. -\'nor:pasecond,'. -\'nor:per,'. -\'nor:period@active,'. -\'nor:persquaremetresecond,'. -\'nor:persquaremetresecondnp,'. -\'nor:peta,'. -\'nor:petad,'. -\'nor:pico,'. -\'nor:picod,'. -\'nor:power,'. -\'nor:@qsk,'. -\'nor:quantityskip,'. -\'nor:rad,'. -\'nor:radian,'. -\'nor:radianbase,'. -\'nor:radianpersecond,'. -\'nor:radianpersecondnp,'. -\'nor:radianpersquaresecond,'. -\'nor:radianpersquaresecondnp,'. -\'nor:reciprocal,'. -\'nor:rem,'. -\'nor:roentgen,'. -\'nor:rp,'. -\'nor:rpcubed,'. -\'nor:rpcubic,'. -\'nor:rpcubicmetreperkilogram,'. -\'nor:rpcubicmetrepersecond,'. -\'nor:rperminute,'. -\'nor:rpersecond,'. -\'nor:rpfourth,'. -\'nor:rpsquare,'. -\'nor:rpsquared,'. -\'nor:rpsquaremetreperkilogram,'. -\'nor:second,'. -\'nor:siemens,'. -\'nor:siemensbase,'. -\'nor:sievert,'. -\'nor:sievertbase,'. -\'nor:square,'. -\'nor:squared,'. -\'nor:squaremetre,'. -\'nor:squaremetrepercubicmetre,'. -\'nor:squaremetrepercubicmetrenp,'. -\'nor:squaremetrepercubicsecond,'. -\'nor:squaremetrepercubicsecondnp,'. -\'nor:squaremetreperkilogram,'. -\'nor:squaremetrepernewtonsecond,'. -\'nor:squaremetrepernewtonsecondnp,'. -\'nor:squaremetrepersecond,'. -\'nor:squaremetrepersecondnp,'. -\'nor:squaremetrepersquaresecond,'. -\'nor:squaremetrepersquaresecondnp,'. -\'nor:steradian,'. -\'nor:steradianbase,'. -\'nor:tera,'. -\'nor:terad,'. -\'nor:tesla,'. -\'nor:teslabase,'. -\'nor:ton,'. -\'nor:tonne,'. -\'nor:unit,'. -\'nor:unitskip,'. -\'nor:usk,'. -\'nor:volt,'. -\'nor:voltbase,'. -\'nor:voltpermetre,'. -\'nor:voltpermetrenp,'. -\'nor:watt,'. -\'nor:wattbase,'. -\'nor:wattpercubicmetre,'. -\'nor:wattpercubicmetrenp,'. -\'nor:wattperkilogram,'. -\'nor:wattperkilogramnp,'. -\'nor:wattpermetrekelvin,'. -\'nor:wattpermetrekelvinnp,'. -\'nor:wattpersquaremetre,'. -\'nor:wattpersquaremetrenp,'. -\'nor:wattpersquaremetresteradian,'. -\'nor:wattpersquaremetresteradiannp,'. -\'nor:weber,'. -\'nor:weberbase,'. -\'nor:yocto,'. -\'nor:yoctod,'. -\'nor:yotta,'. -\'nor:yottad,'. -\'nor:zepto,'. -\'nor:zeptod,'. -\'nor:zetta,'. -\'nor:zettad' - -let g:TeX_package_option_SIunits = -\'amssymb,'. -\'binary,'. -\'cdot,'. -\'derived,'. -\'derivedinbase,'. -\'Gray,'. -\'mediumqspace,'. -\'mediumspace,'. -\'noams,'. -\'pstricks,'. -\'squaren,'. -\'textstyle,'. -\'thickqspace,'. -\'thickspace,'. -\'thinqspace,'. -\'thinspace' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/accents b/.vim/ftplugin/latex-suite/packages/accents deleted file mode 100644 index 706d95e..0000000 --- a/.vim/ftplugin/latex-suite/packages/accents +++ /dev/null @@ -1,28 +0,0 @@ -if exists("accents_package_file") - finish -endif -let accents_package_file = 1 - -let g:TeX_package_option_accents = -\ 'nonscript,' -\.'single' - -let g:TeX_package_accents = -\ 'bra:grave,' -\.'bra:acute,' -\.'bra:check,' -\.'bra:breve,' -\.'bra:bar,' -\.'bra:ring,' -\.'bra:hat,' -\.'bra:dot,' -\.'bra:tilde,' -\.'bra:undertilde,' -\.'bra:ddot,' -\.'bra:dddot,' -\.'bra:ddddot,' -\.'bra:vec,' -\.'brd:accentset,' -\.'brd:underaccent' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/acromake b/.vim/ftplugin/latex-suite/packages/acromake deleted file mode 100644 index 2130f61..0000000 --- a/.vim/ftplugin/latex-suite/packages/acromake +++ /dev/null @@ -1,10 +0,0 @@ -if exists("acromake_package_file") - finish -endif -let acromake_package_file = 1 - -let g:TeX_package_option_acromake = '' - -let g:TeX_package_acromake = 'brs:acromake{<++>}{<++>}{<++>}' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/afterpage b/.vim/ftplugin/latex-suite/packages/afterpage deleted file mode 100644 index 5087321..0000000 --- a/.vim/ftplugin/latex-suite/packages/afterpage +++ /dev/null @@ -1,10 +0,0 @@ -if exists("afterpage_package_file") - finish -endif -let afterpage_package_file = 1 - -let g:TeX_package_option_afterpage = '' - -let g:TeX_package_afterpage = 'bra:afterpage' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/alltt b/.vim/ftplugin/latex-suite/packages/alltt deleted file mode 100644 index c30b684..0000000 --- a/.vim/ftplugin/latex-suite/packages/alltt +++ /dev/null @@ -1,12 +0,0 @@ -if exists("alltt_package_file") - finish -endif -let alltt_package_file = 1 - -let g:TeX_package_option_alltt = '' - -let g:TeX_package_alltt = 'env:alltt' - -syn region texZone start="\\begin{alltt}" end="\\end{alltt}\|%stopzone\>" fold - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/amsmath b/.vim/ftplugin/latex-suite/packages/amsmath deleted file mode 100644 index fd7dcda..0000000 --- a/.vim/ftplugin/latex-suite/packages/amsmath +++ /dev/null @@ -1,106 +0,0 @@ -if exists("amsmath_package_file") - finish -endif -let amsmath_package_file = 1 - -let g:TeX_package_option_amsmath = -\ 'centertags,' -\.'tbtags,' -\.'sumlimits,' -\.'nosumlimits,' -\.'intlimits,' -\.'nointlimits,' -\.'namelimits,' -\.'nonamelimits,' -\.'leqno,' -\.'reqno,' -\.'fleqno' - -let g:TeX_package_amsmath = -\ 'sbr:Environments,' -\.'env:equation,' -\.'env:equation*,' -\.'env:align,' -\.'env:align*,' -\.'env:gather,' -\.'env:gather*,' -\.'env:flalign,' -\.'env:flalign*,' -\.'env:multline,' -\.'env:multline*,' -\.'ens:alignat:{<+arg1+>}{<+arg2+>},' -\.'env:alignat,' -\.'ens:alignat*:{<+arg1+>}{<+arg2+>},,' -\.'env:alignat*,' -\.'env:subequations,' -\.'env:subarray,' -\.'env:split,' -\.'env:cases,' -\.'sbr:Matrices,' -\.'env:matrix,' -\.'env:pmatrix,' -\.'env:bmatrix,' -\.'env:Bmatrix,' -\.'env:vmatrix,' -\.'env:Vmatrix,' -\.'env:smallmatrix,' -\.'bra:hdotsfor,' -\.'sbr:Dots,' -\.'dotsc,' -\.'dotsb,' -\.'dotsm,' -\.'dotsi,' -\.'dotso,' -\.'sbr:ItalicGreek,' -\.'nor:varGamma,' -\.'nor:varDelta,' -\.'nor:varTheta,' -\.'nor:varLambda,' -\.'nor:varXi,' -\.'nor:varPi,' -\.'nor:varSigma,' -\.'nor:varUpsilon,' -\.'nor:varPhi,' -\.'nor:varPsi,' -\.'nor:varOmega,' -\.'sbr:Mod,' -\.'nor:mod,' -\.'nor:bmod,' -\.'nor:pmod,' -\.'nor:pod,' -\.'sbr:CreatingSymbols,' -\.'brd:overset,' -\.'brd:underset,' -\.'brd:sideset,' -\.'sbr:Fractions,' -\.'brd:frac,' -\.'brd:dfrac,' -\.'brd:tfrac,' -\.'brd:cfrac,' -\.'brd:binom,' -\.'brd:dbinom,' -\.'brd:tbinom,' -\.'brs:genfrac{<+ldelim+>}{<+rdelim+>}{<+thick+>}{<+style+>}{<+numer+>}{<+denom+>},' -\.'sbr:Commands,' -\.'nob:smash,' -\.'bra:substack,' -\.'bra:tag,' -\.'bra:tag*,' -\.'nor:notag,' -\.'bra:raisetag,' -\.'bra:shoveleft,' -\.'bra:shoveright,' -\.'bra:intertext,' -\.'bra:text,' -\.'nor:displaybreak,' -\.'noo:displaybreak,' -\.'noo:allowdisplaybreaks,' -\.'nor:nobreakdash,' -\.'brs:numberwithin{<+env+>}{<+parent+>},' -\.'bra:leftroot,' -\.'bra:uproot,' -\.'bra:boxed,' -\.'brs:DeclareMathSymbol{<++>}{<++>}{<++>}{<++>},' -\.'bra:eqref' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/amsthm b/.vim/ftplugin/latex-suite/packages/amsthm deleted file mode 100644 index 6bae018..0000000 --- a/.vim/ftplugin/latex-suite/packages/amsthm +++ /dev/null @@ -1,21 +0,0 @@ -if exists("amsthm_package_file") - finish -endif -let amsthm_package_file = 1 - -let TeX_package_option_amsthm = '' - -let TeX_package_amsthm = -\ 'env:proof,' -\.'nor:swapnumbers,' -\.'brd:newtheorem,' -\.'brd:newtheorem*,' -\.'nor:theoremstyle{plain},' -\.'nor:theoremstyle{definition},' -\.'nor:theoremstyle{remark},' -\.'nor:newtheoremstyle,' -\.'nor:qedsymbol,' -\.'nor:qed,' -\.'nor:qedhere' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/amsxtra b/.vim/ftplugin/latex-suite/packages/amsxtra deleted file mode 100644 index 3875cc3..0000000 --- a/.vim/ftplugin/latex-suite/packages/amsxtra +++ /dev/null @@ -1,12 +0,0 @@ -if exists("amsxtra_package_file") - finish -endif -let amsxtra_package_file = 1 - -let g:TeX_package_option_amsxtra = '' - -let g:TeX_package_amsxtra = -\ 'nor:sphat,' -\.'nor:sptilde' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/arabic b/.vim/ftplugin/latex-suite/packages/arabic deleted file mode 100644 index 46f8314..0000000 --- a/.vim/ftplugin/latex-suite/packages/arabic +++ /dev/null @@ -1,10 +0,0 @@ -if exists("arabic_package_file") - finish -endif -let arabic_package_file = 1 - -let g:TeX_package_option_arabic = '' - -let g:TeX_package_arabic = 'bra:arabicnumeral' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/array b/.vim/ftplugin/latex-suite/packages/array deleted file mode 100644 index 99f3dbc..0000000 --- a/.vim/ftplugin/latex-suite/packages/array +++ /dev/null @@ -1,17 +0,0 @@ -if exists("array_package_file") - finish -endif -let array_package_file = 1 - -let g:TeX_package_option_array = '' - -let g:TeX_package_array = -\ 'brs:newcolumntype{<+type+>}[<+no+>]{<+preamble+>},' -\.'arraycolsep,' -\.'tabcolsep,' -\.'arrayrulewidth,' -\.'doublerulesep,' -\.'arraystretch,' -\.'extrarowheight' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/babel b/.vim/ftplugin/latex-suite/packages/babel deleted file mode 100644 index cdb76ec..0000000 --- a/.vim/ftplugin/latex-suite/packages/babel +++ /dev/null @@ -1,98 +0,0 @@ -if exists("babel_package_file") - finish -endif -let babel_package_file = 1 - -" This package sets some language specific options. -" Since it needs to find out which options the user used with the babel -" package, it needs to wait till latex-suite is done scanning packages. It -" then catches the LatexSuiteScannedPackages event which -" Tex_pack_updateall() throws at which time g:Tex_pack_detected and -" g:Tex_babel_options contain the necessary information. - -let g:TeX_package_option_babel = -\ 'afrikaans,' -\.'bahasa,' -\.'basque,' -\.'breton,' -\.'bulgarian,' -\.'catalan,' -\.'croatian,' -\.'chech,' -\.'danish,' -\.'dutch,' -\.'english,USenglish,american,UKenglish,british,canadian,' -\.'esperanto,' -\.'estonian,' -\.'finnish,' -\.'french,francais,canadien,acadian,' -\.'galician,' -\.'austrian,german,germanb,ngerman,naustrian,' -\.'greek,polutonikogreek,' -\.'hebrew,' -\.'magyar,hungarian,' -\.'icelandic,' -\.'irish,' -\.'italian,' -\.'latin,' -\.'lowersorbian,' -\.'samin,' -\.'norsk,nynorsk,' -\.'polish,' -\.'portuges,portuguese,brazilian,brazil,' -\.'romanian,' -\.'russian,' -\.'scottish,' -\.'spanish,' -\.'slovak,' -\.'slovene,' -\.'swedish,' -\.'serbian,' -\.'turkish,' -\.'ukrainian,' -\.'uppersorbian,' -\.'welsh' - -let g:TeX_package_babel = -\ 'bra:selectlanguage,' -\.'env:otherlanguage,' -\.'env:otherlanguage*,' -\.'env:hyphenrules,' -\.'brd:foreignlanguage,' -\.'spe:iflanguage{<+name+>}{<+true+>}{<+false+>},' -\.'languagename,' -\.'bra:useshorthands,' -\.'brd:defineshorthand,' -\.'brd:aliasshorthand,' -\.'bra:languageshorthans,' -\.'bra:shorthandon,' -\.'bra:shorthandoff,' -\.'brd:languageattribute' - -" vim:ft=vim:ff=unix: -if exists('s:doneOnce') - finish -endif -let s:doneOnce = 1 - -augroup LatexSuite - au LatexSuite User LatexSuiteScannedPackages - \ call Tex_Debug('babel: catching LatexSuiteScannedPackages event') | - \ call s:SetQuotes() -augroup END - -let s:path = expand('<sfile>:p:h') - -" SetQuotes: sets quotes for various languages {{{ -" Description: -function! <SID>SetQuotes() - if g:Tex_package_detected =~ '\<babel\>' - if g:Tex_babel_options =~ '\<german\>' - exec 'so '.s:path.'/german' - elseif g:Tex_babel_options =~ '\<ngerman\>' - exec 'so '.s:path.'/ngerman' - endif - endif -endfunction " }}} - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/bar b/.vim/ftplugin/latex-suite/packages/bar deleted file mode 100644 index 0087b95..0000000 --- a/.vim/ftplugin/latex-suite/packages/bar +++ /dev/null @@ -1,27 +0,0 @@ -if exists("bar_package_file") - finish -endif -let bar_package_file = 1 - -let g:TeX_package_option_bar = '' - -let g:TeX_package_bar = -\ 'env:barenv,' -\.'brs:bar{<+height+>}{<+index+>}[<+desc+>],' -\.'hlineon,' -\.'brs:legend{<+index+>}{<+text+>},' -\.'bra:setdepth,' -\.'bra:sethspace,' -\.'brs:setlinestyle{<+solid-dotted+>},' -\.'brs:setnumberpos{<+empty-axis-down-inside-outside-up+>},' -\.'bra:setprecision,' -\.'bra:setstretch,' -\.'bra:setstyle,' -\.'bra:setwidth,' -\.'brs:setxaxis{<+w1+>}{<+w2+>}{<+step+>},' -\.'brs:setyaxis[<+n+>]{<+w1+>}{<+w2+>}{<+step+>},' -\.'brs:setxname[<+lrbt+>]{<+etiquette+>},' -\.'brs:setyname[<+lrbt+>]{<+etiquette+>},' -\.'brs:setxvaluetyp{<+day-month+>}' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/bm b/.vim/ftplugin/latex-suite/packages/bm deleted file mode 100644 index 1cd5109..0000000 --- a/.vim/ftplugin/latex-suite/packages/bm +++ /dev/null @@ -1,10 +0,0 @@ -if exists("bm_package_file") - finish -endif -let bm_package_file = 1 - -let g:TeX_package_option_bm = '' - -let g:TeX_package_bm = 'bra:bm' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/bophook b/.vim/ftplugin/latex-suite/packages/bophook deleted file mode 100644 index 16ca8b0..0000000 --- a/.vim/ftplugin/latex-suite/packages/bophook +++ /dev/null @@ -1,12 +0,0 @@ -if exists("bophook_package_file") - finish -endif -let bophook_package_file = 1 - -let g:TeX_package_option_bophook = '' - -let g:TeX_package_bophook = -\ 'bra:AtBeginPage,' -\.'bra:PageLayout' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/boxedminipage b/.vim/ftplugin/latex-suite/packages/boxedminipage deleted file mode 100644 index 0917352..0000000 --- a/.vim/ftplugin/latex-suite/packages/boxedminipage +++ /dev/null @@ -1,10 +0,0 @@ -if exists("boxedminipage_package_file") - finish -endif -let boxedminipage_package_file = 1 - -let g:TeX_package_option_boxedminipage = '' - -let g:TeX_package_boxedminipage = 'ens:boxedminipage:[<+pos+>]{<+size+>}' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/caption2 b/.vim/ftplugin/latex-suite/packages/caption2 deleted file mode 100644 index 7e16031..0000000 --- a/.vim/ftplugin/latex-suite/packages/caption2 +++ /dev/null @@ -1,43 +0,0 @@ -if exists("caption2_package_file") - finish -endif -let caption2_package_file = 1 - -let g:TeX_package_option_caption2 = -\ 'scriptsize,' -\.'footnotesize,' -\.'small,' -\.'normalsize,' -\.'large,' -\.'Large,' -\.'up,' -\.'it,' -\.'sl,' -\.'sc,' -\.'md,' -\.'bf,' -\.'rm,' -\.'sf,' -\.'tt,' -\.'ruled,' -\.'boxed,' -\.'centerlast,' -\.'anne,' -\.'center,' -\.'flushleft,' -\.'flushright,' -\.'oneline,' -\.'nooneline,' -\.'hang,' -\.'isu,' -\.'indent,' -\.'longtable' - -let g:TeX_package_caption2 = -\ 'bra:captionsize,' -\.'bra:captionfont,' -\.'bra:captionlabelfont,' -\.'bra:setcaptionmargin,' -\.'bra:setcaptionwidth' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/cases b/.vim/ftplugin/latex-suite/packages/cases deleted file mode 100644 index a2deafe..0000000 --- a/.vim/ftplugin/latex-suite/packages/cases +++ /dev/null @@ -1,12 +0,0 @@ -if exists("cases_package_file") - finish -endif -let cases_package_file = 1 - -let g:TeX_package_option_cases = '' - -let g:TeX_package_cases = -\ 'ens:numcases:{<+label+>},' -\.'ens:subnumcases:{<+label+>}' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/ccaption b/.vim/ftplugin/latex-suite/packages/ccaption deleted file mode 100644 index 2ec3f2f..0000000 --- a/.vim/ftplugin/latex-suite/packages/ccaption +++ /dev/null @@ -1,20 +0,0 @@ -if exists("ccaption_package_file") - finish -endif -let ccaption_package_file = 1 - -let g:TeX_package_option_ccaption = '' - -let g:TeX_package_ccaption = -\ 'bra:contcaption,' -\.'bra:legend,' -\.'bra:namedlegend,' -\.'abovelegendskip,' -\.'belowlegendskip,' -\.'brd:newfixedcaption,' -\.'brd:renewfixedcaption,' -\.'brd:providefixedcaption,' -\.'brs:newfloatenv[<+counter+>]{<+name+>}{<+ext+>}{<+etiq+>},' -\.'brd:listfloats' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/changebar b/.vim/ftplugin/latex-suite/packages/changebar deleted file mode 100644 index e5002cf..0000000 --- a/.vim/ftplugin/latex-suite/packages/changebar +++ /dev/null @@ -1,35 +0,0 @@ -if exists("changebar_package_file") - finish -endif -let changebar_package_file = 1 - -let g:TeX_package_option_changebar = -\ 'DVItoLN03,' -\.'dvitoln03,' -\.'DVItoPS,' -\.'dvitops,' -\.'DVIps,' -\.'dvips,' -\.'emTeX,' -\.'emtex,' -\.'textures,' -\.'Textures,' -\.'outerbars,' -\.'innerbars,' -\.'leftbars,' -\.'rightbars,' -\.'traceon,' -\.'traceoff' - -let g:TeX_package_changebar = -\ 'ens:changebar:[<+thickness+>],' -\.'noo:cbstart,' -\.'cbend,' -\.'cbdelete,' -\.'changebarwidth,' -\.'deletebarwidth,' -\.'changebarsep,' -\.'spe:changebargrey,' -\.'nochangebars' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/chapterbib b/.vim/ftplugin/latex-suite/packages/chapterbib deleted file mode 100644 index 331e901..0000000 --- a/.vim/ftplugin/latex-suite/packages/chapterbib +++ /dev/null @@ -1,24 +0,0 @@ -if exists("chapterbib_package_file") - finish -endif -let chapterbib_package_file = 1 - -let g:TeX_package_option_chapterbib = -\ 'sectionbib,' -\.'rootbib,' -\.'gather,' -\.'duplicate' - -let g:TeX_package_chapterbib = -\ 'env:cbunit,' -\.'brd:sectionbib,' -\.'bra:cbinput,' -\.'sep:redefine,' -\.'bra:citeform,' -\.'bra:citepunct,' -\.'bra:citeleft,' -\.'bra:citeright,' -\.'bra:citemid,' -\.'bra:citedash' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/cite b/.vim/ftplugin/latex-suite/packages/cite deleted file mode 100644 index aa43e5b..0000000 --- a/.vim/ftplugin/latex-suite/packages/cite +++ /dev/null @@ -1,32 +0,0 @@ -if exists("cite_package_file") - finish -endif -let cite_package_file = 1 - -let g:TeX_package_option_cite = -\ 'verbose,' -\.'nospace,' -\.'space,' -\.'nosort,' -\.'sort,' -\.'noadjust' - -let g:TeX_package_cite = -\ 'bra:cite,' -\.'bra:citen,' -\.'bra:citenum,' -\.'bra:citeonline,' -\.'bra:nocite,' -\.'sep:redefine,' -\.'bra:citeform,' -\.'bra:citepunct,' -\.'bra:citeleft,' -\.'bra:citeright,' -\.'bra:citemid,' -\.'bra:citedash' - -syn region texRefZone matchgroup=texStatement start="\\citen\([tp]\*\=\)\={" keepend end="}\|%stopzone\>" contains=texComment,texDelimiter -syn region texRefZone matchgroup=texStatement start="\\citenum\([tp]\*\=\)\={" keepend end="}\|%stopzone\>" contains=texComment,texDelimiter -syn region texRefZone matchgroup=texStatement start="\\citeonline\([tp]\*\=\)\={" keepend end="}\|%stopzone\>" contains=texComment,texDelimiter - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/color b/.vim/ftplugin/latex-suite/packages/color deleted file mode 100644 index 7f3aeac..0000000 --- a/.vim/ftplugin/latex-suite/packages/color +++ /dev/null @@ -1,43 +0,0 @@ -if exists("color_package_file") - finish -endif -let color_package_file = 1 - -let g:TeX_package_option_color = -\ 'monochrome,' -\.'debugshow,' -\.'dvips,' -\.'xdvi,' -\.'dvipdf,' -\.'pdftex,' -\.'dvipsone,' -\.'dviwindo,' -\.'emtex,' -\.'dviwin,' -\.'oztex,' -\.'textures,' -\.'pctexps,' -\.'pctexwin,' -\.'pctexhp,' -\.'pctex32,' -\.'truetex,' -\.'tcidvi,' -\.'dvipsnames,' -\.'nodvipsnames,' -\.'usenames' - -let g:TeX_package_color = -\ 'brs:definecolor{<++>}{<++>}{<++>},' -\.'brs:DefineNamedColor{<++>}{<++>}{<++>}{<++>},' -\.'bra:color,' -\.'nob:color,' -\.'brd:textcolor,' -\.'brs:textcolor[<++>]{<++>}{<++>},' -\.'brd:colorbox,' -\.'brs:colorbox[<++>]{<++>}{<++>},' -\.'brs:fcolorbox{<++>}{<++>}{<++>},' -\.'brs:fcolorbox[<++>]{<++>}{<++>}{<++>},' -\.'brd:pagecolor,' -\.'nob:pagecolor' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/comma b/.vim/ftplugin/latex-suite/packages/comma deleted file mode 100644 index 5ec8d70..0000000 --- a/.vim/ftplugin/latex-suite/packages/comma +++ /dev/null @@ -1,12 +0,0 @@ -if exists("comma_package_file") - finish -endif -let comma_package_file = 1 - -let g:TeX_package_option_comma = '' - -let g:TeX_package_comma = -\ 'bra:commaform,' -\.'bra:commaformtoken' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/deleq b/.vim/ftplugin/latex-suite/packages/deleq deleted file mode 100644 index 58426d2..0000000 --- a/.vim/ftplugin/latex-suite/packages/deleq +++ /dev/null @@ -1,36 +0,0 @@ -if exists("deleq_package_file") - finish -endif -let deleq_package_file = 1 - -let g:TeX_package_option_deleq = '' - -let g:TeX_package_deleq = -\.'env:deqn,' -\.'env:ddeqn,' -\.'env:deqarr,' -\.'env:ddeqar,' -\.'env:deqrarr,' -\.'nor:nydeqno,' -\.'nor:heqno,' -\.'bra:reqno,' -\.'bra:rndeqno,' -\.'bra:rdeqno,' -\.'nob:eqreqno,' -\.'nob:deqreqno,' -\.'nob:ddeqreqno,' -\.'bra:arrlabel,' -\.'nor:where,' -\.'bra:remtext,' -\.'nor:nydeleqno,' -\.'nor:deleqno,' -\.'nor:jotbaseline' - -if !exists("tex_no_math") - syn region texMathZoneA start="\\begin\s*{\s*deqn\*\s*}" end="\\end\s*{\s*deqn\*\s*}" keepend fold contains=@texMathZoneGroup - syn region texMathZoneB start="\\begin\s*{\s*ddeqn\*\s*}" end="\\end\s*{\s*ddeqn\*\s*}" keepend fold contains=@texMathZoneGroup - syn region texMathZoneC start="\\begin\s*{\s*deqarr\s*}" end="\\end\s*{\s*deqarr\s*}" keepend fold contains=@texMathZoneGroup - syn region texMathZoneD start="\\begin\s*{\s*ddeqar\s*}" end="\\end\s*{\s*ddeqar\s*}" keepend fold contains=@texMathZoneGroup - syn region texMathZoneE start="\\begin\s*{\s*deqrarr\*\s*}" end="\\end\s*{\s*deqrarr\*\s*}" keepend fold contains=@texMathZoneGroup -endif -" vim:ft=vim:ff=unix:noet:ts=4: diff --git a/.vim/ftplugin/latex-suite/packages/drftcite b/.vim/ftplugin/latex-suite/packages/drftcite deleted file mode 100644 index 8c30447..0000000 --- a/.vim/ftplugin/latex-suite/packages/drftcite +++ /dev/null @@ -1,29 +0,0 @@ -if exists("drftcite_package_file") - finish -endif -let drftcite_package_file = 1 - -let g:TeX_package_option_drftcite = -\ 'verbose,' -\.'nospace,' -\.'space,' -\.'breakcites,' -\.'manualsort,' -\.'tt,' -\.'shownumbers,' -\.'nocitecount' - -let g:TeX_package_drftcite = -\ 'bra:cite,' -\.'bra:citen,' -\.'sep:redefine,' -\.'bra:citeform,' -\.'bra:citepunct,' -\.'bra:citeleft,' -\.'bra:citeright,' -\.'bra:citemid,' -\.'bra:citedash' - -syn region texRefZone matchgroup=texStatement start="\\citen\([tp]\*\=\)\={" keepend end="}\|%stopzone\>" contains=texComment,texDelimiter - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/dropping b/.vim/ftplugin/latex-suite/packages/dropping deleted file mode 100644 index bcfc11f..0000000 --- a/.vim/ftplugin/latex-suite/packages/dropping +++ /dev/null @@ -1,12 +0,0 @@ -if exists("dropping_package_file") - finish -endif -let dropping_package_file = 1 - -let g:TeX_package_option_dropping = '' - -let g:TeX_package_dropping = -\ 'brs:bigdrop{<+indent+>}{<+big+>}{<+font+>}{<+text+>},' -\.'brs:dropping[<+indent+>]{<+big+>}{<+text+>}' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/enumerate b/.vim/ftplugin/latex-suite/packages/enumerate deleted file mode 100644 index 40c3f7c..0000000 --- a/.vim/ftplugin/latex-suite/packages/enumerate +++ /dev/null @@ -1,10 +0,0 @@ -if exists("enumerate_package_file") - finish -endif -let enumerate_package_file = 1 - -let g:TeX_package_option_enumerate = '' - -let g:TeX_package_enumerate = 'ens:enumerate:[<+prefix+>]' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/eqlist b/.vim/ftplugin/latex-suite/packages/eqlist deleted file mode 100644 index e1e249e..0000000 --- a/.vim/ftplugin/latex-suite/packages/eqlist +++ /dev/null @@ -1,19 +0,0 @@ -if exists("eqlist_package_file") - finish -endif -let eqlist_package_file = 1 - -let g:TeX_package_option_eqlist = '' - -let g:TeX_package_eqlist = -\ 'env:eqlist,' -\.'env:eqlist*,' -\.'env:Eqlist,' -\.'env:Eqlist*,' -\.'sep:modificators,' -\.'eqlistinit,' -\.'eqliststarinit,' -\.'eqlistinitpar,' -\.'eqlistlabel' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/eqparbox b/.vim/ftplugin/latex-suite/packages/eqparbox deleted file mode 100644 index a05061b..0000000 --- a/.vim/ftplugin/latex-suite/packages/eqparbox +++ /dev/null @@ -1,12 +0,0 @@ -if exists("eqparbox_package_file") - finish -endif -let eqparbox_package_file = 1 - -let g:TeX_package_option_eqparbox = '' - -let g:TeX_package_eqparbox = -\ 'brs:eqparbox[<+pos+>][<+height+>][<+inner-pos+>]{<+tag+>}{<+text+>},' -\.'bra:eqboxwidth' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/everyshi b/.vim/ftplugin/latex-suite/packages/everyshi deleted file mode 100644 index e42a3d5..0000000 --- a/.vim/ftplugin/latex-suite/packages/everyshi +++ /dev/null @@ -1,10 +0,0 @@ -if exists("everyshi_package_file") - finish -endif -let everyshi_package_file = 1 - -let g:TeX_package_option_everyshi = '' - -let g:TeX_package_everyshi = 'bra:EveryShipOut' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/exmpl b/.vim/ftplugin/latex-suite/packages/exmpl deleted file mode 100644 index e9e37fc..0000000 --- a/.vim/ftplugin/latex-suite/packages/exmpl +++ /dev/null @@ -1,55 +0,0 @@ -if exists("exmpl_package_file") - finish -endif -let exmpl_package_file = 1 - -" Author: Mikolaj Machowski -" Date: 10.04.2002 -" Example plugin for packages in latexSuite -" - -" This variable creates Options submenu in package menu. Even when no options are -" given for this package it HAS to exist in form -" let TeX_package_option_exmpl = "" -" Options and commands are delimited with comma , - -let g:TeX_package_option_exmpl = "OpcjaA=,OpcjaB,OpcjaC" - -" Most command should have some definition before. Package menu system can -" recognize type of command and behave in good manner: -" env: (environment) creates simple environment template -" \begin{command} -" x <- cursor here -" \end{command} -" -" bra: (brackets) useful when inserting brackets commands -" \command{x}<<>> <- cursor at x, and placeholders as in other menu entries -" -" nor: (normal) nor: and pla: are `highlighted' in menu with `'' -" \command<Space> -" -" pla: (plain) -" command<Space> -" -" spe: (special) -" command <-literal insertion of command, in future here should go -" commands with special characters -" -" sep: (separator) creates separator. Good for aesthetics and usability :) -" -" Command can be also given with no prefix:. The result is -" \command (as in nor: but without <Space>) - - -let g:TeX_package_exmpl = "env:AEnvFirst,env:aEnvSec,env:BThi," - \ . "sep:a,env:zzzz," - \ . "bra:aBraFirst,bra:bBraSec,bra:cBraThi," - \ . "sep:b," - \ . "nor:aNorPri,nor:bNorSec,nor:cNorTer," - \ . "sep:c," - \ . "pla:aPla1,pla:bPla2,pla:cPla3," - \ . "sep:d," - \ . "spe:aSpe1,spe:bSpe2,spe:cSpe3," - \ . "sep:e," - \ . "aNo1,bNo2,cNo3" -" vim:ft=vim diff --git a/.vim/ftplugin/latex-suite/packages/flafter b/.vim/ftplugin/latex-suite/packages/flafter deleted file mode 100644 index 8859397..0000000 --- a/.vim/ftplugin/latex-suite/packages/flafter +++ /dev/null @@ -1,10 +0,0 @@ -if exists("flafter_package_file") - finish -endif -let flafter_package_file = 1 - -let g:TeX_package_option_flafter = '' - -let g:TeX_package_flafter = 'noo:suppressfloats,noo:suppress' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/float b/.vim/ftplugin/latex-suite/packages/float deleted file mode 100644 index 7c1cf46..0000000 --- a/.vim/ftplugin/latex-suite/packages/float +++ /dev/null @@ -1,16 +0,0 @@ -if exists("float_package_file") - finish -endif -let float_package_file = 1 - -let g:TeX_package_option_float = '' - -let g:TeX_package_float = -\ 'bra:floatstyle,' -\.'brs:newfloat{<++>}{<++>}{<++>}[<++>],' -\.'brd:floatname,' -\.'brd:listof,' -\.'bra:restylefloat,' -\.'brd:floatplacement' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/floatflt b/.vim/ftplugin/latex-suite/packages/floatflt deleted file mode 100644 index 4902d89..0000000 --- a/.vim/ftplugin/latex-suite/packages/floatflt +++ /dev/null @@ -1,12 +0,0 @@ -if exists("floatflt_package_file") - finish -endif -let floatflt_package_file = 1 - -let g:TeX_package_option_floatflt = 'rflt,lflt,vflt' - -let g:TeX_package_floatflt = -\ 'ens:floatingfigure:[<+loc+>]{<+spec+>},' -\.'ens:floatingtable:[<+loc+>]{<+spec+>}' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/fn2end b/.vim/ftplugin/latex-suite/packages/fn2end deleted file mode 100644 index aac4184..0000000 --- a/.vim/ftplugin/latex-suite/packages/fn2end +++ /dev/null @@ -1,10 +0,0 @@ -if exists("fn2end_package_file") - finish -endif -let fn2end_package_file = 1 - -let g:TeX_package_option_fn2end = '' - -let g:TeX_package_fn2end = 'makeendnotes,theendnotes' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/footmisc b/.vim/ftplugin/latex-suite/packages/footmisc deleted file mode 100644 index 04723f6..0000000 --- a/.vim/ftplugin/latex-suite/packages/footmisc +++ /dev/null @@ -1,21 +0,0 @@ -if exists("footmisc_package_file") - finish -endif -let footmisc_package_file = 1 - -let g:TeX_package_option_footmisc = -\ 'bottom,' -\.'flushmargin,' -\.'marginal,' -\.'multiple,' -\.'norule,' -\.'para,' -\.'perpage,' -\.'splitrule,' -\.'stable,' -\.'symbol,' -\.'symbol+' - -let g:TeX_package_footmisc = '' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/geometry b/.vim/ftplugin/latex-suite/packages/geometry deleted file mode 100644 index 667a289..0000000 --- a/.vim/ftplugin/latex-suite/packages/geometry +++ /dev/null @@ -1,93 +0,0 @@ -if exists("geometry_package_file") - finish -endif -let geometry_package_file = 1 - -let g:TeX_package_option_geometry = -\ 'sbr:Boolean,' -\.'verbose,' -\.'landscape,' -\.'portrait,' -\.'twoside,' -\.'includemp,' -\.'reversemp,' -\.'reversemarginpar,' -\.'nohead,' -\.'nofoot,' -\.'noheadfoot,' -\.'dvips,' -\.'pdftex,' -\.'vtex,' -\.'truedimen,' -\.'reset,' -\.'sbr:BooleanDimensions,' -\.'a0paper,' -\.'a1paper,' -\.'a2paper,' -\.'a3paper,' -\.'a4paper,' -\.'a5paper,' -\.'a6paper,' -\.'b0paper,' -\.'b1paper,' -\.'b2paper,' -\.'b3paper,' -\.'b4paper,' -\.'b5paper,' -\.'b6paper,' -\.'letterpaper,' -\.'executivepaper,' -\.'legalpaper,' -\.'sbr:SingleValueOption,' -\.'paper=,' -\.'papername=,' -\.'paperwidth=,' -\.'paperheight=,' -\.'width=,' -\.'totalwidth=,' -\.'height=,' -\.'totalheight=,' -\.'left=,' -\.'lmargin=,' -\.'right=,' -\.'rmargin=,' -\.'top=,' -\.'tmargin=,' -\.'bottom=,' -\.'bmargin=,' -\.'hscale=,' -\.'vscale=,' -\.'textwidth=,' -\.'textheight=,' -\.'marginparwidth=,' -\.'marginpar=,' -\.'marginparsep=,' -\.'headheight=,' -\.'head=,' -\.'headsep=,' -\.'footskip=,' -\.'hoffset=,' -\.'voffset=,' -\.'twosideshift=,' -\.'mag=,' -\.'columnsep=,' -\.'footnotesep=,' -\.'sbr:TwoValueOptions,' -\.'papersize={<++>},' -\.'total={<++>},' -\.'body={<++>},' -\.'text={<++>},' -\.'scale={<++>},' -\.'hmargin={<++>},' -\.'vmargin={<++>},' -\.'margin={<++>},' -\.'offset={<++>},' -\.'sbr:ThreeValueOptions,' -\.'hdivide={<++>},' -\.'vdivide={<++>},' -\.'divide={<++>}' - -let g:TeX_package_geometry = -\ 'bra:geometry' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/german b/.vim/ftplugin/latex-suite/packages/german deleted file mode 100644 index 9aa7519..0000000 --- a/.vim/ftplugin/latex-suite/packages/german +++ /dev/null @@ -1,12 +0,0 @@ -if exists("german_package_file") - finish -endif -let german_package_file = 1 - -let g:TeX_package_german = '' -let g:TeX_package_option_german = '' -" For now just define the smart quotes. -let b:Tex_SmartQuoteOpen = '"`' -let b:Tex_SmartQuoteClose = "\"'" - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/graphicx b/.vim/ftplugin/latex-suite/packages/graphicx deleted file mode 100644 index 4aa7571..0000000 --- a/.vim/ftplugin/latex-suite/packages/graphicx +++ /dev/null @@ -1,69 +0,0 @@ -if exists("graphicx_package_file") - finish -endif -let graphicx_package_file = 1 - -let g:TeX_package_option_graphicx = -\ 'sbr:Drivers,' -\.'xdvi,' -\.'dvipdf,' -\.'dvipdfm,' -\.'pdftex,' -\.'dvipsone,' -\.'dviwindo,' -\.'emtex,' -\.'dviwin,' -\.'oztex,' -\.'textures,' -\.'pctexps,' -\.'pctexwin,' -\.'pctexhp,' -\.'pctex32,' -\.'truetex,' -\.'tcidvi,' -\.'vtex,' -\.'sbr:Rest,' -\.'debugshow,' -\.'draft,' -\.'final,' -\.'hiderotate,' -\.'hiresbb,' -\.'hidescale,' -\.'unknownkeysallowed,' -\.'unknownkeyserror' - -let g:TeX_package_graphicx = -\ 'sbr:Includegraphics,' -\.'brs:includegraphics[<++>]{<++>},' -\.'spe:height=,' -\.'spe:width=,' -\.'spe:keepaspectratio=,' -\.'spe:totalheight=,' -\.'spe:angle=,' -\.'spe:scale=,' -\.'spe:origin=,' -\.'spe:clip,' -\.'spe:bb=,' -\.'spe:viewport=,' -\.'spe:trim=,' -\.'spe:draft,' -\.'spe:hiresbb,' -\.'spe:type=,' -\.'spe:ext=,' -\.'spe:read=,' -\.'spe:command=,' -\.'sbr:Rotatebox,' -\.'brs:rotatebox[<++>]{<++>}{<++>},' -\.'spe:origin=,' -\.'spe:x=,' -\.'spe:y=,' -\.'spe:units=,' -\.'sbr:Rest,' -\.'brs:scalebox{<++>}[<++>]{<++>},' -\.'brs:resizebox{<++>}{<++>}{<++>},' -\.'brs:resizebox*{<++>}{<++>}{<++>},' -\.'bra:DeclareGraphicsExtensions,' -\.'brs:DeclareGraphicsRule{<++>}{<++>}{<++>}{<++>},' -\.'bra:graphicspath' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/graphpap b/.vim/ftplugin/latex-suite/packages/graphpap deleted file mode 100644 index ebbd268..0000000 --- a/.vim/ftplugin/latex-suite/packages/graphpap +++ /dev/null @@ -1,10 +0,0 @@ -if exists("graphpap_package_file") - finish -endif -let graphpap_package_file = 1 - -let g:TeX_package_option_graphpap = '' - -let g:TeX_package_graphpap = 'brs:graphpaper[<+step+>](<+x1,y1+>)(<+x2,y2+>)' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/harpoon b/.vim/ftplugin/latex-suite/packages/harpoon deleted file mode 100644 index 994801d..0000000 --- a/.vim/ftplugin/latex-suite/packages/harpoon +++ /dev/null @@ -1,18 +0,0 @@ -if exists("harpoon_package_file") - finish -endif -let harpoon_package_file = 1 - -let g:TeX_package_option_harpoon = '' - -let g:TeX_package_harpoon = -\ 'bra:overleftharp,' -\.'bra:overrightharp,' -\.'bra:overleftharpdown,' -\.'bra:overrightharpdown,' -\.'bra:underleftharp,' -\.'bra:underrightharp,' -\.'bra:underleftharpdown,' -\.'bra:underrightharpdown' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/hhline b/.vim/ftplugin/latex-suite/packages/hhline deleted file mode 100644 index a024c19..0000000 --- a/.vim/ftplugin/latex-suite/packages/hhline +++ /dev/null @@ -1,21 +0,0 @@ -if exists("hhline_package_file") - finish -endif -let hhline_package_file = 1 - -let g:TeX_package_option_hhline = '' - -let g:TeX_package_hhline = -\ 'bra:hhline,' -\.'sep:a,' -\.'spe:=,' -\.'spe:-,' -\.'spe:~,' -\."spe:\\\|," -\.'spe::,' -\.'spe:#,' -\.'spe:t,' -\.'spe:b,' -\.'spe:*' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/histogram b/.vim/ftplugin/latex-suite/packages/histogram deleted file mode 100644 index b18fc07..0000000 --- a/.vim/ftplugin/latex-suite/packages/histogram +++ /dev/null @@ -1,13 +0,0 @@ -if exists("histogram_package_file") - finish -endif -let histogram_package_file = 1 - -let g:TeX_package_option_histogram = '' - -let g:TeX_package_histogram = -\ 'histogram,' -\.'noverticallines,' -\.'verticallines' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/hyperref b/.vim/ftplugin/latex-suite/packages/hyperref deleted file mode 100644 index a82aac3..0000000 --- a/.vim/ftplugin/latex-suite/packages/hyperref +++ /dev/null @@ -1,167 +0,0 @@ -if exists("hyperref_package_file") - finish -endif -let hyperref_package_file = 1 - -let g:TeX_package_option_hyperref = -\ '4=,' -\.'a4paper,' -\.'a5paper,' -\.'anchorcolor=,' -\.'b5paper,' -\.'backref=,' -\.'baseurl={<++>},' -\.'bookmarks=,' -\.'bookmarksnumbered=,' -\.'bookmarksopen=,' -\.'bookmarksopenlevel=,' -\.'bookmarkstype=,' -\.'breaklinks=,' -\.'citebordercolor=,' -\.'citecolor=,' -\.'colorlinks=,' -\.'debug=,' -\.'draft,' -\.'dvipdf,' -\.'dvipdfm,' -\.'dvips,' -\.'dvipsone,' -\.'dviwindo,' -\.'executivepaper,' -\.'extension=,' -\.'filebordercolor=,' -\.'filecolor=,' -\.'frenchlinks=,' -\.'hyperfigures=,' -\.'hyperindex=,' -\.'hypertex,' -\.'hypertexnames=,' -\.'implicit=,' -\.'latex2html,' -\.'legalpaper,' -\.'letterpaper,' -\.'linkbordercolor=,' -\.'linkcolor=,' -\.'linktocpage=,' -\.'menubordercolor=,' -\.'menucolor=,' -\.'naturalnames,' -\.'nesting=,' -\.'pageanchor=,' -\.'pagebackref=,' -\.'pagebordercolor=,' -\.'pagecolor=,' -\.'pdfauthor={<++>},' -\.'pdfborder=,' -\.'pdfcenterwindow=,' -\.'pdfcreator={<++>},' -\.'pdffitwindow,' -\.'pdfhighlight=,' -\.'pdfkeywords={<++>},' -\.'pdfmenubar=,' -\.'pdfnewwindow=,' -\.'pdfpagelabels=,' -\.'pdfpagelayout=,' -\.'pdfpagemode=,' -\.'pdfpagescrop=,' -\.'pdfpagetransition=,' -\.'pdfproducer={<++>},' -\.'pdfstartpage={<++>},' -\.'pdfstartview={<++>},' -\.'pdfsubject={<++>},' -\.'pdftex,' -\.'pdftitle={<++>},' -\.'pdftoolbar=,' -\.'pdfusetitle=,' -\.'pdfview,' -\.'pdfwindowui=,' -\.'plainpages=,' -\.'ps2pdf,' -\.'raiselinks=,' -\.'runbordercolor,' -\.'tex4ht,' -\.'textures,' -\.'unicode=,' -\.'urlbordercolor=,' -\.'urlcolor=,' -\.'verbose=,' -\.'vtex' - -let g:TeX_package_hyperref = -\ 'sbr:Preamble,' -\.'bra:hypersetup,' -\.'wwwbrowser,' -\.'sbr:Links,' -\.'bra:hyperbaseurl,' -\.'brs:href{<+URL+>}{<+text+>},' -\.'bra:hyperimage,' -\.'brs:hyperdef{<+category+>}{<+name+>}{<+text+>},' -\.'brs:hyperref{<+URL+>}{<+category+>}{<+name+>}{<+text+>},' -\.'brs:hyperlink{<+name+>}{<+text+>},' -\.'brs:hypertarget{<+name+>}{<+text+>},' -\.'bra:url,' -\.'bra:htmladdnormallink,' -\.'brs:Acrobatmenu{<+option+>}{<+tekst+>},' -\.'brs:pdfbookmark[<++>]{<++>}{<++>},' -\.'bra:thispdfpagelabel,' -\.'sbr:Forms,' -\.'env:Form,' -\.'sep:Forms1,' -\.'brs:TextField[<+parameters+>]{<+label+>},' -\.'brs:CheckBox[<+parameters+>]{<+label+>},' -\.'brs:ChoiceMenu[<+parameters+>]{<+label+>}{<+choices+>},' -\.'brs:PushButton[<+parameters+>]{<+label+>},' -\.'brs:Submit[<+parameters+>]{<+label+>},' -\.'brs:Reset[<+parameters+>]{<+label+>},' -\.'sep:Forms2,' -\.'brs:LayoutTextField{<+label+>}{<+field+>},' -\.'brs:LayoutChoiceField{<+label+>}{<+field+>},' -\.'brs:LayoutCheckboxField{<+label+>}{<+field+>},' -\.'sep:Forms3,' -\.'brs:MakeRadioField{<+width+>}{<+height+>},' -\.'brs:MakeCheckField{<+width+>}{<+height+>},' -\.'brs:MakeTextField{<+width+>}{<+height+>},' -\.'brs:MakeChoiceField{<+width+>}{<+height+>},' -\.'brs:MakeButtonField{<+text+>},' -\.'sbr:Parameters,' -\.'spe:accesskey,' -\.'spe:align,' -\.'spe:backgroundcolor,' -\.'spe:bordercolor,' -\.'spe:bordersep,' -\.'spe:borderwidth,' -\.'spe:charsize,' -\.'spe:checked,' -\.'spe:color,' -\.'spe:combo,' -\.'spe:default,' -\.'spe:disabled,' -\.'spe:height,' -\.'spe:hidden,' -\.'spe:maxlen,' -\.'spe:menulength,' -\.'spe:multiline,' -\.'spe:name,' -\.'spe:onblur,' -\.'spe:onchange,' -\.'spe:onclick,' -\.'spe:ondblclick,' -\.'spe:onfocus,' -\.'spe:onkeydown,' -\.'spe:onkeypress,' -\.'spe:onkeyup,' -\.'spe:onmousedown,' -\.'spe:onmousemove,' -\.'spe:onmouseout,' -\.'spe:onmouseover,' -\.'spe:onmouseup,' -\.'spe:onselect,' -\.'spe:password,' -\.'spe:popdown,' -\.'spe:radio,' -\.'spe:readonly,' -\.'spe:tabkey,' -\.'spe:value,' -\.'spe:width' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/ifthen b/.vim/ftplugin/latex-suite/packages/ifthen deleted file mode 100644 index 82dbe69..0000000 --- a/.vim/ftplugin/latex-suite/packages/ifthen +++ /dev/null @@ -1,21 +0,0 @@ -if exists("ifthen_package_file") - finish -endif -let ifthen_package_file = 1 - -let g:TeX_package_option_ifthen = '' - -let g:TeX_package_ifthen = -\ 'brs:ifthenelse{<++>}{<++>}{<++>},' -\.'brd:equal,' -\.'bra:boolean,' -\.'bra:lengthtest,' -\.'bra:isodd,' -\.'brd:whiledo,' -\.'bra:newboolean,' -\.'brd:setboolean,' -\.'nor:and,' -\.'nor:or,' -\.'nor:not' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/inputenc b/.vim/ftplugin/latex-suite/packages/inputenc deleted file mode 100644 index 73abe9a..0000000 --- a/.vim/ftplugin/latex-suite/packages/inputenc +++ /dev/null @@ -1,29 +0,0 @@ -if exists("inputenc_package_file") - finish -endif -let inputenc_package_file = 1 - -let g:TeX_package_option_inputenc = -\ 'ascii,' -\.'latin1,' -\.'latin2,' -\.'latin3,' -\.'latin4,' -\.'latin5,' -\.'latin9,' -\.'decmulti,' -\.'cp850,' -\.'cp852,' -\.'cp437,' -\.'cp437de,' -\.'cp865,' -\.'applemac,' -\.'next,' -\.'ansinew,' -\.'cp1250,' -\.'cp1252' - -let g:TeX_package_inputenc = -\ 'bra:inputencoding' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/letterspace b/.vim/ftplugin/latex-suite/packages/letterspace deleted file mode 100644 index 9a53eaa..0000000 --- a/.vim/ftplugin/latex-suite/packages/letterspace +++ /dev/null @@ -1,10 +0,0 @@ -if exists("letterspace_package_file") - finish -endif -let letterspace_package_file = 1 - -let g:TeX_package_option_letterspace = '' - -let g:TeX_package_letterspace = 'nor:letterspace' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/lineno b/.vim/ftplugin/latex-suite/packages/lineno deleted file mode 100644 index 4567602..0000000 --- a/.vim/ftplugin/latex-suite/packages/lineno +++ /dev/null @@ -1,60 +0,0 @@ -if exists("lineno_package_file") - finish -endif -let lineno_package_file = 1 - -let g:TeX_package_option_lineno = -\ 'left,' -\.'right,' -\.'switch,' -\.'switch*,' -\.'pagewise,' -\.'running,' -\.'modulo,' -\.'mathlines,' -\.'displaymath,' -\.'hyperref' - -let g:TeX_package_lineno = -\ 'sbr:Environments,' -\.'env:linenumbers,' -\.'env:linenumbers*,' -\.'env:numquote,' -\.'env:numquote*,' -\.'env:numquotation,' -\.'env:numquotation*,' -\.'env:bframe,' -\.'env:linenomath,' -\.'env:linenomath*,' -\.'bra:linelabel,' -\.'sbr:Commands,' -\.'nor:linenumbers,' -\.'nor:linenumbers*,' -\.'noo:linenumbers,' -\.'nor:nolinenumbers,' -\.'nor:runninglinenumbers,' -\.'nor:runninglinenumbers*,' -\.'noo:runninglinenumbers,' -\.'nor:pagewiselinenumbers,' -\.'nor:resetlinenumber,' -\.'noo:resetlinenumber,' -\.'nor:setrunninglinenumbers,' -\.'nor:setpagewiselinenumbers,' -\.'nor:switchlinenumbers,' -\.'nor:switchlinenumbers*,' -\.'nor:leftlinenumbers,' -\.'nor:leftlinenumbers*,' -\.'nor:rightlinenumbers,' -\.'nor:rightlinenumbers*,' -\.'nor:runningpagewiselinenumbers,' -\.'nor:realpagewiselinenumbers,' -\.'nor:modulolinenumbers,' -\.'noo:modulolinenumbers,' -\.'nor:linenumberdisplaymath,' -\.'nor:nolinenumberdisplaymath,' -\.'nor:thelinenumber,' -\.'nob:linerefp,' -\.'nob:linerefr,' -\.'nob:lineref' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/longtable b/.vim/ftplugin/latex-suite/packages/longtable deleted file mode 100644 index 6644862..0000000 --- a/.vim/ftplugin/latex-suite/packages/longtable +++ /dev/null @@ -1,35 +0,0 @@ -if exists("longtable_package_file") - finish -endif -let longtable_package_file = 1 - -let g:TeX_package_option_longtable = -\ 'errorshow,' -\.'pausing,' -\.'set,' -\.'final' - -let g:TeX_package_longtable = -\ 'sbr:Commands,' -\.'nor:setlongtables,' -\.'bra:LTleft,' -\.'bra:LTright,' -\.'bra:LTpre,' -\.'bra:LTpost,' -\.'bra:LTchunksize,' -\.'bra:LTcapwidth,' -\.'bra:LTcapwidth,' -\.'sbr:Longtable,' -\.'env:longtable,' -\.'sep:lt,' -\.'nor:endhead,' -\.'nor:endfirsthead,' -\.'nor:endfoot,' -\.'nor:endlastfoot,' -\.'nor:kill,' -\.'bra:caption,' -\.'nob:caption,' -\.'bra:caption*,' -\.'nor:newpage' - -" vim:ft=vim:ts=4:sw=4:noet:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/lscape b/.vim/ftplugin/latex-suite/packages/lscape deleted file mode 100644 index 33976ea..0000000 --- a/.vim/ftplugin/latex-suite/packages/lscape +++ /dev/null @@ -1,10 +0,0 @@ -if exists("lscape_package_file") - finish -endif -let lscape_package_file = 1 - -let g:TeX_package_option_lscape = '' - -let g:TeX_package_lscape = 'env:landscape' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/manyfoot b/.vim/ftplugin/latex-suite/packages/manyfoot deleted file mode 100644 index 7cab55f..0000000 --- a/.vim/ftplugin/latex-suite/packages/manyfoot +++ /dev/null @@ -1,15 +0,0 @@ -if exists("manyfoot_package_file") - finish -endif -let manyfoot_package_file = 1 - -let g:TeX_package_option_manyfoot = 'para' - -let g:TeX_package_manyfoot = -\ 'bra:newfootnote,bra:newfootnote[para],' -\.'bra:footnoteA,bra:footnoteB,' -\.'bra:FootnoteA,bra:FootnoteB,' -\.'bra:Footnotemark,bra:Footnotetext,' -\.'SplitNote' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/moreverb b/.vim/ftplugin/latex-suite/packages/moreverb deleted file mode 100644 index 8614e3b..0000000 --- a/.vim/ftplugin/latex-suite/packages/moreverb +++ /dev/null @@ -1,28 +0,0 @@ -if exists("moreverb_package_file") - finish -endif -let moreverb_package_file = 1 - -let g:TeX_package_option_moreverb = '' - -let g:TeX_package_moreverb = -\ 'ens:verbatimwrite:{<++>},' -\.'ens:verbatimtab:[<++>],' -\.'ens:listing:[<+step+>]{<+number+>},' -\.'ens:listing*:[<+step+>]{<+number+>},' -\.'env:boxedverbatim,' -\.'bra:verbatimtabsize,' -\.'bra:listingoffset,' -\.'brs:listinginput[<++>]{<++>}{<++>},' -\.'brs:verbatimtabinput[<++>]{<++>}' - -let g:Tex_completion_explorer = g:Tex_completion_explorer.'verbatimtabinput,' - -syn region texZone start="\\begin{verbatimwrite}" end="\\end{verbatimwrite}\|%stopzone\>" fold -syn region texZone start="\\begin{verbatimtab}" end="\\end{verbatimtab}\|%stopzone\>" fold -syn region texZone start="\\begin{boxedverbatim}" end="\\end{boxedverbatim}\|%stopzone\>" fold -syn region texZone start="\\begin{listing}" end="\\end{listing}\|%stopzone\>" fold -syn region texZone start="\\begin{listing*}" end="\\end{listing*}\|%stopzone\>" fold - - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/multibox b/.vim/ftplugin/latex-suite/packages/multibox deleted file mode 100644 index 00bccb2..0000000 --- a/.vim/ftplugin/latex-suite/packages/multibox +++ /dev/null @@ -1,10 +0,0 @@ -if exists("multibox_package_file") - finish -endif -let multibox_package_file = 1 - -let g:TeX_package_option_multibox = '' - -let g:TeX_package_multibox = 'multimake,multiframe' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/multicol b/.vim/ftplugin/latex-suite/packages/multicol deleted file mode 100644 index ca93189..0000000 --- a/.vim/ftplugin/latex-suite/packages/multicol +++ /dev/null @@ -1,21 +0,0 @@ -if exists("multicol_package_file") - finish -endif -let multicol_package_file = 1 - -let g:TeX_package_option_multicol = '' - -let g:TeX_package_multicol = -\ 'ens:multicols:{<+cols+>}[<+text+>][<+sep+>],' -\.'columnbreak,' -\.'premulticols,' -\.'postmulticols,' -\.'multicolsep,' -\.'columnsep,' -\.'linewidth,' -\.'columnseprule,' -\.'flushcolumnt,' -\.'raggedcolumns,' -\.'unbalanced' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/newalg b/.vim/ftplugin/latex-suite/packages/newalg deleted file mode 100644 index 1480bb6..0000000 --- a/.vim/ftplugin/latex-suite/packages/newalg +++ /dev/null @@ -1,26 +0,0 @@ -if exists("newalg_package_file") - finish -endif -let newalg_package_file = 1 - -let g:TeX_package_option_newalg = '' - -let g:TeX_package_newalg = -\ 'ens:algorithm:{<+name+>}{<++>},' -\.'ens:IF:{<+cond+>},' -\.'ens:FOR:{<+loop+>},' -\.'ens:WHILE:{<+cond+>},' -\.'bra:ERROR,' -\.'nor:ELSE,' -\.'nor:RETURN,' -\.'nor:NIL,' -\.'nor:TO,' -\.'bra:CALL,' -\.'bra:text,' -\.'env:REPEAT,' -\.'env:SWITCH,' -\.'nor:=,' -\.'bra:item,' -\.'nor:algkey' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/ngerman b/.vim/ftplugin/latex-suite/packages/ngerman deleted file mode 100644 index 534ac30..0000000 --- a/.vim/ftplugin/latex-suite/packages/ngerman +++ /dev/null @@ -1,10 +0,0 @@ -if exists("ngerman_package_file") - finish -endif -let ngerman_package_file = 1 - -" For now just define the smart quotes. -let b:Tex_SmartQuoteOpen = '"`' -let b:Tex_SmartQuoteClose = "\"'" - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/numprint b/.vim/ftplugin/latex-suite/packages/numprint deleted file mode 100644 index 4eab5a2..0000000 --- a/.vim/ftplugin/latex-suite/packages/numprint +++ /dev/null @@ -1,18 +0,0 @@ -if exists("numprint_package_file") - finish -endif -let numprint_package_file = 1 - -let g:TeX_package_option_numprint = '' - -let g:TeX_package_numprint = -\ 'bra:numprint,' -\.'nob:numprint,' -\.'bra:thousandsep,' -\.'bra:decimalsign,' -\.'bra:productsign,' -\.'bra:unitseparator,' -\.'brd:expnumprint,' -\.'global' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/oldstyle b/.vim/ftplugin/latex-suite/packages/oldstyle deleted file mode 100644 index 72b2774..0000000 --- a/.vim/ftplugin/latex-suite/packages/oldstyle +++ /dev/null @@ -1,12 +0,0 @@ -if exists("oldstyle_package_file") - finish -endif -let oldstyle_package_file = 1 - -let g:TeX_package_option_oldstyle = '' - -let g:TeX_package_oldstyle = -\ 'bra:textos,' -\.'bra:mathos' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/outliner b/.vim/ftplugin/latex-suite/packages/outliner deleted file mode 100644 index ca64322..0000000 --- a/.vim/ftplugin/latex-suite/packages/outliner +++ /dev/null @@ -1,19 +0,0 @@ -if exists("outliner_package_file") - finish -endif -let outliner_package_file = 1 - -let g:TeX_package_option_outliner = '' - -let g:TeX_package_outliner = -\ 'env:Outline,' -\.'bra:Level,' -\.'bra:SetBaseLevel,' -\.'sep:preamble,' -\.'bra:OutlinePageBreaks,' -\.'bra:OutlinePageBreaks,' -\.'bra:OutlineLevelStart,' -\.'bra:OutlineLevelCont,' -\.'bra:OutlineLevelEnd' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/overcite b/.vim/ftplugin/latex-suite/packages/overcite deleted file mode 100644 index 25bc17d..0000000 --- a/.vim/ftplugin/latex-suite/packages/overcite +++ /dev/null @@ -1,34 +0,0 @@ -if exists("overcite_package_file") - finish -endif -let overcite_package_file = 1 - -let g:TeX_package_option_overcite = -\ 'verbose,' -\.'ref,' -\.'nospace,' -\.'space,' -\.'nosort,' -\.'sort,' -\.'nomove,' -\.'noadjust' - -let g:TeX_package_overcite = -\ 'bra:cite,' -\.'bra:citen,' -\.'bra:citenum,' -\.'bra:citeonline,' -\.'bra:nocite,' -\.'sep:redefine,' -\.'bra:citeform,' -\.'bra:citepunct,' -\.'bra:citeleft,' -\.'bra:citeright,' -\.'bra:citemid,' -\.'bra:citedash' - -syn region texRefZone matchgroup=texStatement start="\\citen\([tp]\*\=\)\={" keepend end="}\|%stopzone\>" contains=texComment,texDelimiter -syn region texRefZone matchgroup=texStatement start="\\citenum\([tp]\*\=\)\={" keepend end="}\|%stopzone\>" contains=texComment,texDelimiter -syn region texRefZone matchgroup=texStatement start="\\citeonline\([tp]\*\=\)\={" keepend end="}\|%stopzone\>" contains=texComment,texDelimiter - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/parallel b/.vim/ftplugin/latex-suite/packages/parallel deleted file mode 100644 index 19dfe8e..0000000 --- a/.vim/ftplugin/latex-suite/packages/parallel +++ /dev/null @@ -1,15 +0,0 @@ -if exists("parallel_package_file") - finish -endif -let parallel_package_file = 1 - -let g:TeX_package_option_parallel = '' - -let g:TeX_package_parallel = -\ 'env:Parallel,' -\.'bra:ParallelLText,' -\.'bra:ParallelRText,' -\.'nor:ParallelPar,' -\.'nor:tolerance' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/plain b/.vim/ftplugin/latex-suite/packages/plain deleted file mode 100644 index 6a3d092..0000000 --- a/.vim/ftplugin/latex-suite/packages/plain +++ /dev/null @@ -1,10 +0,0 @@ -if exists("plain_package_file") - finish -endif -let plain_package_file = 1 - -let g:TeX_package_option_plain = '' - -let g:TeX_package_plain = 'env:plain' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/plates b/.vim/ftplugin/latex-suite/packages/plates deleted file mode 100644 index e22817e..0000000 --- a/.vim/ftplugin/latex-suite/packages/plates +++ /dev/null @@ -1,16 +0,0 @@ -if exists("plates_package_file") - finish -endif -let plates_package_file = 1 - -let g:TeX_package_option_plates = 'figures,onefloatperpage,memoir' - -let g:TeX_package_plates = -\ 'env:plate,' -\.'listofplates,' -\.'ProcessPlates,' -\.'bra:setplatename,' -\.'bra:setplatename,' -\.'bra:atBeginPlates' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/polski b/.vim/ftplugin/latex-suite/packages/polski deleted file mode 100644 index e2c4efe..0000000 --- a/.vim/ftplugin/latex-suite/packages/polski +++ /dev/null @@ -1,165 +0,0 @@ -" Author: Mikolaj Machowski <mikmach@wp.pl> -" (c) Copyright by Mikolaj Machowski 2002-2003 -" License: Vim Charityware -" Version: 1.6 -" -" Plik jest w kodowaniu iso-8859-2. Je¶li chcesz go uzywac w MS-Windows musisz -" go przekonwertowac na cp-1250. -" -" Plik ten jest czê¶ci± vim-latexSuite, ale: -" Nie u¿ywaj±cy vim-latexSuite (http://vim-latex.sourceforge.net) mog± wyci±æ -" oznaczon± czê¶æ. Reszta mo¿e byæ kopiowana jako osobny plik pod warunkiem -" niezmieniania tej notki i informacji o prawach autorskich. -" -" This file is in iso-8859-2 encoding. If you want to use it in MS-Windows you -" have to convert it to cp-1250. -" -" This file is part of vim-latexSuite but: -" Those who do not use vim-latexSuite (http://vim-latex.sourceforge.net) can -" cut off marked part. Rest of the file can be copied as separate file under -" condition of leaving this notice and information about copyrights unchanged. - -if exists("acromake_package_file") - finish -endif -let acromake_package_file = 1 - -" --------8<------------- -" Czesc odpowiedzialna za menu -let g:TeX_package_option_polski = -\'OT1,OT4,T1,QX,plmath,nomathsymbols,MeX,prefixingverb,noprefixingverb' -let g:TeX_package_polski = -\'sbr:Dywiz&Ska,'. -\'nor:dywiz,'. -\'nor:ppauza,'. -\'nor:pauza,'. -\'nor:prefixing,'. -\'nor:nonprefixing,'. -\'nor:PLdateending,'. -\'sbr:Matematyka,'. -\'nor:arccos,'. -\'nor:arcctan,'. -\'nor:arcsin,'. -\'nor:arctan,'. -\'nor:cot,'. -\'nor:ctanh,'. -\'nor:tan,'. -\'nor:tanh,'. -\'bra:arc,'. -\'nor:ctg,'. -\'nor:ctgh,'. -\'nor:tg,'. -\'nor:tgh,'. -\'nor:nwd' - -" To wymaga calego pakietu vim-latexSuite - zakomentuj lub wytnij je¶li nie -" u¿ywasz (albo go ¶ci±gnij z http://vim-latex.sf.net) -function! TPackagePolskiTylda() - call IMAP (" ---", "~---", "tex") -endfunction -call TPackagePolskiTylda() -" --------8<------------- - -" Polskie znaki cudzyslowow -TexLet g:Tex_SmartQuoteOpen = ",," -TexLet g:Tex_SmartQuoteClose = "''" - -" Zmodyfikowana i rozwinieta funkcja Andrzeja Ostruszki -" Z dodatkiem od Benjiego Fishera (sprawdzanie sk³adni) -" -" Spacja -inoremap <buffer> <silent> <Space> <C-R>=<SID>Tex_polish_space()<CR> -inoremap <buffer> <silent> <CR> <C-R>=<SID>Tex_polish_space()<CR><BS><CR> - -" Wymuszenie tyldy -inoremap <buffer> <silent> <S-Space> ~ - -" Wymuszenie zwyklej spacji -inoremap <buffer> <silent> <C-Space> <Space> - -" Latwe przelaczanie sie miedzy magiczna spacja a zwykla -inoremap <buffer> <silent> <F8> <C-R>=<SID>TogglePolishSpace()<CR> - -function! s:TogglePolishSpace() - if !exists("b:polishspace") - iunmap <buffer> <Space> - iunmap <buffer> <CR> - let b:polishspace = 1 - return '' - else - inoremap <buffer> <silent> <Space> <C-R>=<SID>Tex_polish_space()<CR> - inoremap <buffer> <silent> <CR> <C-R>=<SID>Tex_polish_space()<CR><BS><CR> - unlet b:polishspace - return '' - endif -endfunction - - -function! s:Tex_polish_space() - "Nic magicznego w matematyce - if synIDattr(synID(line('.'),col('.')-1,0),"name") =~ '^texMath\|^texZone\^texRefZone' - return ' ' - else - let s:col = col('.') - let s:linelength = strlen(getline('.')) + 1 - " Wstaw tylde po spojnikach - if strpart(getline('.'), col('.') - 3, 2) =~? '^[[:space:]~(\[{]\?[aiouwz]$' - return '~' - " Wstaw tylde po inicjalach - konkretnie po pojedynczych wielkich - " literach i kropce. Obs³uguje poprawnie wiekszosc sytuacji. - elseif strpart(getline('.'), col('.') - 4, 3) =~? '^[[:space:]~(\[{]\?\u\.$' - return '~' - " Wstaw tylde po tytulach, skrotach bibliograficznych, podpisach - elseif strpart(getline('.'), col('.') - 9, 8) =~? '\(\s\|^\|\~\)\(str\.\|ryc\.\|rys\.\|tab\.\|art\.\|vol\.\|nr\|tabl\.\|rozdz\.\|ss\.\|s\.\|t\.\|z\.\|sir\|prof\.\|hab\.\|red\.\|min\.\|gen\.\|kpt\.\|przew\.\|p³k\|mjr\|mgr\|bp\|ks\.\|o\+\.\|¶w\.\|dr\)$' - return '~' - " Wstaw tylde miedzy rokiem, wiekiem, a odpowiednim skrotem - elseif strpart(getline('.'), col('.') - 8, 7) =~? '[0-9IVXLCM]\s\+\(r\|w\)\.[^a-z±æê³ñ󶿼]\{-}$' - s/[0-9IVXLCM]\zs\s\+\ze\(w\|r\)\.[^a-z±æê³ñ󶿼]\{-}\%#/\~/ei - exe 'normal '.s:col.'|' - if s:col == s:linelength - startinsert! - else - startinsert - endif - return ' ' - " Wstaw tylde miedzy liczba a miara, itd. - elseif strpart(getline('.'), col('.') - 10, 9) =~? '\(\d\|mln\|mld\|tys\.\)\s\+\(z³\|gr\|ha\|t\|mies\|godz\|min\|sek\|cm\|km\|mln\|mld\|tys\.\)[^a-z±æê³ñ󶿼]\{-}$' - s/\(\d\|mln\|mld\|tys\.\)\zs\s\+\ze\(z³\|gr\|ha\|m\|t\|mies\|godz\|min\|sek\|cm\|km\|mln\|mld\|tys\.\)[^a-z±æê³ñ󶿼]\{-}\%#/\~/ei - exe 'normal '.s:col.'|' - if s:col == s:linelength - startinsert! - else - startinsert - endif - return ' ' - " Rozwin myslnik w zbitkach w '\dywiz ': - " bialo-czerwony -> bialo\dywiz czerwony - elseif strpart(getline('.'), col('.') - 20, 19) =~? '[a-z±æê³ñ󶿼]-[a-z±æê³ñ󶿼]\{-}[^a-z±æê³ñ󶿼]\{-}$' - s/[a-z±æê³ñ󶿼]\zs-\ze[a-z±æê³ñ󶿼]\{-}[^a-z±æê³ñ󶿼]\{-}\%#/\\dywiz /ei - let colb = s:col + 6 - exe 'normal '.colb.'|' - if s:col == s:linelength - startinsert! - else - startinsert - endif - return ' ' - " Rozwin '--' miedzy liczbami w '\ppauza ': - " 39--45 -> 39\ppauza 45 - elseif strpart(getline('.'), col('.') - 10, 9) =~? '[0-9IVXLCM]--[0-9IVXLCM]\{-}[^0-9IVXLCM]\{-}$' - s/[0-9IVXLCM]\zs--\ze[0-9IVXLCM]\{-}[^0-9IVXLCM]\{-}\%#/\\ppauza /ei - let colb = s:col + 6 - exe 'normal '.colb.'|' - if s:col == s:linelength - startinsert! - else - startinsert - endif - return ' ' - endif - " Tu koncz komentowanie ostatniej sekcji - endif - return " " -endfunction - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/psgo b/.vim/ftplugin/latex-suite/packages/psgo deleted file mode 100644 index 1ef852c..0000000 --- a/.vim/ftplugin/latex-suite/packages/psgo +++ /dev/null @@ -1,27 +0,0 @@ -if exists("psgo_package_file") - finish -endif -let psgo_package_file = 1 - -let g:TeX_package_option_psgo = '' - -let g:TeX_package_psgo = -\ 'env:psgogoard,' -\.'env:psgoboard*,' -\.'brs:stone{<+color+>}{<+letter+>}{<+number+>},' -\.'brs:stone[<+marker+>]{<+color+>}{<+letter+>}{<+number+>},' -\.'brs:move{<+letter+>}{<+number+>},' -\.'brs:move*{<+letter+>}{<+number+>},' -\.'brs:goline{<+letter1+>}{<+number1+>}{<+letter2+>}{<+number2+>},' -\.'brs:goarrow{<+letter1+>}{<+number1+>}{<+letter2+>}{<+number2+>},' -\.'sbr:Markers,' -\.'brs:markpos{<+marker+>}{<+letter+>}{<+number+>},' -\.'markma,' -\.'marktr,' -\.'markcr,' -\.'marksq,' -\.'bra:marklb,' -\.'marksl,' -\.'markdd' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/schedule b/.vim/ftplugin/latex-suite/packages/schedule deleted file mode 100644 index 7d58f6d..0000000 --- a/.vim/ftplugin/latex-suite/packages/schedule +++ /dev/null @@ -1,20 +0,0 @@ -if exists("schedule_package_file") - finish -endif -let schedule_package_file = 1 - -let g:TeX_package_option_schedule = '' - -let g:TeX_package_schedule = -\ 'ens:schedule:[<+title+>],' -\.'bra:CellHeight,' -\.'bra:CellWidth,' -\.'bra:TimeRange,' -\.'bra:SubUnits,' -\.'bra:BeginOn,' -\.'bra:TextSize,' -\.'nor:FiveDay,' -\.'nor:SevenDay,' -\.'brs:NewAppointment{<+name+>}{<+bg+>}{<+fg+>}' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/textfit b/.vim/ftplugin/latex-suite/packages/textfit deleted file mode 100644 index 4d52785..0000000 --- a/.vim/ftplugin/latex-suite/packages/textfit +++ /dev/null @@ -1,12 +0,0 @@ -if exists("textfit_package_file") - finish -endif -let textfit_package_file = 1 - -let g:TeX_package_option_textfit = '' - -let g:TeX_package_textfit = -\ 'brd:scaletowidth,' -\.'brd:scaletoheight' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/times b/.vim/ftplugin/latex-suite/packages/times deleted file mode 100644 index 499a13b..0000000 --- a/.vim/ftplugin/latex-suite/packages/times +++ /dev/null @@ -1,10 +0,0 @@ -if exists("times_package_file") - finish -endif -let times_package_file = 1 - -let g:TeX_package_option_times = '' - -let g:TeX_package_times = '' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/tipa b/.vim/ftplugin/latex-suite/packages/tipa deleted file mode 100644 index c89cc5d..0000000 --- a/.vim/ftplugin/latex-suite/packages/tipa +++ /dev/null @@ -1,364 +0,0 @@ -if exists("tipa_package_file") - finish -endif -let tipa_package_file = 1 - -let g:TeX_package_option_tipa = -\ 'T1,' -\.'noenc,' -\.'tone,' -\.'extra,' -\.'safe' - -let g:TeX_package_tipa = -\ 'sbr:Common,' -\.'bra:textipa,' -\.'env:IPA,' -\.'tipaencoding,' -\.'bra:super,' -\.'nor:ipabar,' -\.'brd:tipalowaraccent,' -\.'brd:tipaupperaccent,' -\.'brd:tipaLowaraccent,' -\.'brd:tipaUpperaccent,' -\.'brd:ipaclap,' -\.'sbr:VowelsandConsonants,' -\.'nor:textturna,' -\.'nor:textrhooka,' -\.'nor:textlhookfour,' -\.'nor:textscripta,' -\.'nor:textturnscripta,' -\.'nor:textinvscripta,' -\.'ae,' -\.'nor:textaolig,' -\.'nor:textsca,' -\.'nor:textinvsca,' -\.'nor:textscaolig,' -\.'nor:textturnv,' -\.'nor:textsoftsign,' -\.'nor:texthardsign,' -\.'nor:texthtb,' -\.'nor:textscb,' -\.'nor:textcrb,' -\.'nor:textbarb,' -\.'nor:textbeta,' -\.'nor:textbarc,' -\.'nor:texthtc,' -\.'bra:v,' -\.'bra:c,' -\.'nor:textctc,' -\.'nor:textstretchc,' -\.'nor:textstretchcvar,' -\.'nor:textctstretchc,' -\.'nor:textctstretchcvar,' -\.'nor:textcrd,' -\.'nor:textbard,' -\.'nor:texthtd,' -\.'nor:textrtaild,' -\.'nor:texthtrtaild,' -\.'nor:textctd,' -\.'nor:textfrhookd,' -\.'nor:textfrhookdvar,' -\.'nor:textdblig,' -\.'nor:textdzlig,' -\.'nor:textdctzlig,' -\.'nor:textdyoghlig,' -\.'nor:textctdctzlig,' -\.'nor:textscdelta,' -\.'nor:dh,' -\.'nor:textrhooke,' -\.'nor:textschwa,' -\.'nor:textrhookschwa,' -\.'nor:textreve,' -\.'nor:textsce,' -\.'nor:textepsilon,' -\.'nor:textrhookepsilon,' -\.'nor:textcloseepsilon,' -\.'nor:textrevepsilon,' -\.'nor:textrhookrevepsilon,' -\.'nor:textcloserevepsilon,' -\.'nor:textscf,' -\.'nor:textscriptg,' -\.'nor:textbarg,' -\.'nor:textcrg,' -\.'nor:texthtg,' -\.'nor:textg,' -\.'nor:textscg,' -\.'nor:texthtscg,' -\.'nor:textgamma,' -\.'nor:textgrgamma,' -\.'nor:textfrtailgamma,' -\.'nor:textbktailgamma,' -\.'nor:textbabygamma,' -\.'nor:textramshorns,' -\.'nor:texthvlig,' -\.'nor:textcrh,' -\.'nor:texthth,' -\.'nor:textrtailhth,' -\.'nor:textheng,' -\.'nor:texththeng,' -\.'nor:textturnh,' -\.'nor:textsch,' -\.'nor:i,' -\.'nor:textbari,' -\.'nor:textiota,' -\.'nor:textlhti,' -\.'nor:textlhtlongi,' -\.'nor:textvibyi,' -\.'nor:textraisevibyi,' -\.'nor:textsci,' -\.'nor:j,' -\.'nor:textctj,' -\.'nor:textctjvar,' -\.'nor:textscj,' -\.'bra:v,' -\.'nor:textbardotlessj,' -\.'nor:textObardotlessj,' -\.'nor:texthtbardotlessj,' -\.'nor:texthtbardotlessjvar,' -\.'nor:texthtk,' -\.'nor:textturnk,' -\.'nor:textsck,' -\.'nor:textturnsck,' -\.'nor:textltilde,' -\.'nor:textbarl,' -\.'nor:textbeltl,' -\.'nor:textrtaill,' -\.'nor:textlyoghlig,' -\.'nor:textOlyoghlig,' -\.'nor:textscl,' -\.'nor:textrevscl,' -\.'nor:textlambda,' -\.'nor:textcrlambda,' -\.'nor:textltailm,' -\.'nor:textturnm,' -\.'nor:textturnmrleg,' -\.'nor:texthmlig,' -\.'nor:textscm,' -\.'nor:textnrleg,' -\.'~,' -\.'nor:textltailn,' -\.'nor:textfrbarn,' -\.'nor:ng,' -\.'nor:textrtailn,' -\.'nor:textctn,' -\.'nor:textnrleg,' -\.'nor:textscn,' -\.'nor:textbullseye,' -\.'nor:textObullseye,' -\.'nor:textbaro,' -\.'nor:o,' -\.'nor:textfemale,' -\.'nor:textuncrfemale,' -\.'nor:oe,' -\.'nor:textscoelig,' -\.'nor:textopeno,' -\.'nor:textrhookopeno,' -\.'nor:textturncelig,' -\.'nor:textomega,' -\.'nor:textinvomega,' -\.'nor:textscomega,' -\.'nor:textcloseomega,' -\.'nor:textlhookp,' -\.'nor:textscp,' -\.'nor:textwynn,' -\.'nor:textthorn,' -\.'nor:textthornvari,' -\.'nor:textthornvarii,' -\.'nor:textthornvariii,' -\.'nor:textthornvariv,' -\.'nor:texthtp,' -\.'nor:textphi,' -\.'nor:texthtq,' -\.'nor:textqplig,' -\.'nor:textscq,' -\.'nor:textfishhookr,' -\.'nor:textlonglegr,' -\.'nor:textrtailr,' -\.'nor:textturnr,' -\.'nor:textturnrrtail,' -\.'nor:textturnlonglegr,' -\.'nor:textscr,' -\.'nor:textinvscr,' -\.'nor:textrevscr,' -\.'bra:v,' -\.'nor:textrtails,' -\.'nor:textesh,' -\.'nor:textdoublebaresh,' -\.'nor:textctesh,' -\.'nor:textlooptoprevesh,' -\.'nor:texthtt,' -\.'nor:textlhookt,' -\.'nor:textrtailt,' -\.'nor:textfrhookt,' -\.'nor:textctturnt,' -\.'nor:texttctclig,' -\.'nor:texttslig,' -\.'nor:textteshlig,' -\.'nor:textturnt,' -\.'nor:textctt,' -\.'nor:textcttctclig,' -\.'nor:texttheta,' -\.'nor:textbaru,' -\.'nor:textupsilon,' -\.'nor:textscu,' -\.'nor:textturnscu,' -\.'nor:textscriptv,' -\.'nor:textturnw,' -\.'nor:textchi,' -\.'nor:textturny,' -\.'nor:textscy,' -\.'nor:textlhtlongy,' -\.'nor:textvibyy,' -\.'nor:textcommatailz,' -\.'bra:v,' -\.'nor:textctz,' -\.'nor:textrtailz,' -\.'nor:textcrtwo,' -\.'nor:textturntwo,' -\.'nor:textyogh,' -\.'nor:textbenttailyogh,' -\.'nor:textrevyogh,' -\.'nor:textctyogh,' -\.'nor:textturnthree,' -\.'nor:textglotstop,' -\.'nor:textraiseglotstop,' -\.'nor:textbarglotstop,' -\.'nor:textinvglotstop,' -\.'nor:textcrinvglotstop,' -\.'nor:textctinvglotstop,' -\.'nor:textrevglotstop,' -\.'nor:textturnglotstop,' -\.'nor:textbarrevglotstop,' -\.'nor:textpipe,' -\.'nor:textpipevar,' -\.'nor:textdoublebarpipe,' -\.'nor:textdoublebarpipevar,' -\.'nor:textdoublepipevar,' -\.'nor:textdoublepipe,' -\.'nor:textdoublebarslash,' -\.'sbr:Suprasegmentals,' -\.'nor:textprimstress,' -\.'nor:textsecstress,' -\.'nor:textlengthmark,' -\.'nor:texthalflength,' -\.'nor:textvertline,' -\.'nor:textdoublevertline,' -\.'bra:textbottomtiebar,' -\.'nor:textdownstep,' -\.'nor:textupstep,' -\.'nor:textglobfall,' -\.'nor:textglobrise,' -\.'nor:textspleftarrow,' -\.'nor:textdownfullarrow,' -\.'nor:textupfullarrow,' -\.'nor:textsubrightarrow,' -\.'nor:textsubdoublearrow,' -\.'sbr:AccentsandDiacritics,' -\.'`,' -\."'," -\.'^,' -\.'~,' -\.'",' -\.'bra:H,' -\.'bra:r,' -\.'bra:v,' -\.'bra:u,' -\.'=,' -\.'.,' -\.'bra:c,' -\.'bra:textpolhook,' -\.'nor:textrevpolhook{o,' -\.'bra:textdoublegrave,' -\.'bra:textsubgrave,' -\.'bra:textsubacute,' -\.'bra:textsubcircum,' -\.'bra:textroundcap,' -\.'bra:textacutemacron,' -\.'bra:textgravemacron,' -\.'bra:textvbaraccent,' -\.'bra:textdoublevbaraccent,' -\.'bra:textgravedot,' -\.'bra:textdotacute,' -\.'bra:textcircumdot,' -\.'bra:texttildedot,' -\.'bra:textbrevemacron,' -\.'bra:textringmacron,' -\.'bra:textacutewedge,' -\.'bra:textdotbreve,' -\.'bra:textsubbridge,' -\.'bra:textinvsubbridge,' -\.'sbr:SubscriptSquare,' -\.'bra:textsubrhalfring,' -\.'bra:textsublhalfring,' -\.'bra:textsubw,' -\.'bra:textoverw,' -\.'bra:textseagull,' -\.'bra:textovercross,' -\.'bra:textsubplus,' -\.'bra:textraising,' -\.'bra:textlowering,' -\.'bra:textadvancing,' -\.'bra:textretracting,' -\.'bra:textsubtilde,' -\.'bra:textsubumlaut,' -\.'bra:textsubring,' -\.'bra:textsubwedge,' -\.'bra:textsubbar,' -\.'bra:textsubdot,' -\.'bra:textsubarch,' -\.'bra:textsyllabic,' -\.'bra:textsuperimposetilde,' -\.'nor:textcorner,' -\.'nor:textopencorner,' -\.'nor:textrhoticity,' -\.'nor:textceltpal,' -\.'nor:textlptr,' -\.'nor:textrptr,' -\.'nor:textrectangle,' -\.'nor:textretractingvar,' -\.'bra:texttoptiebar,' -\.'nor:textrevapostrophe,' -\.'nor:texthooktop,' -\.'nor:textrthook,' -\.'nor:textrthooklong,' -\.'nor:textpalhook,' -\.'nor:textpalhooklong,' -\.'nor:textpalhookvar,' -\.'bra:textsuperscript,' -\.'sbr:ToneLetters,' -\.'bra:tone,' -\.'bra:stone,' -\.'bra:rtone,' -\.'nor:tone{55},' -\.'nor:tone{44},' -\.'nor:tone{33},' -\.'nor:tone{22},' -\.'nor:tone{11},' -\.'nor:tone{51},' -\.'nor:tone{15},' -\.'nor:tone{45},' -\.'nor:tone{12},' -\.'nor:tone{454},' -\.'sbr:DiacriticsExtIPA,' -\.'bra:spreadlips,' -\.'bra:overbridge,' -\.'bra:bibridge,' -\.'bra:subdoublebar,' -\.'bra:subdoublevert,' -\.'bra:subcorner,' -\.'bra:whistle,' -\.'bra:sliding,' -\.'bra:crtilde,' -\.'bra:dottedtilde,' -\.'bra:doubletilde,' -\.'bra:partvoiceless,' -\.'bra:inipartvoiceless,' -\.'bra:finpartvoiceless,' -\.'bra:partvoice,' -\.'bra:inipartvoice,' -\.'bra:finpartvoice,' -\.'bra:sublptr,' -\.'bra:subrptr' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/ulem b/.vim/ftplugin/latex-suite/packages/ulem deleted file mode 100644 index 9257713..0000000 --- a/.vim/ftplugin/latex-suite/packages/ulem +++ /dev/null @@ -1,21 +0,0 @@ -if exists("ulem_package_file") - finish -endif -let ulem_package_file = 1 - -let g:TeX_package_option_ulem = -\ 'normalem,' -\.'ULforem,' -\.'normalbf,' -\.'UWforbf' - -let g:TeX_package_ulem = -\ 'bra:uwave,' -\.'bra:uline,' -\.'bra:uuline,' -\.'bra:sout,' -\.'bra:xout,' -\.'ULthickness,' -\.'ULdepth' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/url b/.vim/ftplugin/latex-suite/packages/url deleted file mode 100644 index 642148a..0000000 --- a/.vim/ftplugin/latex-suite/packages/url +++ /dev/null @@ -1,24 +0,0 @@ -if exists("url_package_file") - finish -endif -let url_package_file = 1 - -let g:TeX_package_option_url = -\ 'hyphens,' -\.'obeyspaces,' -\.'spaces,' -\.'T1' - -let g:TeX_package_url = -\ 'bra:urlstyle,' -\.'bra:url,' -\.'bra:path,' -\.'bra:urldef' - -" TODO uncomment if you figure out -" 1. how to get this syn command to work every time instead of only the -" first time this file is sourced. -" syn region texZone start="\\url{" end="}\|%stopzone\>" -" syn region texZone start="\\path{" end="}\|%stopzone\>" - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/verbatim b/.vim/ftplugin/latex-suite/packages/verbatim deleted file mode 100644 index f2137ff..0000000 --- a/.vim/ftplugin/latex-suite/packages/verbatim +++ /dev/null @@ -1,18 +0,0 @@ -if exists("verbatim_package_file") - finish -endif -let verbatim_package_file = 1 - -let g:TeX_package_option_verbatim = '' - -let g:TeX_package_verbatim = -\ 'env:comment,' -\.'env:verbatim,' -\.'env:verbatim*,' -\.'bra:verbatiminput,' -\.'bra:verbatiminput' - -syn region texZone start="\\begin{comment}" end="\\end{comment}\|%stopzone\>" fold -syn region texZone start="\\begin{verbatim}" end="\\end{verbatim}\|%stopzone\>" fold - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/packages/version b/.vim/ftplugin/latex-suite/packages/version deleted file mode 100644 index 4de9da8..0000000 --- a/.vim/ftplugin/latex-suite/packages/version +++ /dev/null @@ -1,12 +0,0 @@ -if exists("version_package_file") - finish -endif -let version_package_file = 1 - -let g:TeX_package_option_version = '' - -let g:TeX_package_version = -\ 'bra:includeversion,' -\.'bra:excludeversion' - -" vim:ft=vim:ff=unix: diff --git a/.vim/ftplugin/latex-suite/projecttemplate.vim b/.vim/ftplugin/latex-suite/projecttemplate.vim deleted file mode 100644 index 1ab4be0..0000000 --- a/.vim/ftplugin/latex-suite/projecttemplate.vim +++ /dev/null @@ -1,11 +0,0 @@ -" Project name -" let g:projName = '' -" -" Project files -" let g:projFiles = '' - - -" Vim settings/maps/abbrs specific for this project - -" Modeline for this file -" vim:fdm=marker:ff=unix:noet:ts=4:sw=4:ft=vim diff --git a/.vim/ftplugin/latex-suite/pytools.py b/.vim/ftplugin/latex-suite/pytools.py deleted file mode 100644 index 1934e23..0000000 --- a/.vim/ftplugin/latex-suite/pytools.py +++ /dev/null @@ -1,52 +0,0 @@ -import string, vim, re, os, glob -# catFile: assigns a local variable retval to the contents of a file {{{ -def catFile(filename): - try: - file = open(filename) - lines = ''.join(file.readlines()) - file.close() - except: - lines = '' - - # escape double quotes and backslashes before quoting the string so - # everything passes throught. - vim.command("""let retval = "%s" """ % re.sub(r'"|\\', r'\\\g<0>', lines)) - return lines - -# }}} -# isPresentInFile: check if regexp is present in the file {{{ -def isPresentInFile(regexp, filename): - try: - fp = open(filename) - fcontents = string.join(fp.readlines(), '') - fp.close() - if re.search(regexp, fcontents): - vim.command('let retval = 1') - return 1 - else: - vim.command('let retval = 0') - return None - except: - vim.command('let retval = 0') - return None - -# }}} -# deleteFile: deletes a file if present {{{ -# If the file does not exist, check if its a filepattern rather than a -# filename. If its a pattern, then deletes all files matching the -# pattern. -def deleteFile(filepattern): - if os.path.exists(filepattern): - try: - os.remove(filepattern) - except: - vim.command('let retval = -1') - else: - if glob.glob(filepattern): - for filename in glob.glob(filepattern): - os.remove(filename) - else: - vim.command('let retval = -1') - -# }}} -# vim:fdm=marker:ff=unix:noet:ts=4:sw=4:nowrap diff --git a/.vim/ftplugin/latex-suite/smartspace.vim b/.vim/ftplugin/latex-suite/smartspace.vim deleted file mode 100644 index 07526d8..0000000 --- a/.vim/ftplugin/latex-suite/smartspace.vim +++ /dev/null @@ -1,102 +0,0 @@ -"============================================================================= -" File: smartspace.vim -" Author: Carl Muller -" Created: Fri Dec 06 12:00 AM 2002 PST -" -" Description: -" Maps the <space> key in insert mode so that mathematical formulaes are -" always kept on the same line. i.e, $$'s dont get broken across multiple -" lines. -"============================================================================= - -" Avoid reinclusion or if the user doesn't want us. -if exists('b:done_smartspace') - \ || (exists('g:Tex_SmartKeySpace') && !g:Tex_SmartKeySpace) - finish -endif -let b:done_smartspace = 1 - -" Smart space relies on taking over vim's insertion of carriage returns in -" order to keep $$'s on the same line. The only way to get vim not to break -" lines is to set tw=0. -" -" NOTE: setting tw != 0 will break smartspace -" the user's 'tw' setting is still respected in the insert mode. -" However, normal mode actions which rely on 'tw' such as gqap will be -" broken because of the faulty 'tw' setting. -let b:tw = &l:tw -setlocal tw=0 - -inoremap <buffer> <silent> <Space> <Space><Esc>:call <SID>TexFill(b:tw)<CR>a - -" Do not redefine the function. -if exists('*s:TexFill') - finish -endif - -" TexFormatLine: format line retaining $$'s on the same line. {{{ -function! s:TexFill(width) - if a:width != 0 && col(".") > a:width - " For future use, record the current line and the number of the current column - let current_line = getline(".") - let current_column = col(".") - exe "normal! a##\<Esc>" - call <SID>TexFormatLine(a:width,current_line,current_column) - exe "normal! ?##\<CR>2s\<Esc>" - " Remove ## from the search history. - call histdel("/", -1)|let @/=histget("/", -1) - endif -endfunction - -" }}} -function! s:TexFormatLine(width, current_line, current_column) " {{{ - " get the first non-blank character. - let first = matchstr(getline('.'), '\S') - normal! $ - let length = col('.') - let go = 1 - while length > a:width+2 && go - let between = 0 - let string = strpart(getline('.'), 0, a:width) - " Count the dollar signs - let number_of_dollars = 0 - let evendollars = 1 - let counter = 0 - while counter <= a:width-1 - " Pay attention to '$$'. - if string[counter] == '$' && string[counter-1] != '$' - let evendollars = 1 - evendollars - let number_of_dollars = number_of_dollars + 1 - endif - let counter = counter + 1 - endwhile - " Get ready to split the line. - exe 'normal! ' . (a:width + 1) . '|' - if evendollars - " Then you are not between dollars. - exe "normal! ?\\$\\+\\| \<CR>W" - else - " Then you are between dollars. - normal! F$ - if col(".") == 1 || getline('.')[col(".")-1] != "$" - let go = 0 - endif - endif - if first == '$' && number_of_dollars == 1 - let go = 0 - else - exe "normal! i\<CR>\<Esc>$" - " get the first non-blank character. - let first = matchstr(getline('.'), '\S') - endif - let length = col(".") - endwhile - if go == 0 && strpart(a:current_line, 0, a:current_column) =~ '.*\$.*\$.*' - exe "normal! ^f$a\<CR>\<Esc>" - call <SID>TexFormatLine(a:width, a:current_line, a:current_column) - endif -endfunction - -" }}} - -" vim:fdm=marker:ts=4:sw=4:noet diff --git a/.vim/ftplugin/latex-suite/templates.vim b/.vim/ftplugin/latex-suite/templates.vim deleted file mode 100644 index e28e429..0000000 --- a/.vim/ftplugin/latex-suite/templates.vim +++ /dev/null @@ -1,149 +0,0 @@ -"============================================================================= -" File: templates.vim -" Author: Gergely Kontra -" (minor modifications by Srinath Avadhanula) -" (plus other modifications by Mikolaj Machowski) -" Version: 1.0 -" Created: Tue Apr 23 05:00 PM 2002 PST -" CVS: $Id: templates.vim 1002 2006-03-23 04:02:21Z srinathava $ -" -" Description: functions for handling templates in latex-suite/templates -" directory. -"============================================================================= - -let s:path = expand("<sfile>:p:h") - -" SetTemplateMenu: sets up the menu for templates {{{ -function! <SID>SetTemplateMenu() - let flist = Tex_FindInRtp('', 'templates') - let i = 1 - while 1 - let fname = Tex_Strntok(flist, ',', i) - if fname == '' - break - endif - exe "amenu ".g:Tex_TemplatesMenuLocation."&".i.":<Tab>".fname." ". - \":call <SID>ReadTemplate('".fname."')<CR>" - let i = i + 1 - endwhile -endfunction - -if g:Tex_Menus - call <SID>SetTemplateMenu() -endif - -" }}} -" ReadTemplate: reads in the template file from the template directory. {{{ -function! <SID>ReadTemplate(...) - if a:0 > 0 - let filename = a:1 - else - let filelist = Tex_FindInRtp('', 'templates') - let filename = - \ Tex_ChooseFromPrompt("Choose a template file:\n" . - \ Tex_CreatePrompt(filelist, 2, ',') . - \ "\nEnter number or name of file :", - \ filelist, ',') - endif - - let fname = Tex_FindInRtp(filename.'.tex', 'templates', ':p') - call Tex_Debug("0read ".fname, 'templates') - - silent! exe "0read ".fname - - " The first line of the file contains the specifications of what the - " placeholder characters and the other special characters are. - let pattern = '\v(\S+)\t(\S+)\t(\S+)\t(\S+)' - - let s:phsTemp = substitute(getline(1), pattern, '\1', '') - let s:pheTemp = substitute(getline(1), pattern, '\2', '') - let s:exeTemp = substitute(getline(1), pattern, '\3', '') - let s:comTemp = substitute(getline(1), pattern, '\4', '') - - 0 d_ - - call s:ProcessTemplate() - call Tex_pack_updateall(1) - - " Do not handle the placeholders here. Let IMAP_PutTextWithMovement do it - " because it handles UTF-8 character substitutions etc. Therefore delete - " the text into @a and paste it using IMAP_PutTextWithMovement(). - let _a = @a - normal! ggVG"ax - - let _fo = &fo - " Since IMAP_PutTextWithMovement simulates the key-presses, leading - " indendatation can get duplicated in strange ways if ``fo`` is non-empty. - " NOTE: the indentexpr thingie is still respected with an empty fo so that - " environments etc are properly indented. - set fo= - - call Tex_Debug("normal! i\<C-r>=IMAP_PutTextWithMovement(@a, '".s:phsTemp."', '".s:pheTemp."')\<CR>", 'templates') - exec "normal! i\<C-r>=IMAP_PutTextWithMovement(@a, '".s:phsTemp."', '".s:pheTemp."')\<CR>" - - let &fo = _fo - let @a = _a - - call Tex_Debug('phs = '.s:phsTemp.', phe = '.s:pheTemp.', exe = '.s:exeTemp.', com = '.s:comTemp, 'templates') - -endfunction - -" }}} -" ProcessTemplate: processes the special characters in template file. {{{ -" This implementation follows from Gergely Kontra's -" mu-template.vim -" http://vim.sourceforge.net/scripts/script.php?script_id=222 -function! <SID>ProcessTemplate() - if exists('s:phsTemp') && s:phsTemp != '' - - exec 'silent! %s/^'.s:comTemp.'\(\_.\{-}\)'.s:comTemp.'$/\=<SID>Compute(submatch(1))/ge' - exec 'silent! %s/'.s:exeTemp.'\(.\{-}\)'.s:exeTemp.'/\=<SID>Exec(submatch(1))/ge' - exec 'silent! g/'.s:comTemp.s:comTemp.'/d' - - " A function only puts one item into the search history... - call Tex_CleanSearchHistory() - endif -endfunction - -function! <SID>Exec(what) - exec 'return '.a:what -endfunction - -" Back-Door to trojans !!! -function! <SID>Compute(what) - exe a:what - if exists('s:comTemp') - return s:comTemp.s:comTemp - else - return '' - endif -endfunction - -" }}} -" Command definitions {{{ -if v:version >= 602 - com! -complete=custom,Tex_CompleteTemplateName -nargs=? TTemplate :call <SID>ReadTemplate(<f-args>) - \| :startinsert - - " Tex_CompleteTemplateName: for completing names in TTemplate command {{{ - " Description: get list of template names with Tex_FindInRtp(), remove full path - " and return list of names separated with newlines. - " - function! Tex_CompleteTemplateName(A,P,L) - " Get name of macros from all runtimepath directories - let tmplnames = Tex_FindInRtp('', 'templates') - " Separate names with \n not , - let tmplnames = substitute(tmplnames,',','\n','g') - return tmplnames - endfunction - " }}} - -else - com! -nargs=? TTemplate :call <SID>ReadTemplate(<f-args>) - \| :startinsert - -endif - -" }}} - -" vim:fdm=marker:ff=unix:noet:ts=4:sw=4 diff --git a/.vim/ftplugin/latex-suite/templates/IEEEtran.tex b/.vim/ftplugin/latex-suite/templates/IEEEtran.tex deleted file mode 100644 index 104f9b2..0000000 --- a/.vim/ftplugin/latex-suite/templates/IEEEtran.tex +++ /dev/null @@ -1,142 +0,0 @@ -<+ +> !comp! !exe! -%% Based on <bare_jrnl.tex> in the ieee package available from CTAN, -%% I have changed the options so that most useful ones are clubbed together, -%% Have a look at <bare_jrnl.tex> to understand the function of each package. - -%% This code is offered as-is - no warranty - user assumes all risk. -%% Free to use, distribute and modify. - -% *** Authors should verify (and, if needed, correct) their LaTeX system *** -% *** with the testflow diagnostic prior to trusting their LaTeX platform *** -% *** with production work. IEEE's font choices can trigger bugs that do *** -% *** not appear when using other class files. *** -% Testflow can be obtained at: -% http://www.ctan.org/tex-archive/macros/latex/contrib/supported/IEEEtran/testflow - -% File: !comp!expand("%:p:t")!comp! -% Created: !comp!strftime("%a %b %d %I:00 %p %Y ").substitute(strftime('%Z'), '\<\(\w\)\(\w*\)\>\(\W\|$\)', '\1', 'g')!comp! -% Last Change: !comp!strftime("%a %b %d %I:00 %p %Y ").substitute(strftime('%Z'), '\<\(\w\)\(\w*\)\>\(\W\|$\)', '\1', 'g')!comp! -% -\documentclass[journal]{IEEEtran} - -\usepackage{cite, graphicx, subfigure, amsmath} -\interdisplaylinepenalty=2500 - -% *** Do not adjust lengths that control margins, column widths, etc. *** -% *** Do not use packages that alter fonts (such as pslatex). *** -% There should be no need to do such things with IEEEtran.cls V1.6 and later. - -<++> -% correct bad hyphenation here -\hyphenation{<+op-tical net-works semi-conduc-tor+>} - - -\begin{document} -% -% paper title -\title{<+Skeleton of IEEEtran.cls for Journals in VIM-Latex+>} -% -% -% author names and IEEE memberships -% note positions of commas and nonbreaking spaces ( ~ ) LaTeX will not break -% a structure at a ~ so this keeps an author's name from being broken across -% two lines. -% use \thanks{} to gain access to the first footnote area -% a separate \thanks must be used for each paragraph as LaTeX2e's \thanks -% was not built to handle multiple paragraphs -\author{<+Sumit Bhardwaj+>~\IEEEmembership{<+Student~Member,~IEEE,+>} -<+John~Doe+>,~\IEEEmembership{<+Fellow,~OSA,+>} -<+and~Jane~Doe,+>~\IEEEmembership{<+Life~Fellow,~IEEE+>}}% <-this % stops a space -\thanks{<+Manuscript received January 20, 2002; revised August 13, 2002. -This work was supported by the IEEE.+>}% <-this % stops a space -\thanks{<+S. Bhardwaj is with the Indian Institute of Technology, Delhi.+>} -% -% The paper headers -\markboth{<+Journal of VIM-\LaTeX\ Class Files,~Vol.~1, No.~8,~August~2002+>}{ -<+Bhardwaj \MakeLowercase{\textit{et al.}+>}: <+Skeleton of IEEEtran.cls for Journals in VIM-Latex+>} -% The only time the second header will appear is for the odd numbered pages -% after the title page when using the twoside option. - - -% If you want to put a publisher's ID mark on the page -% (can leave text blank if you just want to see how the -% text height on the first page will be reduced by IEEE) -%\pubid{0000--0000/00\$00.00~\copyright~2002 IEEE} - -% use only for invited papers -%\specialpapernotice{(Invited Paper)} - -% make the title area -\maketitle - - -\begin{abstract} -<+The abstract goes here.+> -\end{abstract} - -\begin{keywords} -<+IEEEtran, journal, \LaTeX, paper, template, VIM, VIM-\LaTeX+>. -\end{keywords} - -\section{Introduction} -\PARstart{<+T+>}{<+his+>} <+demo file is intended to serve as a ``starter file" -for IEEE journal papers produced under \LaTeX\ using IEEEtran.cls version -1.6 and later.+> -% You must have at least 2 lines in the paragraph with the drop letter -% (should never be an issue) -<+May all your publication endeavors be successful.+> - -% needed in second column of first page if using \pubid -%\pubidadjcol - -% trigger a \newpage just before the given reference -% number - used to balance the columns on the last page -% adjust value as needed - may need to be readjusted if -% the document is modified later -%\IEEEtriggeratref{8} -% The "triggered" command can be changed if desired: -%\IEEEtriggercmd{\enlargethispage{-5in}} - -% references section - -%\bibliographystyle{IEEEtran.bst} -%\bibliography{IEEEabrv,../bib/paper} -\begin{thebibliography}{1} - -\bibitem{IEEEhowto:kopka} -H.~Kopka and P.~W. Daly, \emph{A Guide to {\LaTeX}}, 3rd~ed.\hskip 1em plus -0.5em minus 0.4em\relax Harlow, England: Addison-Wesley, 1999. - -\end{thebibliography} - -% biography section -% -\begin{biography}{Sumit Bhardwaj} -Biography text here. -\end{biography} - -% if you will not have a photo -\begin{biographynophoto}{John Doe} -Biography text here. -\end{biographynophoto} - -% insert where needed to balance the two columns on the last page -%\newpage - -\begin{biographynophoto}{Jane Doe} -Biography text here. -\end{biographynophoto} - -% You can push biographies down or up by placing -% a \vfill before or after them. The appropriate -% use of \vfill depends on what kind of text is -% on the last page and whether or not the columns -% are being equalized. - -%\vfill - -% Can be used to pull up biographies so that the bottom of the last one -% is flush with the other column. -%\enlargethispage{-5in} - -\end{document} diff --git a/.vim/ftplugin/latex-suite/templates/article.tex b/.vim/ftplugin/latex-suite/templates/article.tex deleted file mode 100644 index ea7e1d1..0000000 --- a/.vim/ftplugin/latex-suite/templates/article.tex +++ /dev/null @@ -1,9 +0,0 @@ -<+ +> !comp! !exe! -% File: !comp!expand("%:p:t")!comp! -% Created: !comp!strftime("%a %b %d %I:00 %p %Y ").substitute(strftime('%Z'), '\<\(\w\)\(\w*\)\>\(\W\|$\)', '\1', 'g')!comp! -% Last Change: !comp!strftime("%a %b %d %I:00 %p %Y ").substitute(strftime('%Z'), '\<\(\w\)\(\w*\)\>\(\W\|$\)', '\1', 'g')!comp! -% -\documentclass[a4paper]{article} -\begin{document} -<++> -\end{document} diff --git a/.vim/ftplugin/latex-suite/templates/report.tex b/.vim/ftplugin/latex-suite/templates/report.tex deleted file mode 100644 index 479c7b3..0000000 --- a/.vim/ftplugin/latex-suite/templates/report.tex +++ /dev/null @@ -1,9 +0,0 @@ -<+ +> !comp! !exe! -% File: !comp!expand("%")!comp! -% Created: !comp!strftime("%a %b %d %I:00 %p %Y ").substitute(strftime('%Z'), '\<\(\w\)\(\w*\)\>\(\W\|$\)', '\1', 'g')!comp! -% Last Change: !comp!strftime("%a %b %d %I:00 %p %Y ").substitute(strftime('%Z'), '\<\(\w\)\(\w*\)\>\(\W\|$\)', '\1', 'g')!comp! -% -\documentclass[a4paper]{report} -\begin{document} -<++> -\end{document} diff --git a/.vim/ftplugin/latex-suite/templates/report_two_column.tex b/.vim/ftplugin/latex-suite/templates/report_two_column.tex deleted file mode 100644 index 15bd95e..0000000 --- a/.vim/ftplugin/latex-suite/templates/report_two_column.tex +++ /dev/null @@ -1,9 +0,0 @@ -<+ +> !comp! !exe! -% File: !comp!expand("%:p:t")!comp! -% Created: !comp!strftime("%a %b %d %I:00 %p %Y ").substitute(strftime('%Z'), '\<\(\w\)\(\w*\)\>\(\W\|$\)', '\1', 'g')!comp! -% Last Change: !comp!strftime("%a %b %d %I:00 %p %Y ").substitute(strftime('%Z'), '\<\(\w\)\(\w*\)\>\(\W\|$\)', '\1', 'g')!comp! -% -\documentclass[a4paper,twocolumn]{report} -\begin{document} -<++> -\end{document} diff --git a/.vim/ftplugin/latex-suite/texmenuconf.vim b/.vim/ftplugin/latex-suite/texmenuconf.vim deleted file mode 100644 index 405e46a..0000000 --- a/.vim/ftplugin/latex-suite/texmenuconf.vim +++ /dev/null @@ -1,131 +0,0 @@ -"============================================================================= -" File: texmenuconf.vim -" Author: Srinath Avadhanula -" Copyright: Vim charityware license. :help license -" Description: -" CVS: $Id: texmenuconf.vim 997 2006-03-20 09:45:45Z srinathava $ -" -"============================================================================= - -" Paths, crucial for functions -let s:path = expand("<sfile>:p:h") -let s:up_path = expand("<sfile>:p:h:h") -let s:mainmenuname = g:Tex_MenuPrefix.'S&uite.' -let s:mapleader = exists('mapleader') ? mapleader : "\\" - -" This glboal variable is incremented each time a top-level latex-suite menu -" is created. We should always use this variable for setting the locations of -" newly created top-level menus. -let g:Tex_NextMenuLocation = g:Tex_MainMenuLocation - -" The templates and macros menus are always nested within the main latex-suit -" menu. -let g:Tex_TemplatesMenuLocation = g:Tex_MainMenuLocation.'.20 '.s:mainmenuname.'&Templates.' -let g:Tex_MacrosMenuLocation = g:Tex_MainMenuLocation.'.20 '.s:mainmenuname.'&Macros.' - -" The packages menu can either be a child of the main menu or be a top-level -" menu by itself. -if g:Tex_NestPackagesMenu - let g:Tex_PackagesMenuLocation = (g:Tex_MainMenuLocation).'.10 '.s:mainmenuname.'&Packages.' -else - let g:Tex_PackagesMenuLocation = (g:Tex_NextMenuLocation).'.10 '.g:Tex_MenuPrefix.'Packages.' - let g:Tex_NextMenuLocation = g:Tex_NextMenuLocation + 1 -endif - -" Environments are always a top-level menu. -let g:Tex_EnvMenuLocation = (g:Tex_NextMenuLocation).'.20 '.g:Tex_MenuPrefix.'E&nvironments.' -let g:Tex_NextMenuLocation = g:Tex_NextMenuLocation + 1 - -" Elements are always a top-level menu. -" If we choose to nest elements, then the top-level &TeX-Elements menu -" contains <Fonts / Counters / Dimensions> -" otherwise, the Fonts, Counters and Dimensions menus become top-level menus. -if g:Tex_NestElementMenus - let g:Tex_ElementsMenuLocation = (g:Tex_NextMenuLocation).'.20 '.g:Tex_MenuPrefix.'E&lements.' -else - let g:Tex_ElementsMenuLocation = (g:Tex_NextMenuLocation).'.20 '.g:Tex_MenuPrefix -endif -let g:Tex_NextMenuLocation = g:Tex_NextMenuLocation + 1 - - -" Set up the compiler/viewer menus. {{{ -" -if has('gui_running') && g:Tex_Menus - exec 'anoremenu '.g:Tex_MainMenuLocation.'.25 '. s:mainmenuname.'-sepsuite0- :' - - " menus for compiling / viewing etc. - exec 'anoremenu '.g:Tex_MainMenuLocation.'.30 '.s:mainmenuname.'&Compile<tab>'.s:mapleader.'ll'. - \' :silent! call Tex_RunLaTeX()<CR>' - exec 'anoremenu '.g:Tex_MainMenuLocation.'.40 '.s:mainmenuname.'&View<tab>'.s:mapleader.'lv'. - \' :silent! call Tex_ViewLaTeX()<CR>' - exec 'anoremenu '.g:Tex_MainMenuLocation.'.50 '.s:mainmenuname.'&Search<tab>'.s:mapleader.'ls'. - \' :silent! call ForwardSearchLaTeX()<CR>' - exec 'anoremenu '.g:Tex_MainMenuLocation.'.60 '.s:mainmenuname.'&Target\ Format<tab>:TTarget'. - \' :call SetTeXTarget()<CR>' - exec 'anoremenu '.g:Tex_MainMenuLocation.'.70 '.s:mainmenuname.'&Compiler\ Target<tab>:TCTarget'. - \' :call Tex_SetTeXCompilerTarget("Compile", "")<CR>' - exec 'anoremenu '.g:Tex_MainMenuLocation.'.80 '.s:mainmenuname.'&Viewer\ Target<tab>:TVTarget'. - \' :call Tex_SetTeXCompilerTarget("View", "")<CR>' - exec 'anoremenu '.g:Tex_MainMenuLocation.'.90 '.s:mainmenuname.'Set\ &Ignore\ Level<tab>:TCLevel'. - \' :TCLevel<CR>' - exec 'imenu '.g:Tex_MainMenuLocation.'.100 '.s:mainmenuname.'C&omplete\ Ref/Cite'. - \' <Plug>Tex_Completion' - exec 'anoremenu '.g:Tex_MainMenuLocation.'.110 '.s:mainmenuname.'-sepsuite1- :' - " refreshing folds - if g:Tex_Folding - exec 'anoremenu '.g:Tex_MainMenuLocation.'.120 '.s:mainmenuname.'&Refresh\ Folds<tab>'.s:mapleader.'rf'. - \' :call MakeTexFolds(1)<CR>' - exec 'anoremenu '.g:Tex_MainMenuLocation.'.130 '.s:mainmenuname.'-sepsuite2- :' - endif -endif - -" }}} - -" ============================================================================== -" MenuConf: configure the menus as compact/extended, with/without math -" ============================================================================== -function! Tex_MenuConfigure(type, action) " {{{ - let menuloc = s:mainmenuname.'Configure\ Menu.' - if a:type == 'math' - if a:action == 1 - let g:Tex_MathMenus = 1 - exe 'so '.s:path.'/mathmacros.vim' - exe 'amenu disable '.menuloc.'Add\ Math\ Menu' - exe 'amenu enable '.menuloc.'Remove\ Math\ Menu' - elseif a:action == 0 - call Tex_MathMenuRemove() - exe 'amenu enable '.menuloc.'Add\ Math\ Menu' - exe 'amenu disable '.menuloc.'Remove\ Math\ Menu' - endif - elseif a:type == 'elements' - if a:action == 'expand' - let g:Tex_ElementsMenuLocation = '80.20 '.g:Tex_MenuPrefix - exe 'amenu disable '.menuloc.'Expand\ Elements' - exe 'amenu enable '.menuloc.'Compress\ Elements' - elseif a:action == 'nest' - let g:Tex_ElementsMenuLocation = '80.20 '.g:Tex_MenuPrefix.'Elements.' - exe 'amenu enable '.menuloc.'Expand\ Elements' - exe 'amenu disable '.menuloc.'Compress\ Elements' - endif - exe 'source '.s:path.'/elementmacros.vim' - elseif a:type == 'packages' - if a:action == 1 - let g:Tex_PackagesMenu = 1 - exe 'so '.s:path.'/packages.vim' - exe 'amenu disable '.menuloc.'Load\ Packages\ Menu' - endif - endif -endfunction - -" }}} - -" configuration menu. -if g:Tex_Menus - exe 'amenu '.g:Tex_MainMenuLocation.'.900 '.s:mainmenuname.'Configure\ Menu.Add\ Math\ Menu :call Tex_MenuConfigure("math", 1)<cr>' - exe 'amenu '.g:Tex_MainMenuLocation.'.900 '.s:mainmenuname.'Configure\ Menu.Remove\ Math\ Menu :call Tex_MenuConfigure("math", 0)<cr>' - exe 'amenu '.g:Tex_MainMenuLocation.'.900 '.s:mainmenuname.'Configure\ Menu.Expand\ Elements :call Tex_MenuConfigure("elements", "expand")<cr>' - exe 'amenu '.g:Tex_MainMenuLocation.'.900 '.s:mainmenuname.'Configure\ Menu.Compress\ Elements :call Tex_MenuConfigure("elements", "nest")<cr>' - exe 'amenu '.g:Tex_MainMenuLocation.'.900 '.s:mainmenuname.'Configure\ Menu.Load\ Packages\ Menu :call Tex_MenuConfigure("packages", 1)<cr>' -endif - -" vim:fdm=marker:ff=unix:noet:ts=4:sw=4 diff --git a/.vim/ftplugin/latex-suite/texproject.vim b/.vim/ftplugin/latex-suite/texproject.vim deleted file mode 100644 index bed9ed3..0000000 --- a/.vim/ftplugin/latex-suite/texproject.vim +++ /dev/null @@ -1,54 +0,0 @@ -"============================================================================= -" File: texproject.vim -" Author: Mikolaj Machowski -" Version: 1.0 -" Created: Wen Apr 16 05:00 PM 2003 -" -" Description: Handling tex projects. -"============================================================================= - -let s:path = expand("<sfile>:p:h") - -command! -nargs=0 TProjectEdit :call <SID>Tex_ProjectEdit() - -" Tex_ProjectEdit: Edit project file " {{{ -" Description: If project file exists (*.latexmain) open it in window created -" with ':split', if no create ':new' window and read there -" project template -" -function! s:Tex_ProjectEdit() - - let file = expand("%:p") - let mainfname = Tex_GetMainFileName() - if glob(mainfname.'.latexmain') != '' - exec 'split '.Tex_EscapeSpaces(mainfname.'.latexmain') - else - echohl WarningMsg - echomsg "Master file not found." - echomsg " :help latex-master-file" - echomsg "for more information" - echohl None - endif - -endfunction " }}} -" Tex_ProjectLoad: loads the .latexmain file {{{ -" Description: If a *.latexmain file exists, then sources it -function! Tex_ProjectLoad() - let curd = getcwd() - call Tex_CD(expand('%:p:h')) - - if glob(Tex_GetMainFileName(':p').'.latexmain') != '' - call Tex_Debug("Tex_ProjectLoad: sourcing [".Tex_GetMainFileName().".latexmain]", "proj") - exec 'source '.Tex_GetMainFileName().'.latexmain' - endif - - call Tex_CD(curd) -endfunction " }}} - -augroup LatexSuite - au LatexSuite User LatexSuiteFileType - \ call Tex_Debug("texproject.vim: catching LatexSuiteFileType event", "proj") | - \ call Tex_ProjectLoad() -augroup END - -" vim:fdm=marker:ff=unix:noet:ts=4:sw=4 diff --git a/.vim/ftplugin/latex-suite/texrc b/.vim/ftplugin/latex-suite/texrc deleted file mode 100644 index 79068a8..0000000 --- a/.vim/ftplugin/latex-suite/texrc +++ /dev/null @@ -1,738 +0,0 @@ -"============================================================================= -" vim:ft=vim:ts=4:sw=4:noet:fdm=marker:commentstring=\"\ %s:ff=unix -" File: texrc.vim -" Author: Srinath Avadhanula -" Created: Mon Apr 01 11:00 AM 2002 PST -" CVS: $Id: texrc 998 2006-03-20 09:52:12Z srinathava $ -" -" Description: This file contains resource configuration information for the -" latex-suite package. -" -" NOTE: Do NOT be edit this file directly: -" this file will be over-written each time you install a new copy -" of latex-suite. -" -" You can do one of the following: -" 1. Copy this file into $VIMFILES/ftplugin/tex/texrc -" and edit the values in that file. -" $VIMFILES is ~/.vim for UNIX systems and ~/vimfiles for -" WINDOWS systems. -" -" 2. Just set values of each setting individually in your -" $VIMFILES/ftplugin/tex.vim file. (See above for what -" $VIMFILES is). You will need to use :let instead of :TexLet -" in this case. -" -" NOTE: This file is best viewed with Vim-6.0+ with folding turned on. -" CVS: $Id: texrc 998 2006-03-20 09:52:12Z srinathava $ -"============================================================================= - -" ============================================================================== -" SafeLet: checks for value before giving default value {{{ -" Description: The function takes in a single argument and splits it into 2 -" parts, the first being the first <CWORD> found. this is taken -" as a variable name and the next part is assigned to it -" depending on whether the variable already exists or not. -" handles the case where the next part is quoted or not. -" All these calls work: -" TexLet g:varname = 1 -" TexLet g:varname = '1' -" TexLet g:varname = 'foo bar' -" TexLet g:varname = "foo\nbar" -" TexLet g:varname = foo bar -function! <SID>SafeLet(arg) - let name = matchstr(a:arg, '^\s*\zs\(\S\+\)\ze\s*=') - let value = matchstr(a:arg, '=\s*\zs.*\ze') - let value = substitute(value, '\s*$', '', '') - if !exists(name) - if value =~ "^'\\|^\"" - exec "let ".name." = ".value - else - exe "let ".name." = value" - endif - endif -endfunction -com! -nargs=+ TexLet :call <SID>SafeLet(<q-args>) -" }}} -" ============================================================================== - -" ============================================================================== -" General settings {{{ - -TexLet g:Tex_UsePython = 1 - -" the system command which pulls in a file. -if &shell =~ 'sh' - TexLet g:Tex_CatCmd = 'cat' - TexLet g:Tex_RmCmd = 'rm' -else - TexLet g:Tex_CatCmd = 'type' - TexLet g:Tex_RmCmd = 'del' -endif - -" whether to turn on debugging -TexLet g:Tex_Debug = 0 -" If non empty, all the debugging information will be written to a file of -" this name. -TexLet g:Tex_DebugLog = '' - -" }}} -" ============================================================================== -" Rules: specifications of programs for compiling and viewing {{{ -" - -" By default, when you compile a tex file using \ll, then you will be -" generating a .dvi file. Change this line if you want to set another default. -" NOTE: Make sure that a target for this format exists in the 'Compiler rules' -" section below and is set up properly for your system. -if has('macunix') - TexLet g:Tex_DefaultTargetFormat = 'pdf' -else - TexLet g:Tex_DefaultTargetFormat = 'dvi' -endif - -" A comma seperated list of formats which need multiple compilations to be -" correctly compiled. -TexLet g:Tex_MultipleCompileFormats = 'dvi' - -" Uncomment this line if you compile ps files via dvi files. -" TexLet g:Tex_FormatDependency_ps = 'dvi,ps' - -" ------------------------------------------------------------------------------ -" Compiler rules {{{ -" This is the first thing you should customize. It is set up for most common -" values, but if use some other compiler, then you will want to change this. -" As CompileFlags value you'd perhaps like to use, e.g., '-src-specials', -" but it is known that it can sometimes give different results in the output, -" so use it with care. -TexLet g:Tex_CompileRule_dvi = 'latex -interaction=nonstopmode $*' -TexLet g:Tex_EscapeChars = '{}\' - -TexLet g:Tex_CompileRule_ps = 'dvips -Ppdf -o $*.ps $*.dvi' - -" ways to generate pdf files. there are soo many... -" NOTE: pdflatex generates the same output as latex. therefore quickfix is -" possible. -TexLet g:Tex_CompileRule_pdf = 'pdflatex -interaction=nonstopmode $*' - -" TexLet g:Tex_CompileRule_pdf = 'ps2pdf $*.ps' -" TexLet g:Tex_CompileRule_pdf = 'dvipdfm $*.dvi' -" TexLet g:Tex_CompileRule_pdf = 'dvipdf $*.dvi' - -TexLet g:Tex_CompileRule_html = 'latex2html $*.tex' - -TexLet g:Tex_CompileRule_bib = g:Tex_BibtexFlavor . ' $*' - -" Set Tex_UseMakefile to 0 if you want to ignore the presence of a Makefile -" when deciding how to compile -TexLet g:Tex_UseMakefile = 1 - -" }}} -" ------------------------------------------------------------------------------ -" Viewer rules {{{ -" these programs are for viewing other formats. -" NOTE: latex-suite will automatically append file.<format> to these functions -" when calling them. The viewer therefore cannot accept arguments after -" the filename. -" NOTE: Windows users: -" Set your $PATH variable to include the full path to these programs. -if has('win32') - TexLet g:Tex_ViewRule_ps = 'gsview32' - TexLet g:Tex_ViewRule_pdf = 'AcroRd32' - TexLet g:Tex_ViewRule_dvi = 'yap -1' -elseif has('macunix') - " Let the system pick. If you want, you can override the choice here. - TexLet g:Tex_ViewRule_ps = '' - TexLet g:Tex_ViewRule_pdf = '' - " TexLet g:Tex_ViewRule_pdf = 'Acrobat\ Reader\ 5.1' - TexLet g:Tex_ViewRule_dvi = '' -else - TexLet g:Tex_ViewRule_ps = 'ghostview' - TexLet g:Tex_ViewRule_pdf = 'xpdf' - TexLet g:Tex_ViewRule_dvi = 'xdvi' - " the option below specifies an editor for the dvi viewer while starting - " up the dvi viewer according to Dimitri Antoniou's tip on vim.sf.net (tip - " #225) - TexLet g:Tex_UseEditorSettingInDVIViewer = 0 -endif - -" Tex_ViewRuleComplete_{format} -" -" If a variable like this is specified, then it takes precedence over the -" variable with the same suffix defined above. i.e, Tex_ViewRuleComplete_dvi -" takes precedence over Tex_ViewRule_dvi. -" -" If only Tex_ViewRule_{format} is specified, then latex-suite constructs the -" actual system command which calls that program automatically. For example, -" if you specify Tex_ViewRule_dvi = 'kdvi', then latex-suite will issue the -" command -" !kdvi --unique file.dvi & -" -" However, if your viewer program accepts the file to be viewed in a way which -" doesn't fit with the way latex-suite constructs the system command, then -" specify it using this variable. You can use the same format here which -" 'makeprg' accepts. So $* can be used in place of the main file name. -" -" IMPORTANT: Make sure you make the process go into the background otherwise -" vim will wait for the viewer to terminate before letting you edit -" the file again. -" -" Example: -" Suppose you have a latex->html converter which converts a file say foo.tex -" to a file foo/index.html. Then you would use: -" -" let g:Tex_ViewRuleComplete_html = 'MozillaFirebird $*/index.html &' -" -" Doing something like this would not be possible using Tex_ViewRule_html -TexLet g:Tex_ViewRuleComplete_dvi = '' - -" }}} -" ------------------------------------------------------------------------------ -" }}} -" ============================================================================== -" Compiler: latex-suite comes with a customizable compiler plugin. {{{ -" :help latex-compiling for a detailed description of these options. -" -" this is the list of patterns which will be ignored from the compiler output. -" This is a handy way of specifying which warnings/errors to ignore. This is a -" list of patterns seperated by '¡' -TexLet g:Tex_IgnoredWarnings = - \'Underfull'."\n". - \'Overfull'."\n". - \'specifier changed to'."\n". - \'You have requested'."\n". - \'Missing number, treated as zero.'."\n". - \'There were undefined references'."\n". - \'Citation %.%# undefined' - -" the 'ignore level' of the 'efm'. A value of 4 says that the first 4 kinds of -" warnings in the list above will be ignored. Use the command TCLevel to set a -" level dynamically. -TexLet g:Tex_IgnoreLevel = 7 - -" NOTE: The values of g:Tex_Flavor and g:Tex_CompilerFlags are provided as a -" way to make compiler/tex.vim standalone. i.e independent of the rest -" of latex-suite. These variables are NOT used if you have already -" defined g:Tex_CompileRule_dvi above. -" -" specifies the current latex flavor. -TexLet g:Tex_Flavor = 'latex' - -" specifies the BibTeX flavor and if necessary options. If you use $* in this -" setting, it will be replaced by the *root* of the main file name, i.e, if -" the main file is "thesis.tex", $* will be "thesis". -TexLet g:Tex_BibtexFlavor = 'bibtex' - -" specifies the MakeIndedx flavor and if necessary options. $* will be -" replaced by the *root* of the main file name. See above. -TexLet g:Tex_MakeIndexFlavor = 'makeindex $*.idx' - -" By default the program described by g:Tex_Flavor above is called with the -" flags '--src-specials --interaction=nonstopmode'. If your particular version -" of latex does not accept these arguments, you will need to set this variable -" to the appropriate value. -" NOTE: leave commented for using the default flags. -" TODO: Is it necessary (or even desirable) to use 2 variables to specify a -" flavor and flags seperately? --SA -" TexLet g:Tex_CompilerFlags = '' - -" If disabled (set to 0) LaTeX-Suite doesn't go immediately to warnings or -" errors after compilation -TexLet g:Tex_GotoError = 1 - -" If set to 1, then latex-suite shows the context of the error in a preview -" window beneath the window showing the actual errors. -TexLet g:Tex_ShowErrorContext = 1 - -" Remove temp files created during part compilations when vim exits. -TexLet g:Tex_RemoveTempFiles = 1 - -" }}} -" ============================================================================== -" Project: how to deal with multi file projects via latex-suite {{{ - -" Use a valid vim expression here if you want to customize the way latex-suite -" searches for a master file from within another file. -TexLet g:Tex_MainFileExpression = '' - -" }}} -" ============================================================================== -" Macros: latex-suite comes with a large number of macros to speed up typing {{{ -" latex. -" -" Place Holder Options: {{{ -" (See |placeholders| for a description of what place-holders are). -" -" these options are actually used by imaps.vim, therefore the prefix is Imap_ -" and not Tex_. See |placeholders| for a description of how to use -" place-holders. You can either completely disable placeholders (not -" recommended) and/or you can change the place holder characters. - -TexLet g:Imap_UsePlaceHolders = 1 -TexLet g:Imap_PlaceHolderStart = '<+' -TexLet g:Imap_PlaceHolderEnd = '+>' - -" This option when set to 1 makes <C-J> in insert mode delete -" non-descriptive (empty) placeholders and enters insert mode. -" NOTE: This option _has_ to be set in the .vimrc. Setting this in a filetype -" plugin file such as ftplugin/tex.vim will not have any affect. -TexLet g:Imap_DeleteEmptyPlaceHolders = 0 - -" When set to 1, in visual mode, <C-J> takes you to the next placeholder -" without deleting the current placeholder. -" NOTE: This option _has_ to be set in the .vimrc. Setting this in a filetype -" plugin file such as ftplugin/tex.vim will not have any affect. -TexLet g:Imap_StickyPlaceHolders = 1 - - -" }}} -" Menu Wizard Option: {{{ -" If the following variable is set to 1, then when an enviroment is chosen -" from the menu then for selected environments, latex-suite asks a series of -" questions on the command line and inserts a template with the corresponding -" fields already filled in. -" Setting this to zero will insert a template with |placeholders| marking off -" the places where fields need to be filled. -TexLet g:Tex_UseMenuWizard = 0 - -" }}} -" Visual Mode Mapping Correction: {{{ -" With so many visual maps, its helpful to have a way of catching typing -" errors made in visual mode. What this does is to prompt you to correct your -" visual mode mapping if you start out with g:Tex_Leader and then type some -" illegal keys. -" It basically maps just the g:Tex_Leader character to a function -TexLet g:Tex_CatchVisMapErrors = 1 - -" }}} -" Diacritics: {{{ -" whether or not you want to use diacritics -" (diacritics speed up typing some languages. the way they are set up in -" latex-suite is -" =char> = \'{<char>} -" +char> = \v{<char>} -" +} = \"a -" :o = \^o -" Default: 0 -TexLet g:Tex_Diacritics = 0 - -" }}} -" Leader Options: {{{ -" The mappings in latex-suite are by default prefixed with the back-tick -" character. For example, `/ inserts \frac{<++>}{<++>}<++> etc. You can change the -" prefix with the following setting. -" ',', '/', '`' are preferred values. '' or '\' will lead to a _lot_ of -" trouble. -" g:Tex_Leader is also used for visual mode mappings for fonts. -TexLet g:Tex_Leader = '`' - -" In order to avoid ambiguity between the large number of visual mode macros -" provided, the visual mode macros for environments and sections start with a -" character different from '`'. -TexLet g:Tex_Leader2 = ',' - -" }}} -" Environment Macros: {{{ -" These mappings insert LaTeX "environments" such as -" \begin{center} -" <++> -" \end{center}<++> -" with the cursor left at the first place-holder. -" (See |placeholders| for what these are.) -" Mnemonic: -" 1. All environment mappings begin with 'E' -" 2. The next two capital letters are (for the common environments) the -" first 2 letters of the environment name converted into upper case. For -" example, for the center environment above, use ECE. There are a few -" necessary exceptions such as: -" equation --> EEQ -" eqnarray --> EEA -" Please see texmaps.vim for the complete list. -" -" Along with the insert mode mappings, a set of visual mode mappings is -" provided which encloses the visually selected region in an environment. -" These maps are related to the corresponding insert mode mappings by the -" following rule: -" EFI --> ,fi -" and so on. i.e, the leading E becomes '`' and the next 2 letters are small -" case. Some of the visual mode mappings are sensetive to whether you choose -" line-wise or character wise. For example, if you choose a word and press -" `ve, then you get \verb|word|, whereas if you press `ve on a line-wise -" selection, you get: -" \begin{verbatim} -" line -" \end{verbatim} -" -" these 2 options give finer control on which aspect of the macros you want -" to enable. -TexLet g:Tex_EnvironmentMaps = 1 -TexLet g:Tex_EnvironmentMenus = 1 - - -" }}} -" Font Macros: {{{ -" These mappings insert font descriptions such as: -" \textsf{<++>}<++> -" again with the cursor at the first place-holder. -" Mnemonic: -" 1. first letter is always F (F for font) -" 2. next 2 letters are the 2 letters describing the font. -" -" Example: the above mapping is triggered by FSF. -" -" Just like environment mappings, you can visually select an area and press -" `sf to have it enclosed in: -" \textsf{word} -" or -" {\sffamily -" line -" } -" depending on character-wise or line-wise selection. -TexLet g:Tex_FontMaps = 1 -TexLet g:Tex_FontMenus = 1 - -" }}} -" Section Macros: {{{ -" Inserts LaTeX sections: -" \section -" etc. Just as in the case of environments and fonts, can be enclosed with a -" visual selection. The enclosing is not sensetive to character or line-wise -" selection. -" NOTE: In visual mode, you are supposed to select the name of the section -" etc, not the whole section. -" In the following case, select just the first line, not lines 1-3. -" 1 section name -" 2 some lines in this section -" 3 and some more lines -" Mnemonic: (make your own!) -" SPA for part -" SCH for chapter -" SSE for section -" SSS for subsection -" SS2 for subsubsection -" SPG for paragraph -" SSP for subparagraph -TexLet g:Tex_SectionMaps = 1 -TexLet g:Tex_SectionMenus = 1 - -" }}} -" Auctex Style Mappings: {{{ -" Auctex.vim has heavily inspired various portions of latex-suite providing -" various new ways of conviniently inserting environments. -" -" If you press <F5> in the insert mode while on an empty line, latex-suite -" prompts you with a list of environments you might want to insert. You can -" either choose one from the list or type in a new environment name. -" The variable below (which is a comma seperated list of environment names) -" decides the prompt which latex-suite generates. -" You can place as many items as you want here. If the environment name is a -" standard latex environment such as table or figure, then latex-suite will -" insert a template with additional fields, if not, just a bare bones -" \begin{env} -" <++> -" \end{env} -" is inserted. -" \[ and $$ are also recognized. -" NOTE: Setting this variable to the empty string is a way of leaving the -" <F5> key unmapped - -TexLet g:Tex_PromptedEnvironments = - \ 'eqnarray*,eqnarray,equation,equation*,\[,$$,align,align*' - -" Another quick way of inserting environments is to press one of the shifted -" function keys from <F1> through <F4>. -" Each environment in the following list is mapped to a corresponding shifted -" function key. -" NOTE: Setting this variable to the empty string is a way of leaving all the -" shifted function keys untouched by latex-suite. -" NOTE: Only the first 4 items of the list are used. The rest will be silently -" ignored. -" The number of items in this list decides how many shifted function keys are -" mapped. -TexLet g:Tex_HotKeyMappings = - \ 'eqnarray*,eqnarray,bmatrix' - -" Similar to above mechanisms works <F7> key. It prompts for command with list -" of commands from g:Tex_PromptedCommands. There are not HotKeys for commands. -" It works for commands of style \com{}. Changing of current command is done -" with <S-F7> - -TexLet g:Tex_PromptedCommands = - \ 'footnote,cite,pageref,label' - -" }}} -" Smart Key Mappings: {{{ -" Latex-suite shites with a number of 'smart' maps, where the behavior of -" standard keys is modified in a way which makes editing tex files easy. - -" Pressing <BS> in insert mode checks to see whether we are just after -" something like \'{a} and if so, deletes all of it. i.e, diacritics are -" treated as single characters for backspacing. -" Setting this to zero will leave the <BS> key unmapped. -" Default: 1 -TexLet g:Tex_SmartKeyBS = 1 -" The pattern used to detect whether the previous characters comprise a -" diacritic character. This default pattern detects the standard LaTeX -" diacritics -TexLet g:Tex_SmartBSPattern = - \ '\(' . - \ "\\\\[\"^'=v]{\\S}" . '\|' . - \ "\\\\[\"^'=]\\S" . '\|' . - \ '\\v \S' . '\|' . - \ "\\\\[\"^'=v]{\\\\[iI]}" . '\|' . - \ '\\v \\[iI]' . '\|' . - \ '\\q \S' . '\|' . - \ '\\-' . - \ '\)' . "$" - -" Pressing " (english double quote) will insert `` or '' by making an -" intelligent guess about whether we intended to open or close a quote. -" Default: 1 -TexLet g:Tex_SmartKeyQuote = 1 - -" Users of other languages might want to change the quote characters to suit -" their locale. These global values will be ignored if there are buffer-local -" versions, which may be set in the language-specific package files, such as -" ftplugin/latex-suite/packages/german -TexLet g:Tex_SmartQuoteOpen = "``" -TexLet g:Tex_SmartQuoteClose = "''" - -" Latex-suite maps the <space> key in such a way that $ characters are not -" broken across lines. -" NOTE: Setting this to 1 has the side-effect of making the 'tw' setting be 0. -" Default: -TexLet g:Tex_SmartKeySpace = 0 - -" Pressing ... (3 dots) results in \ldots outside math mode and \cdots in math -" mode. -" -" TODO: Make it more intelligent within math mode. For example -" $1+...+3$ should expand to $1+\cdots+n$, whereas $1,...,n$ should expand -" to $1,\ldots,n$. The amsmath package actually provides a command \dots -" which does this. Maybe use that if amsmath is detected? -" Default: 1 -TexLet g:Tex_SmartKeyDot = 1 - -" }}} -" Advanced Math: {{{ -" These mappings allow for fast inserting of math constructions -" brackets, better handling of space in math mode, unfortunately -" they use <M-> mappings which conflicts with some encodings. This is easy way -" of turning them off. -" -" <M-b> encloses the previous character in \mathbf{} -" <M-c> is polymorphic as follows: -" Insert mode: -" 1. If the previous character is a letter or number, then capitalize it and -" enclose it in \mathcal{} -" 2. otherwise insert \cite{} -" Visual Mode: -" 1. Enclose selection in \mathcal{} -" <M-l> is also polymorphic as follows: -" If the character before typing <M-l> is one of '([{|<q', then do the -" following: -" 1. (<M-l> \left(\right -" similarly for [, | -" {<M-l> \left\{\right\} -" 2. <<M-l> \langle\rangle -" 3. q<M-l> \lefteqn{} -" otherwise insert \label{} -" <M-i> inserts \item commands at the current cursor location depending on -" the surrounding environment. For example, inside itemize, it will -" insert a simple \item, but within a description, it will insert -" \item[<+label+>] etc. -" -" Default: 1 -TexLet g:Tex_AdvancedMath = 1 - -" }}} - -" }}} -" ============================================================================== -" TeX Completion: {{{ - -" Options for controlling the window sizes of the completion windows {{{ - -" The height of the window which contains the \label's (when completing a -" \ref) or bibtex entries (when completing a \cite). This option is used in -" the newer methods of completing \ref's and \cite's. -TexLet g:Tex_OutlineWindowHeight = 15 - -" Options for preview window for ref/cite completion. The next two options -" are used only when g:Tex_UseOutlineCompletion = 0 or -" g:Tex_UseCiteCompletionVer2 = 0, i.e, when we use a classic method of -" completing \refs and \cites. -" Height of cwindow -TexLet g:Tex_ViewerCwindowHeight = 5 -" Height of preview window -TexLet g:Tex_ViewerPreviewHeight = 10 - -" Options for explorer completion. -" Height of explorer window -TexLet g:Tex_ExplorerHeight = 10 - -" Directory for images. Read |latex-completion-explorer| before changing -TexLet g:Tex_ImageDir = '' - -" }}} -" Options for completing a \ref {{{ - -" Whether to use the "outline mode" for displaying the \label's while doing -" \ref completion. In this mode, each label is displayed within the -" document element it resides in. The entire thing is folded to ease -" navigation. Should be easier/faster than the classical mode. -TexLet g:Tex_UseOutlineCompletion = 1 - -" This option should be set via the .latexmain file. It should be a newline -" seperated list of files which make up all the "source" files in the -" current project. This enables latex-suite to skip the more complicated -" algorithm of finding the source files by recursively searching for -" \input'ed files from the |latex-master-file|. -" -" Only used when g:Tex_UseOutlineCompletion = 0. -TexLet g:Tex_ProjectSourceFiles = '' - -" Whether latex-suite simply searches for \\label's in all the .tex file -" found in the current directory or whether it will use a more complex -" algorithm. This is used only g:Tex_UseOutlineCompletion = 0 and -" g:Tex_ProjectSourceFiles = ''. -" See -" :help Tex_UseSimpleLabelSearch -" for more information -TexLet g:Tex_UseSimpleLabelSearch = 0 - -" }}} -" Options for completing a \cite'ation {{{ - -" If set to 1, then the newer way of presenting the bibtex entries is used. -" Instead of a |cwindow| showing just the keys and a synced |preview| -" window beneath, show a single window containing a nicely formatted list -" of bibtex entries. This should be faster and easier to use than the -" classic mode -TexLet g:Tex_UseCiteCompletionVer2 = 1 - -" This is a string which is displayed to the user when he wants to sort or -" filter the bibtex entries. This string also serves to define acronyms for -" the various fields of a bibtex entry. -TexLet g:Tex_BibFieldPrompt = - \ "Field acronyms: (`:let g:Tex_EchoBibFields = 0` to avoid this message)\n" . - \ " [t] title [a] author [b] booktitle \n" . - \ " [j] journal [y] year [p] bibtype \n" . - \ " (you can also enter the complete field name) \n" - -" Whether or not to display the string above to aid the user in choosing -" the field to filter/sort with. -TexLet g:Tex_EchoBibFields = 1 - -" A setting of this form defines the letter 'a' as standing for the field -" 'author'. Thus when the user types -" a ellington -" when asked to enter a filter, it is equivalent to the user specifying the -" filter -" author ellington -" TexLet g:Tex_BibAcronym_a = 'author' - -" Whether or not to use Jabref to complete citations -" See -" :help latex-suite-jabref -" for more infomration -TexLet g:Tex_UseJabref = 0 - -" whether or not searches for \cite's are cached. -TexLet g:Tex_RememberCiteSearch = 0 -" Paths to the bibliography files and custom packages. -TexLet g:Tex_BIBINPUTS = '' -TexLet g:Tex_TEXINPUTS = '' - -" }}} - -" }}} -" ============================================================================== -" Menus: set the kinds of menus which you would like to see. {{{ -" -" Setting this variable to zero will immediately disable _all_ menus. -" for finer control set this to 1 and then play with the other options. -" Default: 1 -TexLet g:Tex_Menus = 1 - -" The location of the main menu -TexLet g:Tex_MainMenuLocation = 80 - -" Math contains a large number of tex math elemets such as arrows, -" mathematical fonts (\mathrm), mathematical diacritics (\dot), binary -" relational operators etc. This menu compromises about 75% of the menus. -" Default: 1 -TexLet g:Tex_MathMenus = 1 - -" The following options control the "compactness" of the menus. -" -" Setting this option to 1 makes the Font, Counter and Dimensioning menus to -" be collected together into a single 'Tex-Elements' menu. Setting this to 0 -" creates seperate menus for each of them. -" Default: 1 -TexLet g:Tex_NestElementMenus = 1 - -" Sometimes when you are using a lot of packages with lots of options etc, -" then a lot of time might be spent at startup loading the menus. -" Setting the following variable to 0 will stop autoloading the packages menu. -" You can still goto TeX-Suite.Configure Menu and load this after startup. -" Default: 1 -TexLet g:Tex_PackagesMenu = 1 -" The following option will create the packages option within the TeX-Suite -" menu. -" Default: 1 -TexLet g:Tex_NestPackagesMenu = 1 - -" This is the prefix added to the menu names created by latex suite. Add a -" dot to the following option to nest the menus under the menu name before the -" dot. -" NOTE: With a '.' as the last character of the following setting, every -" single menu created by latex suite will be nested under the same menu. -" Default: 'TeX-' -TexLet g:Tex_MenuPrefix = 'TeX-' - -" Use utf-8 menus. There is plenty of math symbols in LaTeX. It is hard to -" remember them. You can display them with utf-8. Your system/GUI interface -" have to support utf-8. This addition is necessary for resetting 'encoding'. -TexLet g:Tex_UseUtfMenus = 0 - -if g:Tex_UseUtfMenus != 0 && has("gui_running") - set encoding=utf-8 -endif - -" }}} -" ============================================================================== -" Folding: latex-suite comes with 'fake' syntax folding. {{{ -" -" specifies whether the MakeTeXFolds() function will be defined. If this is -" set to zero, then esentially you have disabled all of latex-suite's folding -" functions. no maps for refreshing folds will be set up etc. -" NOTE: However, the function TexFoldTextFunction() is still avaiable -" and 'foldexpr' is set to point to it. This is so you can continue -" using another folding scheme but still use the fold text function. -TexLet g:Tex_Folding = 1 - -" specifies whether a latex file is automatically folded up when opened. -" Setting this to zero means that a file is not folded up as soon as its -" opened. -" NOTE: the MakeTeXFolds() function will still be available (unless disabled -" by g:Tex_Folding), so you can do <F6> or \rf to refresh/create folds. -TexLet g:Tex_AutoFolding = 1 - -" }}} -" ============================================================================== -" Taglist: Support for taglist.vim {{{ -" -" LaTeX-Suite offers now support for taglist.vim, the most popular Vim -" interface for ctags. You should use ctags version >= 5.0 and taglist >= 3.0. -TexLet g:Tex_TaglistSupport = 1 - -" This option turns on definition of tags for LaTeX. -" NOTE: In taglist window you may see duplicate entries for the same tag. It -" means some definitions are repeated somewhere else. You can turn off -" internal definitions or remove external (read ctags description -" where). -TexLet g:Tex_InternalTagsDefinitions = 1 - -" }}} -" ============================================================================== diff --git a/.vim/ftplugin/latex-suite/texviewer.vim b/.vim/ftplugin/latex-suite/texviewer.vim deleted file mode 100644 index 4dc8861..0000000 --- a/.vim/ftplugin/latex-suite/texviewer.vim +++ /dev/null @@ -1,1052 +0,0 @@ -" ============================================================================ -" File: texviewer.vim -" Author: Mikolaj Machowski -" Created: Sun Jan 26 06:00 PM 2003 -" Description: make a viewer for various purposes: \cite{, \ref{ -" License: Vim Charityware License -" Part of vim-latexSuite: http://vim-latex.sourceforge.net -" CVS: $Id: texviewer.vim 1004 2006-03-25 08:40:15Z srinathava $ -" ============================================================================ -" Tex_SetTexViewerMaps: sets maps for this ftplugin {{{ -function! Tex_SetTexViewerMaps() - inoremap <silent> <Plug>Tex_Completion <Esc>:call Tex_Complete("default","text")<CR> - if !hasmapto('<Plug>Tex_Completion', 'i') - if has('gui_running') - imap <buffer> <silent> <F9> <Plug>Tex_Completion - else - imap <buffer> <F9> <Plug>Tex_Completion - endif - endif -endfunction - -augroup LatexSuite - au LatexSuite User LatexSuiteFileType - \ call Tex_Debug('texviewer.vim: Catching LatexSuiteFileType event', 'view') | - \ call Tex_SetTexViewerMaps() -augroup END - -command -nargs=1 TLook call Tex_Complete(<q-args>, 'tex') -command -nargs=1 TLookAll call Tex_Complete(<q-args>, 'all') -command -nargs=1 TLookBib call Tex_Complete(<q-args>, 'bib') - -" }}} - -" ============================================================================== -" Main completion function -" ============================================================================== -" Tex_Complete: main function {{{ -" Description: -function! Tex_Complete(what, where) - - " Get info about current window and position of cursor in file - let s:winnum = winnr() - - " Change to the directory of the file being edited before running all the - " :grep commands. We will change back to the original directory after we - " finish with the grep. - let s:origdir = getcwd() - cd %:p:h - - let s:pos = line('.').' | normal! '.virtcol('.').'|' - - unlet! s:type - unlet! s:typeoption - - if Tex_GetVarValue('Tex_WriteBeforeCompletion') == 1 - wall - endif - - if a:where == "text" - " What to do after <F9> depending on context - let s:curfile = expand("%:p") - let s:curline = strpart(getline('.'), 0, col('.')) - let s:prefix = matchstr(s:curline, '.*{\zs.\{-}\(}\|$\)') - " a command is of the type - " \psfig[option=value]{figure=} - " Thus - " s:curline = '\psfig[option=value]{figure=' - " (with possibly some junk before \psfig) - " from which we need to extract - " s:type = 'psfig' - " s:typeoption = '[option=value]' - let pattern = '.*\\\(\w\{-}\)\(\[.\{-}\]\)\?{\(\S\+\)\?$' - if s:curline =~ pattern - let s:type = substitute(s:curline, pattern, '\1', 'e') - let s:typeoption = substitute(s:curline, pattern, '\2', 'e') - call Tex_Debug('Tex_Complete: s:type = '.s:type.', typeoption = '.s:typeoption, 'view') - endif - - if exists("s:type") && s:type =~ 'ref' - if Tex_GetVarValue('Tex_UseOutlineCompletion') == 1 - call Tex_Debug("Tex_Complete: using outline search method", "view") - call Tex_StartOutlineCompletion() - - elseif Tex_GetVarValue('Tex_UseSimpleLabelSearch') == 1 - call Tex_Debug("Tex_Complete: searching for \\labels in all .tex files in the present directory", "view") - call Tex_Debug("Tex_Complete: silent! grep! ".Tex_EscapeForGrep('\\label{'.s:prefix)." *.tex", 'view') - call Tex_Grep('\\label{'.s:prefix, '*.tex') - call <SID>Tex_SetupCWindow() - - elseif Tex_GetVarValue('Tex_ProjectSourceFiles') != '' - call Tex_Debug('Tex_Complete: searching for \\labels in all Tex_ProjectSourceFiles', 'view') - call Tex_CD(Tex_GetMainFileName(':p:h')) - call Tex_Grep('\\label{'.s:prefix, Tex_GetVarValue('Tex_ProjectSourceFiles')) - call <SID>Tex_SetupCWindow() - - else - call Tex_Debug("Tex_Complete: calling Tex_GrepHelper", "view") - silent! grep! ____HIGHLY_IMPROBABLE___ % - call Tex_GrepHelper(s:prefix, 'label') - call <SID>Tex_SetupCWindow() - endif - - redraw! - - elseif exists("s:type") && s:type =~ 'cite' - - let s:prefix = matchstr(s:prefix, '\([^,]\+,\)*\zs\([^,]\+\)\ze$') - call Tex_Debug(":Tex_Complete: using s:prefix = ".s:prefix, "view") - - if has('python') && Tex_GetVarValue('Tex_UsePython') - \ && Tex_GetVarValue('Tex_UseCiteCompletionVer2') == 1 - - call Tex_CD(s:origdir) - silent! call Tex_StartCiteCompletion() - - elseif Tex_GetVarValue('Tex_UseJabref') == 1 - - call Tex_CD(s:origdir) - let g:Remote_WaitingForCite = 1 - let citation = input('Enter citation from jabref (<enter> to leave blank): ') - let g:Remote_WaitingForCite = 0 - call Tex_CompleteWord(citation) - - else - " grep! nothing % - " does _not_ clear the search history contrary to what the - " help-docs say. This was expected. So use something improbable. - " TODO: Is there a way to clear the search-history w/o making a - " useless, inefficient search? - silent! grep! ____HIGHLY_IMPROBABLE___ % - if g:Tex_RememberCiteSearch && exists('s:citeSearchHistory') - call <SID>Tex_SetupCWindow(s:citeSearchHistory) - else - call Tex_GrepHelper(s:prefix, 'bib') - redraw! - call <SID>Tex_SetupCWindow() - endif - if g:Tex_RememberCiteSearch && &ft == 'qf' - let _a = @a - silent! normal! ggVG"ay - let s:citeSearchHistory = @a - let @a = _a - endif - endif - - elseif exists("s:type") && (s:type =~ 'includegraphics' || s:type == 'psfig') - call Tex_SetupFileCompletion( - \ '', - \ '^\.\\|\.tex$\\|\.bib$\\|\.bbl$\\|\.zip$\\|\.gz$', - \ 'noext') - - elseif exists("s:type") && s:type == 'bibliography' - call Tex_SetupFileCompletion( - \ '\.b..$', - \ '', - \ 'noext') - - elseif exists("s:type") && s:type =~ 'include\(only\)\=' - call Tex_SetupFileCompletion( - \ '\.t..$', - \ '', - \ 'noext') - - elseif exists("s:type") && s:type == 'input' - call Tex_SetupFileCompletion( - \ '', - \ '', - \ 'ext') - - elseif exists('s:type') && exists("g:Tex_completion_".s:type) - call <SID>Tex_CompleteRefCiteCustom('plugin_'.s:type) - - else - let s:word = expand('<cword>') - if s:word == '' - if col('.') == strlen(getline('.')) - startinsert! - return - else - normal! l - startinsert - return - endif - endif - call Tex_Debug("silent! grep! ".Tex_EscapeForGrep('\<'.s:word.'\>')." *.tex", 'view') - call Tex_Grep('\<'.s:word.'\>', '*.tex') - - call <SID>Tex_SetupCWindow() - endif - - elseif a:where == 'tex' - " Process :TLook command - call Tex_Grep(a:what, "*.tex") - call <SID>Tex_SetupCWindow() - - elseif a:where == 'bib' - " Process :TLookBib command - call Tex_Grep(a:what, "*.bib") - call Tex_Grepadd(a:what, "*.bbl") - call <SID>Tex_SetupCWindow() - - elseif a:where == 'all' - " Process :TLookAll command - call Tex_Grep(a:what, "*") - call <SID>Tex_SetupCWindow() - endif - -endfunction -" }}} -" Tex_CompleteWord: inserts a word at the chosen location {{{ -" Description: This function is meant to be called when the user press -" ``<enter>`` in one of the [Error List] windows which shows the list of -" matches. completeword is the rest of the word which needs to be inserted. -function! Tex_CompleteWord(completeword) - exe s:pos - - " Complete word, check if add closing } - exe 'normal! a'.a:completeword."\<Esc>" - - if getline('.')[col('.')-1] !~ '{' && getline('.')[col('.')] !~ '}' - exe "normal! a}\<Esc>" - endif - - " Return to Insert mode - if col('.') == strlen(getline('.')) - startinsert! - else - normal! l - startinsert - endif -endfunction " }}} - -" ============================================================================== -" File name completion helper functons -" ============================================================================== -" Tex_SetupFileCompletion: {{{ -" Description: -function! Tex_SetupFileCompletion(accept, reject, ext) - call FB_SetVar('FB_AllowRegexp', a:accept) - call FB_SetVar('FB_RejectRegexp', a:reject) - call FB_SetVar('FB_CallBackFunction', 'Tex_CompleteFileName') - call FB_SetVar('FB_CallBackFunctionArgs', '"'.a:ext.'"') - - call FB_OpenFileBrowser('.') -endfunction " }}} -" Tex_CompleteFileName: {{{ -" Description: -function! Tex_CompleteFileName(filename, ext) - call Tex_Debug('+Tex_CompleteFileName: getting filename '.a:filename, 'view') - - if a:ext == 'noext' - let completeword = fnamemodify(a:filename, ':r') - endif - let completeword = Tex_RelPath(completeword, Tex_GetMainFileName(':p:h')) - - call Tex_Debug(":Tex_CompleteFileName: completing with ".completeword, "view") - call Tex_CompleteWord(completeword) -endfunction " }}} -" Tex_Common: common part of strings {{{ -function! s:Tex_Common(path1, path2) - " Assume the caller handles 'ignorecase' - if a:path1 == a:path2 - return a:path1 - endif - let n = 0 - while a:path1[n] == a:path2[n] - let n = n+1 - endwhile - return strpart(a:path1, 0, n) -endfunction " }}} -" Tex_NormalizePath: {{{ -" Description: -function! Tex_NormalizePath(path) - let retpath = a:path - if has("win32") || has("win16") || has("dos32") || has("dos16") - let retpath = substitute(retpath, '\\', '/', 'ge') - endif - if isdirectory(retpath) && retpath !~ '/$' - let retpath = retpath.'/' - endif - return retpath -endfunction " }}} -" Tex_RelPath: ultimate file name {{{ -function! Tex_RelPath(explfilename,texfilename) - let path1 = Tex_NormalizePath(a:explfilename) - let path2 = Tex_NormalizePath(a:texfilename) - - let n = matchend(<SID>Tex_Common(path1, path2), '.*/') - let path1 = strpart(path1, n) - let path2 = strpart(path2, n) - if path2 !~ '/' - let subrelpath = '' - else - let subrelpath = substitute(path2, '[^/]\{-}/', '../', 'ge') - let subrelpath = substitute(subrelpath, '[^/]*$', '', 'ge') - endif - let relpath = subrelpath.path1 - return escape(Tex_NormalizePath(relpath), ' ') -endfunction " }}} - -" ============================================================================== -" Helper functions for dealing with the 'quickfix' and 'preview' windows. -" ============================================================================== -" Tex_SetupCWindow: set maps and local settings for cwindow {{{ -" Description: Set local maps jkJKq<cr> for cwindow. Also size and basic -" settings -" -function! s:Tex_SetupCWindow(...) - call Tex_Debug('+Tex_SetupCWindow', 'view') - cclose - exe 'copen '. g:Tex_ViewerCwindowHeight - " If called with an argument, it means we want to re-use some search - " history from last time. Therefore, just paste it here and proceed. - if a:0 == 1 - set modifiable - % d _ - silent! 0put!=a:1 - $ d _ - endif - setlocal nonumber - setlocal nowrap - - let s:scrollOffVal = &scrolloff - call <SID>Tex_SyncPreviewWindow() - - " If everything went well, then we should be situated in the quickfix - " window. If there were problems, (no matches etc), then we will not be. - " Therefore return. - if &ft != 'qf' - call Tex_Debug('not in quickfix window, quitting', 'view') - return - endif - - nnoremap <buffer> <silent> j j:call <SID>Tex_SyncPreviewWindow()<CR> - nnoremap <buffer> <silent> k k:call <SID>Tex_SyncPreviewWindow()<CR> - nnoremap <buffer> <silent> <up> <up>:call <SID>Tex_SyncPreviewWindow()<CR> - nnoremap <buffer> <silent> <down> <down>:call <SID>Tex_SyncPreviewWindow()<CR> - - " Change behaviour of <cr> only for 'ref' and 'cite' context. - if exists("s:type") && s:type =~ 'ref\|cite' - exec 'nnoremap <buffer> <silent> <cr> ' - \ .':set scrolloff='.s:scrollOffVal.'<CR>' - \ .':cd '.s:origdir.'<CR>' - \ .':silent! call <SID>Tex_CompleteRefCiteCustom("'.s:type.'")<CR>' - - else - " In other contexts jump to place described in cwindow and close small - " windows - exec 'nnoremap <buffer> <silent> <cr> ' - \ .':set scrolloff='.s:scrollOffVal.'<CR>' - \ .':cd '.s:origdir.'<CR>' - \ .':call <SID>Tex_GoToLocation()<cr>' - - endif - - " Scroll the preview window while in the quickfix window - nnoremap <buffer> <silent> J :wincmd j<cr><c-e>:wincmd k<cr> - nnoremap <buffer> <silent> K :wincmd j<cr><c-y>:wincmd k<cr> - - " Exit the quickfix window without doing anything. - exe 'nnoremap <buffer> <silent> q ' - \ .':set scrolloff='.s:scrollOffVal.'<CR>' - \ .':cd '.s:origdir.'<CR>' - \ .':call Tex_CloseSmallWindows()<CR>' - -endfunction " }}} -" Tex_CompleteRefCiteCustom: complete/insert name for current item {{{ -" Description: handle completion of items depending on current context -" -function! s:Tex_CompleteRefCiteCustom(type) - - if a:type =~ 'cite' - if getline('.') =~ '\\bibitem{' - let bibkey = matchstr(getline('.'), '\\bibitem{\zs.\{-}\ze}') - else - let bibkey = matchstr(getline('.'), '{\zs.\{-}\ze\(,\|$\)') - endif - let completeword = strpart(bibkey, strlen(s:prefix)) - - elseif a:type =~ 'ref' - let label = matchstr(getline('.'), '\\label{\zs.\{-}\ze}') - let completeword = strpart(label, strlen(s:prefix)) - - elseif a:type =~ '^plugin_' - let type = substitute(a:type, '^plugin_', '', '') - let completeword = <SID>Tex_DoCompletion(type) - - endif - - call Tex_CloseSmallWindows() - call Tex_Debug(":Tex_CompleteRefCiteCustom: completing with ".completeword, "view") - call Tex_CompleteWord(completeword) -endfunction " }}} -" Tex_SyncPreviewWindow: synchronize quickfix and preview window {{{ -" Description: Usually quickfix engine takes care about most of these things -" but we discard it for better control of events. -" -function! s:Tex_SyncPreviewWindow() - call Tex_Debug('+Tex_SyncPreviewWindow', 'view') - - let viewfile = matchstr(getline('.'), '^\f*\ze|\d') - let viewline = matchstr(getline('.'), '|\zs\d\+\ze') - - " Hilight current line in cwindow - " Normally hightlighting is done with quickfix engine but we use something - " different and have to do it separately - syntax clear - runtime syntax/qf.vim - exe 'syn match vTodo /\%'. line('.') .'l.*/' - hi link vTodo Todo - - " Close preview window and open it again in new place - pclose - exe 'silent! bot pedit +'.viewline.' '.viewfile - - " Vanilla 6.1 has bug. This additional setting of cwindow height prevents - " resizing of this window - exe g:Tex_ViewerCwindowHeight.' wincmd _' - - " Handle situation if there is no item beginning with s:prefix. - " Unfortunately, because we know it late we have to close everything and - " return as in complete process - if v:errmsg =~ 'E32\>' - exe s:winnum.' wincmd w' - pclose! - cclose - if exists("s:prefix") - echomsg 'No bibkey, label or word beginning with "'.s:prefix.'"' - endif - if col('.') == strlen(getline('.')) - startinsert! - else - normal! l - startinsert - endif - let v:errmsg = '' - call Tex_Debug('Tex_SyncPreviewWindow: got error E32, no matches found, quitting', 'view') - return 0 - endif - - " Move to preview window. Really is it under cwindow? - wincmd j - - " Settings of preview window - exe g:Tex_ViewerPreviewHeight.' wincmd _' - setlocal nofoldenable - - if exists('s:type') && s:type =~ 'cite' - " In cite context place bibkey at the top of preview window. - setlocal scrolloff=0 - normal! zt - else - " In other contexts in the middle. Highlight this line? - setlocal scrolloff=100 - normal! z. - endif - - " Return to cwindow - wincmd p - -endfunction " }}} -" Tex_CloseSmallWindows: {{{ -" Description: -" -function! Tex_CloseSmallWindows() - exe s:winnum.' wincmd w' - pclose! - cclose - exe s:pos -endfunction " }}} -" Tex_GoToLocation: Go to chosen location {{{ -" Description: Get number of current line and go to this number -" -function! s:Tex_GoToLocation() - pclose! - let errmsg = v:errmsg - let v:errmsg = '' - exe 'silent! cc ' . line('.') - " If the current buffer is modified, then split - if v:errmsg =~ '^E37:' - split - exe 'silent! cc ' . line('.') - endif - cclose - let v:errmsg = errmsg -endfunction " }}} - -" ============================================================================== -" Functions for finding \\label's or \\bibitem's in the main file. -" ============================================================================== -" Tex_GrepHelper: grep main filename for \\bibitem's or \\label's {{{ -" Description: -function! Tex_GrepHelper(prefix, what) - let _path = &path - let _suffixesadd = &suffixesadd - let _hidden = &hidden - - let mainfname = Tex_GetMainFileName(':p') - " If we are already editing the file, then use :split without any - " arguments so it works even if the file is modified. - " FIXME: If mainfname is being presently edited in another window and - " is 'modified', then the second split statement will not work. - " We will need to travel to that window and back. - if mainfname == expand('%:p') - split - else - exec 'split '.Tex_EscapeSpaces(mainfname) - endif - - let pos = line('.').'| normal! '.virtcol('.').'|' - if a:what =~ 'bib' - call Tex_ScanFileForCite(a:prefix) - else - call Tex_ScanFileForLabels(a:prefix) - endif - exec pos - - q - let &path = _path - let &suffixesadd = _suffixesadd - -endfunction " }}} -" Tex_ScanFileForCite: search for \bibitem's in .bib or .bbl or tex files {{{ -" Description: -" Search for bibliographic entries in the presently edited file in the -" following manner: -" 1. First see if the file has a \bibliography command. -" If YES: -" 1. If a .bib file corresponding to the \bibliography command can be -" found, then search for '@.*'.a:prefix inside it. -" 2. Otherwise, if a .bbl file corresponding to the \bibliography command -" can be found, then search for '\bibitem'.a:prefix inside it. -" 2. Next see if the file has a \thebibliography environment -" If YES: -" 1. Search for '\bibitem'.a:prefix in this file. -" -" If neither a \bibliography or \begin{thebibliography} are found, then repeat -" steps 1 and 2 for every file \input'ed into this file. Abort any searching -" as soon as the first \bibliography or \begin{thebibliography} is found. -function! Tex_ScanFileForCite(prefix) - call Tex_Debug('+Tex_ScanFileForCite: searching for bibkeys in '.bufname('%').' (buffer #'.bufnr('%').')', 'view') - let presBufNum = bufnr('%') - - let foundCiteFile = 0 - " First find out if this file has a \bibliography command in it. If so, - " assume that this is the only file in the project which defines a - " bibliography. - if search('\\\(no\)\?bibliography{', 'w') - call Tex_Debug('Tex_ScanFileForCite: found bibliography command in '.bufname('%'), 'view') - " convey that we have found a bibliography command. we do not need to - " proceed any further. - let foundCiteFile = 1 - - " extract the bibliography filenames from the command. - let bibnames = matchstr(getline('.'), '\\\(no\)\?bibliography{\zs.\{-}\ze}') - let bibnames = substitute(bibnames, '\s', '', 'g') - - call Tex_Debug('trying to search through ['.bibnames.']', 'view') - - let &path = '.,'.g:Tex_BIBINPUTS - - let i = 1 - while 1 - let bibname = Tex_Strntok(bibnames, ',', i) - if bibname == '' - break - endif - - " first try to find if a .bib file exists. If so do not search in - " the corresponding .bbl file. (because the .bbl file will most - " probly be generated automatically from the .bib file with - " bibtex). - - let fname = Tex_FindFile(bibname, '.,'.g:Tex_BIBINPUTS, '.bib') - if fname != '' - call Tex_Debug('finding .bib file ['.bufname('%').']', 'view') - exec 'split '.Tex_EscapeSpaces(fname) - call Tex_Grepadd('@.*{'.a:prefix, "%") - q - else - let fname = Tex_FindFile(bibname, '.,'.g:Tex_BIBINPUTS, '.bbl') - if fname != '' - exec 'split '.Tex_EscapeSpaces(fname) - call Tex_Debug('finding .bbl file ['.bufname('.').']', 'view') - call Tex_Grepadd('\\bibitem{'.a:prefix, "%") - q - endif - endif - - let i = i + 1 - endwhile - - if foundCiteFile - return 1 - endif - endif - - " If we have a thebibliography environment, then again assume that this is - " the only file which defines the bib-keys. Aand convey this information - " upwards by returning 1. - if search('^\s*\\begin{thebibliography}', 'w') - call Tex_Debug('got a thebibliography environment in '.bufname('%'), 'view') - - let foundCiteFile = 1 - - split - lcd %:p:h - call Tex_Debug("silent! grepadd! ".Tex_EscapeForGrep('\\bibitem{'.a:prefix)." %", 'view') - call Tex_Grepadd('\\bibitem{'.a:prefix, "%") - q - - return 1 - endif - - " If we have not found any \bibliography or \thebibliography environment - " in this file, search for these environments in all the files which this - " file includes. - - exec 0 - let wrap = 'w' - while search('^\s*\\\(input\|include\)', wrap) - let wrap = 'W' - - let filename = matchstr(getline('.'), '\\\(input\|include\){\zs.\{-}\ze}') - - let foundfile = Tex_FindFile(filename, '.,'.g:Tex_TEXINPUTS, '.tex') - if foundfile != '' - exec 'split '.Tex_EscapeSpaces(foundfile) - call Tex_Debug('scanning recursively in ['.foundfile.']', 'view') - let foundCiteFile = Tex_ScanFileForCite(a:prefix) - q - endif - - if foundCiteFile - return 1 - endif - endwhile - - - return 0 -endfunction " }}} -" Tex_ScanFileForLabels: greps present file and included files for \\label's {{{ -" Description: -" Grep the presently edited file for \\label's. If the present file \include's -" or \input's other files, then recursively scan those as well, i.e we support -" arbitrary levels of \input'ed-ness. -function! Tex_ScanFileForLabels(prefix) - call Tex_Debug("+Tex_ScanFileForLabels: grepping in file [".bufname('%')."]", "view") - - lcd %:p:h - call Tex_Grepadd('\\label{'.a:prefix, "%") - - " Then recursively grep for all \include'd or \input'ed files. - exec 0 - let wrap = 'w' - while search('^\s*\\\(input\|include\)', wrap) - let wrap = 'W' - - let filename = matchstr(getline('.'), '\\\(input\|include\){\zs.\{-}\ze}') - let foundfile = Tex_FindFile(filename, '.,'.Tex_TEXINPUTS, '.tex') - if foundfile != '' - exec 'split '.Tex_EscapeSpaces(foundfile) - call Tex_Debug('Tex_ScanFileForLabels: scanning recursively in ['.foundfile.']', 'view') - call Tex_ScanFileForLabels(a:prefix) - q - endif - endwhile - -endfunction " }}} - -" ============================================================================== -" Functions for custom command completion -" ============================================================================== -" Tex_completion_{var}: similar variables can be set in package files {{{ -let g:Tex_completion_bibliographystyle = 'abbr,alpha,plain,unsrt' -let g:Tex_completion_addtocontents = 'lof}{,lot}{,toc}{' -let g:Tex_completion_addcontentsline = 'lof}{figure}{,lot}{table}{,toc}{chapter}{,toc}{part}{,'. - \ 'toc}{section}{,toc}{subsection}{,toc}{paragraph}{,'. - \ 'toc}{subparagraph}{' -" }}} -" Tex_PromptForCompletion: prompts for a completion {{{ -" Description: -function! s:Tex_PromptForCompletion(texcommand,ask) - - let common_completion_prompt = - \ Tex_CreatePrompt(g:Tex_completion_{a:texcommand}, 2, ',') . "\n" . - \ 'Enter number or completion: ' - - let inp = input(a:ask."\n".common_completion_prompt) - if inp =~ '^[0-9]\+$' - let completion = Tex_Strntok(g:Tex_completion_{a:texcommand}, ',', inp) - else - let completion = inp - endif - - return completion -endfunction " }}} -" Tex_DoCompletion: fast insertion of completion {{{ -" Description: -" -function! s:Tex_DoCompletion(texcommand) - let completion = <SID>Tex_PromptForCompletion(a:texcommand, 'Choose a completion to insert: ') - if completion != '' - return completion - else - return '' - endif -endfunction " }}} - -" ============================================================================== -" Functions for presenting an outlined version for completion -" ============================================================================== -" Tex_StartOutlineCompletion: sets up an outline window {{{ - -" get the place where this plugin resides for setting cpt and dict options. -" these lines need to be outside the function. -let s:path = expand('<sfile>:p:h') -if has('python') && Tex_GetVarValue('Tex_UsePython') - python import sys, re - exec "python sys.path += [r'". s:path . "']" - python import outline -endif - -function! Tex_StartOutlineCompletion() - let mainfname = Tex_GetMainFileName(':p') - - " open the buffer - let _report = &report - let _cmdheight=&cmdheight - let _lazyredraw = &lazyredraw - set report=1000 - set cmdheight=1 - set lazyredraw - - bot split __OUTLINE__ - exec Tex_GetVarValue('Tex_OutlineWindowHeight', 15).' wincmd _' - - setlocal modifiable - setlocal noswapfile - setlocal buftype=nowrite - setlocal bufhidden=delete - setlocal nowrap - setlocal foldmethod=marker - setlocal foldmarker=<<<,>>> - - " delete everything in it to the blackhole - % d _ - - if has('python') && Tex_GetVarValue('Tex_UsePython') - exec 'python retval = outline.main(' - \. 'r"' . fnamemodify(mainfname, ':p') . '", ' - \. 'r"' . s:prefix . '")' - - " transfer variable from python to a local variable. - python vim.command("""let retval = "%s" """ % re.sub(r'"|\\', r'\\\g<0>', retval)) - - 0put!=retval - else - exec '0r!'.s:path.'/outline.py '.mainfname.' '.s:prefix - endif - - 0 - - call Tex_SetupOutlineSyntax() - - exec 'nnoremap <buffer> <cr> ' - \ .':cd '.s:origdir.'<CR>' - \ .':call Tex_FinishOutlineCompletion()<CR>' - exec 'nnoremap <buffer> q ' - \ .':cd '.s:origdir.'<CR>' - \ .':close<CR>' - - " once the buffer is initialized, go back to the original settings. - setlocal nomodifiable - setlocal nomodified - let &report = _report - let &cmdheight = _cmdheight - let &lazyredraw = _lazyredraw - -endfunction " }}} -" Tex_SetupOutlineSyntax: sets up the syntax items for the outline {{{ -" Description: -function! Tex_SetupOutlineSyntax() - syn match outlineFileName "<\f\+>$" contained - syn match foldMarkers "<<<\d$" contained - syn match firstSemiColon '^:' contained - syn match firstAngle '^>' contained - - syn match sectionNames '\(\d\.\)\+ .*' contains=foldMarkers - syn match previousLine '^:.*' contains=firstSemiColon - syn match labelLine '^>.*' contains=firstAngle,outlineFileName - - hi def link outlineFileName Ignore - hi def link foldMarkers Ignore - hi def link firstSemiColon Ignore - hi def link firstAngle Ignore - - hi def link sectionNames Type - hi def link previousLine Special - hi def link labelLine Comment -endfunction " }}} -" Tex_FinishOutlineCompletion: inserts the reference back in the text {{{ -function! Tex_FinishOutlineCompletion() - if getline('.') !~ '^[>:]' - return - endif - - if getline('.') =~ '^>' - let ref_complete = matchstr(getline('.'), '^>\s\+\zs\S\+\ze') - elseif getline('.') =~ '^:' - let ref_complete = matchstr(getline(line('.')-1), '^>\s\+\zs\S\+\ze') - endif - - let ref_remaining = strpart(ref_complete, strlen(s:prefix)) - close - call Tex_CompleteWord(ref_remaining) -endfunction " }}} - -" ============================================================================== -" Functions for presenting a nicer list of bibtex entries -" ============================================================================== -" Tex_FindBibFiles: finds all .bib files used by the main file {{{ -" Description: -function! Tex_FindBibFiles() - - let mainfname = Tex_GetMainFileName(':p') - wincmd n - exec 'silent! e '.mainfname - - if search('\\\(no\)\?bibliography{', 'w') - - call Tex_Debug('Tex_FindBibFiles: found bibliography command in '.bufname('%'), 'view') - - " extract the bibliography filenames from the command. - let bibnames = matchstr(getline('.'), '\\\(no\)\?bibliography{\zs.\{-}\ze}') - let bibnames = substitute(bibnames, '\s', '', 'g') - - call Tex_Debug(':Tex_FindBibFiles: trying to search through ['.bibnames.']', 'view') - - let bibfiles = '' - let i = 1 - while 1 - let bibname = Tex_Strntok(bibnames, ',', i) - if bibname == '' - break - endif - let fname = Tex_FindFile(bibname, '.,'.g:Tex_BIBINPUTS, '.bib') - if fname != '' - let bibfiles = bibfiles.fname."\n" - endif - let i = i + 1 - endwhile - - call Tex_Debug(":Tex_FindBibFiles: returning [".bibfiles."]", "view") - q - return bibfiles - - else - q - return '' - endif - -endfunction " }}} -" Tex_StartBibtexOutline: sets up an outline window {{{ - -" get the place where this plugin resides for setting cpt and dict options. -" these lines need to be outside the function. -if has('python') && Tex_GetVarValue('Tex_UsePython') - python import sys, re - exec "python sys.path += [r'". s:path . "']" - python import bibtools -endif - -function! Tex_StartCiteCompletion() - let bibfiles = Tex_FindBibFiles() - if bibfiles !~ '\S' - echohl WarningMsg - echomsg 'No bibfiles found! Sorry' - echohl None - return - endif - - bot split __OUTLINE__ - exec Tex_GetVarValue('Tex_OutlineWindowHeight', 15).' wincmd _' - - exec 'python Tex_BibFile = bibtools.BibFile("""'.bibfiles.'""")' - exec 'python Tex_BibFile.addfilter("key ^'.s:prefix.'")' - call Tex_DisplayBibList() - - nnoremap <Plug>Tex_JumpToNextBibEntry :call search('^\S.*\]$', 'W')<CR>:call Tex_EchoBibShortcuts()<CR>z. - nnoremap <Plug>Tex_JumpToPrevBibEntry :call search('^\S.*\]$', 'bW')<CR>:call Tex_EchoBibShortcuts()<CR>z. - nnoremap <Plug>Tex_FilterBibEntries :call Tex_HandleBibShortcuts('filter')<CR> - nnoremap <Plug>Tex_RemoveBibFilters :call Tex_HandleBibShortcuts('remove_filters')<CR> - nnoremap <Plug>Tex_SortBibEntries :call Tex_HandleBibShortcuts('sort')<CR> - nnoremap <Plug>Tex_CompleteCiteEntry :call Tex_CompleteCiteEntry()<CR> - - nmap <buffer> <silent> n <Plug>Tex_JumpToNextBibEntry - nmap <buffer> <silent> p <Plug>Tex_JumpToPrevBibEntry - nmap <buffer> <silent> f <Plug>Tex_FilterBibEntries - nmap <buffer> <silent> s <Plug>Tex_SortBibEntries - nmap <buffer> <silent> a <Plug>Tex_RemoveBibFilters - nmap <buffer> <silent> q :close<CR> - nmap <buffer> <silent> <CR> <Plug>Tex_CompleteCiteEntry - -endfunction " }}} -" Tex_DisplayBibList: displays the list of bibtex entries {{{ -" Description: -function! Tex_DisplayBibList() - " open the buffer - let _report = &report - let _cmdheight=&cmdheight - let _lazyredraw = &lazyredraw - set report=1000 - set cmdheight=1 - set lazyredraw - - setlocal modifiable - setlocal noswapfile - setlocal buftype=nowrite - setlocal bufhidden=delete - setlocal nowrap - setlocal foldmethod=marker - setlocal foldmarker=<<<,>>> - - - " delete everything in it to the blackhole - % d _ - - exec 'python Tex_CurBuf = vim.current.buffer' - exec 'python Tex_CurBuf[:] = str(Tex_BibFile).splitlines()' - - call Tex_SetupBibSyntax() - - 0 - call Tex_EchoBibShortcuts() - - " once the buffer is initialized, go back to the original settings. - setlocal nomodifiable - setlocal nomodified - let &report = _report - let &cmdheight = _cmdheight - let &lazyredraw = _lazyredraw - -endfunction " }}} -" Tex_EchoBibShortcuts: echos all the shortcuts in the status line {{{ -" Description: -function! Tex_EchoBibShortcuts() - echomsg '(a) all (f) filter (s) sort (n) next (p) previous (q) quit (<CR>) choose' -endfunction " }}} -" Tex_SetupBibSyntax: sets up the syntax items for the outline {{{ -" Description: -function! Tex_SetupBibSyntax() - syn match BibTitleHeader "^TI" contained - syn match BibAuthorHeader "^AU" contained - syn match BibLocationHeader "^IN" contained - syn match BibMiscHeader "^MI" contained - - syn match BibKeyLine '^\S.*\]$' contains=BibKey - syn match BibTitle "^TI .*" contains=BibTitleHeader - syn match BibAuthor "^AU .*" contains=BibAuthorHeader - syn match BibLocation "^IN .*" contains=BibLocationHeader - syn match BibMisc "^MI .*" contains=BibMiscHeader - - hi def link BibTitleHeader Ignore - hi def link BibAuthorHeader Ignore - hi def link BibLocationHeader Ignore - hi def link BibMiscHeader Ignore - - hi def link BibKeyLine Visual - hi def link BibTitle Type - hi def link BibAuthor Special - hi def link BibLocation Comment - hi def link BibMisc Comment -endfunction " }}} -" Tex_HandleBibShortcuts: handles user keypresses {{{ -" Description: -function! Tex_HandleBibShortcuts(command) - - if a:command == 'filter' || a:command == 'sort' - - let fieldprompt = - \ "Field acronyms: (`:let g:Tex_EchoBibFields = 0` to avoid this message)\n" . - \ " [t] title [a] author [b] booktitle \n" . - \ " [j] journal [y] year [p] bibtype \n" . - \ " (you can also enter the complete field name) \n" - - let fieldprompt = Tex_GetVarValue('Tex_BibFieldPrompt', fieldprompt) - - if Tex_GetVarValue('Tex_EchoBibFields', 1) == 1 - echo fieldprompt - endif - - let inp = input('Enter '.a:command.' criterion [field<space>value]: ') - if inp !~ '\v^\S+\s+\S.*' - echohl WarningMsg - echomsg 'Invalid filter specification. Use "field<space>value"' - echohl None - return - endif - - if inp != '' - " If the field is specified as a single character, then replace - " it with the corresponding 'full form'. - if inp =~ '^[a-z]\>' - if Tex_GetVarValue('Tex_BibAcronym_'.inp[0]) != '' - let inp = substitute(inp, '.', Tex_GetVarValue('Tex_BibAcronym_'.inp[0]), '') - elseif fieldprompt =~ '\['.inp[0].'\]' - let full = matchstr(fieldprompt, '\['.inp[0].'\] \zs\w\+\ze') - let inp = substitute(inp, '.', full, '') - endif - endif - call Tex_Debug(":Tex_HandleBibShortcuts: using inp = [".inp."]", "view") - if a:command == 'filter' - exec 'python Tex_BibFile.addfilter("'.inp.'")' - elseif a:command == 'sort' - exec "python Tex_BibFile.addsortfield(\"".inp."\")" - exec 'python Tex_BibFile.sort()' - endif - silent! call Tex_DisplayBibList() - endif - - elseif a:command == 'remove_filters' - - exec 'python Tex_BibFile.rmfilters()' - exec 'python Tex_BibFile.addfilter("key ^'.s:prefix.'")' - call Tex_DisplayBibList() - - endif - -endfunction " }}} -" Tex_CompleteCiteEntry: completes cite entry {{{ -" Description: -function! Tex_CompleteCiteEntry() - normal! 0 - call search('\[\S\+\]$', 'W') - if getline('.') !~ '\[\S\+\]$' - call search('\[\S\+\]$', 'bW') - endif - - if getline('.') !~ '\[\S\+\]$' - return - endif - - let ref = matchstr(getline('.'), '\[\zs\S\+\ze\]$') - close - call Tex_Debug(":Tex_CompleteCiteEntry: completing with ".ref, "view") - call Tex_CompleteWord(strpart(ref, strlen(s:prefix))) -endfunction " }}} - -com! -nargs=0 TClearCiteHist unlet! s:citeSearchHistory - -" vim:fdm=marker:nowrap:noet:ff=unix:ts=4:sw=4 diff --git a/.vim/ftplugin/latex-suite/version.vim b/.vim/ftplugin/latex-suite/version.vim deleted file mode 100644 index 41089cf..0000000 --- a/.vim/ftplugin/latex-suite/version.vim +++ /dev/null @@ -1,30 +0,0 @@ -" Tex_Version: returns a string which gives the current version number of latex-suite -" Description: -" Each time a bug fix/addition is done in any source file in latex-suite, -" not just this file, the number below has to be incremented by the author. -" This will ensure that there is a single 'global' version number for all of -" latex-suite. -" -" If a change is done in the doc/ directory, i.e an addition/change in the -" documentation, then this number should NOT be incremented. -" -" Latex-suite will follow a 3-tier system of versioning just as Vim. A -" version number will be of the form: -" -" X.Y.ZZ -" -" 'X' will only be incremented for a major over-haul or feature addition. -" 'Y' will be incremented for significant changes which do not qualify -" as major. -" 'ZZ' will be incremented for bug-fixes and very trivial additions such -" as adding an option etc. Once ZZ reaches 50, then Y will be -" incremented and ZZ will be reset to 01. Each time we have a -" version number of the form X.Y.01, then we'll make a release on -" vim.sf.net and also create a cvs tag at that point. We'll try to -" "stabilize" that version by releasing a few pre-releases and then -" keep that as a stable point. -function! Tex_Version() - return "Latex-Suite: version 1.8.13" -endfunction - -com! -nargs=0 TVersion echo Tex_Version() diff --git a/.vim/ftplugin/latex-suite/wizardfuncs.vim b/.vim/ftplugin/latex-suite/wizardfuncs.vim deleted file mode 100644 index 113271c..0000000 --- a/.vim/ftplugin/latex-suite/wizardfuncs.vim +++ /dev/null @@ -1,377 +0,0 @@ -" File: wizardfuncs.vim -" Author: Mikolaj Machowski <mikmach@wp.pl> -" Description: -" -" Installation: -" History: pluginized by Srinath Avadhanula -"============================================================================= - -if exists('s:doneOnce') - finish -endif -let s:doneOnce = 1 - -let s:mapleader = exists('mapleader') ? mapleader : "\\" -" ============================================================================== -" Specialized functions for handling sections from command line -" ============================================================================== - -com! -nargs=? TSection call Tex_section(<f-args>) -com! -nargs=? TSectionAdvanced call Tex_section_adv(<f-args>) - -" Tex_VisSecAdv: handles visual selection for sections {{{ -function! Tex_VisSecAdv(section) - let shorttitle = input("Short title? ") - let toc = input("Include in table of contents [y]/n ? ") - let sstructure = "\\".a:section - if ( toc == "" || toc == "y" ) - let toc = "" - else - let toc = "*" - endif - if shorttitle != "" - let shorttitle = '['.shorttitle.']' - endif - exe "normal `>a}\<cr>\<esc>`<i".sstructure.toc.shorttitle."{" -endfunction - -" }}} -" Tex_InsSecAdv: section wizard in insert mode {{{ -function! Tex_InsSecAdv(structure) - let ttitle = input("Title? ") - let shorttitle = input("Short title? ") - let toc = input("Include in table of contents [y]/n ? ") - "Structure - let sstructure = "\\".a:structure - "TOC - if ( toc == "" || toc == "y" ) - let toc = "" - else - let toc = "*" - endif - "Shorttitle - if shorttitle != "" - let shorttitle = '['.shorttitle.']' - endif - "Title - let ttitle = '{'.ttitle.'}' - "Happy end? - return sstructure.toc.shorttitle.ttitle -endfunction - - -" }}} -function! Tex_section(...) "{{{ - silent let pos = line('.').' | normal! '.virtcol('.').'|' - silent let last_section_value = s:Tex_section_detection() - if a:0 == 0 - silent let last_section_name = s:Tex_section_name(last_section_value) - silent call s:Tex_section_call(last_section_name) - elseif a:1 =~ "[+=\-]" - silent let sec_arg = a:1 - silent let curr_section_value = s:Tex_section_curr_rel_value(sec_arg, last_section_value) - silent let curr_section_name = s:Tex_section_name(curr_section_value) - silent call s:Tex_section_call(curr_section_name) - elseif a:1 == "?" - echo s:last_section_line - else - silent let curr_section_value = s:Tex_section_curr_value(a:1) - silent let curr_section_name = s:Tex_section_name(curr_section_value) - silent call s:Tex_section_call(curr_section_name) - endif - silent exe pos -endfunction "}}} -function! Tex_section_adv(...) "{{{ - let pos = line('.').' | normal! '.virtcol('.').'|' - silent let last_section_value = s:Tex_section_detection() - if a:0 == 0 - silent let last_section_name = s:Tex_section_name(last_section_value) - let section = Tex_InsSecAdv(last_section_name) - elseif a:1 =~ "[+=\-]" - silent let sec_arg = a:1 - silent let curr_section_value = s:Tex_section_curr_rel_value(sec_arg, last_section_value) - silent let curr_section_name = s:Tex_section_name(curr_section_value) - let section = Tex_InsSecAdv(curr_section_name) - else - silent let curr_section_value = s:Tex_section_curr_value(a:1) - silent let curr_section_name = s:Tex_section_name(curr_section_value) - silent call s:Tex_section_call(curr_section_name) - let section = Tex_InsSecAdv(curr_section_name) - endif - exe "normal i".section - exe pos -endfunction "}}} -function! s:Tex_section_detection() "{{{ - let pos = line('.').' | normal! '.virtcol('.').'|' - let last_section1 = search("\\\\\subparagraph\\|\\\\paragraph\\|\\\\subsubsection\\|\\\\subsection\\|\\\\section\\|\\\\chapter\\|\\\part\)", "b") - exe pos - let last_section2 = search("\\\\\part\\|\\\\chapter\\|\\\\section\\|\\\\subsection\\|\\\\subsubsection\\|\\\\paragraph\\|\\\subparagraph\)", "b") - if last_section1 > last_section2 - let last_section = last_section1 - else - let last_section = last_section2 - endif - if last_section != 0 - exe last_section - if getline(".") =~ "\\\\part" - let last_section_value = 0 - elseif getline(".") =~ "\\\\chapter" - let last_section_value = 1 - elseif getline(".") =~ "\\\\section" - let last_section_value = 2 - elseif getline(".") =~ "\\\\subsection" - let last_section_value = 3 - elseif getline(".") =~ "\\\\subsubsection" - let last_section_value = 4 - elseif getline(".") =~ "\\\\paragraph" - let last_section_value = 5 - elseif getline(".") =~ "\\\\subparagraph" - let last_section_value = 6 - endif - let s:last_section_line = getline(".") - else - let last_section_value = 0 - endif - exe pos - return last_section_value -endfunction "}}} -function! s:Tex_section_curr_value(sec_arg) "{{{ - if a:sec_arg == "pa" || a:sec_arg == "0" || a:sec_arg == "part" - let curr_section_value = 0 - elseif a:sec_arg == "ch" || a:sec_arg == "1" || a:sec_arg == "chapter" - let curr_section_value = 1 - elseif a:sec_arg == "se" || a:sec_arg == "2" || a:sec_arg == "section" - let curr_section_value = 2 - elseif a:sec_arg == "ss" || a:sec_arg == "3" || a:sec_arg == "subsection" - let curr_section_value = 3 - elseif a:sec_arg == "s2" || a:sec_arg == "4" || a:sec_arg == "subsubsection" - let curr_section_value = 4 - elseif a:sec_arg == "pr" || a:sec_arg == "5" || a:sec_arg == "paragraph" - let curr_section_value = 5 - elseif a:sec_arg == "sp" || a:sec_arg == "6" || a:sec_arg == "subparagraph" - let curr_section_value = 6 - endif - return curr_section_value -endfunction "}}} -function! s:Tex_section_curr_rel_value(sec_arg, last_section_value) "{{{ - let last_section_value = a:last_section_value - if a:sec_arg == "+" || a:sec_arg == "+1" - let curr_section_value = last_section_value + 1 - elseif a:sec_arg == "++" || a:sec_arg == "+2" - let curr_section_value = last_section_value + 2 - elseif a:sec_arg == "-" || a:sec_arg == "-1" - let curr_section_value = last_section_value - 1 - elseif a:sec_arg == "--" || a:sec_arg == "-2" - let curr_section_value = last_section_value - 2 - elseif a:sec_arg == "=" - let curr_section_value = last_section_value - else - exe "let curr_section_value = last_section_value".a:sec_arg - endif - if curr_section_value < 0 - let curr_section_value = 0 - elseif curr_section_value > 6 - let curr_section_value = 6 - endif - return curr_section_value -endfunction "}}} -function! s:Tex_section_name(section_value) "{{{ - if a:section_value == 0 - let section_name = "part" - elseif a:section_value == 1 - let section_name = "chapter" - elseif a:section_value == 2 - let section_name = "section" - elseif a:section_value == 3 - let section_name = "subsection" - elseif a:section_value == 4 - let section_name = "subsubsection" - elseif a:section_value == 5 - let section_name = "paragraph" - elseif a:section_value == 6 - let section_name = "subparagraph" - endif - return section_name -endfunction "}}} -function! s:Tex_section_call(section_name) "{{{ - exe "normal! i\\".a:section_name."{<++>}<++>\<Esc>0\<C-j>" -" let ret_section = "\\".a:section_name."{<++>}<++>" -" exe "normal! i\<C-r>=IMAP_PutTextWithMovement(ret_section)\<CR>" -" normal f}i -endfunction "}}} - -" ============================================================================== -" Add looking help into latexhelp.txt -" ============================================================================== - -inoremap <silent> <Plug>Tex_Help <C-o>:call <SID>TexHelp()<CR> -nnoremap <silent> <Plug>Tex_Help :call <SID>TexHelp()<CR> -command! -nargs=0 THelp call <SID>TexHelp() -call Tex_MakeMap('<F1>', '<Plug>Tex_Help', 'i', '') -call Tex_MakeMap('<F1>', '<Plug>Tex_Help', 'n', '') - -" TexHelp: Cursor being on LaTeX item check if exists help tag about it " {{{ -function! s:TexHelp() - let syntax_item = synIDattr(synID(line('.'),col('.')-1,0),"name") - if syntax_item =~ '^tex' - setlocal isk+=\ - let curword = expand('<cword>') - setlocal isk-=\ - let v:errmsg = '' - if curword =~ "^\\" || syntax_item == 'texSectionName' - exe 'silent! help '.curword - if v:errmsg =~ '^E149:' - echohl ErrorMsg - exe "echomsg 'Sorry, no help for LaTeX: ".curword."'" - echohl None - let v:errmsg = '' - endif - else - help - endif - else - help - endif -endfunction " }}} - -" ============================================================================== -" Tables of shortcuts -" ============================================================================== -" -command! -nargs=? Tshortcuts call Tex_shortcuts(<f-args>)<CR> - -" Tex_shortcuts: Show shortcuts in terminal after : command {{{ -function! Tex_shortcuts(...) - if a:0 == 0 - let shorts = input(" Allowed arguments are:" - \."\n g General" - \."\n e Environments" - \."\n f Fonts" - \."\n s Sections" - \."\n m Math" - \."\n a All" - \."\n Enter your choice (<Enter> quits) : ") - call Tex_shortcuts(shorts) - elseif a:1 == 'g' - echo g:generalshortcuts - elseif a:1 == 'e' - echo g:environmentshortcuts - elseif a:1 == 'f' - echo g:fontshortcuts - elseif a:1 == 's' - echo g:sectionshortcuts - elseif a:1 == 'm' - echo g:mathshortcuts - elseif a:1 == 'a' - echo g:generalshortcuts - echo g:environmentshortcuts - echo g:fontshortcuts - echo g:sectionshortcuts - echo g:mathshortcuts - endif - -endfunction -" }}} - -" General shortcuts {{{ -let g:generalshortcuts = '' -\."\n General shortcuts" -\."\n <mapleader> is a value of <Leader>" -\."\n ".s:mapleader.'ll compile whole document' -\."\n ".s:mapleader.'lv view compiled document' -\."\n ".s:mapleader.'ls forward searching (if possible)' -\."\n ".s:mapleader.'rf refresh folds' -" }}} -" Environment shortcuts {{{ -let g:environmentshortcuts = '' -\."\n Environment shortcuts" -\."\n <mapleader> is a value of g:Tex_Leader2" -\."\n I v&V I v&V" -\."\n ELI ".g:Tex_Leader2."li list EQN ".g:Tex_Leader2."qn quotation" -\."\n EDE ".g:Tex_Leader2."de description ESB ".g:Tex_Leader2."sb sloppybar" -\."\n EEN ".g:Tex_Leader2."en enumerate ETI ".g:Tex_Leader2."ti theindex" -\."\n EIT ".g:Tex_Leader2."it itemize ETP ".g:Tex_Leader2."tp titlepage" -\."\n ETI ".g:Tex_Leader2."ti theindex EVM ".g:Tex_Leader2."vm verbatim" -\."\n ETL ".g:Tex_Leader2."tl trivlist EVE ".g:Tex_Leader2."ve verse" -\."\n ETE ".g:Tex_Leader2."te table ETB ".g:Tex_Leader2."tb thebibliography" -\."\n ETG ".g:Tex_Leader2."tg tabbing ENO ".g:Tex_Leader2."no note" -\."\n ETR ".g:Tex_Leader2."tr tabular EOV ".g:Tex_Leader2."ov overlay" -\."\n EAR ".g:Tex_Leader2."ar array ESL ".g:Tex_Leader2."sl slide" -\."\n EDM ".g:Tex_Leader2."dm displaymath EAB ".g:Tex_Leader2."ab abstract" -\."\n EEA ".g:Tex_Leader2."ea eqnarray EAP ".g:Tex_Leader2."ap appendix" -\."\n EEQ ".g:Tex_Leader2."eq equation ECE ".g:Tex_Leader2."ce center" -\."\n EDO ".g:Tex_Leader2."do document EFI ".g:Tex_Leader2."fi figure" -\."\n EFC ".g:Tex_Leader2."fc filecontents ELR ".g:Tex_Leader2."lr lrbox" -\."\n EFL ".g:Tex_Leader2."fl flushleft EMP ".g:Tex_Leader2."mp minipage" -\."\n EFR ".g:Tex_Leader2."fr flushright EPI ".g:Tex_Leader2."pi picture" -\."\n EMA ".g:Tex_Leader2."ma math EQE ".g:Tex_Leader2."qe quote" -" }}} -" Font shortcuts {{{ -let g:fontshortcuts = '' -\."\n Font shortcuts" -\."\n <mapleader> is a value of g:Tex_Leader" -\."\n Shortcuts Effects" -\."\n I v&V I&v V" -\."\n FBF ".g:Tex_Leader."bf \\textbf{} {\\bfseries }" -\."\n FMD ".g:Tex_Leader."md \\textmd{} {\\mdseries }" -\."\n" -\."\n FTT ".g:Tex_Leader."tt \\texttt{} {\\ttfamily }" -\."\n FSF ".g:Tex_Leader."sf \\textsf{} {\\sffamily }" -\."\n FRM ".g:Tex_Leader."rm \\textrm{} {\\rmfamily }" -\."\n" -\."\n FUP ".g:Tex_Leader."up \\textup{} {\\upshape }" -\."\n FSL ".g:Tex_Leader."sl \\textsl{} {\\slshape }" -\."\n FSC ".g:Tex_Leader."sc \\textsc{} {\\scshape }" -\."\n FIT ".g:Tex_Leader."it \\textit{} {\\itshape }" -" }}} -" Section shortcuts {{{ -let g:sectionshortcuts = '' -\."\n Section shortcuts" -\."\n <mapleader> is a value of g:Tex_Leader2" -\."\n I v&V" -\."\n SPA ".g:Tex_Leader2."pa part" -\."\n SCH ".g:Tex_Leader2."ch chapter" -\."\n SSE ".g:Tex_Leader2."se section" -\."\n SSS ".g:Tex_Leader2."ss subsection" -\."\n SS2 ".g:Tex_Leader2."s2 subsubsection" -\."\n SPG ".g:Tex_Leader2."pg paragraph" -\."\n SSP ".g:Tex_Leader2."sp subparagraph" -" }}} -" Math shortcuts {{{ -let g:mathshortcuts = '' -\."\n Math shortcuts - Insert mode" -\."\n `a \\alpha `b \\beta" -\."\n `g \\gamma `d \\delta" -\."\n `e \\varepsilon `z \\zeta" -\."\n `h \\eta `q \\theta" -\."\n `i \\iota `k \\kappa" -\."\n `l \\lambda `m \\mu" -\."\n `n \\nu `x \\xi" -\."\n `p \\pi `r \\rho" -\."\n `s \\sigma `v \\varsigma" -\."\n `t \\tau `u \\upsilon" -\."\n `f \\varphi `c \\chi" -\."\n `y \\psi `w \\omega" -\."\n `A \\Alpha `B \\Beta" -\."\n `G \\Gamma `D \\Delta" -\."\n `E \\Epsilon `Z \\mathrm{Z}" -\."\n `H \\Eta `K \\Kappa" -\."\n `L \\Lambda `M \\Mu" -\."\n `N \\Nu `X \\Xi" -\."\n `P \\Pi `R \\Rho" -\."\n `S \\Sigma `T \\Tau" -\."\n `U \\Upsilon `C \\Chi" -\."\n `Y \\Psi `W \\Omega" -\."\n `( \\subset `) \\Subset" -\."\n `= \\equiv =~ \\approx" -\."\n `- \\bigcap `+ \\bigcup" -\."\n `. \\cdot `* \\times" -\."\n `\\ \\setminus `@ \\circ" -\."\n `& \\wedge `, \\nonumber" -\."\n `8 \\infty `_ \\bar{}" -\."\n `: \\ddot{} `; \\dot{}" -\."\n `^ \\hat{} `~ \\tilde{}" -\."\n `6 \\partial" -" }}} - -" vim:fdm=marker:ff=unix:noet:ts=4:sw=4 diff --git a/.vim/ftplugin/po.vim b/.vim/ftplugin/po.vim deleted file mode 100644 index 8b083ab..0000000 --- a/.vim/ftplugin/po.vim +++ /dev/null @@ -1,407 +0,0 @@ -" Vim ftplugin for PO file (GNU gettext) editing. -" Maintainer: Aleksandar Jelenak <ajelenak AT yahoo.com> -" Last Change: Tue, 12 Apr 2005 13:49:55 -0400 -" -" *** Latest version: http://www.vim.org/scripts/script.php?script_id=695 *** -" -" DESCRIPTION -" This file is a Vim ftplugin for editing PO files (GNU gettext -- the GNU -" i18n and l10n system). It automates over a dozen frequent tasks that -" occur while editing files of this type. -" -" Key mappings -" Action (Insert mode) GUI Vim Vim -" =============================================================== -" Move to an untransl. string forward <S-F1> \m -" Move to an untransl. string backward <S-F2> \p -" Copy the msgid string to msgstr <S-F3> \c -" Delete the msgstr string <S-F4> \d -" Move to the next fuzzy translation <S-F5> \f -" Move to the previous fuzzy translation <S-F6> \b -" Label the translation fuzzy <S-F7> \z -" Remove the fuzzy label <S-F8> \r -" Show msgfmt statistics for the file(*) <S-F11> \s -" Browse through msgfmt errors for the file(*) <S-F12> \e -" Put the translator info in the header \t \t -" Put the lang. team info in the header \l \l -" --------------------------------------------------------------- -" (*) Only available on UNIX computers. -" -" -" Key mappings -" Action (Normal mode) GUI Vim Vim -" =============================================================== -" Move to an untransl. string forward <S-F1> \m -" Move to an untransl. string backward <S-F2> \p -" Move to the next fuzzy translation <S-F5> \f -" Move to the previous fuzzy translation <S-F6> \b -" Label the translation fuzzy <S-F7> \z -" Remove the fuzzy label <S-F8> \r -" Split-open the file under cursor gf gf -" Show msgfmt statistics for the file(*) <S-F11> \s -" Browse through msgfmt errors for the file(*) <S-F12> \e -" Put the translator info in the header \t \t -" Put the lang. team info in the header \l \l -" --------------------------------------------------------------- -" (*) Only available on UNIX computers. -" -" Remarks: -" - "S" in the above key mappings stands for the <Shift> key and "\" in -" fact means "<LocalLeader>" (:help <LocalLeader>), which is "\" by -" Vim's default. -" - Information about the translator and language team is supplied by two -" global variables: 'g:po_translator' and 'g:po_lang_team'. They should -" be defined in the ".vimrc" (UNIX) or "_vimrc" (Windows) file. If they -" are not defined, the default values (descriptive strings) are put -" instead. -" - Vim's "gf" Normal mode command is remapped (local to the PO buffer, of -" course). It will only function on lines starting with "#: ". Search -" for the file is performed in the directories specified by the 'path' -" option. The user can supply its own addition to this option via the -" 'g:po_path' global variable. Its default value for PO files can be -" found by typing ":set path?" from within a PO buffer. For the correct -" format please see ":help 'path'". Warning messages are printed if no -" or more than one file is found. -" - Vim's Quickfix mode (see ":help quickfix") is used for browsing -" through msgfmt-reported errors for the file. No MO file is created -" when running the msgfmt program since its output is directed to -" "/dev/null". The user can supply command-line arguments to the msgfmt -" program via the global variable 'g:po_msgfmt_args'. All arguments are -" allowed except the "-o" for output file. The default value is -" "-vv -c". -" -" But there's even more! -" -" Every time the PO file is saved, a PO-formatted time stamp is -" automatically added to the file header. -" -" INSTALLATION -" Put this file in a Vim ftplugin directory. On UNIX computers it is -" usually either "~/.vim/ftplugin" or "~/.vim/after/ftplugin". On Windows -" computers, the defaults are "$VIM\vimfiles\ftplugin" or -" "$VIM\vimfiles\after\ftplugin". For more information consult the Vim -" help, ":help 'ftplugin'" and ":help 'runtimepath'". -" -" REMOVAL -" Just delete the bloody file! - -" Only do this when not done yet for this buffer. -if exists("b:did_po_mode_ftplugin") || exists("loaded_po_ftplugin") - finish -endif -let b:did_po_mode_ftplugin = 1 -let loaded_po_ftplugin = 1 - -setlocal comments= -setlocal errorformat=%f:%l:\ %m -setlocal makeprg=msgfmt - -let b:po_path = '.,..,../src,../src/*' -if exists("g:po_path") - let b:po_path = b:po_path . ',' . g:po_path -endif -exe "setlocal path=" . b:po_path -unlet b:po_path - -" Check if GUI Vim is running. -if has("gui_running") - let gui = 1 -else - let gui = 0 -endif - -" Move to the first untranslated msgstr string forward. -if !hasmapto('<Plug>NextTransFwd') - if gui - imap <buffer> <unique> <S-F1> <Plug>NextTransFwd - nmap <buffer> <unique> <S-F1> <Plug>NextTransFwd - else - imap <buffer> <unique> <LocalLeader>m <Plug>NextTransFwd - nmap <buffer> <unique> <LocalLeader>m <Plug>NextTransFwd - endif -endif -inoremap <buffer> <unique> <Plug>NextTransFwd <ESC>/^msgstr\s*""\(\n\n\\|\%$\)<CR>:let @/=""<CR>:call histdel("/", -1)<CR>z.f"a -nnoremap <buffer> <unique> <Plug>NextTransFwd /^msgstr\s*""\(\n\n\\|\%$\)<CR>:let @/=""<CR>:call histdel("/", -1)<CR><C-L>z. - -" Move to the first untranslated msgstr string backward. -if !hasmapto('<Plug>NextTransBwd') - if gui - imap <buffer> <unique> <S-F2> <Plug>NextTransBwd - nmap <buffer> <unique> <S-F2> <Plug>NextTransBwd - else - imap <buffer> <unique> <LocalLeader>p <Plug>NextTransBwd - nmap <buffer> <unique> <LocalLeader>p <Plug>NextTransBwd - endif -endif -inoremap <buffer> <unique> <Plug>NextTransBwd <ESC>{?^msgstr\s*""\(\n\n\\|\%$\)<CR>:let @/=""<CR>:call histdel("/", -1)<CR>z.f"a -nnoremap <buffer> <unique> <Plug>NextTransBwd {?^msgstr\s*""\(\n\n\\|\%$\)<CR>:let @/=""<CR>:call histdel("/", -1)<CR><C-L>z. - -" Copy original msgid string into msgstr string. -if !hasmapto('<Plug>CopyMsgid') - if gui - imap <buffer> <unique> <S-F3> <Plug>CopyMsgid - else - imap <buffer> <unique> <LocalLeader>c <Plug>CopyMsgid - endif -endif -inoremap <buffer> <unique> <Plug>CopyMsgid <ESC>}?^msgid<CR>:let @/=""<CR>:call histdel("/", -1)<CR>f"y/^msgstr<CR>/^msgstr<CR>:let @/=""<CR>:call histdel("/", -1)<CR>f""_d$pa - -" Erase the translation string. -if !hasmapto('<Plug>DeleteTrans') - if gui - imap <buffer> <unique> <S-F4> <Plug>DeleteTrans - else - imap <buffer> <unique> <LocalLeader>d <Plug>DeleteTrans - endif -endif -inoremap <buffer> <unique> <Plug>DeleteTrans <ESC>}?^msgstr<CR>:let @/=""<CR>:call histdel("/", -1)<CR>f"lc}"<ESC>i - -" Move to the first fuzzy translation forward. -if !hasmapto('<Plug>NextFuzzy') - if gui - imap <buffer> <unique> <S-F5> <Plug>NextFuzzy - nmap <buffer> <unique> <S-F5> <Plug>NextFuzzy - else - imap <buffer> <unique> <LocalLeader>f <Plug>NextFuzzy - nmap <buffer> <unique> <LocalLeader>f <Plug>NextFuzzy - endif -endif -inoremap <buffer> <unique> <Plug>NextFuzzy <ESC>/^#,\(.*,\)\=\s*fuzzy<CR>:let @/=""<CR>:call histdel("/", -1)<CR>/^msgstr<CR>:let @/=""<CR>:call histdel("/", -1)<CR>z.$i -nnoremap <buffer> <unique> <Plug>NextFuzzy /^#,\(.*,\)\=\s*fuzzy<CR>:let @/=""<CR>:call histdel("/", -1)<CR>/^msgstr<CR>:let @/=""<CR>:call histdel("/", -1)<CR><C-L>z.$ - -" Move to the first fuzzy descriptor backward. -if !hasmapto('<Plug>PreviousFuzzy') - if gui - imap <buffer> <unique> <S-F6> <Plug>PreviousFuzzy - nmap <buffer> <unique> <S-F6> <Plug>PreviousFuzzy - else - imap <buffer> <unique> <LocalLeader>b <Plug>PreviousFuzzy - nmap <buffer> <unique> <LocalLeader>b <Plug>PreviousFuzzy - endif -endif -inoremap <buffer> <unique> <Plug>PreviousFuzzy <ESC>{?^#,\(.*,\)\=\s*fuzzy<CR>:let @/=""<CR>:call histdel("/", -1)<CR>/^msgstr<CR>:let @/=""<CR>:call histdel("/", -1)<CR>z.$i -nnoremap <buffer> <unique> <Plug>PreviousFuzzy {?^#,\(.*,\)\=\s*fuzzy<CR>:let @/=""<CR>:call histdel("/", -1)<CR>/^msgstr<CR>:let @/=""<CR>:call histdel("/", -1)<CR><C-L>z.$ - -" Insert fuzzy description for the translation. -if !hasmapto('<Plug>InsertFuzzy') - if gui - imap <buffer> <unique> <S-F7> <Plug>InsertFuzzy - nmap <buffer> <unique> <S-F7> <Plug>InsertFuzzy - else - imap <buffer> <unique> <LocalLeader>z <Plug>InsertFuzzy - nmap <buffer> <unique> <LocalLeader>z <Plug>InsertFuzzy - endif -endif -inoremap <buffer> <unique> <Plug>InsertFuzzy <ESC>{vap:call <SID>InsertFuzzy()<CR>gv<ESC>}i -nnoremap <buffer> <unique> <Plug>InsertFuzzy {vap:call <SID>InsertFuzzy()<CR>gv<ESC>} - -fu! <SID>InsertFuzzy() range - let n = a:firstline - while n <= a:lastline - let line = getline(n) - if line =~ '^#,.*fuzzy' - return - elseif line =~ '^#,' - call setline(n, substitute(line, '#,','#, fuzzy,', "")) - return - elseif line =~ '^msgid' - call append(n-1, '#, fuzzy') - return - endif - let n = n + 1 - endwhile -endf - -" Remove fuzzy description from the translation. -if !hasmapto('<Plug>RemoveFuzzy') - if gui - imap <buffer> <unique> <S-F8> <Plug>RemoveFuzzy - nmap <buffer> <unique> <S-F8> <Plug>RemoveFuzzy - else - imap <buffer> <unique> <LocalLeader>r <Plug>RemoveFuzzy - nmap <buffer> <unique> <LocalLeader>r <Plug>RemoveFuzzy - endif -endif -inoremap <buffer> <unique> <Plug>RemoveFuzzy <ESC>{vap:call <SID>RemoveFuzzy()<CR>i -nnoremap <buffer> <unique> <Plug>RemoveFuzzy {vap:call <SID>RemoveFuzzy()<CR> - -fu! <SID>RemoveFuzzy() - let line = getline(".") - if line =~ '^#,\s*fuzzy$' - exe "normal! dd" - elseif line =~ '^#,\(.*,\)\=\s*fuzzy' - exe 's/,\s*fuzzy//' - endif -endf - -" Show PO translation statistics. (Only available on UNIX computers for now.) -if has("unix") - if !hasmapto('<Plug>MsgfmtStats') - if gui - imap <buffer> <unique> <S-F11> <Plug>MsgfmtStats - nmap <buffer> <unique> <S-F11> <Plug>MsgfmtStats - else - imap <buffer> <unique> <LocalLeader>s <Plug>MsgfmtStats - nmap <buffer> <unique> <LocalLeader>s <Plug>MsgfmtStats - endif - endif - inoremap <buffer> <unique> <Plug>MsgfmtStats <ESC>:call <SID>Msgfmt('stats')<CR> - nnoremap <buffer> <unique> <Plug>MsgfmtStats :call <SID>Msgfmt('stats')<CR> - - if !hasmapto('<Plug>MsgfmtTest') - if gui - imap <buffer> <unique> <S-F12> <Plug>MsgfmtTest - nmap <buffer> <unique> <S-F12> <Plug>MsgfmtTest - else - imap <buffer> <unique> <LocalLeader>e <Plug>MsgfmtTest - nmap <buffer> <unique> <LocalLeader>e <Plug>MsgfmtTest - endif - endif - inoremap <buffer> <unique> <Plug>MsgfmtTest <ESC>:call <SID>Msgfmt('test')<CR> - nnoremap <buffer> <unique> <Plug>MsgfmtTest :call <SID>Msgfmt('test')<CR> - - fu! <SID>Msgfmt(action) - " Check if the file needs to be saved first. - exe "if &modified | w | endif" - if a:action == 'stats' - exe "!msgfmt --statistics -o /dev/null %" - elseif a:action == 'test' - if exists("g:po_msgfmt_args") - let args = g:po_msgfmt_args - else - let args = '-vv -c' - endif - exe "make! " . args . " -o /dev/null %" - copen - endif - endf -endif - -" Add translator info in the file header. -if !hasmapto('<Plug>TranslatorInfo') - if gui - imap <buffer> <unique> <LocalLeader>t <Plug>TranslatorInfo - nmap <buffer> <unique> <LocalLeader>t <Plug>TranslatorInfo - else - imap <buffer> <unique> <LocalLeader>t <Plug>TranslatorInfo - nmap <buffer> <unique> <LocalLeader>t <Plug>TranslatorInfo - endif -endif -inoremap <buffer> <unique> <Plug>TranslatorInfo <ESC>:call <SID>AddHeaderInfo('person')<CR>i -nnoremap <buffer> <unique> <Plug>TranslatorInfo :call <SID>AddHeaderInfo('person')<CR> - -" Add language team info in the file header. -if !hasmapto('<Plug>LangTeamInfo') - if gui - imap <buffer> <unique> <LocalLeader>l <Plug>LangTeamInfo - nmap <buffer> <unique> <LocalLeader>l <Plug>LangTeamInfo - else - imap <buffer> <unique> <LocalLeader>l <Plug>LangTeamInfo - nmap <buffer> <unique> <LocalLeader>l <Plug>LangTeamInfo - endif -endif -inoremap <buffer> <unique> <Plug>LangTeamInfo <ESC>:call <SID>AddHeaderInfo('team')<CR>i -nnoremap <buffer> <unique> <Plug>LangTeamInfo :call <SID>AddHeaderInfo('team')<CR> - -fu! <SID>AddHeaderInfo(action) - if a:action == 'person' - let search_for = 'Last-Translator' - if exists("g:po_translator") - let add = g:po_translator - else - let add = 'YOUR NAME <E-MAIL@ADDRESS>' - endif - elseif a:action == 'team' - let search_for = 'Language-Team' - if exists("g:po_lang_team") - let add = g:po_lang_team - else - let add = 'LANGUAGE TEAM <E-MAIL@ADDRESS or HOME PAGE>' - endif - else - " Undefined action -- just do nothing. - return - endif - let search_for = '"' . search_for . ':' - let add = add . '\\n"' - - normal! 1G - if search('^' . search_for) - silent! exe 's/^\(' . search_for . '\).*$/\1 ' . add - endif - call histdel("/", -1) -endf - -" Write automagically PO-formatted time stamp every time the file is saved. -augroup PoFileTimestamp - au! - au BufWrite *.po,*.po.gz call <SID>PoFileTimestamp() -augroup END - -fu! <SID>PoFileTimestamp() - " Prepare for cleanup at the end of this function. - let hist_search = histnr("/") - let old_report = 'set report='.&report - let &report = 100 - let cursor_pos_cmd = line(".").'normal! '.virtcol(".").'|' - normal! H - let scrn_pos = line(".").'normal! zt' - - " Put in time stamp. - normal! 1G - if search('^"PO-Revision-Date:') - silent! exe 's/^\("PO-Revision-Date:\).*$/\1 ' . strftime("%Y-%m-%d %H:%M%z") . '\\n"' - endif - - " Cleanup and restore old cursor position. - while histnr("/") > hist_search && histnr("/") > 0 - call histdel("/", -1) - endwhile - exe scrn_pos - exe cursor_pos_cmd - exe old_report -endf - -" On "gf" Normal mode command, split window and open the file under the -" cursor. -if !hasmapto('<Plug>OpenSourceFile') - map <buffer> <unique> gf <Plug>OpenSourceFile -endif -noremap <buffer> <unique> <Plug>OpenSourceFile :call <SID>OpenSourceFile()<CR> - -" This opens the file under the cursor in a split-window. -fu! <SID>OpenSourceFile() - " Check if we're at the right line. Return if not. - if getline(".") !~ '^#:\s\+' | return | endif - - " Get the reference, check it, and return if it doesn't have the assumed - " format. - let ref = expand("<cWORD>") - if ref !~ ':\d\+$' | return | endif - - " Split the reference into the file name and the line number parts. - let d = match(ref, ':') - let flnm = strpart(ref, 0, d) - let lnr = strpart(ref, d+1, 100) - - " Start searching for the file in the directories specified with the 'path' - " option. - let ff = globpath(&path, flnm) - - " Check what's been found. Report if no or more than one file found and - " return. - if ff == '' - echohl WarningMsg | echo "No file found in the path." - echohl None - exe "normal \<Esc>" - elseif match(ff, "\n") > 0 - echohl WarningMsg | echo "More than one file found: " . ff . "\nAborting." - echohl None - exe "normal \<Esc>" - else - " Split the window and open the file at the correct line. - execute "silent sp +" . lnr . " " . ff - endif -endf - -unlet gui diff --git a/.vim/ftplugin/pythoncomplete.vim b/.vim/ftplugin/pythoncomplete.vim deleted file mode 100644 index 57add71..0000000 --- a/.vim/ftplugin/pythoncomplete.vim +++ /dev/null @@ -1,625 +0,0 @@ -"pythoncomplete.vim - Omni Completion for python -" Maintainer: Aaron Griffin <aaronmgriffin@gmail.com> -" Version: 0.9 -" Last Updated: 18 Jun 2009 -" -" Changes -" TODO: -" 'info' item output can use some formatting work -" Add an "unsafe eval" mode, to allow for return type evaluation -" Complete basic syntax along with import statements -" i.e. "import url<c-x,c-o>" -" Continue parsing on invalid line?? -" -" v 0.9 -" * Fixed docstring parsing for classes and functions -" * Fixed parsing of *args and **kwargs type arguments -" * Better function param parsing to handle things like tuples and -" lambda defaults args -" -" v 0.8 -" * Fixed an issue where the FIRST assignment was always used instead of -" using a subsequent assignment for a variable -" * Fixed a scoping issue when working inside a parameterless function -" -" -" v 0.7 -" * Fixed function list sorting (_ and __ at the bottom) -" * Removed newline removal from docs. It appears vim handles these better in -" recent patches -" -" v 0.6: -" * Fixed argument completion -" * Removed the 'kind' completions, as they are better indicated -" with real syntax -" * Added tuple assignment parsing (whoops, that was forgotten) -" * Fixed import handling when flattening scope -" -" v 0.5: -" Yeah, I skipped a version number - 0.4 was never public. -" It was a bugfix version on top of 0.3. This is a complete -" rewrite. -" - -if !has('python') - echo "Error: Required vim compiled with +python" - finish -endif - -function! pythoncomplete#Complete(findstart, base) - "findstart = 1 when we need to get the text length - if a:findstart == 1 - let line = getline('.') - let idx = col('.') - while idx > 0 - let idx -= 1 - let c = line[idx] - if c =~ '\w' - continue - elseif ! c =~ '\.' - let idx = -1 - break - else - break - endif - endwhile - - return idx - "findstart = 0 when we need to return the list of completions - else - "vim no longer moves the cursor upon completion... fix that - let line = getline('.') - let idx = col('.') - let cword = '' - while idx > 0 - let idx -= 1 - let c = line[idx] - if c =~ '\w' || c =~ '\.' - let cword = c . cword - continue - elseif strlen(cword) > 0 || idx == 0 - break - endif - endwhile - execute "python vimcomplete('" . cword . "', '" . a:base . "')" - return g:pythoncomplete_completions - endif -endfunction - -function! s:DefPython() -python << PYTHONEOF -import sys, tokenize, cStringIO, types -from token import NAME, DEDENT, NEWLINE, STRING - -debugstmts=[] -def dbg(s): debugstmts.append(s) -def showdbg(): - for d in debugstmts: print "DBG: %s " % d - -def vimcomplete(context,match): - global debugstmts - debugstmts = [] - try: - import vim - def complsort(x,y): - try: - xa = x['abbr'] - ya = y['abbr'] - if xa[0] == '_': - if xa[1] == '_' and ya[0:2] == '__': - return xa > ya - elif ya[0:2] == '__': - return -1 - elif y[0] == '_': - return xa > ya - else: - return 1 - elif ya[0] == '_': - return -1 - else: - return xa > ya - except: - return 0 - cmpl = Completer() - cmpl.evalsource('\n'.join(vim.current.buffer),vim.eval("line('.')")) - all = cmpl.get_completions(context,match) - all.sort(complsort) - dictstr = '[' - # have to do this for double quoting - for cmpl in all: - dictstr += '{' - for x in cmpl: dictstr += '"%s":"%s",' % (x,cmpl[x]) - dictstr += '"icase":0},' - if dictstr[-1] == ',': dictstr = dictstr[:-1] - dictstr += ']' - #dbg("dict: %s" % dictstr) - vim.command("silent let g:pythoncomplete_completions = %s" % dictstr) - #dbg("Completion dict:\n%s" % all) - except vim.error: - dbg("VIM Error: %s" % vim.error) - -class Completer(object): - def __init__(self): - self.compldict = {} - self.parser = PyParser() - - def evalsource(self,text,line=0): - sc = self.parser.parse(text,line) - src = sc.get_code() - dbg("source: %s" % src) - try: exec(src) in self.compldict - except: dbg("parser: %s, %s" % (sys.exc_info()[0],sys.exc_info()[1])) - for l in sc.locals: - try: exec(l) in self.compldict - except: dbg("locals: %s, %s [%s]" % (sys.exc_info()[0],sys.exc_info()[1],l)) - - def _cleanstr(self,doc): - return doc.replace('"',' ').replace("'",' ') - - def get_arguments(self,func_obj): - def _ctor(obj): - try: return class_ob.__init__.im_func - except AttributeError: - for base in class_ob.__bases__: - rc = _find_constructor(base) - if rc is not None: return rc - return None - - arg_offset = 1 - if type(func_obj) == types.ClassType: func_obj = _ctor(func_obj) - elif type(func_obj) == types.MethodType: func_obj = func_obj.im_func - else: arg_offset = 0 - - arg_text='' - if type(func_obj) in [types.FunctionType, types.LambdaType]: - try: - cd = func_obj.func_code - real_args = cd.co_varnames[arg_offset:cd.co_argcount] - defaults = func_obj.func_defaults or '' - defaults = map(lambda name: "=%s" % name, defaults) - defaults = [""] * (len(real_args)-len(defaults)) + defaults - items = map(lambda a,d: a+d, real_args, defaults) - if func_obj.func_code.co_flags & 0x4: - items.append("...") - if func_obj.func_code.co_flags & 0x8: - items.append("***") - arg_text = (','.join(items)) + ')' - - except: - dbg("arg completion: %s: %s" % (sys.exc_info()[0],sys.exc_info()[1])) - pass - if len(arg_text) == 0: - # The doc string sometimes contains the function signature - # this works for alot of C modules that are part of the - # standard library - doc = func_obj.__doc__ - if doc: - doc = doc.lstrip() - pos = doc.find('\n') - if pos > 0: - sigline = doc[:pos] - lidx = sigline.find('(') - ridx = sigline.find(')') - if lidx > 0 and ridx > 0: - arg_text = sigline[lidx+1:ridx] + ')' - if len(arg_text) == 0: arg_text = ')' - return arg_text - - def get_completions(self,context,match): - dbg("get_completions('%s','%s')" % (context,match)) - stmt = '' - if context: stmt += str(context) - if match: stmt += str(match) - try: - result = None - all = {} - ridx = stmt.rfind('.') - if len(stmt) > 0 and stmt[-1] == '(': - result = eval(_sanitize(stmt[:-1]), self.compldict) - doc = result.__doc__ - if doc is None: doc = '' - args = self.get_arguments(result) - return [{'word':self._cleanstr(args),'info':self._cleanstr(doc)}] - elif ridx == -1: - match = stmt - all = self.compldict - else: - match = stmt[ridx+1:] - stmt = _sanitize(stmt[:ridx]) - result = eval(stmt, self.compldict) - all = dir(result) - - dbg("completing: stmt:%s" % stmt) - completions = [] - - try: maindoc = result.__doc__ - except: maindoc = ' ' - if maindoc is None: maindoc = ' ' - for m in all: - if m == "_PyCmplNoType": continue #this is internal - try: - dbg('possible completion: %s' % m) - if m.find(match) == 0: - if result is None: inst = all[m] - else: inst = getattr(result,m) - try: doc = inst.__doc__ - except: doc = maindoc - typestr = str(inst) - if doc is None or doc == '': doc = maindoc - - wrd = m[len(match):] - c = {'word':wrd, 'abbr':m, 'info':self._cleanstr(doc)} - if "function" in typestr: - c['word'] += '(' - c['abbr'] += '(' + self._cleanstr(self.get_arguments(inst)) - elif "method" in typestr: - c['word'] += '(' - c['abbr'] += '(' + self._cleanstr(self.get_arguments(inst)) - elif "module" in typestr: - c['word'] += '.' - elif "class" in typestr: - c['word'] += '(' - c['abbr'] += '(' - completions.append(c) - except: - i = sys.exc_info() - dbg("inner completion: %s,%s [stmt='%s']" % (i[0],i[1],stmt)) - return completions - except: - i = sys.exc_info() - dbg("completion: %s,%s [stmt='%s']" % (i[0],i[1],stmt)) - return [] - -class Scope(object): - def __init__(self,name,indent,docstr=''): - self.subscopes = [] - self.docstr = docstr - self.locals = [] - self.parent = None - self.name = name - self.indent = indent - - def add(self,sub): - #print 'push scope: [%s@%s]' % (sub.name,sub.indent) - sub.parent = self - self.subscopes.append(sub) - return sub - - def doc(self,str): - """ Clean up a docstring """ - d = str.replace('\n',' ') - d = d.replace('\t',' ') - while d.find(' ') > -1: d = d.replace(' ',' ') - while d[0] in '"\'\t ': d = d[1:] - while d[-1] in '"\'\t ': d = d[:-1] - dbg("Scope(%s)::docstr = %s" % (self,d)) - self.docstr = d - - def local(self,loc): - self._checkexisting(loc) - self.locals.append(loc) - - def copy_decl(self,indent=0): - """ Copy a scope's declaration only, at the specified indent level - not local variables """ - return Scope(self.name,indent,self.docstr) - - def _checkexisting(self,test): - "Convienance function... keep out duplicates" - if test.find('=') > -1: - var = test.split('=')[0].strip() - for l in self.locals: - if l.find('=') > -1 and var == l.split('=')[0].strip(): - self.locals.remove(l) - - def get_code(self): - str = "" - if len(self.docstr) > 0: str += '"""'+self.docstr+'"""\n' - for l in self.locals: - if l.startswith('import'): str += l+'\n' - str += 'class _PyCmplNoType:\n def __getattr__(self,name):\n return None\n' - for sub in self.subscopes: - str += sub.get_code() - for l in self.locals: - if not l.startswith('import'): str += l+'\n' - - return str - - def pop(self,indent): - #print 'pop scope: [%s] to [%s]' % (self.indent,indent) - outer = self - while outer.parent != None and outer.indent >= indent: - outer = outer.parent - return outer - - def currentindent(self): - #print 'parse current indent: %s' % self.indent - return ' '*self.indent - - def childindent(self): - #print 'parse child indent: [%s]' % (self.indent+1) - return ' '*(self.indent+1) - -class Class(Scope): - def __init__(self, name, supers, indent, docstr=''): - Scope.__init__(self,name,indent, docstr) - self.supers = supers - def copy_decl(self,indent=0): - c = Class(self.name,self.supers,indent, self.docstr) - for s in self.subscopes: - c.add(s.copy_decl(indent+1)) - return c - def get_code(self): - str = '%sclass %s' % (self.currentindent(),self.name) - if len(self.supers) > 0: str += '(%s)' % ','.join(self.supers) - str += ':\n' - if len(self.docstr) > 0: str += self.childindent()+'"""'+self.docstr+'"""\n' - if len(self.subscopes) > 0: - for s in self.subscopes: str += s.get_code() - else: - str += '%spass\n' % self.childindent() - return str - - -class Function(Scope): - def __init__(self, name, params, indent, docstr=''): - Scope.__init__(self,name,indent, docstr) - self.params = params - def copy_decl(self,indent=0): - return Function(self.name,self.params,indent, self.docstr) - def get_code(self): - str = "%sdef %s(%s):\n" % \ - (self.currentindent(),self.name,','.join(self.params)) - if len(self.docstr) > 0: str += self.childindent()+'"""'+self.docstr+'"""\n' - str += "%spass\n" % self.childindent() - return str - -class PyParser: - def __init__(self): - self.top = Scope('global',0) - self.scope = self.top - - def _parsedotname(self,pre=None): - #returns (dottedname, nexttoken) - name = [] - if pre is None: - tokentype, token, indent = self.next() - if tokentype != NAME and token != '*': - return ('', token) - else: token = pre - name.append(token) - while True: - tokentype, token, indent = self.next() - if token != '.': break - tokentype, token, indent = self.next() - if tokentype != NAME: break - name.append(token) - return (".".join(name), token) - - def _parseimportlist(self): - imports = [] - while True: - name, token = self._parsedotname() - if not name: break - name2 = '' - if token == 'as': name2, token = self._parsedotname() - imports.append((name, name2)) - while token != "," and "\n" not in token: - tokentype, token, indent = self.next() - if token != ",": break - return imports - - def _parenparse(self): - name = '' - names = [] - level = 1 - while True: - tokentype, token, indent = self.next() - if token in (')', ',') and level == 1: - if '=' not in name: name = name.replace(' ', '') - names.append(name.strip()) - name = '' - if token == '(': - level += 1 - name += "(" - elif token == ')': - level -= 1 - if level == 0: break - else: name += ")" - elif token == ',' and level == 1: - pass - else: - name += "%s " % str(token) - return names - - def _parsefunction(self,indent): - self.scope=self.scope.pop(indent) - tokentype, fname, ind = self.next() - if tokentype != NAME: return None - - tokentype, open, ind = self.next() - if open != '(': return None - params=self._parenparse() - - tokentype, colon, ind = self.next() - if colon != ':': return None - - return Function(fname,params,indent) - - def _parseclass(self,indent): - self.scope=self.scope.pop(indent) - tokentype, cname, ind = self.next() - if tokentype != NAME: return None - - super = [] - tokentype, next, ind = self.next() - if next == '(': - super=self._parenparse() - elif next != ':': return None - - return Class(cname,super,indent) - - def _parseassignment(self): - assign='' - tokentype, token, indent = self.next() - if tokentype == tokenize.STRING or token == 'str': - return '""' - elif token == '(' or token == 'tuple': - return '()' - elif token == '[' or token == 'list': - return '[]' - elif token == '{' or token == 'dict': - return '{}' - elif tokentype == tokenize.NUMBER: - return '0' - elif token == 'open' or token == 'file': - return 'file' - elif token == 'None': - return '_PyCmplNoType()' - elif token == 'type': - return 'type(_PyCmplNoType)' #only for method resolution - else: - assign += token - level = 0 - while True: - tokentype, token, indent = self.next() - if token in ('(','{','['): - level += 1 - elif token in (']','}',')'): - level -= 1 - if level == 0: break - elif level == 0: - if token in (';','\n'): break - assign += token - return "%s" % assign - - def next(self): - type, token, (lineno, indent), end, self.parserline = self.gen.next() - if lineno == self.curline: - #print 'line found [%s] scope=%s' % (line.replace('\n',''),self.scope.name) - self.currentscope = self.scope - return (type, token, indent) - - def _adjustvisibility(self): - newscope = Scope('result',0) - scp = self.currentscope - while scp != None: - if type(scp) == Function: - slice = 0 - #Handle 'self' params - if scp.parent != None and type(scp.parent) == Class: - slice = 1 - newscope.local('%s = %s' % (scp.params[0],scp.parent.name)) - for p in scp.params[slice:]: - i = p.find('=') - if len(p) == 0: continue - pvar = '' - ptype = '' - if i == -1: - pvar = p - ptype = '_PyCmplNoType()' - else: - pvar = p[:i] - ptype = _sanitize(p[i+1:]) - if pvar.startswith('**'): - pvar = pvar[2:] - ptype = '{}' - elif pvar.startswith('*'): - pvar = pvar[1:] - ptype = '[]' - - newscope.local('%s = %s' % (pvar,ptype)) - - for s in scp.subscopes: - ns = s.copy_decl(0) - newscope.add(ns) - for l in scp.locals: newscope.local(l) - scp = scp.parent - - self.currentscope = newscope - return self.currentscope - - #p.parse(vim.current.buffer[:],vim.eval("line('.')")) - def parse(self,text,curline=0): - self.curline = int(curline) - buf = cStringIO.StringIO(''.join(text) + '\n') - self.gen = tokenize.generate_tokens(buf.readline) - self.currentscope = self.scope - - try: - freshscope=True - while True: - tokentype, token, indent = self.next() - #dbg( 'main: token=[%s] indent=[%s]' % (token,indent)) - - if tokentype == DEDENT or token == "pass": - self.scope = self.scope.pop(indent) - elif token == 'def': - func = self._parsefunction(indent) - if func is None: - print "function: syntax error..." - continue - dbg("new scope: function") - freshscope = True - self.scope = self.scope.add(func) - elif token == 'class': - cls = self._parseclass(indent) - if cls is None: - print "class: syntax error..." - continue - freshscope = True - dbg("new scope: class") - self.scope = self.scope.add(cls) - - elif token == 'import': - imports = self._parseimportlist() - for mod, alias in imports: - loc = "import %s" % mod - if len(alias) > 0: loc += " as %s" % alias - self.scope.local(loc) - freshscope = False - elif token == 'from': - mod, token = self._parsedotname() - if not mod or token != "import": - print "from: syntax error..." - continue - names = self._parseimportlist() - for name, alias in names: - loc = "from %s import %s" % (mod,name) - if len(alias) > 0: loc += " as %s" % alias - self.scope.local(loc) - freshscope = False - elif tokentype == STRING: - if freshscope: self.scope.doc(token) - elif tokentype == NAME: - name,token = self._parsedotname(token) - if token == '=': - stmt = self._parseassignment() - dbg("parseassignment: %s = %s" % (name, stmt)) - if stmt != None: - self.scope.local("%s = %s" % (name,stmt)) - freshscope = False - except StopIteration: #thrown on EOF - pass - except: - dbg("parse error: %s, %s @ %s" % - (sys.exc_info()[0], sys.exc_info()[1], self.parserline)) - return self._adjustvisibility() - -def _sanitize(str): - val = '' - level = 0 - for c in str: - if c in ('(','{','['): - level += 1 - elif c in (']','}',')'): - level -= 1 - elif level == 0: - val += c - return val - -sys.path.extend(['.','..']) -PYTHONEOF -endfunction - -call s:DefPython() -" vim: set et ts=4: diff --git a/.vim/ftplugin/tex.vim b/.vim/ftplugin/tex.vim deleted file mode 100644 index e1d7438..0000000 --- a/.vim/ftplugin/tex.vim +++ /dev/null @@ -1,10 +0,0 @@ -" this is mostly a matter of taste. but LaTeX looks good with just a bit -" of indentation. -set sw=2 -" TIP: if you write your \label's as \label{fig:something}, then if you -" type in \ref{fig: and press <C-n> you will automatically cycle through -" all the figure labels. Very useful! -set iskeyword+=: - -" So I can use e-acute -imap <buffer> <leader>it <Plug>Tex_InsertItemOnThisLine diff --git a/.vim/ftplugin/tex_latexSuite.vim b/.vim/ftplugin/tex_latexSuite.vim deleted file mode 100644 index 582d014..0000000 --- a/.vim/ftplugin/tex_latexSuite.vim +++ /dev/null @@ -1,13 +0,0 @@ -" LaTeX filetype -" Language: LaTeX (ft=tex) -" Maintainer: Srinath Avadhanula -" Email: srinath@fastmail.fm - -if !exists('s:initLatexSuite') - let s:initLatexSuite = 1 - exec 'so '.expand('<sfile>:p:h').'/latex-suite/main.vim' - - silent! do LatexSuite User LatexSuiteInitPost -endif - -silent! do LatexSuite User LatexSuiteFileType diff --git a/.vim/haskellmode-20081031.vba b/.vim/haskellmode-20081031.vba deleted file mode 100644 index 1a33424..0000000 --- a/.vim/haskellmode-20081031.vba +++ /dev/null @@ -1,1850 +0,0 @@ -" Vimball Archiver by Charles E. Campbell, Jr., Ph.D. -UseVimball -finish -compiler/ghc.vim [[[1 -445 - -" Vim Compiler File -" Compiler: GHC -" Maintainer: Claus Reinke <claus.reinke@talk21.com> -" Last Change: 06/07/2008 -" -" part of haskell plugins: http://www.cs.kent.ac.uk/~cr3/toolbox/haskell/Vim/ - -" ------------------------------ paths & quickfix settings first -" - -if exists("current_compiler") && current_compiler == "ghc" - finish -endif -let current_compiler = "ghc" - -let s:scriptname = "ghc.vim" - -if (!exists("g:ghc") || !executable(g:ghc)) - if !executable('ghc') - echoerr s:scriptname.": can't find ghc. please set g:ghc, or extend $PATH" - finish - else - let g:ghc = 'ghc' - endif -endif -let ghc_version = substitute(system(g:ghc . ' --numeric-version'),'\n','','') -let b:ghc_staticoptions = '' - -" set makeprg (for quickfix mode) -execute 'setlocal makeprg=' . g:ghc .'\ -e\ :q\ %' -"execute 'setlocal makeprg=' . g:ghc .'\ --make\ %' - -" quickfix mode: -" fetch file/line-info from error message -" TODO: how to distinguish multiline errors from warnings? -" (both have the same header, and errors have no common id-tag) -" how to get rid of first empty message in result list? -setlocal errorformat= - \%-Z\ %#, - \%W%f:%l:%c:\ Warning:\ %m, - \%E%f:%l:%c:\ %m, - \%E%>%f:%l:%c:, - \%+C\ \ %#%m, - \%W%>%f:%l:%c:, - \%+C\ \ %#%tarning:\ %m, - -" oh, wouldn't you guess it - ghc reports (partially) to stderr.. -setlocal shellpipe=2> - -" ------------------------- but ghc can do a lot more for us.. -" - -" allow map leader override -if !exists("maplocalleader") - let maplocalleader='_' -endif - -" initialize map of identifiers to their types -" associate type map updates to changedtick -if !exists("b:ghc_types") - let b:ghc_types = {} - let b:my_changedtick = b:changedtick -endif - -if exists("g:haskell_functions") - finish -endif -let g:haskell_functions = "ghc" - -" avoid hit-enter prompts -set cmdheight=3 - -" edit static GHC options -" TODO: add completion for options/packages? -command! GHCStaticOptions call GHC_StaticOptions() -function! GHC_StaticOptions() - let b:ghc_staticoptions = input('GHC static options: ',b:ghc_staticoptions) - execute 'setlocal makeprg=' . g:ghc . '\ ' . escape(b:ghc_staticoptions,' ') .'\ -e\ :q\ %' - let b:my_changedtick -=1 -endfunction - -map <LocalLeader>T :call GHC_ShowType(1)<cr> -map <LocalLeader>t :call GHC_ShowType(0)<cr> -function! GHC_ShowType(addTypeDecl) - let namsym = Haskell_GetNameSymbol(getline('.'),col('.'),0) - if namsym==[] - redraw - echo 'no name/symbol under cursor!' - return 0 - endif - let [_,symb,qual,unqual] = namsym - let name = qual=='' ? unqual : qual.'.'.unqual - let pname = ( symb ? '('.name.')' : name ) - call GHC_HaveTypes() - if !has_key(b:ghc_types,name) - redraw - echo pname "type not known" - else - redraw - for type in split(b:ghc_types[name],' -- ') - echo pname "::" type - if a:addTypeDecl - call append( line(".")-1, pname . " :: " . type ) - endif - endfor - endif -endfunction - -" show type of identifier under mouse pointer in balloon -if has("balloon_eval") - set ballooneval - set balloondelay=600 - set balloonexpr=GHC_TypeBalloon() - function! GHC_TypeBalloon() - if exists("b:current_compiler") && b:current_compiler=="ghc" - let [line] = getbufline(v:beval_bufnr,v:beval_lnum) - let namsym = Haskell_GetNameSymbol(line,v:beval_col,0) - if namsym==[] - return '' - endif - let [start,symb,qual,unqual] = namsym - let name = qual=='' ? unqual : qual.'.'.unqual - let pname = name " ( symb ? '('.name.')' : name ) - silent call GHC_HaveTypes() - if has("balloon_multiline") - return (has_key(b:ghc_types,pname) ? split(b:ghc_types[pname],' -- ') : '') - else - return (has_key(b:ghc_types,pname) ? b:ghc_types[pname] : '') - endif - else - return '' - endif - endfunction -endif - -map <LocalLeader>si :call GHC_ShowInfo()<cr> -function! GHC_ShowInfo() - let namsym = Haskell_GetNameSymbol(getline('.'),col('.'),0) - if namsym==[] - redraw - echo 'no name/symbol under cursor!' - return 0 - endif - let [_,symb,qual,unqual] = namsym - let name = qual=='' ? unqual : (qual.'.'.unqual) - let output = GHC_Info(name) - redraw - echo output -endfunction - -" fill the type map, unless nothing has changed since the last attempt -function! GHC_HaveTypes() - if b:ghc_types == {} && (b:my_changedtick != b:changedtick) - let b:my_changedtick = b:changedtick - return GHC_BrowseAll() - endif -endfunction - -" update b:ghc_types after successful make -au QuickFixCmdPost make if GHC_CountErrors()==0 | silent call GHC_BrowseAll() | endif - -" count only error entries in quickfix list, ignoring warnings -function! GHC_CountErrors() - let c=0 - for e in getqflist() | if e.type=='E' && e.text !~ "^[ \n]*Warning:" | let c+=1 | endif | endfor - return c -endfunction - -command! GHCReload call GHC_BrowseAll() -function! GHC_BrowseAll() - " let imports = Haskell_GatherImports() - " let modules = keys(imports[0]) + keys(imports[1]) - let imports = {} " no need for them at the moment - let current = GHC_NameCurrent() - let module = current==[] ? 'Main' : current[0] - if GHC_VersionGE([6,8,1]) - return GHC_BrowseBangStar(module) - else - return GHC_BrowseMultiple(imports,['*'.module]) - endif -endfunction - -function! GHC_VersionGE(target) - let current = split(g:ghc_version, '\.' ) - let target = a:target - for i in current - if ((target==[]) || (i>=target[0])) - let target = target[1:] - else - return 0 - endif - endfor - return 1 -endfunction - -function! GHC_NameCurrent() - let last = line("$") - let l = 1 - while l<last - let ml = matchlist( getline(l), '^module\s*\([^ (]*\)') - if ml != [] - let [_,module;x] = ml - return [module] - endif - let l += 1 - endwhile - redraw - echo "cannot find module header for file " . expand("%") - return [] -endfunction - -function! GHC_BrowseBangStar(module) - redraw - echo "browsing module " a:module - let command = ":browse! *" . a:module - let orig_shellredir = &shellredir - let &shellredir = ">" " ignore error/warning messages, only output or lack of it - let output = system(g:ghc . ' ' . b:ghc_staticoptions . ' -v0 --interactive ' . expand("%") , command ) - let &shellredir = orig_shellredir - return GHC_ProcessBang(a:module,output) -endfunction - -function! GHC_BrowseMultiple(imports,modules) - redraw - echo "browsing modules " a:modules - let command = ":browse " . join( a:modules, " \n :browse ") - let command = substitute(command,'\(:browse \(\S*\)\)','putStrLn "-- \2" \n \1','g') - let output = system(g:ghc . ' ' . b:ghc_staticoptions . ' -v0 --interactive ' . expand("%") , command ) - return GHC_Process(a:imports,output) -endfunction - -function! GHC_Info(what) - " call GHC_HaveTypes() - let output = system(g:ghc . ' ' . b:ghc_staticoptions . ' -v0 --interactive ' . expand("%"), ":i ". a:what) - return output -endfunction - -function! GHC_ProcessBang(module,output) - let module = a:module - let b = a:output - let linePat = '^\(.\{-}\)\n\(.*\)' - let contPat = '\s\+\(.\{-}\)\n\(.*\)' - let typePat = '^\(\)\(\S*\)\s*::\(.*\)' - let commentPat = '^-- \(\S*\)' - let definedPat = '^-- defined locally' - let importedPat = '^-- imported via \(.*\)' - if !(b=~commentPat) - echo s:scriptname.": GHCi reports errors (try :make?)" - return 0 - endif - let b:ghc_types = {} - let ml = matchlist( b , linePat ) - while ml != [] - let [_,l,rest;x] = ml - let mlDecl = matchlist( l, typePat ) - if mlDecl != [] - let [_,indent,id,type;x] = mlDecl - let ml2 = matchlist( rest , '^'.indent.contPat ) - while ml2 != [] - let [_,c,rest;x] = ml2 - let type .= c - let ml2 = matchlist( rest , '^'.indent.contPat ) - endwhile - let id = substitute( id, '^(\(.*\))$', '\1', '') - let type = substitute( type, '\s\+', " ", "g" ) - " using :browse! *<current>, we get both unqualified and qualified ids - let qualified = (id =~ '\.') && (id =~ '[A-Z]') - let b:ghc_types[id] = type - if !qualified - for qual in qualifiers - let b:ghc_types[qual.'.'.id] = type - endfor - endif - else - let mlImported = matchlist( l, importedPat ) - let mlDefined = matchlist( l, definedPat ) - if mlImported != [] - let [_,modules;x] = mlImported - let qualifiers = split( modules, ', ' ) - elseif mlDefined != [] - let qualifiers = [module] - endif - endif - let ml = matchlist( rest , linePat ) - endwhile - return 1 -endfunction - -function! GHC_Process(imports,output) - let b = a:output - let imports = a:imports - let linePat = '^\(.\{-}\)\n\(.*\)' - let contPat = '\s\+\(.\{-}\)\n\(.*\)' - let typePat = '^\(\s*\)\(\S*\)\s*::\(.*\)' - let modPat = '^-- \(\S*\)' - " add '-- defined locally' and '-- imported via ..' - if !(b=~modPat) - echo s:scriptname.": GHCi reports errors (try :make?)" - return 0 - endif - let b:ghc_types = {} - let ml = matchlist( b , linePat ) - while ml != [] - let [_,l,rest;x] = ml - let mlDecl = matchlist( l, typePat ) - if mlDecl != [] - let [_,indent,id,type;x] = mlDecl - let ml2 = matchlist( rest , '^'.indent.contPat ) - while ml2 != [] - let [_,c,rest;x] = ml2 - let type .= c - let ml2 = matchlist( rest , '^'.indent.contPat ) - endwhile - let id = substitute(id, '^(\(.*\))$', '\1', '') - let type = substitute( type, '\s\+', " ", "g" ) - " using :browse *<current>, we get both unqualified and qualified ids - if current_module " || has_key(imports[0],module) - if has_key(b:ghc_types,id) && !(matchstr(b:ghc_types[id],escape(type,'[].'))==type) - let b:ghc_types[id] .= ' -- '.type - else - let b:ghc_types[id] = type - endif - endif - if 0 " has_key(imports[1],module) - let qualid = module.'.'.id - let b:ghc_types[qualid] = type - endif - else - let mlMod = matchlist( l, modPat ) - if mlMod != [] - let [_,module;x] = mlMod - let current_module = module[0]=='*' - let module = current_module ? module[1:] : module - endif - endif - let ml = matchlist( rest , linePat ) - endwhile - return 1 -endfunction - -let s:ghc_templates = ["module _ () where","class _ where","class _ => _ where","instance _ where","instance _ => _ where","type family _","type instance _ = ","data _ = ","newtype _ = ","type _ = "] - -" use ghci :browse index for insert mode omnicompletion (CTRL-X CTRL-O) -function! GHC_CompleteImports(findstart, base) - if a:findstart - let namsym = Haskell_GetNameSymbol(getline('.'),col('.'),-1) " insert-mode: we're 1 beyond the text - if namsym==[] - redraw - echo 'no name/symbol under cursor!' - return -1 - endif - let [start,symb,qual,unqual] = namsym - return (start-1) - else " find keys matching with "a:base" - let res = [] - let l = len(a:base)-1 - call GHC_HaveTypes() - for key in keys(b:ghc_types) - if key[0 : l]==a:base - let res += [{"word":key,"menu":":: ".b:ghc_types[key],"dup":1}] - endif - endfor - return res - endif -endfunction -set omnifunc=GHC_CompleteImports -set completeopt=menu,menuone,longest - -map <LocalLeader>ct :call GHC_CreateTagfile()<cr> -function! GHC_CreateTagfile() - redraw - echo "creating tags file" - let output = system(g:ghc . ' ' . b:ghc_staticoptions . ' -e ":ctags" ' . expand("%")) - " for ghcs older than 6.6, you would need to call another program - " here, such as hasktags - echo output -endfunction - -command! -nargs=1 GHCi redraw | echo system(g:ghc. ' ' . b:ghc_staticoptions .' '.expand("%").' -e <f-args>') - -" use :make 'not in scope' errors to explicitly list imported ids -" cursor needs to be on import line, in correctly loadable module -map <LocalLeader>ie :call GHC_MkImportsExplicit()<cr> -function! GHC_MkImportsExplicit() - let save_cursor = getpos(".") - let line = getline('.') - let lineno = line('.') - let ml = matchlist(line,'^import\(\s*qualified\)\?\s*\([^( ]\+\)') - if ml!=[] - let [_,q,mod;x] = ml - silent make - if getqflist()==[] - call setline(lineno,'-- '.line) - silent write - silent make - let qflist = getqflist() - call setline(lineno,line) - silent write - let ids = [] - for d in qflist - let ml = matchlist(d.text,'Not in scope: `\([^'']*\)''') - if ml!=[] - let [_,qid;x] = ml - let id = ( qid =~ "^[A-Z]" ? substitute(qid,'.*\.\([^.]*\)$','\1','') : qid ) - let pid = ( id =~ "[a-zA-Z0-9_']\\+" ? id : '('.id.')' ) - let ids += [pid] - endif - endfor - call setline(lineno,'import'.q.' '.mod.'('.join(ids,',').')') - endif - endif - call setpos('.', save_cursor) -endfunction - -if GHC_VersionGE([6,8,2]) - let opts = filter(split(substitute(system(g:ghc . ' -v0 --interactive', ':set'), ' ', '','g'), '\n'), 'v:val =~ "-f"') -else - let opts = ["-fglasgow-exts","-fallow-undecidable-instances","-fallow-overlapping-instances","-fno-monomorphism-restriction","-fno-mono-pat-binds","-fno-cse","-fbang-patterns","-funbox-strict-fields"] -endif - -amenu ]OPTIONS_GHC.- :echo '-'<cr> -aunmenu ]OPTIONS_GHC -for o in opts - exe 'amenu ]OPTIONS_GHC.'.o.' :call append(0,"{-# OPTIONS_GHC '.o.' #-}")<cr>' -endfor -if has("gui_running") - map <LocalLeader>opt :popup ]OPTIONS_GHC<cr> -else - map <LocalLeader>opt :emenu ]OPTIONS_GHC. -endif - -amenu ]LANGUAGES_GHC.- :echo '-'<cr> -aunmenu ]LANGUAGES_GHC -if GHC_VersionGE([6,8]) - let ghc_supported_languages = split(system(g:ghc . ' --supported-languages'),'\n') - for l in ghc_supported_languages - exe 'amenu ]LANGUAGES_GHC.'.l.' :call append(0,"{-# LANGUAGE '.l.' #-}")<cr>' - endfor - if has("gui_running") - map <LocalLeader>lang :popup ]LANGUAGES_GHC<cr> - else - map <LocalLeader>lang :emenu ]LANGUAGES_GHC. - endif -endif -ftplugin/haskell.vim [[[1 -149 - -" todo: allow disabling and undo -" (Claus Reinke, last modified: 18/07/2008) -" -" part of haskell plugins: http://www.cs.kent.ac.uk/~cr3/toolbox/haskell/Vim/ -" please send patches to <claus.reinke@talk21.com> - -" try gf on import line, or ctrl-x ctrl-i, or [I, [i, .. -set include=^import\\s*\\(qualified\\)\\?\\s* -set includeexpr=substitute(v:fname,'\\.','/','g').'.hs' - - -" find start/extent of name/symbol under cursor; -" return start, symbolic flag, qualifier, unqualified id -" (this is used in both haskell_doc.vim and in GHC.vim) -function! Haskell_GetNameSymbol(line,col,off) - let name = "[a-zA-Z0-9_']" - let symbol = "[-!#$%&\*\+/<=>\?@\\^|~:.]" - "let [line] = getbufline(a:buf,a:lnum) - let line = a:line - - " find the beginning of unqualified id or qualified id component - let start = (a:col - 1) + a:off - if line[start] =~ name - let pattern = name - elseif line[start] =~ symbol - let pattern = symbol - else - return [] - endif - while start > 0 && line[start - 1] =~ pattern - let start -= 1 - endwhile - let id = matchstr(line[start :],pattern.'*') - " call confirm(id) - - " expand id to left and right, to get full id - let idPos = id[0] == '.' ? start+2 : start+1 - let posA = match(line,'\<\(\([A-Z]'.name.'*\.\)\+\)\%'.idPos.'c') - let start = posA>-1 ? posA+1 : idPos - let posB = matchend(line,'\%'.idPos.'c\(\([A-Z]'.name.'*\.\)*\)\('.name.'\+\|'.symbol.'\+\)') - let end = posB>-1 ? posB : idPos - - " special case: symbolic ids starting with . - if id[0]=='.' && posA==-1 - let start = idPos-1 - let end = posB==-1 ? start : end - endif - - " classify full id and split into qualifier and unqualified id - let fullid = line[ (start>1 ? start-1 : 0) : (end-1) ] - let symbolic = fullid[-1:-1] =~ symbol " might also be incomplete qualified id ending in . - let qualPos = matchend(fullid, '\([A-Z]'.name.'*\.\)\+') - let qualifier = qualPos>-1 ? fullid[ 0 : (qualPos-2) ] : '' - let unqualId = qualPos>-1 ? fullid[ qualPos : -1 ] : fullid - " call confirm(start.'/'.end.'['.symbolic.']:'.qualifier.' '.unqualId) - - return [start,symbolic,qualifier,unqualId] -endfunction - -function! Haskell_GatherImports() - let imports={0:{},1:{}} - let i=1 - while i<=line('$') - let res = Haskell_GatherImport(i) - if !empty(res) - let [i,import] = res - let prefixPat = '^import\s*\(qualified\)\?\s\+' - let modulePat = '\([A-Z][a-zA-Z0-9_''.]*\)' - let asPat = '\(\s\+as\s\+'.modulePat.'\)\?' - let hidingPat = '\(\s\+hiding\s*\((.*)\)\)\?' - let listPat = '\(\s*\((.*)\)\)\?' - let importPat = prefixPat.modulePat.asPat.hidingPat.listPat ".'\s*$' - - let ml = matchlist(import,importPat) - if ml!=[] - let [_,qualified,module,_,as,_,hiding,_,explicit;x] = ml - let what = as=='' ? module : as - let hidings = split(hiding[1:-2],',') - let explicits = split(explicit[1:-2],',') - let empty = {'lines':[],'hiding':hidings,'explicit':[],'modules':[]} - let entry = has_key(imports[1],what) ? imports[1][what] : deepcopy(empty) - let imports[1][what] = Haskell_MergeImport(deepcopy(entry),i,hidings,explicits,module) - if !(qualified=='qualified') - let imports[0][what] = Haskell_MergeImport(deepcopy(entry),i,hidings,explicits,module) - endif - else - echoerr "Haskell_GatherImports doesn't understand: ".import - endif - endif - let i+=1 - endwhile - if !has_key(imports[1],'Prelude') - let imports[0]['Prelude'] = {'lines':[],'hiding':[],'explicit':[],'modules':[]} - let imports[1]['Prelude'] = {'lines':[],'hiding':[],'explicit':[],'modules':[]} - endif - return imports -endfunction - -function! Haskell_ListElem(list,elem) - for e in a:list | if e==a:elem | return 1 | endif | endfor - return 0 -endfunction - -function! Haskell_ListIntersect(list1,list2) - let l = [] - for e in a:list1 | if index(a:list2,e)!=-1 | let l += [e] | endif | endfor - return l -endfunction - -function! Haskell_ListUnion(list1,list2) - let l = [] - for e in a:list2 | if index(a:list1,e)==-1 | let l += [e] | endif | endfor - return a:list1 + l -endfunction - -function! Haskell_ListWithout(list1,list2) - let l = [] - for e in a:list1 | if index(a:list2,e)==-1 | let l += [e] | endif | endfor - return l -endfunction - -function! Haskell_MergeImport(entry,line,hiding,explicit,module) - let lines = a:entry['lines'] + [ a:line ] - let hiding = a:explicit==[] ? Haskell_ListIntersect(a:entry['hiding'], a:hiding) - \ : Haskell_ListWithout(a:entry['hiding'],a:explicit) - let explicit = Haskell_ListUnion(a:entry['explicit'], a:explicit) - let modules = Haskell_ListUnion(a:entry['modules'], [ a:module ]) - return {'lines':lines,'hiding':hiding,'explicit':explicit,'modules':modules} -endfunction - -" collect lines belonging to a single import statement; -" return number of last line and collected import statement -" (assume opening parenthesis, if any, is on the first line) -function! Haskell_GatherImport(lineno) - let lineno = a:lineno - let import = getline(lineno) - if !(import=~'^import') | return [] | endif - let open = strlen(substitute(import,'[^(]','','g')) - let close = strlen(substitute(import,'[^)]','','g')) - while open!=close - let lineno += 1 - let linecont = getline(lineno) - let open += strlen(substitute(linecont,'[^(]','','g')) - let close += strlen(substitute(linecont,'[^)]','','g')) - let import .= linecont - endwhile - return [lineno,import] -endfunction -ftplugin/haskell_doc.vim [[[1 -734 -" -" use haddock docs and index files -" show documentation, complete & qualify identifiers -" -" (Claus Reinke; last modified: 21/10/2008) -" -" part of haskell plugins: http://www.cs.kent.ac.uk/~cr3/toolbox/haskell/Vim/ -" please send patches to <claus.reinke@talk21.com> - -" :Doc <name> and :IDoc <name> open haddocks for <name> in opera -" -" :Doc needs qualified name (default Prelude) and package (default base) -" :IDoc needs unqualified name, looks up possible links in g:haddock_index -" -" :DocIndex populates g:haddock_index from haddock's index files -" :ExportDocIndex saves g:haddock_index to cache file -" :ImportDocIndex reloads g:haddock_index from cache file -" -" all the following use the haddock index (g:haddock_index) -" -" _? opens haddocks for unqualified name under cursor, -" suggesting alternative full qualifications in popup menu -" -" _. fully qualifies unqualified name under cursor, -" suggesting alternative full qualifications in popup menu -" -" _i add import <module>(<name>) statement for unqualified <name> under cursor, -" _im add import <module> statement for unqualified <name> under cursor, -" suggesting alternative full qualifications in popup menu -" (this currently adds one statement per call, instead of -" merging into existing import statements, but it's a start;-) -" -" CTRL-X CTRL-U (user-defined insert mode completion) -" suggests completions of unqualified names in popup menu - -let s:scriptname = "haskell_doc.vim" - -" script parameters -" g:haddock_browser *mandatory* which browser to call -" g:haddock_browser_callformat [optional] how to call browser -" g:haddock_indexfiledir [optional] where to put 'haddock_index.vim' -" g:haddock_docdir [optional] where to find html docs -" g:ghc [optional] which ghc to call -" g:ghc_pkg [optional] which ghc_pkg to call - -" been here before? -if exists("g:haddock_index") - finish -endif - -" initialise nested dictionary, to be populated -" - from haddock index files via :DocIndex -" - from previous cached version via :ImportDocIndex -let g:haddock_index = {} - -" initialise dictionary, mapping modules with haddocks to their packages, -" populated via MkHaddockModuleIndex() or HaveModuleIndex() -let g:haddock_moduleindex = {} - -" program to open urls, please set this in your vimrc - "examples (for windows): - "let g:haddock_browser = "C:/Program Files/Opera/Opera.exe" - "let g:haddock_browser = "C:/Program Files/Mozilla Firefox/firefox.exe" - "let g:haddock_browser = "C:/Program Files/Internet Explorer/IEXPLORE.exe" -if !exists("g:haddock_browser") - echoerr s:scriptname." WARNING: please set g:haddock_browser!" -endif - -if (!exists("g:ghc") || !executable(g:ghc)) - if !executable('ghc') - echoerr s:scriptname." can't find ghc. please set g:ghc, or extend $PATH" - finish - else - let g:ghc = 'ghc' - endif -endif - -if (!exists("g:ghc_pkg") || !executable(g:ghc_pkg)) - let g:ghc_pkg = substitute(g:ghc,'\(.*\)ghc','\1ghc-pkg','') -endif - -if exists("g:haddock_docdir") && isdirectory(g:haddock_docdir) - let s:docdir = g:haddock_docdir -elseif executable(g:ghc_pkg) -" try to figure out location of html docs -" first choice: where the base docs are - let field = substitute(system(g:ghc_pkg . ' field base haddock-html'),'\n','','') - let field = substitute(field,'haddock-html: \(.*\)libraries.base','\1','') - let field = substitute(field,'\\','/','g') - let alternate = substitute(field,'html','doc/html','') - if isdirectory(field) - let s:docdir = field - elseif isdirectory(alternate) - let s:docdir = alternate - endif -else - echoerr s:scriptname." can't find ghc-pkg (set g:ghc_pkg ?)." -endif - -" second choice: try some known suspects for windows/unix -if !exists('s:docdir') || !isdirectory(s:docdir) - let s:ghc_libdir = substitute(system(g:ghc . ' --print-libdir'),'\n','','') - let location1a = s:ghc_libdir . '/doc/html/' - let location1b = s:ghc_libdir . '/doc/' - let s:ghc_version = substitute(system(g:ghc . ' --numeric-version'),'\n','','') - let location2 = '/usr/share/doc/ghc-' . s:ghc_version . '/html/' - if isdirectory(location1a) - let s:docdir = location1a - elseif isdirectory(location1b) - let s:docdir = location1b - elseif isdirectory(location2) - let s:docdir = location2 - else " give up - echoerr s:scriptname." can't find locaton of html documentation (set g:haddock_docdir)." - finish - endif -endif - -" todo: can we turn s:docdir into a list of paths, and -" include docs for third-party libs as well? - -let s:libraries = s:docdir . 'libraries/' -let s:guide = s:docdir . 'users_guide/' -let s:index = 'index.html' -if exists("g:haddock_indexfiledir") && filewritable(g:haddock_indexfiledir) - let s:haddock_indexfiledir = g:haddock_indexfiledir -elseif filewritable(s:libraries) - let s:haddock_indexfiledir = s:libraries -elseif filewritable($HOME) - let s:haddock_indexfiledir = $HOME.'/' -else "give up - echoerr s:scriptname." can't locate index file. please set g:haddock_indexfiledir" - finish -endif -let s:haddock_indexfile = s:haddock_indexfiledir . 'haddock_index.vim' - -" different browser setups require different call formats; -" you might want to call the browser synchronously or -" asynchronously, and the latter is os-dependent; -" -" by default, the browser is started in the background when on -" windows or if running in a gui, and in the foreground otherwise -" (eg, console-mode for remote sessions, with text-mode browsers). -" -" you can override these defaults in your vimrc, via a format -" string including 2 %s parameters (the first being the browser -" to call, the second being the url). -if !exists("g:haddock_browser_callformat") - if has("win32") || has("win64") - let g:haddock_browser_callformat = 'start %s "file://%s"' - else - if has("gui_running") - let g:haddock_browser_callformat = '%s file://%s '.printf(&shellredir,'/dev/null').' &' - else - let g:haddock_browser_callformat = '%s file://%s' - endif - endif -endif - -" allow map leader override -if !exists("maplocalleader") - let maplocalleader='_' -endif - -command! DocSettings call DocSettings() -function! DocSettings() - for v in ["g:haddock_browser","g:haddock_browser_callformat","g:haddock_docdir","g:haddock_indexfiledir","s:ghc_libdir","s:ghc_version","s:docdir","s:libraries","s:guide","s:haddock_indexfile"] - if exists(v) - echo v '=' eval(v) - else - echo v '=' - endif - endfor -endfunction - -function! DocBrowser(url) - "echomsg "DocBrowser(".url.")" - if (!exists("g:haddock_browser") || !executable(g:haddock_browser)) - echoerr s:scriptname." can't find documentation browser. please set g:haddock_browser" - return - endif - " start browser to open url, according to specified format - silent exe '!'.printf(g:haddock_browser_callformat,g:haddock_browser,escape(a:url,'#%')) -endfunction - -"usage examples: -" :Doc length -" :Doc Control.Monad.when -" :Doc Data.List. -" :Doc Control.Monad.State.runState mtl -" :Doc -top -" :Doc -libs -" :Doc -guide -command! -nargs=+ Doc call Doc('v',<f-args>) -command! -nargs=+ Doct call Doc('t',<f-args>) - -function! Doc(kind,qualname,...) - let suffix = '.html' - let relative = '#'.a:kind.'%3A' - - if a:qualname=="-top" - call DocBrowser(s:docdir . s:index) - return - elseif a:qualname=="-libs" - call DocBrowser(s:libraries . s:index) - return - elseif a:qualname=="-guide" - call DocBrowser(s:guide . s:index) - return - endif - - if a:0==0 " no package specified - let package = 'base/' - else - let package = a:1 . '/' - endif - - if match(a:qualname,'\.')==-1 " unqualified name - let [qual,name] = [['Prelude'],a:qualname] - let file = join(qual,'-') . suffix . relative . name - elseif a:qualname[-1:]=='.' " module qualifier only - let parts = split(a:qualname,'\.') - let quallen = len(parts)-1 - let [qual,name] = [parts[0:quallen],parts[-1]] - let file = join(qual,'-') . suffix - else " qualified name - let parts = split(a:qualname,'\.') - let quallen = len(parts)-2 - let [qual,name] = [parts[0:quallen],parts[-1]] - let file = join(qual,'-') . suffix . relative . name - endif - -" let path = s:libraries . package . file - let path = file - call DocBrowser(path) -endfunction - -" TODO: add commandline completion for :IDoc -" indexed variant of Doc, looking up links in g:haddock_index -" usage: -" 1. :IDoc length -" 2. click on one of the choices, or select by number (starting from 0) -command! -nargs=+ IDoc call IDoc(<f-args>) -function! IDoc(name,...) - let choices = HaddockIndexLookup(a:name) - if choices=={} | return | endif - if a:0==0 - let keylist = map(deepcopy(keys(choices)),'substitute(v:val,"\\[.\\]","","")') - let choice = inputlist(keylist) - else - let choice = a:1 - endif - -" let path = s:libraries . values(choices)[choice] - let path = values(choices)[choice] " assumes same order for keys/values.. - call DocBrowser(path) -endfunction - -let s:flagref = s:guide . 'flag-reference.html' -if filereadable(s:flagref) - " extract the generated fragment ids for the - " flag reference sections - let s:headerPat = '.\{-}<h3 class="title"><a name="\([^"]*\)"><\/a>\([^<]*\)<\/h3>\(.*\)' - let s:flagheaders = [] - let s:flagheaderids = {} - let s:contents = join(readfile(s:flagref)) - let s:ml = matchlist(s:contents,s:headerPat) - while s:ml!=[] - let [_,s:id,s:title,s:r;s:x] = s:ml - let s:flagheaders = add(s:flagheaders, s:title) - let s:flagheaderids[s:title] = s:id - let s:ml = matchlist(s:r,s:headerPat) - endwhile - command! -nargs=1 -complete=customlist,CompleteFlagHeaders - \ FlagReference call FlagReference(<f-args>) - function! FlagReference(section) - let relativeUrl = a:section==""||!exists("s:flagheaderids['".a:section."']") ? - \ "" : "#".s:flagheaderids[a:section] - call DocBrowser(s:flagref.relativeUrl) - endfunction - function! CompleteFlagHeaders(al,cl,cp) - let s:choices = s:flagheaders - return CompleteAux(a:al,a:cl,a:cp) - endfunction -endif - -command! -nargs=1 -complete=customlist,CompleteHaddockModules MDoc call MDoc(<f-args>) -function! MDoc(module) - let suffix = '.html' - call HaveModuleIndex() - if !has_key(g:haddock_moduleindex,a:module) - echoerr a:module 'not found in haddock module index' - return - endif - let package = g:haddock_moduleindex[a:module]['package'] - let file = substitute(a:module,'\.','-','g') . suffix -" let path = s:libraries . package . '/' . file - let path = g:haddock_moduleindex[a:module]['html'] - call DocBrowser(path) -endfunction - -function! CompleteHaddockModules(al,cl,cp) - call HaveModuleIndex() - let s:choices = keys(g:haddock_moduleindex) - return CompleteAux(a:al,a:cl,a:cp) -endfunction - -" create a dictionary g:haddock_index, containing the haddoc index -command! DocIndex call DocIndex() -function! DocIndex() - let files = split(globpath(s:libraries,'doc-index*.html'),'\n') - "let files = [s:libraries.'doc-index-33.html'] - let g:haddock_index = {} - call ProcessHaddockIndexes2(s:libraries,files) - if GHC_VersionGE([6,8,2]) - " TODO: escape * when? - let s:addon_libraries = split(system(g:ghc_pkg . ' field * haddock-html'),'\n') - for addon in s:addon_libraries - let ml = matchlist(addon,'haddock-html: \("\)\?\(file:///\)\?\([^"]*\)\("\)\?') - if ml!=[] - let [_,quote,file,addon_path;x] = ml - let addon_path = substitute(addon_path,'\(\\\\\|\\\)','/','g') - let addon_files = split(globpath(addon_path,'doc-index*.html'),'\n') - call ProcessHaddockIndexes2(addon_path,addon_files) - endif - endfor - endif - return 1 -endfunction - -function! ProcessHaddockIndexes(location,files) - let entryPat= '.\{-}"indexentry"[^>]*>\([^<]*\)<\(\%([^=]\{-}TD CLASS="\%(indexentry\)\@!.\{-}</TD\)*\)[^=]\{-}\(\%(="indexentry\|TABLE\).*\)' - let linkPat = '.\{-}HREF="\([^"]*\)".>\([^<]*\)<\(.*\)' - - redraw - echo 'populating g:haddock_index from haddock index files in ' a:location - for f in a:files - echo f[len(a:location):] - let contents = join(readfile(f)) - let ml = matchlist(contents,entryPat) - while ml!=[] - let [_,entry,links,r;x] = ml - "echo entry links - let ml2 = matchlist(links,linkPat) - let link = {} - while ml2!=[] - let [_,l,m,links;x] = ml2 - "echo l m - let link[m] = a:location . '/' . l - let ml2 = matchlist(links,linkPat) - endwhile - let g:haddock_index[DeHTML(entry)] = deepcopy(link) - "echo entry g:haddock_index[entry] - let ml = matchlist(r,entryPat) - endwhile - endfor -endfunction - -" concatenating all lines is too slow for a big file, process lines directly -function! ProcessHaddockIndexes2(location,files) - let entryPat= '^>\([^<]*\)</' - let linkPat = '.\{-}A HREF="\([^"]*\)"' - let kindPat = '#\(.\)' - - redraw - echo 'populating g:haddock_index from haddock index files in ' a:location - for f in a:files - echo f[len(a:location):] - let isEntry = 0 - let isLink = '' - let link = {} - let entry = '' - for line in readfile(f) - if line=~'CLASS="indexentry' - if (link!={}) && (entry!='') - let g:haddock_index[DeHTML(entry)] = deepcopy(link) - let link = {} - let entry = '' - endif - let isEntry=1 - continue - endif - if isEntry==1 - let ml = matchlist(line,entryPat) - if ml!=[] | let [_,entry;x] = ml | let isEntry=0 | continue | endif - endif - if entry!='' - let ml = matchlist(line,linkPat) - if ml!=[] | let [_,isLink;x]=ml | continue | endif - endif - if isLink!='' - let ml = matchlist(line,entryPat) - if ml!=[] - let [_,module;x] = ml - let [_,kind;x] = matchlist(isLink,kindPat) - let last = a:location[strlen(a:location)-1] - let link[module."[".kind."]"] = a:location . (last=='/'?'':'/') . isLink - let isLink='' - continue - endif - endif - endfor - if link!={} | let g:haddock_index[DeHTML(entry)] = deepcopy(link) | endif - endfor -endfunction - -command! ExportDocIndex call ExportDocIndex() -function! ExportDocIndex() - call HaveIndex() - let entries = [] - for key in keys(g:haddock_index) - let entries += [key,string(g:haddock_index[key])] - endfor - call writefile(entries,s:haddock_indexfile) - redir end -endfunction - -command! ImportDocIndex call ImportDocIndex() -function! ImportDocIndex() - if filereadable(s:haddock_indexfile) - let lines = readfile(s:haddock_indexfile) - let i=0 - while i<len(lines) - let [key,dict] = [lines[i],lines[i+1]] - sandbox let g:haddock_index[key] = eval(dict) - let i+=2 - endwhile - return 1 - else - return 0 - endif -endfunction - -function! HaveIndex() - return (g:haddock_index!={} || ImportDocIndex() || DocIndex() ) -endfunction - -function! MkHaddockModuleIndex() - let g:haddock_moduleindex = {} - call HaveIndex() - for key in keys(g:haddock_index) - let dict = g:haddock_index[key] - for module in keys(dict) - let html = dict[module] - let ml = matchlist(html,'libraries/\([^\/]*\)\/') - if ml!=[] - let [_,package;x] = ml - let g:haddock_moduleindex[module] = {'package':package,'html':html} - endif - let ml = matchlist(html,'/\([^\/]*\)\/html/[A-Z]') - if ml!=[] - let [_,package;x] = ml - let g:haddock_moduleindex[module] = {'package':package,'html':html} - endif - endfor - endfor -endfunction - -function! HaveModuleIndex() - return (g:haddock_moduleindex!={} || MkHaddockModuleIndex() ) -endfunction - -" decode HTML symbol encodings (are these all we need?) -function! DeHTML(entry) - let res = a:entry - let decode = { '<': '<', '>': '>', '&': '\\&' } - for enc in keys(decode) - exe 'let res = substitute(res,"'.enc.'","'.decode[enc].'","g")' - endfor - return res -endfunction - -" find haddocks for word under cursor -" also lists possible definition sites -map <LocalLeader>? :call Haddock()<cr> -function! Haddock() - amenu ]Popup.- :echo '-'<cr> - aunmenu ]Popup - let namsym = Haskell_GetNameSymbol(getline('.'),col('.'),0) - if namsym==[] - redraw - echo 'no name/symbol under cursor!' - return 0 - endif - let [start,symb,qual,unqual] = namsym - let imports = Haskell_GatherImports() - let asm = has_key(imports[1],qual) ? imports[1][qual]['modules'] : [] - let name = unqual - let dict = HaddockIndexLookup(name) - if dict=={} | return | endif - let keylist = map(deepcopy(keys(dict)),'substitute(v:val,"\\[.\\]","","")') - let keys = ((qual=='')||(asm==[])||(qual==asm[0])) ? keys(dict) - \ : Haskell_ListIntersect(keylist,asm) - if (qual!='') && (asm!=[]) && (qual==asm[0]) - for key in keys - if key==qual - " call DocBrowser(s:libraries . dict[key]) - call DocBrowser(dict[key]) - endif - endfor - elseif has("gui_running") - let i=0 - for key in keys - exe 'amenu ]Popup.'.escape(key,'\.').' :call IDoc("'.escape(name,'|').'",'.i.')<cr>' - let i+=1 - endfor - popup ]Popup - else - let s:choices = keys - let key = input('browse docs for '.name.' in: ','','customlist,CompleteAux') - if key!='' - " call DocBrowser(s:libraries . dict[key]) - call DocBrowser(dict[key]) - endif - endif -endfunction - -" used to pass on choices to CompleteAux -let s:choices=[] - -" if there's no gui, use commandline completion instead of :popup -" completion function CompleteAux suggests completions for a:al, wrt to s:choices -function! CompleteAux(al,cl,cp) - "echomsg '|'.a:al.'|'.a:cl.'|'.a:cp.'|' - let res = [] - let l = len(a:al)-1 - for r in s:choices - if l==-1 || r[0 : l]==a:al - let res += [r] - endif - endfor - return res -endfunction - -" CamelCase shorthand matching: -" favour upper-case letters and module qualifier separators (.) for disambiguation -function! CamelCase(shorthand,string) - let s1 = a:shorthand - let s2 = a:string - let notFirst = 0 " don't elide before first pattern letter - while ((s1!="")&&(s2!="")) - let head1 = s1[0] - let head2 = s2[0] - let elide = notFirst && ( ((head1=~'[A-Z]') && (head2!~'[A-Z.]')) - \ ||((head1=='.') && (head2!='.')) ) - if elide - let s2=s2[1:] - elseif (head1==head2) - let s1=s1[1:] - let s2=s2[1:] - else - return 0 - endif - let notFirst = (head1!='.')||(head2!='.') " treat separators as new beginnings - endwhile - return (s1=="") -endfunction - -" use haddock name index for insert mode completion (CTRL-X CTRL-U) -function! CompleteHaddock(findstart, base) - if a:findstart - let namsym = Haskell_GetNameSymbol(getline('.'),col('.'),-1) " insert-mode: we're 1 beyond the text - if namsym==[] - redraw - echo 'no name/symbol under cursor!' - return -1 - endif - let [start,symb,qual,unqual] = namsym - return (start-1) - else " find keys matching with "a:base" - let res = [] - let l = len(a:base)-1 - let qual = a:base =~ '^[A-Z][a-zA-Z0-9_'']*\(\.[A-Z][a-zA-Z0-9_'']*\)*\(\.[a-zA-Z0-9_'']*\)\?$' - call HaveIndex() - for key in keys(g:haddock_index) - let keylist = map(deepcopy(keys(g:haddock_index[key])),'substitute(v:val,"\\[.\\]","","")') - if (key[0 : l]==a:base) - for m in keylist - let res += [{"word":key,"menu":m,"dup":1}] - endfor - elseif qual " this tends to be slower - for m in keylist - let word = m . '.' . key - if word[0 : l]==a:base - let res += [{"word":word,"menu":m,"dup":1}] - endif - endfor - endif - endfor - if res==[] " no prefix matches, try CamelCase shortcuts - for key in keys(g:haddock_index) - let keylist = map(deepcopy(keys(g:haddock_index[key])),'substitute(v:val,"\\[.\\]","","")') - if CamelCase(a:base,key) - for m in keylist - let res += [{"word":key,"menu":m,"dup":1}] - endfor - elseif qual " this tends to be slower - for m in keylist - let word = m . '.' . key - if CamelCase(a:base,word) - let res += [{"word":word,"menu":m,"dup":1}] - endif - endfor - endif - endfor - endif - return res - endif -endfunction -set completefunc=CompleteHaddock -set completeopt=menu,menuone,longest - -" fully qualify an unqualified name -map <LocalLeader>. :call Qualify()<cr> -function! Qualify() - amenu ]Popup.- :echo '-'<cr> - aunmenu ]Popup - let namsym = Haskell_GetNameSymbol(getline('.'),col('.'),0) - if namsym==[] - redraw - echo 'no name/symbol under cursor!' - return 0 - endif - let [start,symb,qual,unqual] = namsym - if qual!='' " TODO: should we support re-qualification? - redraw - echo 'already qualified' - return 0 - endif - let name = unqual - let line = line('.') - let prefix = (start<=1 ? '' : getline(line)[0:start-2] ) - let i=0 - let dict = HaddockIndexLookup(name) - if dict=={} | return | endif - let keylist = map(deepcopy(keys(dict)),'substitute(v:val,"\\[.\\]","","")') - let imports = Haskell_GatherImports() - for qualifiedImport in keys(imports[1]) - let c=0 - for module in imports[1][qualifiedImport]['modules'] - if Haskell_ListElem(keylist,module) | let c+=1 | endif - endfor - if c>0 | let keylist=[qualifiedImport]+keylist | endif - endfor - "let asm = has_key(imports[1],qual) ? imports[1][qual]['modules'] : [] - if has("gui_running") - for key in keylist - let lhs=escape(prefix.name,'/.|\') - let rhs=escape(prefix.key.'.'.name,'/&|\') - exe 'amenu ]Popup.'.escape(key,'\.').' :'.line.'s/'.lhs.'/'.rhs.'/<cr>:noh<cr>' - let i+=1 - endfor - popup ]Popup - else - let s:choices = keylist - let key = input('qualify '.name.' with: ','','customlist,CompleteAux') - if key!='' - let lhs=escape(prefix.name,'/.\') - let rhs=escape(prefix.key.'.'.name,'/&\') - exe line.'s/'.lhs.'/'.rhs.'/' - noh - endif - endif -endfunction - -" create (qualified) import for a (qualified) name -map <LocalLeader>i :call Import(0,0)<cr> -map <LocalLeader>im :call Import(1,0)<cr> -map <LocalLeader>iq :call Import(0,1)<cr> -map <LocalLeader>iqm :call Import(1,1)<cr> -function! Import(module,qualified) - amenu ]Popup.- :echo '-'<cr> - aunmenu ]Popup - let namsym = Haskell_GetNameSymbol(getline('.'),col('.'),0) - if namsym==[] - redraw - echo 'no name/symbol under cursor!' - return 0 - endif - let [start,symb,qual,unqual] = namsym - let name = unqual - let pname = ( symb ? '('.name.')' : name ) - let importlist = a:module ? '' : '('.pname.')' - let qualified = a:qualified ? 'qualified ' : '' - - if qual!='' - exe 'call append(search(''\%1c\(\<import\>\|\<module\>\|{-# OPTIONS\|{-# LANGUAGE\)'',''nb''),''import '.qualified.qual.importlist.''')' - return - endif - - let line = line('.') - let prefix = getline(line)[0:start-1] - let dict = HaddockIndexLookup(name) - if dict=={} | return | endif - let keylist = map(deepcopy(keys(dict)),'substitute(v:val,"\\[.\\]","","")') - if has("gui_running") - for key in keylist - " exe 'amenu ]Popup.'.escape(key,'\.').' :call append(search("\\%1c\\(import\\\\|module\\\\|{-# OPTIONS\\)","nb"),"import '.key.importlist.'")<cr>' - exe 'amenu ]Popup.'.escape(key,'\.').' :call append(search(''\%1c\(\<import\>\\|\<module\>\\|{-# OPTIONS\\|{-# LANGUAGE\)'',''nb''),''import '.qualified.key.escape(importlist,'|').''')<cr>' - endfor - popup ]Popup - else - let s:choices = keylist - let key = input('import '.name.' from: ','','customlist,CompleteAux') - if key!='' - exe 'call append(search(''\%1c\(\<import\>\|\<module\>\|{-# OPTIONS\|{-# LANGUAGE\)'',''nb''),''import '.qualified.key.importlist.''')' - endif - endif -endfunction - -function! HaddockIndexLookup(name) - call HaveIndex() - if !has_key(g:haddock_index,a:name) - echoerr a:name 'not found in haddock index' - return {} - endif - return g:haddock_index[a:name] -endfunction - -" copied from ghc.vim :-( should we move everything to using autoload instead? -" we query the ghc version here, as we don't otherwise need it.. -function! GHC_VersionGE(target) - let s:ghc_version = substitute(system(g:ghc . ' --numeric-version'),'\n','','') - let current = split(g:ghc_version, '\.' ) - let target = a:target - for i in current - if ((target==[]) || (i>=target[0])) - let target = target[1:] - else - return 0 - endif - endfor - return 1 -endfunction -ftplugin/haskell_hpaste.vim [[[1 -75 -" rudimentary hpaste support for vim -" (using netrw for reading, wget for posting/annotating) -" -" claus reinke, last modified: 19/08/2007 -" -" part of haskell plugins: http://www.cs.kent.ac.uk/~cr3/toolbox/haskell/Vim/ - -" unless wget is in your PATH, you need to set g:wget -" before loading this script. windows users are out of -" luck, unless they have wget installed (such as the -" cygwin one looked for here), or adapt this script to -" whatever alternative they have at hand (perhaps using -" vim's perl/python bindings?) -if !exists("g:wget") - if executable("wget") - let g:wget = "!wget -q" - else - let g:wget = "!c:\\cygwin\\bin\\wget -q" - endif -endif - -" read (recent) hpaste files -" show index in new buffer, where ,r will open current entry -" and ,p will annotate current entry with current buffer -command! HpasteIndex call HpasteIndex() -function! HpasteIndex() - new - read http://hpaste.org - %s/\_$\_.//g - %s/<tr[^>]*>//g - %s/<\/tr>/
/g - g/<\/table>/d - g/DOCTYPE/d - %s/<td><a href="\/\([0-9]*\)">view<\/a><\/td><td>\([^<]*\)<\/td><td>\([^<]*\)<\/td><td>\([^<]*\)<\/td><td>\([^<]*\)<\/td>/\1 \2 (\3) "\4" \5/ - map <buffer> ,r 0ye:noh<cr>:call HpasteEditEntry('"')<cr> -endfunction - -" load an existing entry for editing -command! -nargs=1 HpasteEditEntry call HpasteEditEntry(<f-args>) -function! HpasteEditEntry(entry) - exe 'edit! http://hpaste.org/'.a:entry.'/0/plain' - exe 'map <buffer> ,p :call HpasteAnnotate('''.a:entry.''')<cr>' -endfunction - -" annotate existing entry (only to be called via ,p in HpasteIndex) -function! HpasteAnnotate(entry) - let nick = input("nick? ") - let title = input("title? ") - if nick=='' || title=='' - echo "nick or title missing. aborting annotation" - return - endif - call HpastePost('annotate/'.a:entry,nick,title) -endfunction - -" post new hpaste entry -" using 'wget --post-data' and url-encoded content -command! HpastePostNew call HpastePost('new',<args>) -function! HpastePost(mode,nick,title,...) - let lines = getbufline("%",1,"$") - let pat = '\([^[:alnum:]]\)' - let code = '\=printf("%%%02X",char2nr(submatch(1)))' - let lines = map(lines,'substitute(v:val."\r\n",'''.pat.''','''.code.''',''g'')') - - let url = 'http://hpaste.org/' . a:mode - let nick = substitute(a:nick,pat,code,'g') - let title = substitute(a:title,pat,code,'g') - if a:0==0 - let announce = 'false' - else - let announce = a:1 - endif - let cmd = g:wget.' --post-data="content='.join(lines,'').'&nick='.nick.'&title='.title.'&announce='.announce.'" '.url - exe escape(cmd,'%') -endfunction -doc/haskellmode.txt [[[1 -434 -*haskellmode.txt* Haskell Mode Plugins 18/07/2008 - -Authors: - Claus Reinke <claus.reinke@talk21.com> ~ - -Homepage: - http://www.cs.kent.ac.uk/people/staff/cr3/toolbox/haskell/Vim/ - -CONTENTS *haskellmode* - - 1. Overview |haskellmode-overview| - 1.1 Runtime Requirements |haskellmode-requirements| - 1.2 Quick Reference |haskellmode-quickref| - 2. Settings |haskellmode-settings| - 2.1 GHC and web browser |haskellmode-settings-main| - 2.2 Fine tuning - more configuration options |haskellmode-settings-fine| - 3. GHC Compiler Integration |haskellmode-compiler| - 4. Haddock Integration |haskellmode-haddock| - 4.1 Indexing |haskellmode-indexing| - 4.2 Lookup |haskellmode-lookup| - 4.3 Editing |haskellmode-editing| - 5. Hpaste Integration |haskellmode-hpaste| - 6. Additional Resources |haskellmode-resources| - -============================================================================== - *haskellmode-overview* -1. Overview ~ - - The Haskell mode plugins provide advanced support for Haskell development - using GHC/GHCi on Windows and Unix-like systems. The functionality is - based on Haddock-generated library indices, on GHCi's interactive - commands, or on simply activating (some of) Vim's built-in program editing - support in Haskell-relevant fashion. These plugins live side-by-side with - the pre-defined |syntax-highlighting| support for |haskell| sources, and - any other Haskell-related plugins you might want to install (see - |haskellmode-resources|). - - The Haskell mode plugins consist of three filetype plugins (haskell.vim, - haskell_doc.vim, haskell_hpaste.vim), which by Vim's |filetype| detection - mechanism will be auto-loaded whenever files with the extension '.hs' are - opened, and one compiler plugin (ghc.vim) which you will need to load from - your vimrc file (see |haskellmode-settings|). - - - *haskellmode-requirements* -1.1 Runtime Requirements ~ - - The plugins require a recent installation of GHC/GHCi. The functionality - derived from Haddock-generated library indices also requires a local - installation of the Haddock documentation for GHC's libraries (if there is - no documentation package for your system, you can download a tar-ball from - haskell.org), as well as an HTML browser (see |haddock_browser|). If you - want to use the experimental hpaste interface, you will also need Wget. - - * GHC/GHCi ~ - Provides core functionality. http://www.haskell.org/ghc - - * HTML library documentation files and indices generated by Haddock ~ - These usually come with your GHC installation, possibly as a separate - package. If you cannot get them this way, you can download a tar-ball - from http://www.haskell.org/ghc/docs/latest/ - - * HTML browser with basic CSS support ~ - For browsing Haddock docs. - - * Wget ~ - For interfacing with http://hpaste.org. - - Wget is widely available for modern Unix-like operating systems. Several - ports also exist for Windows, including: - - - Official GNU Wget (natively compiled for Win32) - http://www.gnu.org/software/wget/#downloading - - - UnxUtils Wget (natively compiled for Win32, bundled with other ported - Unix utilities) - http://sourceforge.net/projects/unxutils/ - - - Cygwin Wget (emulated POSIX in Win32, must be run under Cygwin) - http://cygwin.com/packages/wget/ - - *haskellmode-quickref* -1.2 Quick Reference ~ - -|:make| load into GHCi, show errors (|quickfix| |:copen|) -|_ct| create |tags| file -|_si| show info for id under cursor -|_t| show type for id under cursor -|_T| insert type declaration for id under cursor -|balloon| show type for id under mouse pointer -|_?| browse Haddock entry for id under cursor -|:IDoc| {identifier} browse Haddock entry for unqualified {identifier} -|:MDoc| {module} browse Haddock entry for {module} -|:FlagReference| {s} browse Users Guide Flag Reference for section {s} -|_.| qualify unqualified id under cursor -|_i| add 'import <module>(<identifier>)' for id under cursor -|_im| add 'import <module>' for id under cursor -|_iq| add 'import qualified <module>(<identifier>)' for id under cursor -|_iqm| add 'import qualified <module>' for id under cursor -|_ie| make imports explit for import statement under cursor -|_opt| add OPTIONS_GHC pragma -|_lang| add LANGUAGE pragma -|i_CTRL-X_CTRL-O| insert-mode completion based on imported ids (|haskellmode-XO|) -|i_CTRL-X_CTRL-U| insert-mode completion based on documented ids (|haskellmode-XU|) -|i_CTRL-N| insert-mode completion based on imported sources -|:GHCi|{command/expr} run GHCi command/expr in current module - -|:GHCStaticOptions| edit static GHC options for this buffer -|:DocSettings| show current Haddock-files-related plugin settings -|:DocIndex| populate Haddock index -|:ExportDocIndex| cache current Haddock index to a file -|:HpasteIndex| Read index of most recent entries from hpaste.org -|:HpastePostNew| Submit current buffer as a new hpaste - - -============================================================================== - *haskellmode-settings* -2. Settings ~ - - The plugins try to find their dependencies in standard locations, so if - you're lucky, you will only need to set |compiler| to ghc, and configure - the location of your favourite web browser. Given the variety of things to - guess, however, some dependencies might not be found correctly, or the - defaults might not be to your liking, in which case you can do some more - fine tuning. All of this configuration should happen in your |vimrc|. - - *haskellmode-settings-main* -2.1 GHC and web browser ~ - - *compiler-ghc* *ghc-compiler* - To use the features provided by the GHC |compiler| plugin, use the - following |autocommand| in your vimrc: -> - au BufEnter *.hs compiler ghc -< - *g:ghc* - If the compiler plugin can't locate your GHC binary, or if you have - several versions of GHC installed and have a preference as to which binary - is used, set |g:ghc|: -> - :let g:ghc="/usr/bin/ghc-6.6.1" -< - - *:GHCStaticOptions* -:GHCStaticOptions Edit the static GHC options for the current buffer. - Useful for adding hidden packages (-package ghc). - - *g:haddock_browser* - The preferred HTML browser for viewing Haddock documentation can be set as - follows: -> - :let g:haddock_browser="/usr/bin/firefox" -< - - *haskellmode-settings-fine* -2.2 Fine tuning - more configuration options ~ - - Most of the fine tuning is likely to happen for the haskellmode_doc.vim - plugin, so you can check the current settings for this plugin via the - command |:DocSettings|. If all the settings reported there are to your - liking, you probably won't need to do any fine tuning. - - *g:haddock_browser_callformat* - By default, the web browser|g:haddock_browser| will be started - asynchronously (in the background) on Windows or when vim is running in a - GUI, and synchronously (in the foreground) otherwise. These settings seem - to work fine if you are using a console mode browser (eg, when editing in - a remote session), or if you are starting a GUI browser that will launch - itself in the background. But if these settings do not work for you, you - can change the default browser launching behavior. - - This is controlled by |g:haddock_browser_callformat|. It specifies a - format string which uses two '%s' parameters, the first representing the - path of the browser to launch, and the second is the documentation URL - (minus the protocol specifier, i.e. file://) passed to it by the Haddock - plugin. For instance, to launch a GUI browser on Unix-like systems and - force it to the background (see also |shellredir|): -> - :let g:haddock_browser_callformat = '%s file://%s '.printf(&shellredir,'/dev/null').' &' -< - *g:haddock_docdir* - Your system's installed Haddock documentation for GHC and its libraries - should be automatically detected. If the plugin can't locate them, you - must point |g:haddock_docdir| to the path containing the master index.html - file for the subdirectories 'libraries', 'Cabal', 'users_guide', etc.: -> - :let g:haddock_docdir="/usr/local/share/doc/ghc/html/" -< - *g:haddock_indexfiledir* - The information gathered from Haddock's index files will be stored in a - file called 'haddock_index.vim' in a directory derived from the Haddock - location, or in $HOME. To configure another directory for the index file, - use: -> - :let g:haddock_indexfiledir="~/.vim" -< - *g:wget* - If you also want to try the experimental hpaste functionality, you might - you need to set |g:wget| before the |hpaste| plugin is loaded (unless wget - is in your PATH): -> - :let g:wget="C:\Program Files\wget\wget.exe" -< - - Finally, the mappings actually use|<LocalLeader>|behind the scenes, so if - you have to, you can redefine|maplocalleader|to something other than '_'. - Just remember that the docs still refer to mappings starting with '_', to - avoid confusing the majority of users!-) - -============================================================================== - *haskellmode-compiler* *ghc* -3. GHC Compiler Integration ~ - - The GHC |compiler| plugin sets the basic |errorformat| and |makeprg| to - enable |quickfix| mode using GHCi, and provides functionality for show - info (|_si|), show type (|_t| or mouse |balloon|), add type declaration - (|_T|), create tag file (|_ct|), and insert-mode completion - (|i_CTRL-X_CTRL-O|) based on GHCi browsing of the current and imported - modules. - - To avoid frequent calls to GHCi, type information is cached in Vim. The - cache will be populated the first time a command depends on it, and will - be refreshed every time a |:make| goes through without generating errors - (if the |:make| does not succeed, the old types will remain available in - Vim). You can also unconditionally force reloading of type info using - |:GHCReload| (if GHCi cannot load your file, the type info will be empty). - - - In addition to the standard|quickfix| commands, the GHC compiler plugin - provides: - - *:GHCReload* -:GHCReload Reload modules and unconditionally refresh cache of - type info. Usually, |:make| is prefered, as that will - refresh the cache only if GHCi reports no errors, and - show the errors otherwise. - - *:GHCi* -:GHCi {command/expr} Run GHCi commands/expressions in the current module. - - *_ct* -_ct Create |tags| file for the current Haskell source - file. This uses GHCi's :ctags command, so it will work - recursively, but will only list tags for exported - entities. - - *_opt* -_opt Shows a menu of frequently used GHC compiler options - (selecting an entry adds the option as a pragma to the - start of the file). Uses popup menu (GUI) or :emenu - and command-line completion (CLI). - - *_lang* -_lang Shows a menu of the LANGUAGE options supported by GHC - (selecting an entry adds the language as a pragma to - the start of the file). Uses popup menu (GUI) or - :emenu and command-line completion (CLI). - - *_si* -_si Show extended information for the name under the - cursor. Uses GHCi's :info command. - - *_t* -_t Show type for the name under the cursor. Uses cached - info from GHCi's :browse command. - - *_T* -_T Insert type declaration for the name under the cursor. - Uses cached info from GHCi's :browse command. - - *haskellmode-XO* *haskellmode-omni-completion* -CTRL-X CTRL-O Standard insert-mode omni-completion based on the - cached type info from GHCi browsing current and - imported modules. Only names from the current and from - imported modules are included (the completion menu - also show the type of each identifier). - -============================================================================== - *haskellmode-haddock* *haddock* -4. Haddock Integration ~ - - Haskell mode integrates with Haddock-generated HTML documentation, - providing features such as navigating to the Haddock entry for the - identifier under the cursor (|_?|), completion for the identifier under - the cursor (|i_CTRL-X_CTRL-U|), and adding import statements (|_i| |_im| - |_iq| |_iqm|) or module qualifier (|_.|) for the identifier under the - cursor. - - These commands operate on an internal Haddock index built from the - platform's installed Haddock documentation for GHC's libraries. Since - populating this index takes several seconds, it should be stored as a - file called 'haddock_index.vim' in the directory specified by - |g:haddock_indexfiledir|. - - Some commands present a different interface (popup menu or command-line - completion) according to whether the current Vim instance is graphical or - console-based (actually: whether or not the GUI is running). Such - differences are marked below with the annotations (GUI) and (CLI), - respectively. - - |:DocSettings| shows the settings for this plugin. If you are happy with - them, you can call |:ExportDocIndex| to populate and write out the - documentation index (should be called once for every new version of GHC). - - *:DocSettings* -:DocSettings Show current Haddock-files-related plugin settings. - - - *haskellmode-indexing* -4.1 Indexing ~ - - *:DocIndex* -:DocIndex Populate the Haddock index from the GHC library - documentation. - - *:ExportDocIndex* -:ExportDocIndex Cache the current Haddock index to a file (populate - index first, if empty). - - - *haskellmode-lookup* -4.2 Lookup ~ - - *_?* -_? Open the Haddock entry (in |haddock_browser|) for an - identifier under the cursor, selecting full - qualifications from a popup menu (GUI) or via - command-line completion (CLI), if the identifier is - not qualified. - - *:IDoc* -:IDoc {identifier} Open the Haddock entry for the unqualified - {identifier} in |haddock_browser|, suggesting possible - full qualifications. - - *:MDoc* -:MDoc {module} Open the Haddock entry for {module} in - |haddock_browser| (with command-line completion for - the fully qualified module name). - - *:FlagReference* -:FlagReference {s} Browse Users Guide Flag Reference for section {s} - (with command-line completion for section headers). - - - *haskellmode-editing* -4.3 Editing ~ - - *_.* -_. Fully qualify the unqualified name under the cursor - selecting full qualifications from a popup menu (GUI) - or via command-line completion (CLI). - - *_iq* *_i* -_i _iq Add 'import [qualified] <module>(<identifier>)' - statement for the identifier under the cursor, - selecting fully qualified modules from a popup menu - (GUI) or via command-line completion (CLI), if the - identifier is not qualified. This currently adds one - import statement per call instead of merging into - existing import statements. - - *_iqm* *_im* -_im Add 'import [qualified] <module>' statement for the - identifier under the cursor, selecting fully qualified - modules from a popup menu (GUI) or via command-line - completion (CLI), if the identifier is not qualified. - This currently adds one import statement per call - instead of merging into existing import statements. - - *_ie* -_ie On an 'import <module>' line, in a correctly loadable - module, temporarily comment out import and use :make - 'not in scope' errors to explicitly list imported - identifiers. - - *haskellmode-XU* *haskellmode-user-completion* -CTRL-X CTRL-U User-defined insert mode name completion based on all - names known to the Haddock index, including package - names. Completions are presented in a popup menu which - also displays the fully qualified module from which - each entry may be imported. - - CamelCode shortcuts are supported, meaning that - lower-case letters can be elided, using only - upper-case letters and module qualifier separators (.) - for disambiguation: - - pSL -> putStrLn - C.E.t -> Control.Exception.t - C.M.MP -> Control.Monad.MonadPlus - - To reduce unwanted matches, the first letter of such - shortcuts and the first letter after each '.' have to - match directly. - -============================================================================== - *haskellmode-hpaste* *hpaste* -5. Hpaste Integration ~ - - This experimental feature allows browsing and posting to - http://hpaste.org, a Web-based pastebin tailored for Haskell code. - - - *:HpasteIndex* -:HpasteIndex Read the most recent entries from hpaste.org. Show an - index of the entries in a new buffer, where ',r' will - open the current highlighted entry and ',p' will - annotate it with the current buffer. - - *:HpastePostNew* -:HpastePostNew Submit current buffer as a new hpaste entry. - -============================================================================== - *haskellmode-resources* -6. Additional Resources ~ - - An illustrated walk-through of these plugins is available at: - - http://www.cs.kent.ac.uk/people/staff/cr3/toolbox/haskell/Vim/vim.html - - Other Haskell-related Vim plugins can be found here: - - http://www.haskell.org/haskellwiki/Libraries_and_tools/Program_development#Vim - - Make sure to read about Vim's other program-editing features in its online - |user-manual|. Also have a look at Vim tips and plugins at www.vim.org - - two other plugins I tend to use when editing Haskell are AlignPlugin.vim - (to line up regexps for definitions, keywords, comments, etc. in - consecutive lines) and surround.vim (to surround text with quotes, - brackets, parentheses, comments, etc.). - -============================================================================== - vim:tw=78:ts=8:ft=help: diff --git a/.vim/haskellmode-20090424.vba b/.vim/haskellmode-20090424.vba deleted file mode 100644 index e096c85..0000000 --- a/.vim/haskellmode-20090424.vba +++ /dev/null @@ -1,2005 +0,0 @@ -" Vimball Archiver by Charles E. Campbell, Jr., Ph.D. -UseVimball -finish -compiler/ghc.vim [[[1 -470 - -" Vim Compiler File -" Compiler: GHC -" Maintainer: Claus Reinke <claus.reinke@talk21.com> -" Last Change: 21/04/2009 -" -" part of haskell plugins: http://projects.haskell.org/haskellmode-vim - -" ------------------------------ paths & quickfix settings first -" - -if exists("current_compiler") && current_compiler == "ghc" - finish -endif -let current_compiler = "ghc" - -let s:scriptname = "ghc.vim" - -if (!exists("g:ghc") || !executable(g:ghc)) - if !executable('ghc') - echoerr s:scriptname.": can't find ghc. please set g:ghc, or extend $PATH" - finish - else - let g:ghc = 'ghc' - endif -endif -let ghc_version = substitute(system(g:ghc . ' --numeric-version'),'\n','','') -if (!exists("b:ghc_staticoptions")) - let b:ghc_staticoptions = '' -endif - -" set makeprg (for quickfix mode) -execute 'setlocal makeprg=' . g:ghc . '\ ' . escape(b:ghc_staticoptions,' ') .'\ -e\ :q\ %' -"execute 'setlocal makeprg=' . g:ghc .'\ -e\ :q\ %' -"execute 'setlocal makeprg=' . g:ghc .'\ --make\ %' - -" quickfix mode: -" fetch file/line-info from error message -" TODO: how to distinguish multiline errors from warnings? -" (both have the same header, and errors have no common id-tag) -" how to get rid of first empty message in result list? -setlocal errorformat= - \%-Z\ %#, - \%W%f:%l:%c:\ Warning:\ %m, - \%E%f:%l:%c:\ %m, - \%E%>%f:%l:%c:, - \%+C\ \ %#%m, - \%W%>%f:%l:%c:, - \%+C\ \ %#%tarning:\ %m, - -" oh, wouldn't you guess it - ghc reports (partially) to stderr.. -setlocal shellpipe=2> - -" ------------------------- but ghc can do a lot more for us.. -" - -" allow map leader override -if !exists("maplocalleader") - let maplocalleader='_' -endif - -" initialize map of identifiers to their types -" associate type map updates to changedtick -if !exists("b:ghc_types") - let b:ghc_types = {} - let b:my_changedtick = b:changedtick -endif - -if exists("g:haskell_functions") - finish -endif -let g:haskell_functions = "ghc" - -" avoid hit-enter prompts -set cmdheight=3 - -" edit static GHC options -" TODO: add completion for options/packages? -command! GHCStaticOptions call GHC_StaticOptions() -function! GHC_StaticOptions() - let b:ghc_staticoptions = input('GHC static options: ',b:ghc_staticoptions) - execute 'setlocal makeprg=' . g:ghc . '\ ' . escape(b:ghc_staticoptions,' ') .'\ -e\ :q\ %' - let b:my_changedtick -=1 -endfunction - -map <LocalLeader>T :call GHC_ShowType(1)<cr> -map <LocalLeader>t :call GHC_ShowType(0)<cr> -function! GHC_ShowType(addTypeDecl) - let namsym = haskellmode#GetNameSymbol(getline('.'),col('.'),0) - if namsym==[] - redraw - echo 'no name/symbol under cursor!' - return 0 - endif - let [_,symb,qual,unqual] = namsym - let name = qual=='' ? unqual : qual.'.'.unqual - let pname = ( symb ? '('.name.')' : name ) - call GHC_HaveTypes() - if !has_key(b:ghc_types,name) - redraw - echo pname "type not known" - else - redraw - for type in split(b:ghc_types[name],' -- ') - echo pname "::" type - if a:addTypeDecl - call append( line(".")-1, pname . " :: " . type ) - endif - endfor - endif -endfunction - -" show type of identifier under mouse pointer in balloon -if has("balloon_eval") - set ballooneval - set balloondelay=600 - set balloonexpr=GHC_TypeBalloon() - function! GHC_TypeBalloon() - if exists("b:current_compiler") && b:current_compiler=="ghc" - let [line] = getbufline(v:beval_bufnr,v:beval_lnum) - let namsym = haskellmode#GetNameSymbol(line,v:beval_col,0) - if namsym==[] - return '' - endif - let [start,symb,qual,unqual] = namsym - let name = qual=='' ? unqual : qual.'.'.unqual - let pname = name " ( symb ? '('.name.')' : name ) - silent call GHC_HaveTypes() - if has("balloon_multiline") - return (has_key(b:ghc_types,pname) ? split(b:ghc_types[pname],' -- ') : '') - else - return (has_key(b:ghc_types,pname) ? b:ghc_types[pname] : '') - endif - else - return '' - endif - endfunction -endif - -map <LocalLeader>si :call GHC_ShowInfo()<cr> -function! GHC_ShowInfo() - let namsym = haskellmode#GetNameSymbol(getline('.'),col('.'),0) - if namsym==[] - redraw - echo 'no name/symbol under cursor!' - return 0 - endif - let [_,symb,qual,unqual] = namsym - let name = qual=='' ? unqual : (qual.'.'.unqual) - let output = GHC_Info(name) - pclose | new - setlocal previewwindow - setlocal buftype=nofile - setlocal noswapfile - put =output - wincmd w - "redraw - "echo output -endfunction - -" fill the type map, unless nothing has changed since the last attempt -function! GHC_HaveTypes() - if b:ghc_types == {} && (b:my_changedtick != b:changedtick) - let b:my_changedtick = b:changedtick - return GHC_BrowseAll() - endif -endfunction - -" update b:ghc_types after successful make -au QuickFixCmdPost make if GHC_CountErrors()==0 | silent call GHC_BrowseAll() | endif - -" count only error entries in quickfix list, ignoring warnings -function! GHC_CountErrors() - let c=0 - for e in getqflist() | if e.type=='E' && e.text !~ "^[ \n]*Warning:" | let c+=1 | endif | endfor - return c -endfunction - -command! GHCReload call GHC_BrowseAll() -function! GHC_BrowseAll() - " let imports = haskellmode#GatherImports() - " let modules = keys(imports[0]) + keys(imports[1]) - let imports = {} " no need for them at the moment - let current = GHC_NameCurrent() - let module = current==[] ? 'Main' : current[0] - if GHC_VersionGE([6,8,1]) - return GHC_BrowseBangStar(module) - else - return GHC_BrowseMultiple(imports,['*'.module]) - endif -endfunction - -function! GHC_VersionGE(target) - let current = split(g:ghc_version, '\.' ) - let target = a:target - for i in current - if ((target==[]) || (i>target[0])) - return 1 - elseif (i==target[0]) - let target = target[1:] - else - return 0 - endif - endfor - return 1 -endfunction - -function! GHC_NameCurrent() - let last = line("$") - let l = 1 - while l<last - let ml = matchlist( getline(l), '^module\s*\([^ (]*\)') - if ml != [] - let [_,module;x] = ml - return [module] - endif - let l += 1 - endwhile - redraw - echo "cannot find module header for file " . expand("%") - return [] -endfunction - -function! GHC_BrowseBangStar(module) - redraw - echo "browsing module " a:module - let command = ":browse! *" . a:module - let orig_shellredir = &shellredir - let &shellredir = ">" " ignore error/warning messages, only output or lack of it - let output = system(g:ghc . ' ' . b:ghc_staticoptions . ' -v0 --interactive ' . expand("%") , command ) - let &shellredir = orig_shellredir - return GHC_ProcessBang(a:module,output) -endfunction - -function! GHC_BrowseMultiple(imports,modules) - redraw - echo "browsing modules " a:modules - let command = ":browse " . join( a:modules, " \n :browse ") - let command = substitute(command,'\(:browse \(\S*\)\)','putStrLn "-- \2" \n \1','g') - let output = system(g:ghc . ' ' . b:ghc_staticoptions . ' -v0 --interactive ' . expand("%") , command ) - return GHC_Process(a:imports,output) -endfunction - -function! GHC_Info(what) - " call GHC_HaveTypes() - let output = system(g:ghc . ' ' . b:ghc_staticoptions . ' -v0 --interactive ' . expand("%"), ":i ". a:what) - return output -endfunction - -function! GHC_ProcessBang(module,output) - let module = a:module - let b = a:output - let linePat = '^\(.\{-}\)\n\(.*\)' - let contPat = '\s\+\(.\{-}\)\n\(.*\)' - let typePat = '^\(\)\(\S*\)\s*::\(.*\)' - let commentPat = '^-- \(\S*\)' - let definedPat = '^-- defined locally' - let importedPat = '^-- imported via \(.*\)' - if !(b=~commentPat) - echo s:scriptname.": GHCi reports errors (try :make?)" - return 0 - endif - let b:ghc_types = {} - let ml = matchlist( b , linePat ) - while ml != [] - let [_,l,rest;x] = ml - let mlDecl = matchlist( l, typePat ) - if mlDecl != [] - let [_,indent,id,type;x] = mlDecl - let ml2 = matchlist( rest , '^'.indent.contPat ) - while ml2 != [] - let [_,c,rest;x] = ml2 - let type .= c - let ml2 = matchlist( rest , '^'.indent.contPat ) - endwhile - let id = substitute( id, '^(\(.*\))$', '\1', '') - let type = substitute( type, '\s\+', " ", "g" ) - " using :browse! *<current>, we get both unqualified and qualified ids - let qualified = (id =~ '\.') && (id =~ '[A-Z]') - let b:ghc_types[id] = type - if !qualified - for qual in qualifiers - let b:ghc_types[qual.'.'.id] = type - endfor - endif - else - let mlImported = matchlist( l, importedPat ) - let mlDefined = matchlist( l, definedPat ) - if mlImported != [] - let [_,modules;x] = mlImported - let qualifiers = split( modules, ', ' ) - elseif mlDefined != [] - let qualifiers = [module] - endif - endif - let ml = matchlist( rest , linePat ) - endwhile - return 1 -endfunction - -function! GHC_Process(imports,output) - let b = a:output - let imports = a:imports - let linePat = '^\(.\{-}\)\n\(.*\)' - let contPat = '\s\+\(.\{-}\)\n\(.*\)' - let typePat = '^\(\s*\)\(\S*\)\s*::\(.*\)' - let modPat = '^-- \(\S*\)' - " add '-- defined locally' and '-- imported via ..' - if !(b=~modPat) - echo s:scriptname.": GHCi reports errors (try :make?)" - return 0 - endif - let b:ghc_types = {} - let ml = matchlist( b , linePat ) - while ml != [] - let [_,l,rest;x] = ml - let mlDecl = matchlist( l, typePat ) - if mlDecl != [] - let [_,indent,id,type;x] = mlDecl - let ml2 = matchlist( rest , '^'.indent.contPat ) - while ml2 != [] - let [_,c,rest;x] = ml2 - let type .= c - let ml2 = matchlist( rest , '^'.indent.contPat ) - endwhile - let id = substitute(id, '^(\(.*\))$', '\1', '') - let type = substitute( type, '\s\+', " ", "g" ) - " using :browse *<current>, we get both unqualified and qualified ids - if current_module " || has_key(imports[0],module) - if has_key(b:ghc_types,id) && !(matchstr(b:ghc_types[id],escape(type,'[].'))==type) - let b:ghc_types[id] .= ' -- '.type - else - let b:ghc_types[id] = type - endif - endif - if 0 " has_key(imports[1],module) - let qualid = module.'.'.id - let b:ghc_types[qualid] = type - endif - else - let mlMod = matchlist( l, modPat ) - if mlMod != [] - let [_,module;x] = mlMod - let current_module = module[0]=='*' - let module = current_module ? module[1:] : module - endif - endif - let ml = matchlist( rest , linePat ) - endwhile - return 1 -endfunction - -let s:ghc_templates = ["module _ () where","class _ where","class _ => _ where","instance _ where","instance _ => _ where","type family _","type instance _ = ","data _ = ","newtype _ = ","type _ = "] - -" use ghci :browse index for insert mode omnicompletion (CTRL-X CTRL-O) -function! GHC_CompleteImports(findstart, base) - if a:findstart - let namsym = haskellmode#GetNameSymbol(getline('.'),col('.'),-1) " insert-mode: we're 1 beyond the text - if namsym==[] - redraw - echo 'no name/symbol under cursor!' - return -1 - endif - let [start,symb,qual,unqual] = namsym - return (start-1) - else " find keys matching with "a:base" - let res = [] - let l = len(a:base)-1 - call GHC_HaveTypes() - for key in keys(b:ghc_types) - if key[0 : l]==a:base - let res += [{"word":key,"menu":":: ".b:ghc_types[key],"dup":1}] - endif - endfor - return res - endif -endfunction -set omnifunc=GHC_CompleteImports -set completeopt=menu,menuone,longest - -map <LocalLeader>ct :call GHC_CreateTagfile()<cr> -function! GHC_CreateTagfile() - redraw - echo "creating tags file" - let output = system(g:ghc . ' ' . b:ghc_staticoptions . ' -e ":ctags" ' . expand("%")) - " for ghcs older than 6.6, you would need to call another program - " here, such as hasktags - echo output -endfunction - -command! -nargs=1 GHCi redraw | echo system(g:ghc. ' ' . b:ghc_staticoptions .' '.expand("%").' -e "'.escape(<f-args>,'"').'"') - -" use :make 'not in scope' errors to explicitly list imported ids -" cursor needs to be on import line, in correctly loadable module -map <LocalLeader>ie :call GHC_MkImportsExplicit()<cr> -function! GHC_MkImportsExplicit() - let save_cursor = getpos(".") - let line = getline('.') - let lineno = line('.') - let ml = matchlist(line,'^import\(\s*qualified\)\?\s*\([^( ]\+\)') - if ml!=[] - let [_,q,mod;x] = ml - silent make - if getqflist()==[] - if line=~"import[^(]*Prelude" - call setline(lineno,substitute(line,"(.*","","").'()') - else - call setline(lineno,'-- '.line) - endif - silent write - silent make - let qflist = getqflist() - call setline(lineno,line) - silent write - let ids = {} - for d in qflist - let ml = matchlist(d.text,'Not in scope: \([^`]*\)`\([^'']*\)''') - if ml!=[] - let [_,what,qid;x] = ml - let id = ( qid =~ "^[A-Z]" ? substitute(qid,'.*\.\([^.]*\)$','\1','') : qid ) - let pid = ( id =~ "[a-zA-Z0-9_']\\+" ? id : '('.id.')' ) - if what =~ "data" - call GHC_HaveTypes() - if has_key(b:ghc_types,id) - let pid = substitute(b:ghc_types[id],'^.*->\s*\(\S*\).*$','\1','').'('.pid.')' - else - let pid = '???('.pid.')' - endif - endif - let ids[pid] = 1 - endif - endfor - call setline(lineno,'import'.q.' '.mod.'('.join(keys(ids),',').')') - else - copen - endif - endif - call setpos('.', save_cursor) -endfunction - -if GHC_VersionGE([6,8,2]) - let opts = filter(split(substitute(system(g:ghc . ' -v0 --interactive', ':set'), ' ', '','g'), '\n'), 'v:val =~ "-f"') -else - let opts = ["-fglasgow-exts","-fallow-undecidable-instances","-fallow-overlapping-instances","-fno-monomorphism-restriction","-fno-mono-pat-binds","-fno-cse","-fbang-patterns","-funbox-strict-fields"] -endif - -amenu ]OPTIONS_GHC.- :echo '-'<cr> -aunmenu ]OPTIONS_GHC -for o in opts - exe 'amenu ]OPTIONS_GHC.'.o.' :call append(0,"{-# OPTIONS_GHC '.o.' #-}")<cr>' -endfor -if has("gui_running") - map <LocalLeader>opt :popup ]OPTIONS_GHC<cr> -else - map <LocalLeader>opt :emenu ]OPTIONS_GHC. -endif - -amenu ]LANGUAGES_GHC.- :echo '-'<cr> -aunmenu ]LANGUAGES_GHC -if GHC_VersionGE([6,8]) - let ghc_supported_languages = split(system(g:ghc . ' --supported-languages'),'\n') - for l in ghc_supported_languages - exe 'amenu ]LANGUAGES_GHC.'.l.' :call append(0,"{-# LANGUAGE '.l.' #-}")<cr>' - endfor - if has("gui_running") - map <LocalLeader>lang :popup ]LANGUAGES_GHC<cr> - else - map <LocalLeader>lang :emenu ]LANGUAGES_GHC. - endif -endif -ftplugin/haskell.vim [[[1 -13 -" -" general Haskell source settings -" (shared functions are in autoload/haskellmode.vim) -" -" (Claus Reinke, last modified: 21/04/2009) -" -" part of haskell plugins: http://projects.haskell.org/haskellmode-vim -" please send patches to <claus.reinke@talk21.com> - -" try gf on import line, or ctrl-x ctrl-i, or [I, [i, .. -set include=^import\\s*\\(qualified\\)\\?\\s* -set includeexpr=substitute(v:fname,'\\.','/','g').'.hs' - -ftplugin/haskell_doc.vim [[[1 -817 -" -" use haddock docs and index files -" show documentation, complete & qualify identifiers -" -" (Claus Reinke; last modified: 24/04/2009) -" -" part of haskell plugins: http://projects.haskell.org/haskellmode-vim -" please send patches to <claus.reinke@talk21.com> - -" :Doc <name> and :IDoc <name> open haddocks for <name> in opera -" -" :Doc needs qualified name (default Prelude) and package (default base) -" :IDoc needs unqualified name, looks up possible links in g:haddock_index -" -" :DocIndex populates g:haddock_index from haddock's index files -" :ExportDocIndex saves g:haddock_index to cache file -" :ImportDocIndex reloads g:haddock_index from cache file -" -" all the following use the haddock index (g:haddock_index) -" -" _? opens haddocks for unqualified name under cursor, -" suggesting alternative full qualifications in popup menu -" -" _. fully qualifies unqualified name under cursor, -" suggesting alternative full qualifications in popup menu -" -" _i add import <module>(<name>) statement for unqualified <name> under cursor, -" _im add import <module> statement for unqualified <name> under cursor, -" suggesting alternative full qualifications in popup menu -" (this currently adds one statement per call, instead of -" merging into existing import statements, but it's a start;-) -" -" CTRL-X CTRL-U (user-defined insert mode completion) -" suggests completions of unqualified names in popup menu - -let s:scriptname = "haskell_doc.vim" - -" script parameters -" g:haddock_browser *mandatory* which browser to call -" g:haddock_browser_callformat [optional] how to call browser -" g:haddock_indexfiledir [optional] where to put 'haddock_index.vim' -" g:haddock_docdir [optional] where to find html docs -" g:ghc [optional] which ghc to call -" g:ghc_pkg [optional] which ghc_pkg to call - -" been here before? -if exists("g:haddock_index") - finish -endif - -" initialise nested dictionary, to be populated -" - from haddock index files via :DocIndex -" - from previous cached version via :ImportDocIndex -let g:haddock_index = {} - -" initialise dictionary, mapping modules with haddocks to their packages, -" populated via MkHaddockModuleIndex() or HaveModuleIndex() -let g:haddock_moduleindex = {} - -" program to open urls, please set this in your vimrc - "examples (for windows): - "let g:haddock_browser = "C:/Program Files/Opera/Opera.exe" - "let g:haddock_browser = "C:/Program Files/Mozilla Firefox/firefox.exe" - "let g:haddock_browser = "C:/Program Files/Internet Explorer/IEXPLORE.exe" -if !exists("g:haddock_browser") - echoerr s:scriptname." WARNING: please set g:haddock_browser!" -endif - -if (!exists("g:ghc") || !executable(g:ghc)) - if !executable('ghc') - echoerr s:scriptname." can't find ghc. please set g:ghc, or extend $PATH" - finish - else - let g:ghc = 'ghc' - endif -endif - -if (!exists("g:ghc_pkg") || !executable(g:ghc_pkg)) - let g:ghc_pkg = substitute(g:ghc,'\(.*\)ghc','\1ghc-pkg','') -endif - -if exists("g:haddock_docdir") && isdirectory(g:haddock_docdir) - let s:docdir = g:haddock_docdir -elseif executable(g:ghc_pkg) -" try to figure out location of html docs -" first choice: where the base docs are (from the first base listed) - let [field;x] = split(system(g:ghc_pkg . ' field base haddock-html'),'\n') - let field = substitute(field,'haddock-html: \(.*\)libraries.base','\1','') - let field = substitute(field,'\\','/','g') - let alternate = substitute(field,'html','doc/html','') - if isdirectory(field) - let s:docdir = field - elseif isdirectory(alternate) - let s:docdir = alternate - endif -else - echoerr s:scriptname." can't find ghc-pkg (set g:ghc_pkg ?)." -endif - -" second choice: try some known suspects for windows/unix -if !exists('s:docdir') || !isdirectory(s:docdir) - let s:ghc_libdir = substitute(system(g:ghc . ' --print-libdir'),'\n','','') - let location1a = s:ghc_libdir . '/doc/html/' - let location1b = s:ghc_libdir . '/doc/' - let s:ghc_version = substitute(system(g:ghc . ' --numeric-version'),'\n','','') - let location2 = '/usr/share/doc/ghc-' . s:ghc_version . '/html/' - if isdirectory(location1a) - let s:docdir = location1a - elseif isdirectory(location1b) - let s:docdir = location1b - elseif isdirectory(location2) - let s:docdir = location2 - else " give up - echoerr s:scriptname." can't find locaton of html documentation (set g:haddock_docdir)." - finish - endif -endif - -" todo: can we turn s:docdir into a list of paths, and -" include docs for third-party libs as well? - -let s:libraries = s:docdir . 'libraries/' -let s:guide = s:docdir . 'users_guide/' -let s:index = 'index.html' -if exists("g:haddock_indexfiledir") && filewritable(g:haddock_indexfiledir) - let s:haddock_indexfiledir = g:haddock_indexfiledir -elseif filewritable(s:libraries) - let s:haddock_indexfiledir = s:libraries -elseif filewritable($HOME) - let s:haddock_indexfiledir = $HOME.'/' -else "give up - echoerr s:scriptname." can't locate index file. please set g:haddock_indexfiledir" - finish -endif -let s:haddock_indexfile = s:haddock_indexfiledir . 'haddock_index.vim' - -" different browser setups require different call formats; -" you might want to call the browser synchronously or -" asynchronously, and the latter is os-dependent; -" -" by default, the browser is started in the background when on -" windows or if running in a gui, and in the foreground otherwise -" (eg, console-mode for remote sessions, with text-mode browsers). -" -" you can override these defaults in your vimrc, via a format -" string including 2 %s parameters (the first being the browser -" to call, the second being the url). -if !exists("g:haddock_browser_callformat") - if has("win32") || has("win64") - let g:haddock_browser_callformat = 'start %s "%s"' - else - if has("gui_running") - let g:haddock_browser_callformat = '%s %s '.printf(&shellredir,'/dev/null').' &' - else - let g:haddock_browser_callformat = '%s %s' - endif - endif -endif - -" allow map leader override -if !exists("maplocalleader") - let maplocalleader='_' -endif - -command! DocSettings call DocSettings() -function! DocSettings() - for v in ["g:haddock_browser","g:haddock_browser_callformat","g:haddock_docdir","g:haddock_indexfiledir","s:ghc_libdir","s:ghc_version","s:docdir","s:libraries","s:guide","s:haddock_indexfile"] - if exists(v) - echo v '=' eval(v) - else - echo v '=' - endif - endfor -endfunction - -function! DocBrowser(url) - "echomsg "DocBrowser(".url.")" - if (!exists("g:haddock_browser") || !executable(g:haddock_browser)) - echoerr s:scriptname." can't find documentation browser. please set g:haddock_browser" - return - endif - " start browser to open url, according to specified format - let url = a:url=~'^\(file://\|http://\)' ? a:url : 'file://'.a:url - silent exe '!'.printf(g:haddock_browser_callformat,g:haddock_browser,escape(url,'#%')) -endfunction - -"usage examples: -" :Doc length -" :Doc Control.Monad.when -" :Doc Data.List. -" :Doc Control.Monad.State.runState mtl -" :Doc -top -" :Doc -libs -" :Doc -guide -command! -nargs=+ Doc call Doc('v',<f-args>) -command! -nargs=+ Doct call Doc('t',<f-args>) - -function! Doc(kind,qualname,...) - let suffix = '.html' - let relative = '#'.a:kind.'%3A' - - if a:qualname=="-top" - call DocBrowser(s:docdir . s:index) - return - elseif a:qualname=="-libs" - call DocBrowser(s:libraries . s:index) - return - elseif a:qualname=="-guide" - call DocBrowser(s:guide . s:index) - return - endif - - if a:0==0 " no package specified - let package = 'base/' - else - let package = a:1 . '/' - endif - - if match(a:qualname,'\.')==-1 " unqualified name - let [qual,name] = [['Prelude'],a:qualname] - let file = join(qual,'-') . suffix . relative . name - elseif a:qualname[-1:]=='.' " module qualifier only - let parts = split(a:qualname,'\.') - let quallen = len(parts)-1 - let [qual,name] = [parts[0:quallen],parts[-1]] - let file = join(qual,'-') . suffix - else " qualified name - let parts = split(a:qualname,'\.') - let quallen = len(parts)-2 - let [qual,name] = [parts[0:quallen],parts[-1]] - let file = join(qual,'-') . suffix . relative . name - endif - -" let path = s:libraries . package . file - let path = file - call DocBrowser(path) -endfunction - -" TODO: add commandline completion for :IDoc -" indexed variant of Doc, looking up links in g:haddock_index -" usage: -" 1. :IDoc length -" 2. click on one of the choices, or select by number (starting from 0) -command! -nargs=+ IDoc call IDoc(<f-args>) -function! IDoc(name,...) - let choices = HaddockIndexLookup(a:name) - if choices=={} | return | endif - if a:0==0 - let keylist = map(deepcopy(keys(choices)),'substitute(v:val,"\\[.\\]","","")') - let choice = inputlist(keylist) - else - let choice = a:1 - endif - let path = values(choices)[choice] " assumes same order for keys/values.. - call DocBrowser(path) -endfunction - -let s:flagref = s:guide . 'flag-reference.html' -if filereadable(s:flagref) - " extract the generated fragment ids for the - " flag reference sections - let s:headerPat = '.\{-}<h3 class="title"><a name="\([^"]*\)"><\/a>\([^<]*\)<\/h3>\(.*\)' - let s:flagheaders = [] - let s:flagheaderids = {} - let s:contents = join(readfile(s:flagref)) - let s:ml = matchlist(s:contents,s:headerPat) - while s:ml!=[] - let [_,s:id,s:title,s:r;s:x] = s:ml - let s:flagheaders = add(s:flagheaders, s:title) - let s:flagheaderids[s:title] = s:id - let s:ml = matchlist(s:r,s:headerPat) - endwhile - command! -nargs=1 -complete=customlist,CompleteFlagHeaders FlagReference call FlagReference(<f-args>) - function! FlagReference(section) - let relativeUrl = a:section==""||!exists("s:flagheaderids['".a:section."']") ? - \ "" : "#".s:flagheaderids[a:section] - call DocBrowser(s:flagref.relativeUrl) - endfunction - function! CompleteFlagHeaders(al,cl,cp) - let s:choices = s:flagheaders - return CompleteAux(a:al,a:cl,a:cp) - endfunction -endif - -command! -nargs=1 -complete=customlist,CompleteHaddockModules MDoc call MDoc(<f-args>) -function! MDoc(module) - let suffix = '.html' - call HaveModuleIndex() - if !has_key(g:haddock_moduleindex,a:module) - echoerr a:module 'not found in haddock module index' - return - endif - let package = g:haddock_moduleindex[a:module]['package'] - let file = substitute(a:module,'\.','-','g') . suffix -" let path = s:libraries . package . '/' . file - let path = g:haddock_moduleindex[a:module]['html'] - call DocBrowser(path) -endfunction - -function! CompleteHaddockModules(al,cl,cp) - call HaveModuleIndex() - let s:choices = keys(g:haddock_moduleindex) - return CompleteAux(a:al,a:cl,a:cp) -endfunction - -" create a dictionary g:haddock_index, containing the haddoc index -command! DocIndex call DocIndex() -function! DocIndex() - let files = split(globpath(s:libraries,'doc-index*.html'),'\n') - let g:haddock_index = {} - call ProcessHaddockIndexes2(s:libraries,files) - if GHC_VersionGE([6,8,2]) - if &shell =~ 'sh' " unix-type shell - let s:addon_libraries = split(system(g:ghc_pkg . ' field \* haddock-html'),'\n') - else " windows cmd.exe and the like - let s:addon_libraries = split(system(g:ghc_pkg . ' field * haddock-html'),'\n') - endif - for addon in s:addon_libraries - let ml = matchlist(addon,'haddock-html: \("\)\?\(file:///\)\?\([^"]*\)\("\)\?') - if ml!=[] - let [_,quote,file,addon_path;x] = ml - let addon_path = substitute(addon_path,'\(\\\\\|\\\)','/','g') - let addon_files = split(globpath(addon_path,'doc-index*.html'),'\n') - call ProcessHaddockIndexes2(addon_path,addon_files) - endif - endfor - endif - return 1 -endfunction - -function! ProcessHaddockIndexes(location,files) - let entryPat= '.\{-}"indexentry"[^>]*>\([^<]*\)<\(\%([^=]\{-}TD CLASS="\%(indexentry\)\@!.\{-}</TD\)*\)[^=]\{-}\(\%(="indexentry\|TABLE\).*\)' - let linkPat = '.\{-}HREF="\([^"]*\)".>\([^<]*\)<\(.*\)' - - redraw - echo 'populating g:haddock_index from haddock index files in ' a:location - for f in a:files - echo f[len(a:location):] - let contents = join(readfile(f)) - let ml = matchlist(contents,entryPat) - while ml!=[] - let [_,entry,links,r;x] = ml - "echo entry links - let ml2 = matchlist(links,linkPat) - let link = {} - while ml2!=[] - let [_,l,m,links;x] = ml2 - "echo l m - let link[m] = a:location . '/' . l - let ml2 = matchlist(links,linkPat) - endwhile - let g:haddock_index[DeHTML(entry)] = deepcopy(link) - "echo entry g:haddock_index[entry] - let ml = matchlist(r,entryPat) - endwhile - endfor -endfunction - -" concatenating all lines is too slow for a big file, process lines directly -function! ProcessHaddockIndexes2(location,files) - let entryPat= '^>\([^<]*\)</' - let linkPat = '.\{-}A HREF="\([^"]*\)"' - let kindPat = '#\(.\)' - - " redraw - echo 'populating g:haddock_index from haddock index files in ' a:location - for f in a:files - echo f[len(a:location):] - let isEntry = 0 - let isLink = '' - let link = {} - let entry = '' - for line in readfile(f) - if line=~'CLASS="indexentry' - if (link!={}) && (entry!='') - if has_key(g:haddock_index,DeHTML(entry)) - let dict = extend(g:haddock_index[DeHTML(entry)],deepcopy(link)) - else - let dict = deepcopy(link) - endif - let g:haddock_index[DeHTML(entry)] = dict - let link = {} - let entry = '' - endif - let isEntry=1 - continue - endif - if isEntry==1 - let ml = matchlist(line,entryPat) - if ml!=[] | let [_,entry;x] = ml | let isEntry=0 | continue | endif - endif - if entry!='' - let ml = matchlist(line,linkPat) - if ml!=[] | let [_,isLink;x]=ml | continue | endif - endif - if isLink!='' - let ml = matchlist(line,entryPat) - if ml!=[] - let [_,module;x] = ml - let [_,kind;x] = matchlist(isLink,kindPat) - let last = a:location[strlen(a:location)-1] - let link[module."[".kind."]"] = a:location . (last=='/'?'':'/') . isLink - let isLink='' - continue - endif - endif - endfor - if link!={} - if has_key(g:haddock_index,DeHTML(entry)) - let dict = extend(g:haddock_index[DeHTML(entry)],deepcopy(link)) - else - let dict = deepcopy(link) - endif - let g:haddock_index[DeHTML(entry)] = dict - endif - endfor -endfunction - -command! ExportDocIndex call ExportDocIndex() -function! ExportDocIndex() - call HaveIndex() - let entries = [] - for key in keys(g:haddock_index) - let entries += [key,string(g:haddock_index[key])] - endfor - call writefile(entries,s:haddock_indexfile) - redir end -endfunction - -command! ImportDocIndex call ImportDocIndex() -function! ImportDocIndex() - if filereadable(s:haddock_indexfile) - let lines = readfile(s:haddock_indexfile) - let i=0 - while i<len(lines) - let [key,dict] = [lines[i],lines[i+1]] - sandbox let g:haddock_index[key] = eval(dict) - let i+=2 - endwhile - return 1 - else - return 0 - endif -endfunction - -function! HaveIndex() - return (g:haddock_index!={} || ImportDocIndex() || DocIndex() ) -endfunction - -function! MkHaddockModuleIndex() - let g:haddock_moduleindex = {} - call HaveIndex() - for key in keys(g:haddock_index) - let dict = g:haddock_index[key] - for module in keys(dict) - let html = dict[module] - let html = substitute(html ,'#.*$','','') - let module = substitute(module,'\[.\]','','') - let ml = matchlist(html,'libraries/\([^\/]*\)\/') - if ml!=[] - let [_,package;x] = ml - let g:haddock_moduleindex[module] = {'package':package,'html':html} - endif - let ml = matchlist(html,'/\([^\/]*\)\/html/[A-Z]') - if ml!=[] - let [_,package;x] = ml - let g:haddock_moduleindex[module] = {'package':package,'html':html} - endif - endfor - endfor -endfunction - -function! HaveModuleIndex() - return (g:haddock_moduleindex!={} || MkHaddockModuleIndex() ) -endfunction - -" decode HTML symbol encodings (are these all we need?) -function! DeHTML(entry) - let res = a:entry - let decode = { '<': '<', '>': '>', '&': '\\&' } - for enc in keys(decode) - exe 'let res = substitute(res,"'.enc.'","'.decode[enc].'","g")' - endfor - return res -endfunction - -" find haddocks for word under cursor -" also lists possible definition sites -" - needs to work for both qualified and unqualified items -" - for 'import qualified M as A', consider M.item as source of A.item -" - offer sources from both type [t] and value [v] namespaces -" - for unqualified items, list all possible sites -" - for qualified items, list imported sites only -" keep track of keys with and without namespace tags: -" the former are needed for lookup, the latter for matching against source -map <LocalLeader>? :call Haddock()<cr> -function! Haddock() - amenu ]Popup.- :echo '-'<cr> - aunmenu ]Popup - let namsym = haskellmode#GetNameSymbol(getline('.'),col('.'),0) - if namsym==[] - redraw - echo 'no name/symbol under cursor!' - return 0 - endif - let [start,symb,qual,unqual] = namsym - let imports = haskellmode#GatherImports() - let asm = has_key(imports[1],qual) ? imports[1][qual]['modules'] : [] - let name = unqual - let dict = HaddockIndexLookup(name) - if dict=={} | return | endif - " for qualified items, narrow results to possible imports that provide qualifier - let filteredKeys = filter(copy(keys(dict)) - \ ,'match(asm,substitute(v:val,''\[.\]'','''',''''))!=-1') - let keys = (qual!='') ? filteredKeys : keys(dict) - if (keys==[]) && (qual!='') - echoerr qual.'.'.unqual.' not found in imports' - return 0 - endif - if len(keys)==1 && exists("g:haskell_avoid_singleton_menus") - call DocBrowser(dict[keys[0]]) - elseif has("gui_running") - for key in keys - exe 'amenu ]Popup.'.escape(key,'\.').' :call DocBrowser('''.dict[key].''')<cr>' - endfor - popup ]Popup - else - let s:choices = keys - let key = input('browse docs for '.name.' in: ','','customlist,CompleteAux') - if key!='' - call DocBrowser(dict[key]) - endif - endif -endfunction - -if !exists("g:haskell_search_engines") - let g:haskell_search_engines = - \ {'hoogle':'http://www.haskell.org/hoogle/?hoogle=%s' - \ ,'hayoo!':'http://holumbus.fh-wedel.de/hayoo/hayoo.html?query=%s' - \ } -endif - -map <LocalLeader>?? :let es=g:haskell_search_engines - \ \|echo "g:haskell_search_engines" - \ \|for e in keys(es) - \ \|echo e.' : '.es[e] - \ \|endfor<cr> -map <LocalLeader>?1 :call HaskellSearchEngine('hoogle')<cr> -map <LocalLeader>?2 :call HaskellSearchEngine('hayoo!')<cr> - -" query one of the Haskell search engines for the thing under cursor -" - unqualified symbols need to be url-escaped -" - qualified ids need to be fed as separate qualifier and id for -" both hoogle (doesn't handle qualified symbols) and hayoo! (no qualified -" ids at all) -" - qualified ids referring to import-qualified-as qualifiers need to be -" translated to the multi-module searches over the list of original modules -function! HaskellSearchEngine(engine) - amenu ]Popup.- :echo '-'<cr> - aunmenu ]Popup - let namsym = haskellmode#GetNameSymbol(getline('.'),col('.'),0) - if namsym==[] - redraw - echo 'no name/symbol under cursor!' - return 0 - endif - let [start,symb,qual,unqual] = namsym - let imports = haskellmode#GatherImports() - let asm = has_key(imports[1],qual) ? imports[1][qual]['modules'] : [] - let unqual = haskellmode#UrlEncode(unqual) - if a:engine=='hoogle' - let name = asm!=[] ? unqual.'+'.join(map(copy(asm),'"%2B".v:val'),'+') - \ : qual!='' ? unqual.'+'.haskellmode#UrlEncode('+').qual - \ : unqual - elseif a:engine=='hayoo!' - let name = asm!=[] ? unqual.'+module:('.join(copy(asm),' OR ').')' - \ : qual!='' ? unqual.'+module:'.qual - \ : unqual - else - let name = qual=="" ? unqual : qual.".".unqual - endif - if has_key(g:haskell_search_engines,a:engine) - call DocBrowser(printf(g:haskell_search_engines[a:engine],name)) - else - echoerr "unknown search engine: ".a:engine - endif -endfunction - -" used to pass on choices to CompleteAux -let s:choices=[] - -" if there's no gui, use commandline completion instead of :popup -" completion function CompleteAux suggests completions for a:al, wrt to s:choices -function! CompleteAux(al,cl,cp) - "echomsg '|'.a:al.'|'.a:cl.'|'.a:cp.'|' - let res = [] - let l = len(a:al)-1 - for r in s:choices - if l==-1 || r[0 : l]==a:al - let res += [r] - endif - endfor - return res -endfunction - -" CamelCase shorthand matching: -" favour upper-case letters and module qualifier separators (.) for disambiguation -function! CamelCase(shorthand,string) - let s1 = a:shorthand - let s2 = a:string - let notFirst = 0 " don't elide before first pattern letter - while ((s1!="")&&(s2!="")) - let head1 = s1[0] - let head2 = s2[0] - let elide = notFirst && ( ((head1=~'[A-Z]') && (head2!~'[A-Z.]')) - \ ||((head1=='.') && (head2!='.')) ) - if elide - let s2=s2[1:] - elseif (head1==head2) - let s1=s1[1:] - let s2=s2[1:] - else - return 0 - endif - let notFirst = (head1!='.')||(head2!='.') " treat separators as new beginnings - endwhile - return (s1=="") -endfunction - -" use haddock name index for insert mode completion (CTRL-X CTRL-U) -function! CompleteHaddock(findstart, base) - if a:findstart - let namsym = haskellmode#GetNameSymbol(getline('.'),col('.'),-1) " insert-mode: we're 1 beyond the text - if namsym==[] - redraw - echo 'no name/symbol under cursor!' - return -1 - endif - let [start,symb,qual,unqual] = namsym - return (start-1) - else " find keys matching with "a:base" - let res = [] - let l = len(a:base)-1 - let qual = a:base =~ '^[A-Z][a-zA-Z0-9_'']*\(\.[A-Z][a-zA-Z0-9_'']*\)*\(\.[a-zA-Z0-9_'']*\)\?$' - call HaveIndex() - for key in keys(g:haddock_index) - let keylist = map(deepcopy(keys(g:haddock_index[key])),'substitute(v:val,"\\[.\\]","","")') - if (key[0 : l]==a:base) - for m in keylist - let res += [{"word":key,"menu":m,"dup":1}] - endfor - elseif qual " this tends to be slower - for m in keylist - let word = m . '.' . key - if word[0 : l]==a:base - let res += [{"word":word,"menu":m,"dup":1}] - endif - endfor - endif - endfor - if res==[] " no prefix matches, try CamelCase shortcuts - for key in keys(g:haddock_index) - let keylist = map(deepcopy(keys(g:haddock_index[key])),'substitute(v:val,"\\[.\\]","","")') - if CamelCase(a:base,key) - for m in keylist - let res += [{"word":key,"menu":m,"dup":1}] - endfor - elseif qual " this tends to be slower - for m in keylist - let word = m . '.' . key - if CamelCase(a:base,word) - let res += [{"word":word,"menu":m,"dup":1}] - endif - endfor - endif - endfor - endif - return res - endif -endfunction -set completefunc=CompleteHaddock -set completeopt=menu,menuone,longest - -" fully qualify an unqualified name -" TODO: - standardise commandline versions of menus -map <LocalLeader>. :call Qualify()<cr> -function! Qualify() - amenu ]Popup.- :echo '-'<cr> - aunmenu ]Popup - let namsym = haskellmode#GetNameSymbol(getline('.'),col('.'),0) - if namsym==[] - redraw - echo 'no name/symbol under cursor!' - return 0 - endif - let [start,symb,qual,unqual] = namsym - if qual!='' " TODO: should we support re-qualification? - redraw - echo 'already qualified' - return 0 - endif - let name = unqual - let line = line('.') - let prefix = (start<=1 ? '' : getline(line)[0:start-2] ) - let dict = HaddockIndexLookup(name) - if dict=={} | return | endif - let keylist = map(deepcopy(keys(dict)),'substitute(v:val,"\\[.\\]","","")') - let imports = haskellmode#GatherImports() - let qualifiedImports = [] - for qualifiedImport in keys(imports[1]) - let c=0 - for module in imports[1][qualifiedImport]['modules'] - if haskellmode#ListElem(keylist,module) | let c+=1 | endif - endfor - if c>0 | let qualifiedImports=[qualifiedImport]+qualifiedImports | endif - endfor - "let asm = has_key(imports[1],qual) ? imports[1][qual]['modules'] : [] - let keylist = filter(copy(keylist),'index(qualifiedImports,v:val)==-1') - if has("gui_running") - " amenu ]Popup.-imported- : - for key in qualifiedImports - let lhs=escape(prefix.name,'/.|\') - let rhs=escape(prefix.key.'.'.name,'/&|\') - exe 'amenu ]Popup.'.escape(key,'\.').' :'.line.'s/'.lhs.'/'.rhs.'/<cr>:noh<cr>' - endfor - amenu ]Popup.-not\ imported- : - for key in keylist - let lhs=escape(prefix.name,'/.|\') - let rhs=escape(prefix.key.'.'.name,'/&|\') - exe 'amenu ]Popup.'.escape(key,'\.').' :'.line.'s/'.lhs.'/'.rhs.'/<cr>:noh<cr>' - endfor - popup ]Popup - else - let s:choices = qualifiedImports+keylist - let key = input('qualify '.name.' with: ','','customlist,CompleteAux') - if key!='' - let lhs=escape(prefix.name,'/.\') - let rhs=escape(prefix.key.'.'.name,'/&\') - exe line.'s/'.lhs.'/'.rhs.'/' - noh - endif - endif -endfunction - -" create (qualified) import for a (qualified) name -" TODO: refine search patterns, to avoid misinterpretation of -" oddities like import'Neither or not'module -map <LocalLeader>i :call Import(0,0)<cr> -map <LocalLeader>im :call Import(1,0)<cr> -map <LocalLeader>iq :call Import(0,1)<cr> -map <LocalLeader>iqm :call Import(1,1)<cr> -function! Import(module,qualified) - amenu ]Popup.- :echo '-'<cr> - aunmenu ]Popup - let namsym = haskellmode#GetNameSymbol(getline('.'),col('.'),0) - if namsym==[] - redraw - echo 'no name/symbol under cursor!' - return 0 - endif - let [start,symb,qual,unqual] = namsym - let name = unqual - let pname = ( symb ? '('.name.')' : name ) - let importlist = a:module ? '' : '('.pname.')' - let qualified = a:qualified ? 'qualified ' : '' - - if qual!='' - exe 'call append(search(''\%1c\(\<import\>\|\<module\>\|{-# OPTIONS\|{-# LANGUAGE\)'',''nb''),''import '.qualified.qual.importlist.''')' - return - endif - - let line = line('.') - let prefix = getline(line)[0:start-1] - let dict = HaddockIndexLookup(name) - if dict=={} | return | endif - let keylist = map(deepcopy(keys(dict)),'substitute(v:val,"\\[.\\]","","")') - if has("gui_running") - for key in keylist - " exe 'amenu ]Popup.'.escape(key,'\.').' :call append(search("\\%1c\\(import\\\\|module\\\\|{-# OPTIONS\\)","nb"),"import '.key.importlist.'")<cr>' - exe 'amenu ]Popup.'.escape(key,'\.').' :call append(search(''\%1c\(\<import\>\\|\<module\>\\|{-# OPTIONS\\|{-# LANGUAGE\)'',''nb''),''import '.qualified.key.escape(importlist,'|').''')<cr>' - endfor - popup ]Popup - else - let s:choices = keylist - let key = input('import '.name.' from: ','','customlist,CompleteAux') - if key!='' - exe 'call append(search(''\%1c\(\<import\>\|\<module\>\|{-# OPTIONS\|{-# LANGUAGE\)'',''nb''),''import '.qualified.key.importlist.''')' - endif - endif -endfunction - -function! HaddockIndexLookup(name) - call HaveIndex() - if !has_key(g:haddock_index,a:name) - echoerr a:name 'not found in haddock index' - return {} - endif - return g:haddock_index[a:name] -endfunction - -" copied from ghc.vim :-( should we move everything to using autoload instead? -" we query the ghc version here, as we don't otherwise need it.. -function! GHC_VersionGE(target) - let s:ghc_version = substitute(system(g:ghc . ' --numeric-version'),'\n','','') - let current = split(g:ghc_version, '\.' ) - let target = a:target - for i in current - if ((target==[]) || (i>target[0])) - return 1 - elseif (i==target[0]) - let target = target[1:] - else - return 0 - endif - endfor - return 1 -endfunction -ftplugin/haskell_hpaste.vim [[[1 -79 -" rudimentary hpaste support for vim -" (using netrw for reading, wget for posting/annotating) -" -" claus reinke, last modified: 07/04/2009 -" -" part of haskell plugins: http://projects.haskell.org/haskellmode-vim - -" unless wget is in your PATH, you need to set g:wget -" before loading this script. windows users are out of -" luck, unless they have wget installed (such as the -" cygwin one looked for here), or adapt this script to -" whatever alternative they have at hand (perhaps using -" vim's perl/python bindings?) -if !exists("g:wget") - if executable("wget") - let g:wget = "!wget -q" - else - let g:wget = "!c:\\cygwin\\bin\\wget -q" - endif -endif - -" read (recent) hpaste files -" show index in new buffer, where ,r will open current entry -" and ,p will annotate current entry with current buffer -command! HpasteIndex call HpasteIndex() -function! HpasteIndex() - new - read http://hpaste.org - %s/\_$\_.//g - %s/<tr[^>]*>//g - %s/<\/tr>/
/g - g/<\/table>/d - g/DOCTYPE/d - %s/<td>\([^<]*\)<\/td><td><a href="\/fastcgi\/hpaste\.fcgi\/view?id=\([0-9]*\)">\([^<]*\)<\/a><\/td><td>\([^<]*\)<\/td><td>\([^<]*\)<\/td><td>\([^<]*\)<\/td>/\2 [\1] "\3" \4 \5 \6/ - map <buffer> ,r 0yE:noh<cr>:call HpasteEditEntry('"')<cr> -endfunction - -" load an existing entry for editing -command! -nargs=1 HpasteEditEntry call HpasteEditEntry(<f-args>) -function! HpasteEditEntry(entry) - new - exe 'Nread http://hpaste.org/fastcgi/hpaste.fcgi/raw?id='.a:entry - "exe 'map <buffer> ,p :call HpasteAnnotate('''.a:entry.''')<cr>' -endfunction - -" " posting temporarily disabled -- needs someone to look into new -" " hpaste.org structure - -" " annotate existing entry (only to be called via ,p in HpasteIndex) -" function! HpasteAnnotate(entry) -" let nick = input("nick? ") -" let title = input("title? ") -" if nick=='' || title=='' -" echo "nick or title missing. aborting annotation" -" return -" endif -" call HpastePost('annotate/'.a:entry,nick,title) -" endfunction -" -" " post new hpaste entry -" " using 'wget --post-data' and url-encoded content -" command! HpastePostNew call HpastePost('new',<args>) -" function! HpastePost(mode,nick,title,...) -" let lines = getbufline("%",1,"$") -" let pat = '\([^[:alnum:]]\)' -" let code = '\=printf("%%%02X",char2nr(submatch(1)))' -" let lines = map(lines,'substitute(v:val."\r\n",'''.pat.''','''.code.''',''g'')') -" -" let url = 'http://hpaste.org/' . a:mode -" let nick = substitute(a:nick,pat,code,'g') -" let title = substitute(a:title,pat,code,'g') -" if a:0==0 -" let announce = 'false' -" else -" let announce = a:1 -" endif -" let cmd = g:wget.' --post-data="content='.join(lines,'').'&nick='.nick.'&title='.title.'&announce='.announce.'" '.url -" exe escape(cmd,'%') -" endfunction -autoload/haskellmode.vim [[[1 -155 -" -" utility functions for haskellmode plugins -" -" (Claus Reinke; last modified: 23/04/2009) -" -" part of haskell plugins: http://projects.haskell.org/haskellmode-vim -" please send patches to <claus.reinke@talk21.com> - - - -" find start/extent of name/symbol under cursor; -" return start, symbolic flag, qualifier, unqualified id -" (this is used in both haskell_doc.vim and in GHC.vim) -function! haskellmode#GetNameSymbol(line,col,off) - let name = "[a-zA-Z0-9_']" - let symbol = "[-!#$%&\*\+/<=>\?@\\^|~:.]" - "let [line] = getbufline(a:buf,a:lnum) - let line = a:line - - " find the beginning of unqualified id or qualified id component - let start = (a:col - 1) + a:off - if line[start] =~ name - let pattern = name - elseif line[start] =~ symbol - let pattern = symbol - else - return [] - endif - while start > 0 && line[start - 1] =~ pattern - let start -= 1 - endwhile - let id = matchstr(line[start :],pattern.'*') - " call confirm(id) - - " expand id to left and right, to get full id - let idPos = id[0] == '.' ? start+2 : start+1 - let posA = match(line,'\<\(\([A-Z]'.name.'*\.\)\+\)\%'.idPos.'c') - let start = posA>-1 ? posA+1 : idPos - let posB = matchend(line,'\%'.idPos.'c\(\([A-Z]'.name.'*\.\)*\)\('.name.'\+\|'.symbol.'\+\)') - let end = posB>-1 ? posB : idPos - - " special case: symbolic ids starting with . - if id[0]=='.' && posA==-1 - let start = idPos-1 - let end = posB==-1 ? start : end - endif - - " classify full id and split into qualifier and unqualified id - let fullid = line[ (start>1 ? start-1 : 0) : (end-1) ] - let symbolic = fullid[-1:-1] =~ symbol " might also be incomplete qualified id ending in . - let qualPos = matchend(fullid, '\([A-Z]'.name.'*\.\)\+') - let qualifier = qualPos>-1 ? fullid[ 0 : (qualPos-2) ] : '' - let unqualId = qualPos>-1 ? fullid[ qualPos : -1 ] : fullid - " call confirm(start.'/'.end.'['.symbolic.']:'.qualifier.' '.unqualId) - - return [start,symbolic,qualifier,unqualId] -endfunction - -function! haskellmode#GatherImports() - let imports={0:{},1:{}} - let i=1 - while i<=line('$') - let res = haskellmode#GatherImport(i) - if !empty(res) - let [i,import] = res - let prefixPat = '^import\s*\(qualified\)\?\s\+' - let modulePat = '\([A-Z][a-zA-Z0-9_''.]*\)' - let asPat = '\(\s\+as\s\+'.modulePat.'\)\?' - let hidingPat = '\(\s\+hiding\s*\((.*)\)\)\?' - let listPat = '\(\s*\((.*)\)\)\?' - let importPat = prefixPat.modulePat.asPat.hidingPat.listPat ".'\s*$' - - let ml = matchlist(import,importPat) - if ml!=[] - let [_,qualified,module,_,as,_,hiding,_,explicit;x] = ml - let what = as=='' ? module : as - let hidings = split(hiding[1:-2],',') - let explicits = split(explicit[1:-2],',') - let empty = {'lines':[],'hiding':hidings,'explicit':[],'modules':[]} - let entry = has_key(imports[1],what) ? imports[1][what] : deepcopy(empty) - let imports[1][what] = haskellmode#MergeImport(deepcopy(entry),i,hidings,explicits,module) - if !(qualified=='qualified') - let imports[0][what] = haskellmode#MergeImport(deepcopy(entry),i,hidings,explicits,module) - endif - else - echoerr "haskellmode#GatherImports doesn't understand: ".import - endif - endif - let i+=1 - endwhile - if !has_key(imports[1],'Prelude') - let imports[0]['Prelude'] = {'lines':[],'hiding':[],'explicit':[],'modules':[]} - let imports[1]['Prelude'] = {'lines':[],'hiding':[],'explicit':[],'modules':[]} - endif - return imports -endfunction - -function! haskellmode#ListElem(list,elem) - for e in a:list | if e==a:elem | return 1 | endif | endfor - return 0 -endfunction - -function! haskellmode#ListIntersect(list1,list2) - let l = [] - for e in a:list1 | if index(a:list2,e)!=-1 | let l += [e] | endif | endfor - return l -endfunction - -function! haskellmode#ListUnion(list1,list2) - let l = [] - for e in a:list2 | if index(a:list1,e)==-1 | let l += [e] | endif | endfor - return a:list1 + l -endfunction - -function! haskellmode#ListWithout(list1,list2) - let l = [] - for e in a:list1 | if index(a:list2,e)==-1 | let l += [e] | endif | endfor - return l -endfunction - -function! haskellmode#MergeImport(entry,line,hiding,explicit,module) - let lines = a:entry['lines'] + [ a:line ] - let hiding = a:explicit==[] ? haskellmode#ListIntersect(a:entry['hiding'], a:hiding) - \ : haskellmode#ListWithout(a:entry['hiding'],a:explicit) - let explicit = haskellmode#ListUnion(a:entry['explicit'], a:explicit) - let modules = haskellmode#ListUnion(a:entry['modules'], [ a:module ]) - return {'lines':lines,'hiding':hiding,'explicit':explicit,'modules':modules} -endfunction - -" collect lines belonging to a single import statement; -" return number of last line and collected import statement -" (assume opening parenthesis, if any, is on the first line) -function! haskellmode#GatherImport(lineno) - let lineno = a:lineno - let import = getline(lineno) - if !(import=~'^import\s') | return [] | endif - let open = strlen(substitute(import,'[^(]','','g')) - let close = strlen(substitute(import,'[^)]','','g')) - while open!=close - let lineno += 1 - let linecont = getline(lineno) - let open += strlen(substitute(linecont,'[^(]','','g')) - let close += strlen(substitute(linecont,'[^)]','','g')) - let import .= linecont - endwhile - return [lineno,import] -endfunction - -function! haskellmode#UrlEncode(string) - let pat = '\([^[:alnum:]]\)' - let code = '\=printf("%%%02X",char2nr(submatch(1)))' - let url = substitute(a:string,pat,code,'g') - return url -endfunction - -doc/haskellmode.txt [[[1 -456 -*haskellmode.txt* Haskell Mode Plugins 23/04/2009 - -Authors: - Claus Reinke <claus.reinke@talk21.com> ~ - -Homepage: - http://projects.haskell.org/haskellmode-vim - -CONTENTS *haskellmode* - - 1. Overview |haskellmode-overview| - 1.1 Runtime Requirements |haskellmode-requirements| - 1.2 Quick Reference |haskellmode-quickref| - 2. Settings |haskellmode-settings| - 2.1 GHC and web browser |haskellmode-settings-main| - 2.2 Fine tuning - more configuration options |haskellmode-settings-fine| - 3. GHC Compiler Integration |haskellmode-compiler| - 4. Haddock Integration |haskellmode-haddock| - 4.1 Indexing |haskellmode-indexing| - 4.2 Lookup |haskellmode-lookup| - 4.3 Editing |haskellmode-editing| - 5. Hpaste Integration |haskellmode-hpaste| - 6. Additional Resources |haskellmode-resources| - -============================================================================== - *haskellmode-overview* -1. Overview ~ - - The Haskell mode plugins provide advanced support for Haskell development - using GHC/GHCi on Windows and Unix-like systems. The functionality is - based on Haddock-generated library indices, on GHCi's interactive - commands, or on simply activating (some of) Vim's built-in program editing - support in Haskell-relevant fashion. These plugins live side-by-side with - the pre-defined |syntax-highlighting| support for |haskell| sources, and - any other Haskell-related plugins you might want to install (see - |haskellmode-resources|). - - The Haskell mode plugins consist of three filetype plugins (haskell.vim, - haskell_doc.vim, haskell_hpaste.vim), which by Vim's |filetype| detection - mechanism will be auto-loaded whenever files with the extension '.hs' are - opened, and one compiler plugin (ghc.vim) which you will need to load from - your vimrc file (see |haskellmode-settings|). - - - *haskellmode-requirements* -1.1 Runtime Requirements ~ - - The plugins require a recent installation of GHC/GHCi. The functionality - derived from Haddock-generated library indices also requires a local - installation of the Haddock documentation for GHC's libraries (if there is - no documentation package for your system, you can download a tar-ball from - haskell.org), as well as an HTML browser (see |haddock_browser|). If you - want to use the experimental hpaste interface, you will also need Wget. - - * GHC/GHCi ~ - Provides core functionality. http://www.haskell.org/ghc - - * HTML library documentation files and indices generated by Haddock ~ - These usually come with your GHC installation, possibly as a separate - package. If you cannot get them this way, you can download a tar-ball - matching your GHC version from http://www.haskell.org/ghc/docs/ - - * HTML browser with basic CSS support ~ - For browsing Haddock docs. - - * Wget ~ - For interfacing with http://hpaste.org. - - Wget is widely available for modern Unix-like operating systems. Several - ports also exist for Windows, including: - - - Official GNU Wget (natively compiled for Win32) - http://www.gnu.org/software/wget/#downloading - - - UnxUtils Wget (natively compiled for Win32, bundled with other ported - Unix utilities) - http://sourceforge.net/projects/unxutils/ - - - Cygwin Wget (emulated POSIX in Win32, must be run under Cygwin) - http://cygwin.com/packages/wget/ - - *haskellmode-quickref* -1.2 Quick Reference ~ - -|:make| load into GHCi, show errors (|quickfix| |:copen|) -|_ct| create |tags| file -|_si| show info for id under cursor -|_t| show type for id under cursor -|_T| insert type declaration for id under cursor -|balloon| show type for id under mouse pointer -|_?| browse Haddock entry for id under cursor -|_?1| search Hoogle for id under cursor -|_?2| search Hayoo! for id under cursor -|:IDoc| {identifier} browse Haddock entry for unqualified {identifier} -|:MDoc| {module} browse Haddock entry for {module} -|:FlagReference| {s} browse Users Guide Flag Reference for section {s} -|_.| qualify unqualified id under cursor -|_i| add 'import <module>(<identifier>)' for id under cursor -|_im| add 'import <module>' for id under cursor -|_iq| add 'import qualified <module>(<identifier>)' for id under cursor -|_iqm| add 'import qualified <module>' for id under cursor -|_ie| make imports explit for import statement under cursor -|_opt| add OPTIONS_GHC pragma -|_lang| add LANGUAGE pragma -|i_CTRL-X_CTRL-O| insert-mode completion based on imported ids (|haskellmode-XO|) -|i_CTRL-X_CTRL-U| insert-mode completion based on documented ids (|haskellmode-XU|) -|i_CTRL-N| insert-mode completion based on imported sources -|:GHCi|{command/expr} run GHCi command/expr in current module - -|:GHCStaticOptions| edit static GHC options for this buffer -|:DocSettings| show current Haddock-files-related plugin settings -|:DocIndex| populate Haddock index -|:ExportDocIndex| cache current Haddock index to a file -|:HpasteIndex| Read index of most recent entries from hpaste.org -|:HpastePostNew| Submit current buffer as a new hpaste - - -============================================================================== - *haskellmode-settings* -2. Settings ~ - - The plugins try to find their dependencies in standard locations, so if - you're lucky, you will only need to set |compiler| to ghc, and configure - the location of your favourite web browser. You will also want to make - sure that |filetype| detection and |syntax| highlighting are on. Given the - variety of things to guess, however, some dependencies might not be found - correctly, or the defaults might not be to your liking, in which case you - can do some more fine tuning. All of this configuration should happen in - your |vimrc|. -> - " enable syntax highlighting - syntax on - - " enable filetype detection and plugin loading - filetype plugin on -< - - *haskellmode-settings-main* -2.1 GHC and web browser ~ - - *compiler-ghc* *ghc-compiler* - To use the features provided by the GHC |compiler| plugin, use the - following |autocommand| in your vimrc: -> - au BufEnter *.hs compiler ghc -< - *g:ghc* - If the compiler plugin can't locate your GHC binary, or if you have - several versions of GHC installed and have a preference as to which binary - is used, set |g:ghc|: -> - :let g:ghc="/usr/bin/ghc-6.6.1" -< - *g:haddock_browser* - The preferred HTML browser for viewing Haddock documentation can be set as - follows: -> - :let g:haddock_browser="/usr/bin/firefox" -< - - *haskellmode-settings-fine* -2.2 Fine tuning - more configuration options ~ - - Most of the fine tuning is likely to happen for the haskellmode_doc.vim - plugin, so you can check the current settings for this plugin via the - command |:DocSettings|. If all the settings reported there are to your - liking, you probably won't need to do any fine tuning. - - *g:haddock_browser_callformat* - By default, the web browser|g:haddock_browser| will be started - asynchronously (in the background) on Windows or when vim is running in a - GUI, and synchronously (in the foreground) otherwise. These settings seem - to work fine if you are using a console mode browser (eg, when editing in - a remote session), or if you are starting a GUI browser that will launch - itself in the background. But if these settings do not work for you, you - can change the default browser launching behavior. - - This is controlled by |g:haddock_browser_callformat|. It specifies a - format string which uses two '%s' parameters, the first representing the - path of the browser to launch, and the second is the documentation URL - (minus the protocol specifier, i.e. file://) passed to it by the Haddock - plugin. For instance, to launch a GUI browser on Unix-like systems and - force it to the background (see also |shellredir|): -> - :let g:haddock_browser_callformat = '%s file://%s '.printf(&shellredir,'/dev/null').' &' -< - *g:haddock_docdir* - Your system's installed Haddock documentation for GHC and its libraries - should be automatically detected. If the plugin can't locate them, you - must point |g:haddock_docdir| to the path containing the master index.html - file for the subdirectories 'libraries', 'Cabal', 'users_guide', etc.: -> - :let g:haddock_docdir="/usr/local/share/doc/ghc/html/" -< - *g:haddock_indexfiledir* - The information gathered from Haddock's index files will be stored in a - file called 'haddock_index.vim' in a directory derived from the Haddock - location, or in $HOME. To configure another directory for the index file, - use: -> - :let g:haddock_indexfiledir="~/.vim/" -< - *g:wget* - If you also want to try the experimental hpaste functionality, you might - you need to set |g:wget| before the |hpaste| plugin is loaded (unless wget - is in your PATH): -> - :let g:wget="C:\Program Files\wget\wget.exe" -< - - Finally, the mappings actually use|<LocalLeader>|behind the scenes, so if - you have to, you can redefine|maplocalleader|to something other than '_'. - Just remember that the docs still refer to mappings starting with '_', to - avoid confusing the majority of users!-) - -============================================================================== - *haskellmode-compiler* *ghc* -3. GHC Compiler Integration ~ - - The GHC |compiler| plugin sets the basic |errorformat| and |makeprg| to - enable |quickfix| mode using GHCi, and provides functionality for show - info (|_si|), show type (|_t| or mouse |balloon|), add type declaration - (|_T|), create tag file (|_ct|), and insert-mode completion - (|i_CTRL-X_CTRL-O|) based on GHCi browsing of the current and imported - modules. - - To avoid frequent calls to GHCi, type information is cached in Vim. The - cache will be populated the first time a command depends on it, and will - be refreshed every time a |:make| goes through without generating errors - (if the |:make| does not succeed, the old types will remain available in - Vim). You can also unconditionally force reloading of type info using - |:GHCReload| (if GHCi cannot load your file, the type info will be empty). - - - In addition to the standard|quickfix| commands, the GHC compiler plugin - provides: - - *:GHCReload* -:GHCReload Reload modules and unconditionally refresh cache of - type info. Usually, |:make| is prefered, as that will - refresh the cache only if GHCi reports no errors, and - show the errors otherwise. - - *:GHCStaticOptions* -:GHCStaticOptions Edit the static GHC options for the current buffer. - Useful for adding hidden packages (-package ghc). - - *:GHCi* -:GHCi {command/expr} Run GHCi commands/expressions in the current module. - - *_ct* -_ct Create |tags| file for the current Haskell source - file. This uses GHCi's :ctags command, so it will work - recursively, but will only list tags for exported - entities. - - *_opt* -_opt Shows a menu of frequently used GHC compiler options - (selecting an entry adds the option as a pragma to the - start of the file). Uses popup menu (GUI) or :emenu - and command-line completion (CLI). - - *_lang* -_lang Shows a menu of the LANGUAGE options supported by GHC - (selecting an entry adds the language as a pragma to - the start of the file). Uses popup menu (GUI) or - :emenu and command-line completion (CLI). - - *_si* -_si Show extended information for the name under the - cursor. Uses GHCi's :info command. Output appears in - |preview-window| (when done, close with |:pclose|). - - *_t* -_t Show type for the name under the cursor. Uses cached - info from GHCi's :browse command. - - *_T* -_T Insert type declaration for the name under the cursor. - Uses cached info from GHCi's :browse command. - - *haskellmode-XO* *haskellmode-omni-completion* -CTRL-X CTRL-O Standard insert-mode omni-completion based on the - cached type info from GHCi browsing current and - imported modules. Only names from the current and from - imported modules are included (the completion menu - also show the type of each identifier). - -============================================================================== - *haskellmode-haddock* *haddock* -4. Haddock Integration ~ - - Haskell mode integrates with Haddock-generated HTML documentation, - providing features such as navigating to the Haddock entry for the - identifier under the cursor (|_?|), completion for the identifier under - the cursor (|i_CTRL-X_CTRL-U|), and adding import statements (|_i| |_im| - |_iq| |_iqm|) or module qualifier (|_.|) for the identifier under the - cursor. - - These commands operate on an internal Haddock index built from the - platform's installed Haddock documentation for GHC's libraries. Since - populating this index takes several seconds, it should be stored as a - file called 'haddock_index.vim' in the directory specified by - |g:haddock_indexfiledir|. - - Some commands present a different interface (popup menu or command-line - completion) according to whether the current Vim instance is graphical or - console-based (actually: whether or not the GUI is running). Such - differences are marked below with the annotations (GUI) and (CLI), - respectively. - - |:DocSettings| shows the settings for this plugin. If you are happy with - them, you can call |:ExportDocIndex| to populate and write out the - documentation index (should be called once for every new version of GHC). - - *:DocSettings* -:DocSettings Show current Haddock-files-related plugin settings. - - - *haskellmode-indexing* -4.1 Indexing ~ - - *:DocIndex* -:DocIndex Populate the Haddock index from the GHC library - documentation. - - *:ExportDocIndex* -:ExportDocIndex Cache the current Haddock index to a file (populate - index first, if empty). - - - *haskellmode-lookup* -4.2 Lookup ~ - - *_?* -_? Open the Haddock entry (in |haddock_browser|) for an - identifier under the cursor, selecting full - qualifications from a popup menu (GUI) or via - command-line completion (CLI), if the identifier is - not qualified. - - *_?1* -_?1 Search Hoogle (using |haddock_browser|) for an - identifier under the cursor. - - - *_?2* -_?2 Search Hayoo! (using |haddock_browser|) for an - identifier under the cursor. - - *:IDoc* -:IDoc {identifier} Open the Haddock entry for the unqualified - {identifier} in |haddock_browser|, suggesting possible - full qualifications. - - *:MDoc* -:MDoc {module} Open the Haddock entry for {module} in - |haddock_browser| (with command-line completion for - the fully qualified module name). - - *:FlagReference* -:FlagReference {s} Browse Users Guide Flag Reference for section {s} - (with command-line completion for section headers). - - - *haskellmode-editing* -4.3 Editing ~ - - *_.* -_. Fully qualify the unqualified name under the cursor - selecting full qualifications from a popup menu (GUI) - or via command-line completion (CLI). - - *_iq* *_i* -_i _iq Add 'import [qualified] <module>(<identifier>)' - statement for the identifier under the cursor, - selecting fully qualified modules from a popup menu - (GUI) or via command-line completion (CLI), if the - identifier is not qualified. This currently adds one - import statement per call instead of merging into - existing import statements. - - *_iqm* *_im* -_im Add 'import [qualified] <module>' statement for the - identifier under the cursor, selecting fully qualified - modules from a popup menu (GUI) or via command-line - completion (CLI), if the identifier is not qualified. - This currently adds one import statement per call - instead of merging into existing import statements. - - *_ie* -_ie On an 'import <module>' line, in a correctly loadable - module, temporarily comment out import and use :make - 'not in scope' errors to explicitly list imported - identifiers. - - *haskellmode-XU* *haskellmode-user-completion* -CTRL-X CTRL-U User-defined insert mode name completion based on all - names known to the Haddock index, including package - names. Completions are presented in a popup menu which - also displays the fully qualified module from which - each entry may be imported. - - CamelCode shortcuts are supported, meaning that - lower-case letters can be elided, using only - upper-case letters and module qualifier separators (.) - for disambiguation: - - pSL -> putStrLn - C.E.t -> Control.Exception.t - C.M.MP -> Control.Monad.MonadPlus - - To reduce unwanted matches, the first letter of such - shortcuts and the first letter after each '.' have to - match directly. - -============================================================================== - *haskellmode-hpaste* *hpaste* -5. Hpaste Integration ~ - - This experimental feature allows browsing and posting to - http://hpaste.org, a Web-based pastebin tailored for Haskell code. - - - *:HpasteIndex* -:HpasteIndex Read the most recent entries from hpaste.org. Show an - index of the entries in a new buffer, where ',r' will - open the current highlighted entry [and ',p' will - annotate it with the current buffer]. - - *:HpastePostNew* -:HpastePostNew Submit current buffer as a new hpaste entry. - [This, and ',p' above, are temporarily disabled, - needs update to new hpaste.org layout] - -============================================================================== - *haskellmode-resources* -6. Additional Resources ~ - - An quick screencast tour through of these plugins is available at: - - http://projects.haskell.org/haskellmode-vim/screencasts.html - - Other Haskell-related Vim plugins can be found here: - - http://www.haskell.org/haskellwiki/Libraries_and_tools/Program_development#Vim - - Make sure to read about Vim's other program-editing features in its online - |user-manual|. Also have a look at Vim tips and plugins at www.vim.org - - two other plugins I tend to use when editing Haskell are AlignPlugin.vim - (to line up regexps for definitions, keywords, comments, etc. in - consecutive lines) and surround.vim (to surround text with quotes, - brackets, parentheses, comments, etc.). - -============================================================================== - vim:tw=78:ts=8:ft=help: diff --git a/.vim/indent/indent-r.vim b/.vim/indent/indent-r.vim deleted file mode 100644 index 30c03c5..0000000 --- a/.vim/indent/indent-r.vim +++ /dev/null @@ -1,50 +0,0 @@ -" Vim indent file -" Language: R -" Author: Jeremy Stephens <jeremy.f.stephens@vanderbilt.edu> -" URL: -" Last Change: -" Version: -" Notes: -" Changes: -" Options: - -" Only load this indent file when no other was loaded. -if exists("b:did_indent") - finish -endif -let b:did_indent = 1 - -setlocal indentexpr=GetRIndent() -"setlocal indentkeys+=0=,0),=EO -setlocal indentkeys+=0=,0),=EO,=> - -" Only define the function once. -if exists("*GetRIndent") - finish -endif - -function GetRIndent() - " Find a non-blank line above the current line. - let lnum = prevnonblank(v:lnum - 1) - " Hit the start of the file, use zero indent. - if lnum == 0 - return 0 - endif - - let line = getline(lnum) " last line - let cline = getline(v:lnum) " current line - let pline = getline(lnum - 1) " previous to last line - let ind = indent(lnum) - - " Indent blocks enclosed by {} or () - "if line =~ '[{(]\s*\(#[^)}]*\)\=$' - if line =~ '[{(]\s*[^)}]*$' - let ind = ind + &sw - endif - if cline =~ '^\s*[)}]' - let ind = ind - &sw - endif - - return ind -endfunction -" vim: set ts=4 sw=4: diff --git a/.vim/indent/tex.vim b/.vim/indent/tex.vim deleted file mode 100644 index 5823dae..0000000 --- a/.vim/indent/tex.vim +++ /dev/null @@ -1,139 +0,0 @@ -" Vim indent file -" Language: LaTeX -" Maintainer: Johannes Tanzler <jtanzler@yline.com> -" Created: Sat, 16 Feb 2002 16:50:19 +0100 -" Last Change: Sun, 17 Feb 2002 00:09:11 +0100 -" Last Update: 18th feb 2002, by LH : -" (*) better support for the option -" (*) use some regex instead of several '||'. -" Version: 0.02 -" URL: comming soon: http://www.unet.univie.ac.at/~a9925098/vim/indent/tex.vim - -" --> If you're a Vim guru & and you find something that could be done in a -" better (perhaps in a more Vim-ish or Vi-ish) way, please let me know! - -" Options: {{{ -" -" To set the following options (ok, currently it's just one), add a line like -" let g:tex_indent_items = 1 -" to your ~/.vimrc. -" -" * g:tex_indent_items -" -" If this variable is set, item-environments are indented like Emacs does -" it, i.e., continuation lines are indented with a shiftwidth. -" -" NOTE: I've already set the variable below; delete the corresponding line -" if you don't like this behaviour. -" -" Per default, it is unset. -" -" set unset -" ---------------------------------------------------------------- -" \begin{itemize} \begin{itemize} -" \item blablabla \item blablabla -" bla bla bla bla bla bla -" \item blablabla \item blablabla -" bla bla bla bla bla bla -" \end{itemize} \end{itemize} -" -" -" This option applies to itemize, description, enumerate, and -" thebibliography. -" -" }}} - -" Delete the next line to avoid the special indention of items -if !exists("g:tex_indent_items") - let g:tex_indent_items = 1 -endif - -if exists("b:did_indent") | finish -endif -let b:did_indent = 1 - - -setlocal indentexpr=GetTeXIndent() -setlocal nolisp -setlocal nosmartindent -setlocal autoindent -setlocal indentkeys+=},=\\item,=\\bibitem - - -" Only define the function once -if exists("*GetTeXIndent") | finish -endif - - - -function GetTeXIndent() - - " Find a non-blank line above the current line. - let lnum = prevnonblank(v:lnum - 1) - - " At the start of the file use zero indent. - if lnum == 0 | return 0 - endif - - let ind = indent(lnum) - let line = getline(lnum) " last line - let cline = getline(v:lnum) " current line - - " Do not change indentation of commented lines. - if line =~ '^\s*%' - return ind - endif - - " Add a 'shiftwidth' after beginning of environments. - " Don't add it for \begin{document} and \begin{verbatim} - ""if line =~ '^\s*\\begin{\(.*\)}' && line !~ 'verbatim' - " LH modification : \begin does not always start a line - if line =~ '\\begin{\(.*\)}' && line !~ 'verbatim' - \ && line !~ 'document' - - let ind = ind + &sw - - if g:tex_indent_items == 1 - " Add another sw for item-environments - if line =~ 'itemize\|description\|enumerate\|thebibliography' - let ind = ind + &sw - endif - endif - endif - - - " Subtract a 'shiftwidth' when an environment ends - if cline =~ '^\s*\\end' && cline !~ 'verbatim' - \&& cline !~ 'document' - - if g:tex_indent_items == 1 - " Remove another sw for item-environments - if cline =~ 'itemize\|description\|enumerate\|thebibliography' - let ind = ind - &sw - endif - endif - - let ind = ind - &sw - endif - - - " Special treatment for 'item' - " ---------------------------- - - if g:tex_indent_items == 1 - - " '\item' or '\bibitem' itself: - if cline =~ '^\s*\\\(bib\)\=item' - let ind = ind - &sw - endif - - " lines following to '\item' are intented once again: - if line =~ '^\s*\\\(bib\)\=item' - let ind = ind + &sw - endif - - endif - - return ind -endfunction - diff --git a/.vim/kde-devel-vim.vim b/.vim/kde-devel-vim.vim deleted file mode 100644 index 7ce39a9..0000000 --- a/.vim/kde-devel-vim.vim +++ /dev/null @@ -1,1029 +0,0 @@ -" To use this file, add this line to your ~/.vimrc:, w/o the dquote -" source /path/to/kde/sources/kdesdk/scripts/kde-devel-vim.vim -" -" For CreateChangeLogEntry() : If you don't want to re-enter your -" Name/Email in each vim session then make sure to have the viminfo -" option enabled in your ~/.vimrc, with the '!' flag, enabling persistent -" storage of global variables. Something along the line of -" set viminfo=%,!,'50,\"100,:100,n~/.viminfo -" should do the trick. -" -" To make use of the ,ll and ,lg shortcuts you need to have the files -" GPLHEADER and LGPLHEADER in your home directory. Their content will be -" copied as license header then. - -" Don't include these in filename completions -set suffixes+=.lo,.o,.moc,.la,.closure,.loT - -" Search for headers here -set path=.,/usr/include,/usr/local/include, -if $QTDIR != '' - let &path = &path . $QTDIR . '/include/,' - let &path = &path . $QTDIR . '/include/Qt/,' - let &path = &path . $QTDIR . '/include/QtCore/,' - let &path = &path . $QTDIR . '/include/Qt3Support/,' - let &path = &path . $QTDIR . '/include/QtAssistant/,' - let &path = &path . $QTDIR . '/include/QtDBus/,' - let &path = &path . $QTDIR . '/include/QtDesigner/,' - let &path = &path . $QTDIR . '/include/QtGui/,' - let &path = &path . $QTDIR . '/include/QtNetwork/,' - let &path = &path . $QTDIR . '/include/QtOpenGL/,' - let &path = &path . $QTDIR . '/include/QtSql/,' - let &path = &path . $QTDIR . '/include/QtSvg/,' - let &path = &path . $QTDIR . '/include/QtTest/,' - let &path = &path . $QTDIR . '/include/QtUiTools/,' - let &path = &path . $QTDIR . '/include/QtXml/,' -endif -if $KDEDIR != '' - let &path = &path . $KDEDIR . '/include/,' -endif -if $KDEDIRS != '' - let &path = &path . substitute( $KDEDIRS, '\(:\|$\)', '/include,', 'g' ) -endif -set path+=, - -" Use makeobj to build -set mp=makeobj - -" If TagList is Loaded then get a funny statusline -" Only works if kde-devel-vim.vim is loaded after taglist. -" Droping this script in ~/.vim/plugin works fine -if exists('loaded_taglist') - let Tlist_Process_File_Always=1 - set statusline=%<%f:[\ %{Tlist_Get_Tag_Prototype_By_Line()}\ ]\ %h%m%r%=%-14.(%l,%c%V%)\ %P -endif - -" Insert tab character in whitespace-only lines, complete otherwise -inoremap <Tab> <C-R>=SmartTab()<CR> - -if !exists("DisableSmartParens") -" Insert a space after ( or [ and before ] or ) unless preceded by a matching -" paren/bracket or space or inside a string or comment. Comments are only -" recognized as such if they start on the current line :-( -inoremap ( <C-R>=SmartParens( '(' )<CR> -inoremap [ <C-R>=SmartParens( '[' )<CR> -inoremap ] <C-R>=SmartParens( ']', '[' )<CR> -inoremap ) <C-R>=SmartParens( ')', '(' )<CR> -endif - -" Insert an #include statement for the current/last symbol -inoremap <F5> <C-O>:call AddHeader()<CR> - -" Insert a forward declaration for the current/last symbol -inoremap <S-F5> <C-O>:call AddForward()<CR> - -" Switch between header and implementation files on ,h -nmap <silent> ,h :call SwitchHeaderImpl()<CR> -nmap <silent> ,p :call SwitchPrivateHeaderImpl()<CR> - -" Comment selected lines on ,c in visual mode -vmap ,c :s,^,//X ,<CR>:noh<CR> -" Uncomment selected lines on ,u in visual mode -vmap ,u :s,^//X ,,<CR> - -" Insert an include guard based on the file name on ,i -nmap ,i :call IncludeGuard()<CR> - -" Insert license headers at the top of the file -nmap ,lg :call LicenseHeader( "GPL" )<CR> -nmap ,ll :call LicenseHeader( "LGPL" )<CR> -nmap ,lm :call LicenseHeader( "MIT" )<CR> - -" Insert simple debug statements into each method -nmap ,d :call InsertMethodTracer()<CR> - -" Expand #i to #include <.h> or #include ".h". The latter is chosen -" if the character typed after #i is a dquote -" If the character is > #include <> is inserted (standard C++ headers w/o .h) -iab #i <C-R>=SmartInclude()<CR> - -" Insert a stripped down CVS diff -iab DIFF <Esc>:call RunDiff()<CR> - -" mark 'misplaced' tab characters -set listchars=tab:·\ ,trail:· -set list - -set incsearch - -function! SetCodingStyle() - if &syntax == 'cmake' - call SmartParensOff() - set sw=3 - set ts=3 - set et - set tw=0 - return - endif - if ( &syntax !~ '^\(c\|cpp\|java\)$' ) - return - endif - "the path for the file - let pathfn = expand( '%:p:h' ) - if pathfn =~ 'nmm' - call SmartParensOff() - inoremap ( <C-R>=SpaceBetweenKeywordAndParens()<CR> - let g:need_brace_on_next_line = '\<\(class\|namespace\|struct\)\>' - let g:need_brace_on_same_line = '\<\(if\|else\|while\|switch\|do\|enum\|for\|try\|catch\)\>' - set sw=4 - set ts=4 - set noet - set tw=100 - elseif pathfn =~ 'kdepim' - if strlen(mapcheck('(','i')) > 0 - iunmap ( - endif - call SmartParensOn() - let g:need_brace_on_next_line = '\<\(class\|namespace\|struct\)\>' - let g:need_brace_on_same_line = '\<\(if\|else\|while\|switch\|do\|foreach\|forever\|enum\|for\|try\|catch\)\>' - set sw=2 - set sts=2 - set et - set tw=100 - elseif pathfn =~ 'kdemultimedia\/juk' - call SmartParensOff() - let g:need_brace_on_next_line = '\<\(class\|namespace\|struct\|if\|else\|while\|switch\|do\|foreach\|forever\|enum\|for\|try\|catch\)\>' - let g:need_brace_on_same_line = '' - set sw=4 - set sts=4 - set et - set tw=100 - else "if pathfn =~ '\(kdelibs\|qt-copy\)' - call SmartParensOff() - inoremap ( <C-R>=SpaceBetweenKeywordAndParens()<CR> - let g:need_brace_on_next_line = '\<\(class\|namespace\|struct\)\>' - let g:need_brace_on_same_line = '\<\(if\|else\|while\|switch\|do\|foreach\|forever\|enum\|for\|try\|catch\)\>' - set sw=4 - set sts=4 - set et - set tw=100 - endif - if ( !exists("g:noautobrace") ) - call EnableSmartLineBreak() - endif -endfunction - -function! DisableSmartLineBreak() - iunmap <CR> - iuna else -endfunction -function! EnableSmartLineBreak() - if exists("*pumvisible") - inoremap <CR> <C-R>=pumvisible() ? "\<lt>CR>" : "\<lt>ESC>:call SmartLineBreak()\<lt>CR>a\<lt>CR>"<CR> - else - inoremap <CR> <ESC>:call SmartLineBreak()<CR>a<CR> - endif - iab else <C-R>=SmartElse()<CR> -endfunction - -function! SmartElse() - "let next = nr2char( getchar( 0 ) ) - let prefix = '' - if strlen(g:need_brace_on_same_line) > 0 && 'else' =~ g:need_brace_on_same_line - if getline('.') =~ '^\s*$' - if getline(line('.') - 1) =~ '}$' - let prefix = prefix . "\<ESC>kmMjdd`MA " - elseif getline(line('.') - 1) =~ '}\s*$' - let prefix = prefix . "\<ESC>kmMjdd`MA" - endif - endif - endif - return prefix . "else\<Right>" -endfunction - -" automatic indenting is required for SmartLineBreak to work correctly -filetype indent on - -function! CreateMatchLine() - let linenum = line( '.' ) - let current_line = getline( linenum ) - " don't do magic if the cursor isn't at the end of the line or if it's - " inside a // comment - if col( '.' ) != strlen( current_line ) || match( current_line, '//' ) >= 0 - return '' - endif - " remove whitespace at the end - if match( current_line, '\s\+$' ) >= 0 - :execute ':s/\s*$//' - " the following is needed if return '' is called - :execute "normal $" - endif - let current_line = getline( linenum ) - " remove all /* */ comments - let current_line = substitute( current_line, '/\*.\{-}\*/', '', 'g' ) - " remove all strings - let current_line = substitute( current_line, "'[^']*'", '', 'g' ) - let current_line = substitute( current_line, '"\(\\"\|[^"]\)*"', '', 'g' ) - " remove all ( ) - while current_line =~ '(.*)' - let current_line = substitute( current_line, '([^()]*)', '', 'g' ) - endwhile - " prepend earlier lines until we find a ; or { - while linenum > 1 && current_line !~ ';' && current_line !~ '{.\+$' - let linenum = linenum - 1 - let prev_line = getline(linenum) - if synIDattr(synID(linenum, 1, 1), "name") == 'cComment' "inside a /* */ comment at the beginning of the line - if stridx(prev_line, '*/') == -1 - " next line please - let prev_line = '' - else - " remove everything before */ - let prev_line = substitute(prev_line, '^.*\*/', '*/', '') - endif - endif - " remove // comment - let prev_line = substitute(prev_line, '//.*$', '', '' ) - " concatenate the lines with a space in between - let current_line = prev_line.' '.current_line - " remove all /* */ comments - let current_line = substitute( current_line, '/\*.\{-}\*/', '', 'g' ) - " remove all strings - let current_line = substitute( current_line, "'[^']*'", '', 'g' ) - let current_line = substitute( current_line, '"\(\\"\|[^"]\)*"', '', 'g' ) - " remove all ( ) - while current_line =~ '(.*)' - let current_line = substitute( current_line, '([^()]*)', '', 'g' ) - endwhile - endwhile - " remove everything until the last ; - let current_line = substitute( current_line, '^.*;', '', '' ) - " remove everything until the last { which is not at the end of the line - let current_line = substitute( current_line, '^.*{\(.\+\)$', '\1', '' ) - " remove all [ ] - while current_line =~ '\[.*\]' - let current_line = substitute( current_line, '\[[^\[\]]*\]', '', 'g' ) - endwhile - " if <CR> was pressed inside ( ), [ ] or /* */ don't add braces - if current_line =~ '[(\[]' || current_line =~ '/\*' - return '' - endif - return current_line -endfunction - -function! AddClosingBrace(current_line) - if a:current_line =~ '\<enum\|class\|struct\>' - :execute "normal o};\<ESC>k" - elseif a:current_line =~ '\<namespace\>' - let namespace = substitute( a:current_line, '^.*namespace\s\+', '', '' ) - let namespace = substitute( namespace, '\s.*$', '', '' ) - :execute "normal o} // namespace " . namespace . "\<ESC>k" - else - :execute "normal o}\<ESC>k" - endif -endfunction - -function! SmartLineBreak() - if synIDattr(synID(line("."), col("."), 1), "name") == 'cComment' "inside a /* */ comment at the point where the line break occurs - return - endif - let match_line = CreateMatchLine() - if match_line == '' - return - endif - - let match_position1 = -1 - let match_position2 = -1 - if strlen(g:need_brace_on_same_line) > 0 - let match_position1 = match(match_line, g:need_brace_on_same_line) - if match_position1 > 0 - while strpart(match_line, match_position1 - 1, 1) == '#' - let old_position = match_position1 - let match_position1 = match(match_line, g:need_brace_on_same_line, match_position1 + 1) - if match_position1 == -1 - if strpart(match_line, old_position, 2) == 'if' - :execute "normal o#endif\<ESC>k$" - endif - return - endif - endwhile - endif - endif - if strlen(g:need_brace_on_next_line) > 0 && match_position1 == -1 - let match_position2 = match(match_line, g:need_brace_on_next_line) - if match_position2 > 0 - while strpart(match_line, match_position2 - 1, 1) == '#' - let old_position = match_position2 - let match_position2 = match(match_line, g:need_brace_on_same_line, match_position2 + 1) - if match_position2 == -1 - if strpart(match_line, old_position, 2) == 'if' - :execute "normal o#endif\<ESC>k$" - endif - return - endif - endwhile - endif - endif - - if match_position1 > -1 - if match_line =~ '}\s*else\>' - " make sure else is on the same line as the closing brace - if getline('.') =~ '^\s*else' - if getline(line('.') - 1) =~ '}$' - :execute "normal kA \<ESC>J" - elseif getline(line('.') - 1) =~ '}\s*$' - :execute "normal kJ" - endif - endif - endif - while getline('.') =~ '^\s*{$' - " opening brace is on its own line: move it up - :execute "normal kJ" - endwhile - if match_line =~ '{$' - if getline('.') =~ '[^ ]{$' - :execute ':s/{$/ {/' - endif - else - :execute ':s/$/ {/' - endif - call AddClosingBrace(match_line) - elseif getline('.') =~ '^\s*{$' - call AddClosingBrace('') - elseif match_position2 > -1 - if match_line =~ '{$' - :execute ':s/\s*{$//' - endif - :execute "normal o{" - call AddClosingBrace(match_line) - endif - :execute "normal $" -endfunction - -function! SmartParensOn() - inoremap ( <C-R>=SmartParens( '(' )<CR> - inoremap [ <C-R>=SmartParens( '[' )<CR> - inoremap ] <C-R>=SmartParens( ']', '[' )<CR> - inoremap ) <C-R>=SmartParens( ')', '(' )<CR> -endfunction - -function! SmartParensOff() - if strlen(mapcheck('[','i')) > 0 - iunmap ( - iunmap [ - iunmap ] - iunmap ) - endif -endfunction - -function! SmartTab() - let col = col('.') - 1 - if !col || getline('.')[col-1] !~ '\k' - return "\<Tab>" - else - return "\<C-P>" - endif -endfunction - -function! SmartParens( char, ... ) - if ! ( &syntax =~ '^\(c\|cpp\|java\)$' ) - return a:char - endif - let s = strpart( getline( '.' ), 0, col( '.' ) - 1 ) - if s =~ '//' - return a:char - endif - let s = substitute( s, '/\*\([^*]\|\*\@!/\)*\*/', '', 'g' ) - let s = substitute( s, "'[^']*'", '', 'g' ) - let s = substitute( s, '"\(\\"\|[^"]\)*"', '', 'g' ) - if s =~ "\\([\"']\\|/\\*\\)" - return a:char - endif - if a:0 > 0 - if strpart( getline( '.' ), col( '.' ) - 3, 2 ) == a:1 . ' ' - return "\<BS>" . a:char - endif - if strpart( getline( '.' ), col( '.' ) - 2, 1 ) == ' ' - return a:char - endif - return ' ' . a:char - endif - if !exists("g:DisableSpaceBeforeParen") - if a:char == '(' - if strpart( getline( '.' ), col( '.' ) - 3, 2 ) == 'if' || - \strpart( getline( '.' ), col( '.' ) - 4, 3 ) == 'for' || - \strpart( getline( '.' ), col( '.' ) - 6, 5 ) == 'while' || - \strpart( getline( '.' ), col( '.' ) - 7, 6 ) == 'switch' - return ' ( ' - endif - endif - endif - return a:char . ' ' -endfunction - -function! SpaceBetweenKeywordAndParens() - if ! ( &syntax =~ '^\(c\|cpp\|java\)$' ) - return '(' - endif - let s = strpart( getline( '.' ), 0, col( '.' ) - 1 ) - if s =~ '//' - " text inside a comment - return '(' - endif - let s = substitute( s, '/\*\([^*]\|\*\@!/\)*\*/', '', 'g' ) - let s = substitute( s, "'[^']*'", '', 'g' ) - let s = substitute( s, '"\(\\"\|[^"]\)*"', '', 'g' ) - if s =~ "\\([\"']\\|/\\*\\)" - " text inside a string - return '(' - endif - if a:0 > 0 - if strpart( getline( '.' ), col( '.' ) - 3, 2 ) == a:1 . ' ' - return "\<BS>" . a:char - endif - if strpart( getline( '.' ), col( '.' ) - 2, 1 ) == ' ' - return a:char - endif - return ' ' . a:char - endif - if strpart( getline( '.' ), col( '.' ) - 3, 2 ) == 'if' || - \strpart( getline( '.' ), col( '.' ) - 4, 3 ) == 'for' || - \strpart( getline( '.' ), col( '.' ) - 6, 5 ) == 'while' || - \strpart( getline( '.' ), col( '.' ) - 7, 6 ) == 'switch' || - \strpart( getline( '.' ), col( '.' ) - 8, 7 ) == 'foreach' || - \strpart( getline( '.' ), col( '.' ) - 8, 7 ) == 'forever' - return ' (' - endif - return '(' -endfunction - -function! SwitchHeaderImpl() - let privateheaders = '_p\.\([hH]\|hpp\|hxx\)$' - let headers = '\.\([hH]\|hpp\|hxx\)$' - let impl = '\.\([cC]\|cpp\|cc\|cxx\)$' - let fn = expand( '%' ) - if fn =~ privateheaders - let list = glob( substitute( fn, privateheaders, '.*', '' ) ) - elseif fn =~ headers - let list = glob( substitute( fn, headers, '.*', '' ) ) - elseif fn =~ impl - let list = glob( substitute( fn, impl, '.*', '' ) ) - endif - while strlen( list ) > 0 - let file = substitute( list, "\n.*", '', '' ) - let list = substitute( list, "[^\n]*", '', '' ) - let list = substitute( list, "^\n", '', '' ) - if ( ( fn =~ headers || fn =~ privateheaders ) && file =~ impl ) || ( fn =~ impl && file =~ headers ) - call AskToSave() - execute( "edit " . file ) - return - endif - endwhile - if ( fn =~ headers ) - call AskToSave() - if exists( "$implextension" ) - let file = substitute( fn, headers, '.' . $implextension, '' ) - else - let file = substitute( fn, headers, '.cpp', '' ) - endif - " check for modified state of current buffer and if modified ask: - " save, discard, cancel - execute( 'edit '.file ) - call append( 0, "#include \"".fn."\"" ) - call append( 2, "// vim: sw=4 sts=4 et tw=100" ) - execute( "set sw=4" ) - execute( "set sts=4" ) - execute( "set et" ) - execute( "set tw=100" ) - elseif fn =~ impl - call AskToSave() - let file = substitute( fn, impl, '.h', '' ) - execute( "edit ".file ) - endif -endfunction - -function! SwitchPrivateHeaderImpl() - let privateheaders = '_p\.\([hH]\|hpp\|hxx\)$' - let headers = '\.\([hH]\|hpp\|hxx\)$' - let impl = '\.\([cC]\|cpp\|cc\|cxx\)$' - let fn = expand( '%' ) - if fn =~ privateheaders - let list = glob( substitute( fn, privateheaders, '.*', '' ) ) - elseif fn =~ headers - let list = glob( substitute( fn, headers, '_p.*', '' ) ) - elseif fn =~ impl - let list = glob( substitute( fn, impl, '_p.*', '' ) ) - endif - while strlen( list ) > 0 - let file = substitute( list, "\n.*", '', '' ) - let list = substitute( list, "[^\n]*", '', '' ) - let list = substitute( list, "^\n", '', '' ) - if ( fn =~ privateheaders && file =~ impl ) || ( fn =~ impl && file =~ privateheaders ) || ( fn =~ headers && file =~ privateheaders ) - call AskToSave() - execute( "edit " . file ) - return - endif - endwhile - if ( fn =~ privateheaders ) - call AskToSave() - if exists( "$implextension" ) - let file = substitute( fn, privateheaders, '.' . $implextension, '' ) - else - let file = substitute( fn, privateheaders, '.cpp', '' ) - endif - " check for modified state of current buffer and if modified ask: - " save, discard, cancel - execute( 'edit '.file ) - call append( 0, "#include \"".fn."\"" ) - call append( 2, "// vim: sw=4 ts=4 noet" ) - execute( "set sw=4" ) - execute( "set ts=4" ) - elseif fn =~ impl - let file = substitute( fn, impl, '_p.h', '' ) - call CreatePrivateHeader( file ) - elseif fn =~ headers - let file = substitute( fn, headers, '_p.h', '' ) - call CreatePrivateHeader( file ) - endif -endfunction - -function! AskToSave() - if &modified - let yesorno = input("Save changes before switching file? [Y/n]") - if yesorno == 'y' || yesorno == '' || yesorno == 'Y' - :execute 'w' - return 1 - else - return 0 - endif - endif - return 1 -endfunction - -function! CreatePrivateHeader( privateHeader ) - let privateheaders = '_p\.\([hH]\|hpp\|hxx\)$' - let headers = '\.\([hH]\|hpp\|hxx\)$' - let impl = '\.\([cC]\|cpp\|cc\|cxx\)$' - let fn = expand( '%' ) - if fn =~ headers - let className = ClassNameFromHeader() - elseif fn =~ impl - let className = ClassNameFromImpl() - endif - - if AskToSave() && fn =~ headers - :normal gg - " check whether a Q_DECLARE_PRIVATE is needed - let dp = search( '\(^\|\s\+\)Q_DECLARE_PRIVATE\s*(\s*'.className.'\s*)' ) - if dp == 0 "nothing found - call search( '^\s*class\s\+\([A-Za-z0-9]\+_EXPORT\s\+\)[A-Za-z_]\+\s*\(:\s*[,\t A-Za-z_]\+\)\?\s*\n\?\s*{' ) - call search( '{' ) - let @c = className - if match(getline(line('.')+1), 'Q_OBJECT') - :normal joQ_DECLARE_PRIVATE(c) - else - :normal oQ_DECLARE_PRIVATE(c) - endif - :execute 'w' - endif - endif - execute( "edit ".a:privateHeader ) - let privateClassName = className . 'Private' - let header = substitute( a:privateHeader, privateheaders, '.h', '' ) - - call IncludeGuard() - " FIXME: find out what license to use - call LicenseHeader( "LGPL" ) - :set sw=4 - :set sts=4 - :set et - :set tw=100 - :normal Go// vim: sw=4 sts=4 et tw=100 - let @h = header - let @p = privateClassName - let @c = className - :normal kkko
#include "h"
class p
{
Q_DECLARE_PUBLIC(c)
protected:
c* q_ptr;
}; -endfunction - -function! ClassNameFromHeader() - :normal gg - call search( '^\s*class\s\+\([A-Za-z0-9]\+_EXPORT\s\+\)\?[A-Za-z_]\+\s*\(:\s*[,\t A-Za-z_]\+\)\?\s*\n\?\s*{' ) - "\zs and \ze mark start and end of the matching - return matchstr( getline('.'), '\s\+\zs\w\+\ze\s*\(:\|{\|$\)' ) -endfunction - -function! ClassNameFromImpl() - :normal gg - call search( '\s*\([A-Za-z_]\+\)::\1\s*(' ) - :normal "cye - return @c -endfunction - -function! IncludeGuard() - let guard = toupper( substitute( substitute( expand( '%' ), '\([^.]*\)\.h', '\1_h', '' ), '/', '_', '' ) ) - call append( '^', '#define ' . guard ) - + - call append( '^', '#ifndef ' . guard ) - call append( '$', '#endif // ' . guard ) - + -endfunction - -function! LicenseHeader( license ) - let filename = $HOME . "/" . a:license . "HEADER" - execute ":0r " . filename -" call append( 0, system( "cat " . filename ) ) -endfunction - -function! SmartInclude() - let next = nr2char( getchar( 0 ) ) - if next == '"' - return "#include \".h\"\<Left>\<Left>\<Left>" - endif - if next == '>' - return "#include <>\<Left>" - endif - return "#include <.h>\<Left>\<Left>\<Left>" -endfunction - -function! MapIdentHeader( ident ) - let header = tolower(substitute(a:ident, '::', '/', 'g')).'.h' - if a:ident =~ 'Private$' - let header = substitute(header, 'private', '_p', '') - endif - " always prefer the headers in the same directory - let check = header - let slash = 1 - while slash != -1 - if filereadable( check ) - return '"' . check . '"' - endif - let slash = match( check, '/' ) - let check = strpart( check, slash + 1 ) - endwhile - let check = tolower(substitute(a:ident, '::', '/', 'g')).'_p.h' - let slash = 1 - while slash != -1 - if filereadable(check) - return '"' . check . '"' - endif - let slash = match(check, '/') - let check = strpart(check, slash + 1) - endwhile - - " Qt stuff - if a:ident =~ '^Q[A-Z]' - " let's try to find the module - let module = '' - if $QTDIR != '' - if filereadable($QTDIR.'/include/QtCore/'.a:ident) - let module = 'QtCore/' - elseif filereadable($QTDIR.'/include/QtGui/'.a:ident) - let module = 'QtGui/' - elseif filereadable($QTDIR.'/include/Qt3Support/'.a:ident) - let module = 'Qt3Support/' - elseif filereadable($QTDIR.'/include/QtAssistant/'.a:ident) - let module = 'QtAssistant/' - elseif filereadable($QTDIR.'/include/QtDBus/'.a:ident) - let module = 'QtDBus/' - elseif filereadable($QTDIR.'/include/QtDesigner/'.a:ident) - let module = 'QtDesigner/' - elseif filereadable($QTDIR.'/include/QtNetwork/'.a:ident) - let module = 'QtNetwork/' - elseif filereadable($QTDIR.'/include/QtOpenGL/'.a:ident) - let module = 'QtOpenGL/' - elseif filereadable($QTDIR.'/include/QtSql/'.a:ident) - let module = 'QtSql/' - elseif filereadable($QTDIR.'/include/QtSvg/'.a:ident) - let module = 'QtSvg/' - elseif filereadable($QTDIR.'/include/QtTest/'.a:ident) - let module = 'QtTest/' - elseif filereadable($QTDIR.'/include/QtUiTools/'.a:ident) - let module = 'QtUiTools/' - elseif filereadable($QTDIR.'/include/QtXml/'.a:ident) - let module = 'QtXml/' - endif - endif - return '<'.module.a:ident.'>' - elseif a:ident == 'qDebug' || - \a:ident == 'qWarning' || - \a:ident == 'qCritical' || - \a:ident == 'qFatal' - return '<QtCore/QtDebug>' - elseif a:ident =~ 'Q_DECLARE_INTERFACE' - return '<QtCore/QObject>' - elseif a:ident =~ '^QT_VERSION' || - \a:ident =~ '^Q_\(W\|O\)S_' || - \a:ident =~ '^Q_CC_' || - \a:ident =~ '^Q_.*STRUCTOR_FUNCTION$' || - \a:ident =~ '^qu\?int' || - \a:ident =~ '^Q_.*_RESOURCE$' || - \a:ident == 'qreal' || - \a:ident == 'qAbs' || - \a:ident == 'qRound' || - \a:ident == 'qRound64' || - \a:ident == 'qMin' || - \a:ident == 'qMax' || - \a:ident == 'qBound' || - \a:ident == 'qVersion' || - \a:ident == 'qSharedBuild' || - \a:ident == 'Q_UNUSED' || - \a:ident == 'Q_ASSERT' || - \a:ident == 'qInstallMsgHandler' || - \a:ident == 'Q_GLOBAL_STATIC' || - \a:ident == 'Q_GLOBAL_STATIC_WITH_ARGS' || - \a:ident == 'qFuzzyCompare' || - \a:ident == 'qIsNull' || - \a:ident == 'qSwap' || - \a:ident =~ 'Q_DECLARE_\(FLAGS\|OPERATORS_FOR_FLAGS\|PRIVATE\|PUBLIC\)' || - \a:ident == 'Q_D' || - \a:ident == 'Q_Q' || - \a:ident == 'Q_DISABLE_COPY' || - \a:ident == 'qsrand' || - \a:ident == 'qrand' - return '<QtCore/QtGlobal>' - - " Phonon stuff - elseif a:ident =~ '^Phonon::[A-Z]' - if a:ident =~ '^Phonon::\(NoDisc\|Cd\|Dvd\|Vcd\|.\+MetaData\|.*State\|.*Category\|.\+Error\)' - return '<Phonon/Global>' - endif - return '<'.substitute(a:ident, '::', '/', 'g').'>' - endif - - " KDE stuff - let kdeincdir = substitute(system('kde4-config --prefix'), '[\n\r]*', '', 'g').'/include/KDE/' - let classname = substitute(a:ident, '^.*:', '', '') - let pathfn = expand('%:p:h') - if filereadable(kdeincdir.classname) && !pathfn =~ 'kdelibs' - return '<'.classname.'>' - elseif filereadable(kdeincdir.'Phonon/'.classname) - return '<Phonon/'.classname.'>' - elseif filereadable(kdeincdir.'Solid/'.classname) - return '<Solid/'.classname.'>' - elseif filereadable(kdeincdir.'KIO/'.classname) - return '<KIO/'.classname.'>' - elseif filereadable(kdeincdir.'KParts/'.classname) - return '<KParts/'.classname.'>' - elseif a:ident == 'K\(Double\|Int\)\(NumInput\|SpinBox\)' - return '<knuminput.h>' - elseif a:ident == 'KSharedConfig' - return '<kconfig.h>' - elseif a:ident == 'KConfigGroup' - return '<kconfiggroup.h>' - elseif a:ident == 'KListViewItem' - return '<klistview.h>' - elseif a:ident =~ 'kd\(Debug\|Warning\|Error\|Fatal\|Backtrace\)' - return '<kdebug.h>' - elseif a:ident == 'kapp' - return '<kapplication.h>' - elseif a:ident == 'i18n' || - \a:ident == 'I18N_NOOP' - return '<klocale.h>' - elseif a:ident == 'locate' || - \a:ident == 'locateLocal' - return '<kstandarddirs.h>' - elseif a:ident =~ '\(Small\|Desktop\|Bar\|MainBar\|User\)Icon\(Set\)\?' || - \a:ident == 'IconSize' - return '<kiconloader.h>' - - " aRts stuff - elseif a:ident =~ '\arts_\(debug\|info\|warning\|fatal\)' - return '<debug.h>' - - " Standard Library stuff - elseif a:ident =~ '\(std::\)\?\(cout\|cerr\|endl\)' - return '<iostream>' - elseif a:ident =~ '\(std::\)\?is\(alnum\|alpha\|ascii\|blank\|graph\|lower\|print\|punct\|space\|upper\|xdigit\)' - return '<cctype>' - elseif a:ident == 'printf' - return '<cstdio>' - endif - - let check = header - while 1 - if filereadable( check ) - return '"' . check . '"' - endif - let slash = match( check, '/' ) - if slash == -1 - return '<' . header . '>' - endif - let check = strpart( check, slash + 1 ) - endwhile -endfunction - -" This is a rather dirty hack, but seems to work somehow :-) (malte) -function! AddHeader() - let s = getline( '.' ) - let i = col( '.' ) - 1 - while i > 0 && strpart( s, i, 1 ) !~ '[A-Za-z0-9_:]' - let i = i - 1 - endwhile - while i > 0 && strpart( s, i, 1 ) =~ '[A-Za-z0-9_:]' - let i = i - 1 - endwhile - let start = match( s, '[A-Za-z0-9_]\+\(::[A-Z][A-Za-z0-9_]*\)*', i ) - let end = matchend( s, '[A-Za-z0-9_]\+\(::[A-Z][A-Za-z0-9_]*\)*', i ) -" if end > col( '.' ) -" let end = matchend( s, '[A-Za-z0-9_]\+', i ) -" endif - let ident = strpart( s, start, end - start ) - let header = MapIdentHeader(ident) - let include = '#include '.header - - let line = 1 - let incomment = 0 - let appendpos = 0 - let codestart = 0 - let similarpos = 0 - let similarity = 0 - while line <= line( '$' ) - let s = getline( line ) - if incomment == 1 - let end = matchend( s, '\*/' ) - if end == -1 - let line = line + 1 - continue - else - let s = strpart( s, end ) - let incomment = 0 - endif - endif - let s = substitute( s, '//.*', '', '' ) - let s = substitute( s, '/\*\([^*]\|\*\@!/\)*\*/', '', 'g' ) - if s =~ '/\*' - let incomment = 1 - elseif s =~ '^' . include - break - elseif s =~ '^#include' && s !~ '\.moc"' - let appendpos = line - if s =~ '^#include '.header[0:similarity+1] - let similarpos = line - let similarity = similarity + 1 - while s =~ '^#include '.header[0:similarity+1] - let similarity = similarity + 1 - endwhile - if s[9:strlen(s)-2] > header[0:strlen(header)-2] - let similarpos = similarpos - 1 - let similarity = 100 "this include belongs one line higher (assuming the order of includes already is alphabetically) - endif - endif - elseif codestart == 0 && s !~ '^$' - let codestart = line - endif - let line = line + 1 - endwhile - if similarpos > 0 - let appendpos = similarpos - endif - if line == line( '$' ) + 1 - if appendpos == 0 - call append( codestart - 1, include ) - call append( codestart, '' ) - else - call append( appendpos, include ) - endif - endif -endfunction - -function! AddForward() - let s = getline( '.' ) - let i = col( '.' ) - 1 - while i > 0 && strpart( s, i, 1 ) !~ '[A-Za-z0-9_:]' - let i = i - 1 - endwhile - while i > 0 && strpart( s, i, 1 ) =~ '[A-Za-z0-9_:]' - let i = i - 1 - endwhile - let start = match( s, '[A-Za-z0-9_]\+\(::[A-Za-z0-9_]\+\)*', i ) - let end = matchend( s, '[A-Za-z0-9_]\+\(::[A-Za-z0-9_]\+\)*', i ) - if end > col( '.' ) - let end = matchend( s, '[A-Za-z0-9_]\+', i ) - endif - let ident = strpart( s, start, end - start ) - let forward = 'class ' . ident . ';' - - let line = 1 - let incomment = 0 - let appendpos = 0 - let codestart = 0 - while line <= line( '$' ) - let s = getline( line ) - if incomment == 1 - let end = matchend( s, '\*/' ) - if end == -1 - let line = line + 1 - continue - else - let s = strpart( s, end ) - let incomment = 0 - endif - endif - let s = substitute( s, '//.*', '', '' ) - let s = substitute( s, '/\*\([^*]\|\*\@!/\)*\*/', '', 'g' ) - if s =~ '/\*' - let incomment = 1 - elseif s =~ '^' . forward - break - elseif s =~ '^\s*class [A-za-z0-9_]\+;' || (s =~ '^#include' && s !~ '\.moc"') - let appendpos = line - elseif codestart == 0 && s !~ '^$' - let codestart = line - endif - let line = line + 1 - endwhile - if line == line( '$' ) + 1 - if appendpos == 0 - call append( codestart - 1, forward ) - call append( codestart, '' ) - else - call append( appendpos, forward ) - endif - endif -endfunction - -function! RunDiff() - echo 'Diffing....' - read! cvs diff -bB -I \\\#include | egrep -v '(^Index:|^=+$|^RCS file:|^retrieving revision|^diff -u|^[+-]{3})' -endfunction - -function! CreateChangeLogEntry() - let currentBuffer = expand( "%" ) - - if exists( "g:EMAIL" ) - let mail = g:EMAIL - elseif exists( "$EMAIL" ) - let mail = $EMAIL - else - let mail = inputdialog( "Enter Name/Email for Changelog entry: " ) - if mail == "" - echo "Aborted ChangeLog edit..." - return - endif - let g:EMAIL = mail - endif - - if bufname( "ChangeLog" ) != "" && bufwinnr( bufname( "ChangeLog" ) ) != -1 - execute bufwinnr( bufname( "ChangeLog" ) ) . " wincmd w" - else - execute "split ChangeLog" - endif - - let lastEntry = getline( nextnonblank( 1 ) ) - let newEntry = strftime("%Y-%m-%d") . " " . mail - - if lastEntry != newEntry - call append( 0, "" ) - call append( 0, "" ) - call append( 0, newEntry ) - endif - - " like emacs, prepend the current buffer name to the entry. but unlike - " emacs I have no idea how to figure out the current function name :( - " (Simon) - if currentBuffer != "" - let newLine = "\t* " . currentBuffer . ": " - else - let newLine = "\t* " - endif - - call append( 2, newLine ) - - execute "normal 3G$" -endfunction - -function! AddQtSyntax() - if expand( "<amatch>" ) == "cpp" - syn keyword qtKeywords signals slots emit Q_SLOTS Q_SIGNALS - syn keyword qtMacros Q_OBJECT Q_WIDGET Q_PROPERTY Q_ENUMS Q_OVERRIDE Q_CLASSINFO Q_SETS SIGNAL SLOT Q_DECLARE_PUBLIC Q_DECLARE_PRIVATE Q_D Q_Q Q_DISABLE_COPY Q_DECLARE_METATYPE Q_PRIVATE_SLOT Q_FLAGS Q_INTERFACES Q_DECLARE_INTERFACE Q_EXPORT_PLUGIN2 Q_GADGET Q_SCRIPTABLE Q_INVOKABLE METHOD Q_ARG Q_RETURN_ARG - syn keyword qtCast qt_cast qobject_cast qvariant_cast qstyleoption_cast - syn keyword qtTypedef uchar uint ushort ulong Q_INT8 Q_UINT8 Q_INT16 Q_UINT16 Q_INT32 Q_UINT32 Q_LONG Q_ULONG Q_INT64 Q_UINT64 Q_LLONG Q_ULLONG pchar puchar pcchar qint8 quint8 qint16 quint16 qint32 quint32 qint64 quint64 qlonglong qulonglong qreal - syn keyword kdeKeywords k_dcop k_dcop_signals - syn keyword kdeMacros K_DCOP ASYNC PHONON_ABSTRACTBASE PHONON_OBJECT PHONON_HEIR PHONON_ABSTRACTBASE_IMPL PHONON_OBJECT_IMPL PHONON_HEIR_IMPL PHONON_PRIVATECLASS PHONON_PRIVATEABSTRACTCLASS K_DECLARE_PRIVATE K_D - syn keyword cRepeat foreach - syn keyword cRepeat forever - - hi def link qtKeywords Statement - hi def link qtMacros Type - hi def link qtCast Statement - hi def link qtTypedef Type - hi def link kdeKeywords Statement - hi def link kdeMacros Type - endif -endfunction - -function! InsertMethodTracer() - :normal [[kf(yBjokDebug() << ""()" << endl; -endfunction - -function! UpdateMocFiles() - if &syntax == "cpp" - let i = 1 - while i < 80 - let s = getline( i ) - if s =~ '^#include ".*\.moc"' - let s = substitute( s, '.*"\(.*\)\.moc"', '\1.h', '' ) - if stridx( &complete, s ) == -1 - let &complete = &complete . ',k' . s - endif - break - endif - let i = i + 1 - endwhile - endif -endfunction - -autocmd Syntax * call AddQtSyntax() -autocmd CursorHold * call UpdateMocFiles() -autocmd BufNewFile,BufRead * call SetCodingStyle() - -" vim: sw=4 sts=4 et diff --git a/.vim/ltags b/.vim/ltags deleted file mode 100644 index bec7c56..0000000 --- a/.vim/ltags +++ /dev/null @@ -1,78 +0,0 @@ -#!/usr/bin/perl -# Author: Dimitri Antoniou <dimitri@risc2.aecom.yu.edu> -# usage: ltags filename -# handles: \label and \cite{ } with one or more arguments -# fails if arguments of cite spread over more than one line -# also searches in files that are \include or \input in the main file - -# get main LaTeX source file from command line: -$mainfile = shift; - -# get names of included files and store them in an array -open MAIN, $mainfile or die "$!" ; -@mainfile=<MAIN>; -@allsrcfiles = map{ /^\\(?:input|include){(.*?)}/ } @mainfile; -unshift @allsrcfiles, $mainfile; - -# loop over all source files -for $srcfile (@allsrcfiles) { - # if \input{fname} append .tex to fname - unless ( $srcfile =~ m/\.tex/ ) { $srcfile = $srcfile . "\.tex" } - open SRC, $srcfile or die "$!" ; - # store contents of source file in array @texfile - @texfile=<SRC>; - - # store lines with \label and \cite (or \citeonline) in arrays - @labelList = grep{ /\\label{/ } @texfile; - @citeList = grep{ /\\(cite|citeonline){/ } @texfile; - - # see if we use an external database; if yes, store its name in $bibfile - ($dbase) = grep{ /^\\bibliography{/ } @texfile; - if ($dbase) { - $dbase =~ m/\\bibliography{(.*?)}/; - $bibfile = $1; - } - - # write \bibitem in tags file - @mrefs=(); - @refs=(); - @multirefs=(); - foreach (@citeList) { - while ( m/\\(?:cite|citeonline){(.*?)}/g ) { - $refs = $1; - # if \cite has more than one argument, split them: - if ($refs =~ /,/) { - @mrefs = split /,/, $refs; - # there might be more than one \cite in a line: - push (@multirefs, @mrefs); - } - else { - @refs = ($refs); - push (@multirefs, @refs); - } - } - # in BibTeX, format is @ARTICLE{Name, }; in source file, \bibitem{Name} - for $ref (@multirefs) { - if ( $dbase ) { - push @unsorttag, "$ref\t$bibfile\t/{$ref,/\n" - } - else { - push @unsorttag, "$ref\t$srcfile\t/bibitem{$ref}/\n" - } - } - } - - # write \label in tag file - foreach (@labelList) { - m/\\label{(.*?)}/; - push @unsorttag, "$1\t$srcfile\t/label{$1}/\n"; - } -} - -# sort tag file; then, eliminate duplicates -@sortedtag = sort @unsorttag; -%seen = (); -@uniqtag = grep { ! $seen{$_} ++ } @sortedtag; - -open(TAGS, "> tags"); -print TAGS @uniqtag; diff --git a/.vim/moin1_6.vim b/.vim/moin1_6.vim deleted file mode 100644 index f654af6..0000000 --- a/.vim/moin1_6.vim +++ /dev/null @@ -1,83 +0,0 @@ -" MoinMoin structured text syntax file -" Filename: moin.vim -" Language: MoinMoin structured text -" Maintainer: Gustavo Niemeyer <niemeyer@conectiva.com> -" Last Change: Sun, 02 Mar 2008 23:42:31 -0300 - -" remove any old syntax stuff hanging around -if version < 600 - syntax clear -elseif exists("b:current_syntax") - finish -endif - -syn sync lines=30 - -syn region moinSettings start="\%^@@ Syntax:" end="^[^@]"me=e-1 end="^$" nextgroup=moinPragma -syn region moinPragma start="^#" end="^$" contained -syn region moinItalic start="''" end="''" -syn region moinBold start="'''" end="'''" -syn region moinUnderline start="__" end="__" -syn match moinSub ",,.{1,40},," -syn match moinSup "\^.\{-}\^" -syn region moinCode start="^{{{\z([^#]*\)" keepend end="\z1}}}" -syn match moinCode "{{{[^$]\{-}}}}" -syn region moinCode start="`" end="`" -syn cluster moinTextMarkup contains=moinItalic,moinBold,moinCode,moinUnderline,moinSup,moinSub -syn match moinComment "^##.*$" -syn region moinInlineComment start="/\*" end="\*/" -syn region moinMacro start="<<" end=">>" -syn region moinStrike start="--(" end=")--" -syn region moinHeader start="^\z(=\{1,5}\) " end=" \z1$" oneline -syn match moinRule "^-\{4,}$" -syn match moinSmileys "\(\s\|\_^\)\(%)\|(!)\|(./)\|/!\\\|:(\|:)\|:))\|:-(\|:-)\|:-))\|:-?\|:D\|:\\\|:o\|;)\|;-)\|<!>\|<:(\|>:>\|B)\|B-)\|X-(\|{\*}\|{1}\|{2}\|{3}\|{OK}\|{X}\|{da}\|{de}\|{en}\|{es}\|{fi}\|{fr}\|{it}\|{i}\|{ja}\|{ko}\|{nl}\|{o}\|{pt}\|{sv}\|{us}\|{zh}\||)\||-)\)\(\s\|\_$\)" -syn match moinLinkMoin "\([^!]\@<=\|^\)\<\(/\?\([[:upper:]][[:lower:][:digit:]]\+\)\{2,}\)\+\>" -syn match moinLinkMoinBang "!\ze\(/\?\([[:upper:]][[:lower:][:digit:]]\+\)\{2,}\)\+" -syn region moinLinkExplicit start="\[\[" end="\]\]" -syn region moinLinkEmbedded start="{{[^{]" end="}}" -syn match moinLinkEmail "<\?[[:alnum:]-._+]\+@[[:alnum:]-]\+\.[[:alnum:]-.]\+>\?" -syn match moinLinkUrl "\(http\|https\|ftp\|file\|mailto\|nntp\|news\|telnet\|irc\|ircs\|xmpp\|drawing\):\([^][:space:]<"'}|:,.)?!]\|[]"'}|:,.)?!][^][:space:]<"'}|:,.)?!]\)\+" -syn match moinLinkInter "[A-Z][a-zA-Z]\+:[^[:space:]'\":<]\([^][:space:]<"'}|:,.)?!]\|[]"'}|:,.)?!][^][:space:]<"'}|:,.)?!]\)\+" -syn cluster moinLinks contains=moinLinkMoin,moinLinkExplicit,moinLinkEmbedded,moinLinkEmail,moinLinkUrl,moinLinkInter -syn cluster moinMarkup contains=@moinTextMarkup,@moinLinks,moinMacro,moinStrike,moinSmileys -syn match moinTableOpt "<[^>]*>" contained -syn match moinTableMark "||\(<[^>]*>\)\?" contained contains=moinTableOpt -syn region moinTable start="^\s*||"rs=s end="||$"re=e oneline contains=moinTableMark,@moinMarkup -syn match moinDefinition "^\s\+.\{-}::\ze\(\s.*\)\?$" -syn match moinList "^\s\+\*\s" - -if !exists("did_dic_syntax_inits") - let did_dic_syntax_inits = 1 - hi link moinComment Comment - hi link moinInlineComment Comment - hi def moinBold term=bold cterm=bold gui=bold - hi def moinItalic ctermfg=darkcyan gui=italic - hi link moinUnderline moinItalic - hi link moinSub moinItalic - hi link moinSup moinItalic - hi def moinSettings ctermfg=green guifg=green - hi def moinPragma ctermfg=darkred guifg=darkred - hi link moinMacro Macro - hi def moinStrike ctermfg=darkgray guifg=darkgray - hi link moinHeader Title - hi def moinTableMark ctermfg=yellow guifg=yellow - hi def moinTableOpt ctermfg=darkyellow guifg=darkyellow - hi link moinDefinition moinBold - hi link moinList moinBold - hi link moinRule Title - hi def moinCode ctermfg=cyan guifg=cyan - hi def moinLink ctermfg=red guifg=red - hi link moinLinkExplicit moinLink - hi link moinLinkEmbedded moinLink - hi link moinLinkMoin moinLink - hi link moinLinkMoinBang moinLink - hi link moinLinkEmail moinLink - hi link moinLinkUrl moinLink - hi link moinLinkBUrl moinLinkUrl - hi link moinLinkQUrl moinLinkUrl - hi link moinLinkInter moinLink - hi def moinSmileys ctermfg=yellow guifg=yellow -endif - -let b:current_syntax = "moin" - diff --git a/.vim/plugin/SyntaxFolds.vim b/.vim/plugin/SyntaxFolds.vim deleted file mode 100644 index 27c622c..0000000 --- a/.vim/plugin/SyntaxFolds.vim +++ /dev/null @@ -1,323 +0,0 @@ -" ============================================================================== -" File: syntaxFolds.vim -" Author: Srinath Avadhanula -" ( srinath@fastmail.fm ) -" Last Change: Sun Oct 27 01:00 AM 2002 PST -" Description: Emulation of the syntax folding capability of vim using manual -" folding -" -" This script provides an emulation of the syntax folding of vim using manual -" folding. Just as in syntax folding, the folds are defined by regions. Each -" region is specified by a call to FoldRegions() which accepts 4 parameters: -" -" call FoldRegions(startpat, endpat, startoff, endoff) -" -" startpat: a line matching this pattern defines the beginning of a fold. -" endpat : a line matching this pattern defines the end of a fold. -" startoff: this is the offset from the starting line at which folding will -" actually start -" endoff : like startoff, but gives the offset of the actual fold end from -" the line satisfying endpat. -" startoff and endoff are necessary when the folding region does -" not have a specific end pattern corresponding to a start -" pattern. for example in latex, -" \begin{section} -" defines the beginning of a section, but its not necessary to -" have a corresponding -" \end{section} -" the section is assumed to end 1 line _before_ another section -" starts. -" startskip: a pattern which defines the beginning of a "skipped" region. -" -" For example, suppose we define a \itemize fold as follows: -" startpat = '^\s*\\item', -" endpat = '^\s*\\item\|^\s*\\end{\(enumerate\|itemize\|description\)}', -" startoff = 0, -" endoff = -1 -" -" This defines a fold which starts with a line beginning with an -" \item and ending one line before a line beginning with an -" \item or \end{enumerate} etc. -" -" Then, as long as \item's are not nested things are fine. -" However, once items begin to nest, the fold started by one -" \item can end because of an \item in an \itemize -" environment within this \item. i.e, the following can happen: -" -" \begin{itemize} -" \item Some text <------- fold will start here -" This item will contain a nested item -" \begin{itemize} <----- fold will end here because next line contains \item... -" \item Hello -" \end{itemize} <----- ... instead of here. -" \item Next item of the parent itemize -" \end{itemize} -" -" Therefore, in order to completely define a folding item which -" allows nesting, we need to also define a "skip" pattern. -" startskip and end skip do that. -" Leave '' when there is no nesting. -" endskip: the pattern which defines the end of the "skip" pattern for -" nested folds. -" -" Example: -" 1. A syntax fold region for a latex section is -" startpat = "\\section{" -" endpat = "\\section{" -" startoff = 0 -" endoff = -1 -" startskip = '' -" endskip = '' -" Note that the start and end patterns are thus the same and endoff has a -" negative value to capture the effect of a section ending one line before -" the next starts. -" 2. A syntax fold region for the \itemize environment is: -" startpat = '^\s*\\item', -" endpat = '^\s*\\item\|^\s*\\end{\(enumerate\|itemize\|description\)}', -" startoff = 0, -" endoff = -1, -" startskip = '^\s*\\begin{\(enumerate\|itemize\|description\)}', -" endskip = '^\s*\\end{\(enumerate\|itemize\|description\)}' -" Note the use of startskip and endskip to allow nesting. -" -" -" Each time a call is made to FoldRegions(), all the regions (which might be -" disjoint, but not nested) are folded up. -" Nested folds can be created by successive calls to FoldRegions(). The first -" call defines the region which is deepest in the folding. See MakeTexFolds() -" for an idea of how this works for latex files. - -" Function: AddSyntaxFoldItem (start, end, startoff, endoff [, skipStart, skipEnd]) {{{ -function! AddSyntaxFoldItem(start, end, startoff, endoff, ...) - if a:0 > 0 - let skipStart = a:1 - let skipEnd = a:2 - else - let skipStart = '' - let skipEnd = '' - end - if !exists('b:numFoldItems') - let b:numFoldItems = 0 - end - let b:numFoldItems = b:numFoldItems + 1 - - exe 'let b:startPat_'.b:numFoldItems.' = a:start' - exe 'let b:endPat_'.b:numFoldItems.' = a:end' - exe 'let b:startOff_'.b:numFoldItems.' = a:startoff' - exe 'let b:endOff_'.b:numFoldItems.' = a:endoff' - exe 'let b:skipStartPat_'.b:numFoldItems.' = skipStart' - exe 'let b:skipEndPat_'.b:numFoldItems.' = skipEnd' -endfunction - - -" }}} -" Function: MakeSyntaxFolds (force) {{{ -" Description: This function calls FoldRegions() several times with the -" parameters specifying various regions resulting in a nested fold -" structure for the file. -function! MakeSyntaxFolds(force, ...) - if exists('b:doneFolding') && a:force == 0 - return - end - - let skipEndPattern = '' - if a:0 > 0 - let line1 = a:1 - let skipEndPattern = '\|'.a:2 - else - let line1 = 1 - let r = line('.') - let c = virtcol('.') - - setlocal fdm=manual - normal! zE - end - if !exists('b:numFoldItems') - b:numFoldItems = 1000000 - end - - let i = 1 - - let maxline = line('.') - - while exists('b:startPat_'.i) && i <= b:numFoldItems - exe 'let startPat = b:startPat_'.i - exe 'let endPat = b:endPat_'.i - exe 'let startOff = b:startOff_'.i - exe 'let endOff = b:endOff_'.i - - let skipStart = '' - let skipEnd = '' - if exists('b:skipStartPat_'.i) - exe 'let skipStart = b:skipStartPat_'.i - exe 'let skipEnd = b:skipEndPat_'.i - end - exe line1 - let lastLoc = line1 - - if skipStart != '' - call InitStack('BeginSkipArray') - call FoldRegionsWithSkip(startPat, endPat, startOff, endOff, skipStart, skipEnd, 1, line('$')) - " call PrintError('done folding ['.startPat.']') - else - call FoldRegionsWithNoSkip(startPat, endPat, startOff, endOff, 1, line('$'), '') - end - - let i = i + 1 - endwhile - - exe maxline - - if a:0 == 0 - exe r - exe "normal! ".c."|" - if foldlevel(r) > 1 - exe "normal! ".(foldlevel(r) - 1)."zo" - end - let b:doneFolding = 0 - end -endfunction - - -" }}} -" FoldRegionsWithSkip: folding things such as \item's which can be nested. {{{ -function! FoldRegionsWithSkip(startpat, endpat, startoff, endoff, startskip, endskip, line1, line2) - exe a:line1 - " count the regions which have been skipped as we go along. do not want to - " create a fold which with a beginning or end line in one of the skipped - " regions. - let skippedRegions = '' - - " start searching for either the starting pattern or the end pattern. - while search(a:startskip.'\|'.a:endskip, 'W') - - if getline('.') =~ a:endskip - - let lastBegin = Pop('BeginSkipArray') - " call PrintError('popping '.lastBegin.' from stack and folding till '.line('.')) - call FoldRegionsWithNoSkip(a:startpat, a:endpat, a:startoff, a:endoff, lastBegin, line('.'), skippedRegions) - let skippedRegions = skippedRegions.lastBegin.','.line('.').'|' - - - " if this is the beginning of a skip region, then, push this line as - " the beginning of a skipped region. - elseif getline('.') =~ a:startskip - - " call PrintError('pushing '.line('.').' ['.getline('.').'] into stack') - call Push('BeginSkipArray', line('.')) - - end - endwhile - - " call PrintError('with skip starting at '.a:line1.' returning at line# '.line('.')) -endfunction - -" }}} -" FoldRegionsWithNoSkip: folding things such as \sections which do not nest. {{{ -function! FoldRegionsWithNoSkip(startpat, endpat, startoff, endoff, line1, line2, skippedRegions) - exe a:line1 - - " call PrintError('line1 = '.a:line1.', searching from '.line('.').'... for ['.a:startpat.'') - let lineBegin = s:MySearch(a:startpat, 'in') - " call PrintError('... and finding it at '.lineBegin) - - while lineBegin <= a:line2 - if IsInSkippedRegion(lineBegin, a:skippedRegions) - let lineBegin = s:MySearch(a:startpat, 'out') - " call PrintError(lineBegin.' is being skipped') - continue - end - let lineEnd = s:MySearch(a:endpat, 'out') - while IsInSkippedRegion(lineEnd, a:skippedRegions) && lineEnd <= a:line2 - let lineEnd = s:MySearch(a:endpat, 'out') - endwhile - if lineEnd > a:line2 - exe (lineBegin + a:startoff).','.a:line2.' fold' - break - else - " call PrintError ('for ['.a:startpat.'] '.(lineBegin + a:startoff).','.(lineEnd + a:endoff).' fold') - exe (lineBegin + a:startoff).','.(lineEnd + a:endoff).' fold' - end - - " call PrintError('line1 = '.a:line1.', searching from '.line('.').'... for ['.a:startpat.'') - let lineBegin = s:MySearch(a:startpat, 'in') - " call PrintError('... and finding it at '.lineBegin) - endwhile - - exe a:line2 - return -endfunction - -" }}} -" InitStack: initialize a stack {{{ -function! InitStack(name) - exe 'let s:'.a:name.'_numElems = 0' -endfunction -" }}} -" Push: push element into stack {{{ -function! Push(name, elem) - exe 'let numElems = s:'.a:name.'_numElems' - let numElems = numElems + 1 - exe 'let s:'.a:name.'_Element_'.numElems.' = a:elem' - exe 'let s:'.a:name.'_numElems = numElems' -endfunction -" }}} -" Pop: pops element off stack {{{ -function! Pop(name) - exe 'let numElems = s:'.a:name.'_numElems' - if numElems == 0 - return '' - else - exe 'let ret = s:'.a:name.'_Element_'.numElems - let numElems = numElems - 1 - exe 'let s:'.a:name.'_numElems = numElems' - return ret - end -endfunction -" }}} -" MySearch: just like search(), but returns large number on failure {{{ -function! <SID>MySearch(pat, opt) - if a:opt == 'in' - if getline('.') =~ a:pat - let ret = line('.') - else - let ret = search(a:pat, 'W') - end - else - normal! $ - let ret = search(a:pat, 'W') - end - - if ret == 0 - let ret = line('$') + 1 - end - return ret -endfunction -" }}} -" Function: IsInSkippedRegion (lnum, regions) {{{ -" Description: finds whether a given line number is within one of the regions -" skipped. -function! IsInSkippedRegion(lnum, regions) - let i = 1 - let subset = s:Strntok(a:regions, '|', i) - while subset != '' - let n1 = s:Strntok(subset, ',', 1) - let n2 = s:Strntok(subset, ',', 2) - if a:lnum >= n1 && a:lnum <= n2 - return 1 - end - - let subset = s:Strntok(a:regions, '|', i) - let i = i + 1 - endwhile - - return 0 -endfunction " }}} -" Function: Strntok (string, tok, n) {{{ -" extract the n^th token from s seperated by tok. -" example: Strntok('1,23,3', ',', 2) = 23 -fun! <SID>Strntok(s, tok, n) - return matchstr( a:s.a:tok[0], '\v(\zs([^'.a:tok.']*)\ze['.a:tok.']){'.a:n.'}') -endfun " }}} - -" vim600:fdm=marker diff --git a/.vim/plugin/c.vim b/.vim/plugin/c.vim deleted file mode 100644 index bb9390f..0000000 --- a/.vim/plugin/c.vim +++ /dev/null @@ -1,2678 +0,0 @@ -"############################################################################################### -" -" Filename: c.vim -" -" Description: C/C++-IDE. Write programs by inserting complete statements, -" comments, idioms, code snippets, templates and comments. -" Compile, link and run one-file-programs without a makefile. -" See also help file csupport.txt . -" -" GVIM Version: 7.0+ -" -" Configuration: There are some personal details which should be configured -" (see the files README.csupport and csupport.txt). -" -" Author: Dr.-Ing. Fritz Mehner, FH Südwestfalen, 58644 Iserlohn, Germany -" Email: mehner@fh-swf.de -" -" Version: see variable g:C_Version below -" Created: 04.11.2000 -" License: Copyright (c) 2000-2007, Fritz Mehner -" This program is free software; you can redistribute it and/or -" modify it under the terms of the GNU General Public License as -" published by the Free Software Foundation, version 2 of the -" License. -" This program is distributed in the hope that it will be -" useful, but WITHOUT ANY WARRANTY; without even the implied -" warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -" PURPOSE. -" See the GNU General Public License version 2 for more details. -" Revision: $Id: c.vim,v 1.35 2007/11/21 09:14:16 mehner Exp $ -" -"------------------------------------------------------------------------------ -" -if v:version < 700 - echohl WarningMsg | echo 'The plugin c-support.vim needs Vim version >= 7 .'| echohl None - finish -endif -" -" Prevent duplicate loading: -" -if exists("g:C_Version") || &cp - finish -endif -let g:C_Version= "5.0.5" " version number of this script; do not change -" -"############################################################################################### -" -" Global variables (with default values) which can be overridden. -" -" Platform specific items: {{{1 -" - root directory -" - characters that must be escaped for filenames -" -let s:MSWIN = has("win16") || has("win32") || has("win64") || - \ has("win95") || has("win32unix") -" -if s:MSWIN - " - let s:escfilename = '' - let s:plugin_dir = $VIM.'\vimfiles\' - let s:C_CodeSnippets = s:plugin_dir.'c-support/codesnippets/' - let s:C_IndentErrorLog = $HOME.'.indent.errorlog' - let s:installation = 'system' - " - let s:C_Display = '' - " -else - " - let s:escfilename = ' \%#[]' - let s:installation = 'local' - " - " user / system wide installation (Linux/Unix) - " - if match( expand("<sfile>"), $VIM ) >= 0 - " system wide installation - let s:plugin_dir = $VIM.'/vimfiles/' - let s:installation = 'system' - else - " user installation assumed - let s:plugin_dir = $HOME.'/.vim/' - endif - " - let s:C_CodeSnippets = $HOME.'/.vim/c-support/codesnippets/' - let s:C_IndentErrorLog = $HOME.'/.indent.errorlog' - " - let s:C_Display = system("echo -n $DISPLAY") - " -endif -" Use of dictionaries {{{1 -" Key word completion is enabled by the filetype plugin 'c.vim' -" g:C_Dictionary_File must be global -" -if !exists("g:C_Dictionary_File") - let g:C_Dictionary_File = s:plugin_dir.'c-support/wordlists/c-c++-keywords.list,'. - \ s:plugin_dir.'c-support/wordlists/k+r.list,'. - \ s:plugin_dir.'c-support/wordlists/stl_index.list' -endif -" -" Modul global variables (with default values) which can be overridden. {{{1 -" -if s:MSWIN - let s:C_CCompiler = 'gcc.exe' " the C compiler - let s:C_CplusCompiler = 'g++.exe' " the C++ compiler - let s:C_ExeExtension = '.exe' " file extension for executables (leading point required) - let s:C_ObjExtension = '.obj' " file extension for objects (leading point required) -else - let s:C_CCompiler = 'gcc' " the C compiler - let s:C_CplusCompiler = 'g++' " the C++ compiler - let s:C_ExeExtension = '' " file extension for executables (leading point required) - let s:C_ObjExtension = '.o' " file extension for objects (leading point required) -endif -" -let s:C_CExtension = 'c' " C file extension; everything else is C++ -let s:C_CFlags = '-Wall -g -O0 -c' " compiler flags: compile, don't optimize -let s:C_CodeCheckExeName = 'check' -let s:C_CodeCheckOptions = '-K13' -let s:C_LFlags = '-Wall -g -O0' " compiler flags: link , don't optimize -let s:C_Libs = '-lm' " libraries to use -let s:C_LineEndCommColDefault = 49 -let s:C_LoadMenus = 'yes' -let s:C_MenuHeader = 'yes' -let s:C_OutputGvim = 'vim' -let s:C_Printheader = "%<%f%h%m%< %=%{strftime('%x %X')} Page %N" -let s:C_Root = '&C\/C\+\+.' " the name of the root menu of this plugin -let s:C_TypeOfH = 'cpp' -let s:C_Wrapper = s:plugin_dir.'c-support/scripts/wrapper.sh' -let s:C_XtermDefaults = '-fa courier -fs 12 -geometry 80x24' -" -let s:C_GlobalTemplateFile = s:plugin_dir.'c-support/templates/Templates' -let s:C_GlobalTemplateDir = fnamemodify( s:C_GlobalTemplateFile, ":p:h" ).'/' -let s:C_LocalTemplateFile = $HOME.'/.vim/c-support/templates/Templates' -let s:C_LocalTemplateDir = fnamemodify( s:C_LocalTemplateFile, ":p:h" ).'/' -let s:C_TemplateOverwrittenMsg= 'yes' -" -let s:C_FormatDate = '%x' -let s:C_FormatTime = '%X' -let s:C_FormatYear = '%Y' -" -"------------------------------------------------------------------------------ -" -" Look for global variables (if any), to override the defaults. -" -function! C_CheckGlobal ( name ) - if exists('g:'.a:name) - exe 'let s:'.a:name.' = g:'.a:name - endif -endfunction " ---------- end of function C_CheckGlobal ---------- -" -call C_CheckGlobal('C_CCompiler ') -call C_CheckGlobal('C_CExtension ') -call C_CheckGlobal('C_CFlags ') -call C_CheckGlobal('C_CodeCheckExeName ') -call C_CheckGlobal('C_CodeCheckOptions ') -call C_CheckGlobal('C_CodeSnippets ') -call C_CheckGlobal('C_CplusCompiler ') -call C_CheckGlobal('C_ExeExtension ') -call C_CheckGlobal('C_FormatDate ') -call C_CheckGlobal('C_FormatTime ') -call C_CheckGlobal('C_FormatYear ') -call C_CheckGlobal('C_GlobalTemplateFile ') -call C_CheckGlobal('C_IndentErrorLog ') -call C_CheckGlobal('C_LFlags ') -call C_CheckGlobal('C_Libs ') -call C_CheckGlobal('C_LineEndCommColDefault ') -call C_CheckGlobal('C_LoadMenus ') -call C_CheckGlobal('C_LocalTemplateFile ') -call C_CheckGlobal('C_MenuHeader ') -call C_CheckGlobal('C_ObjExtension ') -call C_CheckGlobal('C_OutputGvim ') -call C_CheckGlobal('C_Printheader ') -call C_CheckGlobal('C_Root ') -call C_CheckGlobal('C_TemplateOverwrittenMsg ') -call C_CheckGlobal('C_TypeOfH ') -call C_CheckGlobal('C_XtermDefaults ') -" -"----- some variables for internal use only ----------------------------------- -" -" -" set default geometry if not specified -" -if match( s:C_XtermDefaults, "-geometry\\s\\+\\d\\+x\\d\\+" ) < 0 - let s:C_XtermDefaults = s:C_XtermDefaults." -geometry 80x24" -endif -" -" escape the printheader -" -let s:C_Printheader = escape( s:C_Printheader, ' %' ) -" -let s:C_HlMessage = "" -" -" characters that must be escaped for filenames -" -let s:C_If0_Counter = 0 -let s:C_If0_Txt = "If0Label_" -" -let s:C_SplintIsExecutable = 0 -if executable( "splint" ) - let s:C_SplintIsExecutable = 1 -endif -" -let s:C_CodeCheckIsExecutable = 0 -if executable( s:C_CodeCheckExeName ) - let s:C_CodeCheckIsExecutable = 1 -endif -" -"------------------------------------------------------------------------------ -" Control variables (not user configurable) -"------------------------------------------------------------------------------ -let s:Attribute = { 'below':'', 'above':'', 'start':'', 'append':'', 'insert':'' } -let s:C_Attribute = {} -let s:C_ExpansionLimit = 10 -let s:C_FileVisited = [] -" -let s:C_MacroNameRegex = '\([a-zA-Z][a-zA-Z0-9_]*\)' -let s:C_MacroLineRegex = '^\s*|'.s:C_MacroNameRegex.'|\s*=\s*\(.*\)' -let s:C_ExpansionRegex = '|?'.s:C_MacroNameRegex.'\(:\a\)\?|' -let s:C_NonExpansionRegex = '|'.s:C_MacroNameRegex.'\(:\a\)\?|' -" -let s:C_TemplateNameDelimiter = '-+_,\. ' -let s:C_TemplateLineRegex = '^==\s*\([a-zA-Z][0-9a-zA-Z'.s:C_TemplateNameDelimiter -let s:C_TemplateLineRegex .= ']\+\)\s*==\s*\([a-z]\+\s*==\)\?' -" -let s:C_ExpansionCounter = {} -let s:C_Template = {} -let s:C_Macro = {'|AUTHOR|' : 'first name surname', - \ '|AUTHORREF|' : '', - \ '|EMAIL|' : '', - \ '|COMPANY|' : '', - \ '|PROJECT|' : '', - \ '|COPYRIGHTHOLDER|': '' - \ } -let s:C_MacroFlag = { ':l' : 'lowercase' , - \ ':u' : 'uppercase' , - \ ':c' : 'capitalize' , - \ ':L' : 'legalize name' , - \ } - -"------------------------------------------------------------------------------ -" C : C_InitMenus {{{1 -" Initialization of C support menus -"------------------------------------------------------------------------------ -" -function! C_InitMenus () - " - "=============================================================================================== - "----- Menu : C main menu entry ------------------------------------------- {{{2 - "=============================================================================================== - " - if s:C_Root != "" - if s:C_MenuHeader == 'yes' - exe "amenu ".s:C_Root.'C\/C\+\+ <Esc>' - exe "amenu ".s:C_Root.'-Sep00- :' - endif - endif - " - "=============================================================================================== - "----- Menu : C-Comments -------------------------------------------------- {{{2 - "=============================================================================================== - " - if s:C_MenuHeader == 'yes' - exe "amenu ".s:C_Root.'&Comments.&Comments<Tab>C\/C\+\+ <Esc>' - exe "amenu ".s:C_Root.'&Comments.-Sep00- :' - endif - exe "amenu <silent> ".s:C_Root.'&Comments.end-of-&line\ comment <Esc><Esc><Esc>:call C_LineEndComment( )<CR>' - exe "vmenu <silent> ".s:C_Root.'&Comments.end-of-&line\ comment <Esc><Esc><Esc>:call C_MultiLineEndComments( )<CR>' - - exe "amenu <silent> ".s:C_Root.'&Comments.ad&just\ end-of-line\ com\. <Esc><Esc>:call C_AdjustLineEndComm("a")<CR>' - exe "vmenu <silent> ".s:C_Root.'&Comments.ad&just\ end-of-line\ com\. <Esc><Esc>:call C_AdjustLineEndComm("v")<CR>' - - exe "amenu <silent> ".s:C_Root.'&Comments.&set\ end-of-line\ com\.\ col\. <Esc><Esc>:call C_GetLineEndCommCol()<CR>' - - exe "amenu ".s:C_Root.'&Comments.-SEP10- :' - exe "amenu <silent> ".s:C_Root.'&Comments.code\ ->\ comment\ \/&*\ *\/ <Esc><Esc>:call C_CodeComment("a","yes")<CR><Esc>:nohlsearch<CR>j' - exe "vmenu <silent> ".s:C_Root.'&Comments.code\ ->\ comment\ \/&*\ *\/ <Esc><Esc>:call C_CodeComment("v","yes")<CR><Esc>:nohlsearch<CR>j' - exe "amenu <silent> ".s:C_Root.'&Comments.code\ ->\ comment\ &\/\/ <Esc><Esc>:call C_CodeComment("a","no")<CR><Esc>:nohlsearch<CR>j' - exe "vmenu <silent> ".s:C_Root.'&Comments.code\ ->\ comment\ &\/\/ <Esc><Esc>:call C_CodeComment("v","no")<CR><Esc>:nohlsearch<CR>j' - exe "amenu <silent> ".s:C_Root.'&Comments.c&omment\ ->\ code <Esc><Esc>:call C_CommentCode("a")<CR><Esc>:nohlsearch<CR>' - exe "vmenu <silent> ".s:C_Root.'&Comments.c&omment\ ->\ code <Esc><Esc>:call C_CommentCode("v")<CR><Esc>:nohlsearch<CR>' - - exe "amenu ".s:C_Root.'&Comments.-SEP0- :' - exe "amenu <silent> ".s:C_Root.'&Comments.&frame\ comment <Esc><Esc>:call C_InsertTemplate("comment.frame")<CR>' - exe "amenu <silent> ".s:C_Root.'&Comments.f&unction\ description <Esc><Esc>:call C_InsertTemplate("comment.function")<CR>' - exe "amenu ".s:C_Root.'&Comments.-SEP1- :' - exe "amenu <silent> ".s:C_Root.'&Comments.&method\ description <Esc><Esc>:call C_InsertTemplate("comment.method")<CR>' - exe "amenu <silent> ".s:C_Root.'&Comments.cl&ass\ description <Esc><Esc>:call C_InsertTemplate("comment.class")<CR>' - exe "amenu ".s:C_Root.'&Comments.-SEP2- :' - exe "amenu <silent> ".s:C_Root.'&Comments.file\ description <Esc><Esc>:call C_InsertTemplate("comment.file-description")<CR>' - exe "amenu ".s:C_Root.'&Comments.-SEP3- :' - " - "----- Submenu : C-Comments : file sections ------------------------------------------------------------- - " - exe "amenu ".s:C_Root.'&Comments.&C\/C\+\+-file\ sections.file\ sections<Tab>C\/C\+\+ <Esc>' - exe "amenu ".s:C_Root.'&Comments.&C\/C\+\+-file\ sections.-Sep0- :' - " - exe "amenu ".s:C_Root.'&Comments.&C\/C\+\+-file\ sections.&Header\ File\ Includes <Esc><Esc>:call C_InsertTemplate("comment.file-section-cpp-header-includes")<CR>' - exe "amenu ".s:C_Root.'&Comments.&C\/C\+\+-file\ sections.Local\ &Macros <Esc><Esc>:call C_InsertTemplate("comment.file-section-cpp-macros")<CR>' - exe "amenu ".s:C_Root.'&Comments.&C\/C\+\+-file\ sections.Local\ &Type\ Def\. <Esc><Esc>:call C_InsertTemplate("comment.file-section-cpp-typedefs")<CR>' - exe "amenu ".s:C_Root.'&Comments.&C\/C\+\+-file\ sections.Local\ &Data\ Types <Esc><Esc>:call C_InsertTemplate("comment.file-section-cpp-data-types")<CR>' - exe "amenu ".s:C_Root.'&Comments.&C\/C\+\+-file\ sections.Local\ &Variables <Esc><Esc>:call C_InsertTemplate("comment.file-section-cpp-class-defs")<CR>' - exe "amenu ".s:C_Root.'&Comments.&C\/C\+\+-file\ sections.Local\ &Prototypes <Esc><Esc>:call C_InsertTemplate("comment.file-section-cpp-local-variables")<CR>' - exe "amenu ".s:C_Root.'&Comments.&C\/C\+\+-file\ sections.&Exp\.\ Function\ Def\. <Esc><Esc>:call C_InsertTemplate("comment.file-section-cpp-prototypes")<CR>' - exe "amenu ".s:C_Root.'&Comments.&C\/C\+\+-file\ sections.&Local\ Function\ Def\. <Esc><Esc>:call C_InsertTemplate("comment.file-section-cpp-function-defs-exported")<CR>' - exe "amenu ".s:C_Root.'&Comments.&C\/C\+\+-file\ sections.-SEP6- :' - exe "amenu ".s:C_Root.'&Comments.&C\/C\+\+-file\ sections.Local\ &Class\ Def\. <Esc><Esc>:call C_InsertTemplate("comment.file-section-cpp-function-defs-local")<CR>' - exe "amenu ".s:C_Root.'&Comments.&C\/C\+\+-file\ sections.E&xp\.\ Class\ Impl\. <Esc><Esc>:call C_InsertTemplate("comment.file-section-cpp-class-implementations-exported")<CR>' - exe "amenu ".s:C_Root.'&Comments.&C\/C\+\+-file\ sections.L&ocal\ Class\ Impl\. <Esc><Esc>:call C_InsertTemplate("comment.file-section-cpp-class-implementations-local")<CR>' - exe "amenu ".s:C_Root.'&Comments.&C\/C\+\+-file\ sections.-SEP7- :' - exe "amenu ".s:C_Root.'&Comments.&C\/C\+\+-file\ sections.&All\ sections,\ C ' - \'<Esc><Esc>:call C_Comment_C_SectionAll("c")<CR>' - exe "amenu ".s:C_Root.'&Comments.&C\/C\+\+-file\ sections.All\ §ions,\ C++ ' - \'<Esc><Esc>:call C_Comment_C_SectionAll("cpp")<CR>' - " - " - "----- Submenu : H-Comments : file sections ------------------------------------------------------------- - " - exe "amenu ".s:C_Root.'&Comments.&H-file\ sections.H-file\ sections<Tab>C\/C\+\+ <Esc>' - exe "amenu ".s:C_Root.'&Comments.&H-file\ sections.-Sep0- :' - "' - exe "amenu ".s:C_Root.'&Comments.&H-file\ sections.&Header\ File\ Includes <Esc><Esc>:call C_InsertTemplate("comment.file-section-hpp-header-includes")<CR>' - exe "amenu ".s:C_Root.'&Comments.&H-file\ sections.Exported\ &Macros <Esc><Esc>:call C_InsertTemplate("comment.file-section-hpp-macros")<CR>' - exe "amenu ".s:C_Root.'&Comments.&H-file\ sections.Exported\ &Type\ Def\. <Esc><Esc>:call C_InsertTemplate("comment.file-section-hpp-exported-typedefs")<CR>' - exe "amenu ".s:C_Root.'&Comments.&H-file\ sections.Exported\ &Data\ Types <Esc><Esc>:call C_InsertTemplate("comment.file-section-hpp-exported-data-types")<CR>' - exe "amenu ".s:C_Root.'&Comments.&H-file\ sections.Exported\ &Variables <Esc><Esc>:call C_InsertTemplate("comment.file-section-hpp-exported-class-defs")<CR>' - exe "amenu ".s:C_Root.'&Comments.&H-file\ sections.Exported\ &Funct\.\ Decl\. <Esc><Esc>:call C_InsertTemplate("comment.file-section-hpp-exported-variables")<CR>' - exe "amenu ".s:C_Root.'&Comments.&H-file\ sections.-SEP4- :' - exe "amenu ".s:C_Root.'&Comments.&H-file\ sections.E&xported\ Class\ Def\. <Esc><Esc>:call C_InsertTemplate("comment.file-section-hpp-exported-function-declarations")<CR>' - - exe "amenu ".s:C_Root.'&Comments.&H-file\ sections.-SEP5- :' - exe "amenu ".s:C_Root.'&Comments.&H-file\ sections.&All\ sections,\ C ' - \'<Esc><Esc>:call C_Comment_H_SectionAll("c")<CR>' - exe "amenu ".s:C_Root.'&Comments.&H-file\ sections.All\ §ions,\ C++ ' - \'<Esc><Esc>:call C_Comment_H_SectionAll("cpp")<CR>' - " - exe "amenu ".s:C_Root.'&Comments.-SEP8- :' - " - "----- Submenu : C-Comments : keyword comments ---------------------------------------------------------- - " - exe "amenu ".s:C_Root.'&Comments.&KEYWORD+comm\..keyw\.+comm\.<Tab>C\/C\+\+ <Esc>' - exe "amenu ".s:C_Root.'&Comments.&KEYWORD+comm\..-Sep0- :' -" - exe "amenu ".s:C_Root.'&Comments.&KEYWORD+comm\..\:&BUG\: <Esc><Esc>$<Esc>:call C_InsertTemplate("comment.keyword-bug")<CR>' - exe "amenu ".s:C_Root.'&Comments.&KEYWORD+comm\..\:&COMPILER\: <Esc><Esc>$<Esc>:call C_InsertTemplate("comment.keyword-compiler")<CR>' - exe "amenu ".s:C_Root.'&Comments.&KEYWORD+comm\..\:&TODO\: <Esc><Esc>$<Esc>:call C_InsertTemplate("comment.keyword-todo")<CR>' - exe "amenu ".s:C_Root.'&Comments.&KEYWORD+comm\..\:T&RICKY\: <Esc><Esc>$<Esc>:call C_InsertTemplate("comment.keyword-tricky")<CR>' - exe "amenu ".s:C_Root.'&Comments.&KEYWORD+comm\..\:&WARNING\: <Esc><Esc>$<Esc>:call C_InsertTemplate("comment.keyword-warning")<CR>' - exe "amenu ".s:C_Root.'&Comments.&KEYWORD+comm\..\:W&ORKAROUND\: <Esc><Esc>$<Esc>:call C_InsertTemplate("comment.keyword-workaround")<CR>' - exe "amenu ".s:C_Root.'&Comments.&KEYWORD+comm\..\:&new\ keyword\: <Esc><Esc>$<Esc>:call C_InsertTemplate("comment.keyword-keyword")<CR>' - " - "----- Submenu : C-Comments : special comments ---------------------------------------------------------- - " - exe "amenu ".s:C_Root.'&Comments.&special\ comm\..special\ comm\.<Tab>C\/C\+\+ <Esc>' - exe "amenu ".s:C_Root.'&Comments.&special\ comm\..-Sep0- :' - exe "amenu ".s:C_Root.'&Comments.&special\ comm\..&EMPTY <Esc><Esc>$<Esc>:call C_CommentSpecial("EMPTY") <CR>kgJA' - exe "amenu ".s:C_Root.'&Comments.&special\ comm\..&FALL\ THROUGH <Esc><Esc>$<Esc>:call C_CommentSpecial("FALL THROUGH") <CR>kgJA' - exe "amenu ".s:C_Root.'&Comments.&special\ comm\..&IMPL\.\ TYPE\ CONV <Esc><Esc>$<Esc>:call C_CommentSpecial("IMPLICIT TYPE CONVERSION") <CR>kgJA' - exe "amenu ".s:C_Root.'&Comments.&special\ comm\..&NO\ RETURN <Esc><Esc>$<Esc>:call C_CommentSpecial("NO RETURN") <CR>kgJA' - exe "amenu ".s:C_Root.'&Comments.&special\ comm\..NOT\ &REACHED <Esc><Esc>$<Esc>:call C_CommentSpecial("NOT REACHED") <CR>kgJA' - exe "amenu ".s:C_Root.'&Comments.&special\ comm\..&TO\ BE\ IMPL\. <Esc><Esc>$<Esc>:call C_CommentSpecial("REMAINS TO BE IMPLEMENTED")<CR>kgJA' - exe "amenu ".s:C_Root.'&Comments.&special\ comm\..-SEP81- :' - exe "amenu ".s:C_Root.'&Comments.&special\ comm\..constant\ type\ is\ &long\ (L) <Esc><Esc>$<Esc>:call C_CommentSpecial("constant type is long")<CR>kgJA' - exe "amenu ".s:C_Root.'&Comments.&special\ comm\..constant\ type\ is\ &unsigned\ (U) <Esc><Esc>$<Esc>:call C_CommentSpecial("constant type is unsigned")<CR>kgJA' - exe "amenu ".s:C_Root.'&Comments.&special\ comm\..constant\ type\ is\ unsigned\ l&ong\ (UL) <Esc><Esc>$<Esc>:call C_CommentSpecial("constant type is unsigned long")<CR>kgJA' - - " - "----- Submenu : C-Comments : Tags ---------------------------------------------------------- - " - exe "amenu ".s:C_Root.'&Comments.ta&gs\ (plugin).tags\ (plugin)<Tab>C\/C\+\+ <Esc>' - exe "amenu ".s:C_Root.'&Comments.ta&gs\ (plugin).-Sep0- :' - " - exe "amenu ".s:C_Root.'&Comments.ta&gs\ (plugin).&AUTHOR <Esc><Esc>:call C_InsertMacroValue("AUTHOR")<CR>' - exe "amenu ".s:C_Root.'&Comments.ta&gs\ (plugin).AUTHOR&REF <Esc><Esc>:call C_InsertMacroValue("AUTHORREF")<CR>' - exe "amenu ".s:C_Root.'&Comments.ta&gs\ (plugin).&COMPANY <Esc><Esc>:call C_InsertMacroValue("COMPANY")<CR>' - exe "amenu ".s:C_Root.'&Comments.ta&gs\ (plugin).C&OPYRIGHTHOLDER <Esc><Esc>:call C_InsertMacroValue("COPYRIGHTHOLDER")<CR>' - exe "amenu ".s:C_Root.'&Comments.ta&gs\ (plugin).&EMAIL <Esc><Esc>:call C_InsertMacroValue("EMAIL")<CR>' - exe "amenu ".s:C_Root.'&Comments.ta&gs\ (plugin).&PROJECT <Esc><Esc>:call C_InsertMacroValue("PROJECT")<CR>' - - exe "imenu ".s:C_Root.'&Comments.ta&gs\ (plugin).&AUTHOR <Esc><Esc>:call C_InsertMacroValue("AUTHOR")<CR>a' - exe "imenu ".s:C_Root.'&Comments.ta&gs\ (plugin).AUTHOR&REF <Esc><Esc>:call C_InsertMacroValue("AUTHORREF")<CR>a' - exe "imenu ".s:C_Root.'&Comments.ta&gs\ (plugin).&COMPANY <Esc><Esc>:call C_InsertMacroValue("COMPANY")<CR>a' - exe "imenu ".s:C_Root.'&Comments.ta&gs\ (plugin).C&OPYRIGHTHOLDER <Esc><Esc>:call C_InsertMacroValue("COPYRIGHTHOLDER")<CR>a' - exe "imenu ".s:C_Root.'&Comments.ta&gs\ (plugin).&EMAIL <Esc><Esc>:call C_InsertMacroValue("EMAIL")<CR>a' - exe "imenu ".s:C_Root.'&Comments.ta&gs\ (plugin).&PROJECT <Esc><Esc>:call C_InsertMacroValue("PROJECT")<CR>a' - " - " - exe "amenu ".s:C_Root.'&Comments.-SEP9- :' - " - exe " menu ".s:C_Root.'&Comments.&date a<C-R>=C_InsertDateAndTime("d")<CR>' - exe "imenu ".s:C_Root.'&Comments.&date <C-R>=C_InsertDateAndTime("d")<CR>' - exe " menu ".s:C_Root.'&Comments.date\ &time a<C-R>=C_InsertDateAndTime("dt")<CR>' - exe "imenu ".s:C_Root.'&Comments.date\ &time <C-R>=C_InsertDateAndTime("dt")<CR>' - - exe "amenu ".s:C_Root.'&Comments.-SEP12- :' - exe "amenu <silent> ".s:C_Root.'&Comments.\/\/\ xxx\ \ \ \ \ &->\ \ \/*\ xxx\ *\/ <Esc><Esc>:call C_CommentCppToC()<CR>' - exe "vmenu <silent> ".s:C_Root.'&Comments.\/\/\ xxx\ \ \ \ \ &->\ \ \/*\ xxx\ *\/ <Esc><Esc>:'."'<,'>".'call C_CommentCppToC()<CR>' - exe "amenu <silent> ".s:C_Root.'&Comments.\/*\ xxx\ *\/\ \ -&>\ \ \/\/\ xxx <Esc><Esc>:call C_CommentCToCpp()<CR>' - exe "vmenu <silent> ".s:C_Root.'&Comments.\/*\ xxx\ *\/\ \ -&>\ \ \/\/\ xxx <Esc><Esc>:'."'<,'>".'call C_CommentCToCpp()<CR>' - " - "=============================================================================================== - "----- Menu : C-Statements------------------------------------------------- {{{2 - "=============================================================================================== - " - if s:C_MenuHeader == 'yes' - exe "amenu ".s:C_Root.'&Statements.&Statements<Tab>C\/C\+\+ <Esc>' - exe "amenu ".s:C_Root.'&Statements.-Sep00- :' - endif - " - exe "amenu <silent>".s:C_Root.'&Statements.&do\ \{\ \}\ while <Esc><Esc>:call C_InsertTemplate("statements.do-while")<CR>' - exe "vmenu <silent>".s:C_Root.'&Statements.&do\ \{\ \}\ while <Esc><Esc>:call C_InsertTemplate("statements.do-while", "v")<CR>' - " - exe "amenu <silent>".s:C_Root.'&Statements.f&or <Esc><Esc>:call C_InsertTemplate("statements.for")<CR>' - " - exe "anoremenu <silent>".s:C_Root.'&Statements.fo&r\ \{\ \} <Esc><Esc>:call C_InsertTemplate("statements.for-block")<CR>' - exe "vnoremenu <silent>".s:C_Root.'&Statements.fo&r\ \{\ \} <Esc><Esc>:call C_InsertTemplate("statements.for-block", "v")<CR>' - " - exe "amenu <silent>".s:C_Root.'&Statements.&if <Esc><Esc>:call C_InsertTemplate("statements.if")<CR>' - " - exe "amenu <silent>".s:C_Root.'&Statements.i&f\ \{\ \} <Esc><Esc>:call C_InsertTemplate("statements.if-block")<CR>' - exe "vmenu <silent>".s:C_Root.'&Statements.i&f\ \{\ \} <Esc><Esc>:call C_InsertTemplate("statements.if-block", "v")<CR>' - - exe "amenu <silent>".s:C_Root.'&Statements.if\ &else <Esc><Esc>:call C_InsertTemplate("statements.if-else")<CR>' - exe "vmenu <silent>".s:C_Root.'&Statements.if\ &else <Esc><Esc>:call C_InsertTemplate("statements.if-else", "v")<CR>' - " - exe "amenu <silent>".s:C_Root.'&Statements.if\ \{\ \}\ e&lse\ \{\ \} <Esc><Esc>:call C_InsertTemplate("statements.if-block-else")<CR>' - exe "vmenu <silent>".s:C_Root.'&Statements.if\ \{\ \}\ e&lse\ \{\ \} <Esc><Esc>:call C_InsertTemplate("statements.if-block-else", "v")<CR>' - " - exe "amenu <silent>".s:C_Root.'&Statements.&while <Esc><Esc>:call C_InsertTemplate("statements.while")<CR>' - " - exe "amenu <silent>".s:C_Root.'&Statements.w&hile\ \{\ \} <Esc><Esc>:call C_InsertTemplate("statements.while-block")<CR>' - exe "vmenu <silent>".s:C_Root.'&Statements.w&hile\ \{\ \} <Esc><Esc>:call C_InsertTemplate("statements.while-block", "v")<CR>' - " - exe "amenu <silent>".s:C_Root.'&Statements.&switch\ \{\ \} <Esc><Esc>:call C_InsertTemplate("statements.switch")<CR>' - exe "vmenu <silent>".s:C_Root.'&Statements.&switch\ \{\ \} <Esc><Esc>:call C_InsertTemplate("statements.switch", "v")<CR>' - " - exe "amenu ".s:C_Root.'&Statements.&case\ \.\.\.\ break <<Esc><Esc>:call C_InsertTemplate("statements.case")<CR>' - " - " - exe "amenu <silent>".s:C_Root.'&Statements.&\{\ \} <Esc><Esc>:call C_InsertTemplate("statements.block")<CR>' - exe "vmenu <silent>".s:C_Root.'&Statements.&\{\ \} <Esc><Esc>:call C_InsertTemplate("statements.block", "v")<CR>' - " - " - "=============================================================================================== - "----- Menu : C-Idioms ---------------------------------------------------- {{{2 - "=============================================================================================== - " - if s:C_MenuHeader == 'yes' - exe "amenu ".s:C_Root.'&Idioms.&Idioms<Tab>C\/C\+\+ <Esc>' - exe "amenu ".s:C_Root.'&Idioms.-Sep00- :' - endif - exe "amenu <silent> ".s:C_Root.'&Idioms.&function <Esc><Esc>:call C_InsertTemplate("idioms.function")<CR>' - exe "vmenu <silent> ".s:C_Root.'&Idioms.&function <Esc><Esc>:call C_InsertTemplate("idioms.function", "v")<CR>' - exe "amenu <silent> ".s:C_Root.'&Idioms.s&tatic\ function <Esc><Esc>:call C_InsertTemplate("idioms.function-static")<CR>' - exe "vmenu <silent> ".s:C_Root.'&Idioms.s&tatic\ function <Esc><Esc>:call C_InsertTemplate("idioms.function-static", "v")<CR>' - exe "amenu <silent> ".s:C_Root.'&Idioms.&main <Esc><Esc>:call C_InsertTemplate("idioms.main")<CR>' - exe "vmenu <silent> ".s:C_Root.'&Idioms.&main <Esc><Esc>:call C_InsertTemplate("idioms.main", "v")<CR>' - - exe "amenu ".s:C_Root.'&Idioms.-SEP1- :' - exe "amenu ".s:C_Root.'&Idioms.for(x=&0;\ x<n;\ x\+=1) <Esc><Esc>:call C_CodeFor("up" , "a")<CR>a' - exe "amenu ".s:C_Root.'&Idioms.for(x=&n-1;\ x>=0;\ x\-=1) <Esc><Esc>:call C_CodeFor("down", "a")<CR>a' - exe "vmenu ".s:C_Root.'&Idioms.for(x=&0;\ x<n;\ x\+=1) <Esc><Esc>:call C_CodeFor("up" , "v")<CR>' - exe "vmenu ".s:C_Root.'&Idioms.for(x=&n-1;\ x>=0;\ x\-=1) <Esc><Esc>:call C_CodeFor("down", "v")<CR>' - - exe "amenu ".s:C_Root.'&Idioms.-SEP2- :' - exe "amenu <silent> ".s:C_Root.'&Idioms.&enum\+typedef <Esc><Esc>:call C_InsertTemplate("idioms.enum")<CR>' - exe "amenu <silent> ".s:C_Root.'&Idioms.&struct\+typedef <Esc><Esc>:call C_InsertTemplate("idioms.struct")<CR>' - exe "amenu <silent> ".s:C_Root.'&Idioms.&union\+typedef <Esc><Esc>:call C_InsertTemplate("idioms.union")<CR>' - exe "vmenu <silent> ".s:C_Root.'&Idioms.&enum\+typedef <Esc><Esc>:call C_InsertTemplate("idioms.enum" , "v")<CR>' - exe "vmenu <silent> ".s:C_Root.'&Idioms.&struct\+typedef <Esc><Esc>:call C_InsertTemplate("idioms.struct", "v")<CR>' - exe "vmenu <silent> ".s:C_Root.'&Idioms.&union\+typedef <Esc><Esc>:call C_InsertTemplate("idioms.union" , "v")<CR>' - exe "amenu ".s:C_Root.'&Idioms.-SEP3- :' - " - exe " noremenu ".s:C_Root.'&Idioms.&printf <Esc><Esc>oprintf("\n");<Esc>2F"a' - exe "inoremenu ".s:C_Root.'&Idioms.&printf printf("\n");<Esc>2F"a' - - exe " noremenu ".s:C_Root.'&Idioms.s&canf <Esc><Esc>oscanf("", & );<Esc>F"i' - exe "inoremenu ".s:C_Root.'&Idioms.s&canf scanf("", & );<Esc>F"i' - " - exe "amenu ".s:C_Root.'&Idioms.-SEP4- :' - exe "amenu <silent> ".s:C_Root.'&Idioms.p=ca&lloc\(n,sizeof(type)\) <Esc><Esc>:call C_InsertTemplate("idioms.calloc")<CR>' - exe "amenu <silent> ".s:C_Root.'&Idioms.p=m&alloc\(sizeof(type)\) <Esc><Esc>:call C_InsertTemplate("idioms.malloc")<CR>' - " - exe "anoremenu <silent> ".s:C_Root.'&Idioms.si&zeof(\ \) isizeof()<Left>' - exe "inoremenu <silent> ".s:C_Root.'&Idioms.si&zeof(\ \) sizeof()<Left>' - exe "vnoremenu <silent> ".s:C_Root.'&Idioms.si&zeof(\ \) ssizeof()<Esc>P' - " - exe "anoremenu <silent> ".s:C_Root.'&Idioms.asse&rt(\ \) oassert();<Left><Left>' - exe "vnoremenu <silent> ".s:C_Root.'&Idioms.asse&rt(\ \) sassert();<Esc>F(p' - exe "amenu ".s:C_Root.'&Idioms.-SEP5- :' - exe "amenu <silent> ".s:C_Root.'&Idioms.open\ &input\ file <Esc><Esc>:call C_InsertTemplate("idioms.open-input-file")<CR>' - exe "amenu <silent> ".s:C_Root.'&Idioms.open\ &output\ file <Esc><Esc>:call C_InsertTemplate("idioms.open-output-file")<CR>' - exe "amenu <silent> ".s:C_Root.'&Idioms.fscanf <Esc><Esc>:call C_InsertTemplate("idioms.fscanf")<CR>' - exe "amenu <silent> ".s:C_Root.'&Idioms.fprintf <Esc><Esc>:call C_InsertTemplate("idioms.fprintf")<CR>' - " - "=============================================================================================== - "----- Menu : C-Preprocessor ---------------------------------------------- {{{2 - "=============================================================================================== - " - if s:C_MenuHeader == 'yes' - exe "amenu ".s:C_Root.'&Preprocessor.&Preprocessor<Tab>C\/C\+\+ <Esc>' - exe "amenu ".s:C_Root.'&Preprocessor.-Sep00- :' - endif - " - "----- Submenu : C-Idioms: standard library ------------------------------------------------------- - "' - exe "amenu ".s:C_Root.'&Preprocessor.#include\ &Std\.Lib\..Std\.Lib\.<Tab>C\/C\+\+ <Esc>' - exe "amenu ".s:C_Root.'&Preprocessor.#include\ &Std\.Lib\..-Sep0- :' - " - exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ &Std\.Lib\..&assert\.h <Esc><Esc>o#include<Tab><assert.h>' - exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ &Std\.Lib\..&ctype\.h <Esc><Esc>o#include<Tab><ctype.h>' - exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ &Std\.Lib\..&errno\.h <Esc><Esc>o#include<Tab><errno.h>' - exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ &Std\.Lib\..&float\.h <Esc><Esc>o#include<Tab><float.h>' - exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ &Std\.Lib\..&limits\.h <Esc><Esc>o#include<Tab><limits.h>' - exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ &Std\.Lib\..l&ocale\.h <Esc><Esc>o#include<Tab><locale.h>' - exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ &Std\.Lib\..&math\.h <Esc><Esc>o#include<Tab><math.h>' - exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ &Std\.Lib\..set&jmp\.h <Esc><Esc>o#include<Tab><setjmp.h>' - exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ &Std\.Lib\..s&ignal\.h <Esc><Esc>o#include<Tab><signal.h>' - exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ &Std\.Lib\..stdar&g\.h <Esc><Esc>o#include<Tab><stdarg.h>' - exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ &Std\.Lib\..st&ddef\.h <Esc><Esc>o#include<Tab><stddef.h>' - exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ &Std\.Lib\..&stdio\.h <Esc><Esc>o#include<Tab><stdio.h>' - exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ &Std\.Lib\..stdli&b\.h <Esc><Esc>o#include<Tab><stdlib.h>' - exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ &Std\.Lib\..st&ring\.h <Esc><Esc>o#include<Tab><string.h>' - exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ &Std\.Lib\..&time\.h <Esc><Esc>o#include<Tab><time.h>' - " - exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ C&99.C99<Tab>C\/C\+\+ <Esc>' - exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ C&99.-Sep0- :' - exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ C&99.&complex\.h <Esc><Esc>o#include<Tab><complex.h>' - exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ C&99.&fenv\.h <Esc><Esc>o#include<Tab><fenv.h>' - exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ C&99.&inttypes\.h <Esc><Esc>o#include<Tab><inttypes.h>' - exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ C&99.is&o646\.h <Esc><Esc>o#include<Tab><iso646.h>' - exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ C&99.&stdbool\.h <Esc><Esc>o#include<Tab><stdbool.h>' - exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ C&99.s&tdint\.h <Esc><Esc>o#include<Tab><stdint.h>' - exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ C&99.tg&math\.h <Esc><Esc>o#include<Tab><tgmath.h>' - exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ C&99.&wchar\.h <Esc><Esc>o#include<Tab><wchar.h>' - exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ C&99.wct&ype\.h <Esc><Esc>o#include<Tab><wctype.h>' - " - exe "amenu ".s:C_Root.'&Preprocessor.-SEP2- :' - exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ &\<\.\.\.\> <Esc><Esc>o#include<Tab><><Left>' - exe "anoremenu ".s:C_Root.'&Preprocessor.#include\ &\"\.\.\.\" <Esc><Esc>o#include<Tab>""<Left>' - exe "amenu ".s:C_Root.'&Preprocessor.#&define <Esc><Esc>:call C_InsertTemplate("preprocessor.define")<CR>' - exe "amenu ".s:C_Root.'&Preprocessor.&#undef <Esc><Esc>:call C_InsertTemplate("preprocessor.undefine")<CR>' - " - exe "amenu ".s:C_Root.'&Preprocessor.#&if\ #else\ #endif <Esc><Esc>:call C_InsertTemplate("preprocessor.if-else-endif")<CR>' - exe "amenu ".s:C_Root.'&Preprocessor.#i&fdef\ #else\ #endif <Esc><Esc>:call C_InsertTemplate("preprocessor.ifdef-else-endif")<CR>' - exe "amenu ".s:C_Root.'&Preprocessor.#if&ndef\ #else\ #endif <Esc><Esc>:call C_InsertTemplate("preprocessor.ifndef-else-endif")<CR>' - exe "amenu ".s:C_Root.'&Preprocessor.#ifnd&ef\ #def\ #endif <Esc><Esc>:call C_InsertTemplate("preprocessor.ifndef-def-endif")<CR>' - exe "amenu ".s:C_Root.'&Preprocessor.#if\ &0\ #endif <Esc><Esc>:call C_PPIf0("a")<CR>2ji' - " - exe "vmenu ".s:C_Root.'&Preprocessor.#&if\ #else\ #endif <Esc><Esc>:call C_InsertTemplate("preprocessor.if-else-endif", "v")<CR>' - exe "vmenu ".s:C_Root.'&Preprocessor.#i&fdef\ #else\ #endif <Esc><Esc>:call C_InsertTemplate("preprocessor.ifdef-else-endif", "v")<CR>' - exe "vmenu ".s:C_Root.'&Preprocessor.#if&ndef\ #else\ #endif <Esc><Esc>:call C_InsertTemplate("preprocessor.ifndef-else-endif", "v")<CR>' - exe "vmenu ".s:C_Root.'&Preprocessor.#ifnd&ef\ #def\ #endif <Esc><Esc>:call C_InsertTemplate("preprocessor.ifndef-def-endif", "v")<CR>' - exe "vmenu ".s:C_Root.'&Preprocessor.#if\ &0\ #endif <Esc><Esc>:call C_PPIf0("v")<CR>' - " - exe "amenu <silent> ".s:C_Root.'&Preprocessor.&remove\ #if\ 0\ #endif <Esc><Esc>:call C_PPIf0Remove()<CR>' - " - "=============================================================================================== - "----- Menu : Snippets ---------------------------------------------------- {{{2 - "=============================================================================================== - " - if s:C_MenuHeader == 'yes' - exe "amenu ".s:C_Root.'S&nippets.S&nippets<Tab>C\/C\+\+ <Esc>' - exe "amenu ".s:C_Root.'S&nippets.-Sep00- :' - endif - if s:C_CodeSnippets != "" - exe "amenu <silent> ".s:C_Root.'S&nippets.&read\ code\ snippet <C-C>:call C_CodeSnippet("r")<CR>' - exe "amenu <silent> ".s:C_Root.'S&nippets.&write\ code\ snippet <C-C>:call C_CodeSnippet("w")<CR>' - exe "vmenu <silent> ".s:C_Root.'S&nippets.&write\ code\ snippet <C-C>:call C_CodeSnippet("wv")<CR>' - exe "amenu <silent> ".s:C_Root.'S&nippets.&edit\ code\ snippet <C-C>:call C_CodeSnippet("e")<CR>' - exe " menu <silent> ".s:C_Root.'S&nippets.-SEP1- :' - endif - exe " menu <silent> ".s:C_Root.'S&nippets.&pick\ up\ prototype <C-C>:call C_ProtoPick("n")<CR>' - exe "vmenu <silent> ".s:C_Root.'S&nippets.&pick\ up\ prototype <C-C>:call C_ProtoPick("v")<CR>' - exe " menu <silent> ".s:C_Root.'S&nippets.&insert\ prototype(s) <C-C>:call C_ProtoInsert()<CR>' - exe " menu <silent> ".s:C_Root.'S&nippets.&clear\ prototype(s) <C-C>:call C_ProtoClear()<CR>' - exe " menu <silent> ".s:C_Root.'S&nippets.&show\ prototype(s) <C-C>:call C_ProtoShow()<CR>' - - " - "=============================================================================================== - "----- Menu : C++ --------------------------------------------------------- {{{2 - "=============================================================================================== - " - if s:C_MenuHeader == 'yes' - exe "amenu ".s:C_Root.'C&++.C&\+\+<Tab>C\/C\+\+ <Esc>' - exe "amenu ".s:C_Root.'C&++.-Sep00- :' - endif - exe " noremenu ".s:C_Root.'C&++.c&in <Esc><Esc>ocin<Tab>>> ;<Esc>i' - exe " noremenu ".s:C_Root.'C&++.cout\ &variable <Esc><Esc>ocout<Tab><< << endl;<Esc>2F<hi' - exe " noremenu ".s:C_Root.'C&++.cout\ &string <Esc><Esc>ocout<Tab><< "\n";<Esc>2F"a' - exe " noremenu ".s:C_Root.'C&++.<<\ &\"\" i<< "" <Left><Left>' - " - exe "inoremenu ".s:C_Root.'C&++.c&in cin<Tab>>> ;<Esc>i' - exe "inoremenu ".s:C_Root.'C&++.cout\ &variable cout<Tab><< << endl;<Esc>2F<hi' - exe "inoremenu ".s:C_Root.'C&++.cout\ &string cout<Tab><< "\n";<Esc>2F"a' - exe "inoremenu ".s:C_Root.'C&++.<<\ &\"\" << "" <Left><Left>' - " - "----- Submenu : C++ : output manipulators ------------------------------------------------------- - " - exe "amenu ".s:C_Root.'C&++.&output\ manipulators.output\ manip\.<Tab>C\/C\+\+ <Esc>' - exe "amenu ".s:C_Root.'C&++.&output\ manipulators.-Sep0- :' - " - exe " noremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ &boolalpha i<< boolalpha<Space>' - exe " noremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ &dec i<< dec<Space>' - exe " noremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ &endl i<< endl<Space>' - exe " noremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ &fixed i<< fixed<Space>' - exe " noremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ fl&ush i<< flush<Space>' - exe " noremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ &hex i<< hex<Space>' - exe " noremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ &internal i<< internal<Space>' - exe " noremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ &left i<< left<Space>' - exe " noremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ &oct i<< oct<Space>' - exe " noremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ &right i<< right<Space>' - exe " noremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ s&cientific i<< scientific<Space>' - exe " noremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ &setbase\(\ \) i<< setbase(10) <Left><Left>' - exe " noremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ se&tfill\(\ \) i<< setfill() <Left><Left>' - exe " noremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ setiosfla&g\(\ \) i<< setiosflags() <Left><Left>' - exe " noremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ set&precision\(\ \) i<< setprecision(6) <Left><Left>' - exe " noremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ set&w\(\ \) i<< setw(0) <Left><Left>' - exe " noremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ showb&ase i<< showbase<Space>' - exe " noremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ showpoi&nt i<< showpoint<Space>' - exe " noremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ showpos\ \(&1\) i<< showpos<Space>' - exe " noremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ uppercase\ \(&2\) i<< uppercase<Space>' - " - exe "inoremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ &boolalpha << boolalpha<Space>' - exe "inoremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ &dec << dec<Space>' - exe "inoremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ &endl << endl<Space>' - exe "inoremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ &fixed << fixed<Space>' - exe "inoremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ fl&ush << flush<Space>' - exe "inoremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ &hex << hex<Space>' - exe "inoremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ &internal << internal<Space>' - exe "inoremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ &left << left<Space>' - exe "inoremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ o&ct << oct<Space>' - exe "inoremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ &right << right<Space>' - exe "inoremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ s&cientific << scientific<Space>' - exe "inoremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ &setbase\(\ \) << setbase(10) <Left><Left>' - exe "inoremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ se&tfill\(\ \) << setfill() <Left><Left>' - exe "inoremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ setiosfla&g\(\ \) << setiosflags() <Left><Left>' - exe "inoremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ set&precision\(\ \) << setprecision(6) <Left><Left>' - exe "inoremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ set&w\(\ \) << setw(0) <Left><Left>' - exe "inoremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ showb&ase << showbase<Space>' - exe "inoremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ showpoi&nt << showpoint<Space>' - exe "inoremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ showpos\ \(&1\) << showpos<Space>' - exe "inoremenu ".s:C_Root.'C&++.&output\ manipulators.\<\<\ uppercase\ \(&2\) << uppercase<Space>' - " - "----- Submenu : C++ : ios flag bits ------------------------------------------------------------- - " - exe "amenu ".s:C_Root.'C&++.ios\ flag&bits.ios\ flags<Tab>C\/C\+\+ <Esc>' - exe "amenu ".s:C_Root.'C&++.ios\ flag&bits.-Sep0- :' - " - exe " noremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::&adjustfield iios::adjustfield' - exe " noremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::bas&efield iios::basefield' - exe " noremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::&boolalpha iios::boolalpha' - exe " noremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::&dec iios::dec' - exe " noremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::&fixed iios::fixed' - exe " noremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::floa&tfield iios::floatfield' - exe " noremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::&hex iios::hex' - exe " noremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::&internal iios::internal' - exe " noremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::&left iios::left' - exe " noremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::&oct iios::oct' - exe " noremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::&right iios::right' - exe " noremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::s&cientific iios::scientific' - exe " noremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::sho&wbase iios::showbase' - exe " noremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::showpoint\ \(&1\) iios::showpoint' - exe " noremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::show&pos iios::showpos' - exe " noremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::&skipws iios::skipws' - exe " noremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::u&nitbuf iios::unitbuf' - exe " noremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::&uppercase iios::uppercase' - " - exe "inoremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::&adjustfield ios::adjustfield' - exe "inoremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::bas&efield ios::basefield' - exe "inoremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::&boolalpha ios::boolalpha' - exe "inoremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::&dec ios::dec' - exe "inoremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::&fixed ios::fixed' - exe "inoremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::floa&tfield ios::floatfield' - exe "inoremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::&hex ios::hex' - exe "inoremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::&internal ios::internal' - exe "inoremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::&left ios::left' - exe "inoremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::&oct ios::oct' - exe "inoremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::&right ios::right' - exe "inoremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::s&cientific ios::scientific' - exe "inoremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::sho&wbase ios::showbase' - exe "inoremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::showpoint\ \(&1\) ios::showpoint' - exe "inoremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::show&pos ios::showpos' - exe "inoremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::&skipws ios::skipws' - exe "inoremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::u&nitbuf ios::unitbuf' - exe "inoremenu ".s:C_Root.'C&++.ios\ flag&bits.ios::&uppercase ios::uppercase' - " - "----- Submenu : C++ library (algorithm - locale) ---------------------------------------------- - " - exe "amenu ".s:C_Root.'C&++.#include\ <alg\.\.loc>\ \(&1\).alg\.\.loc<Tab>C\/C\+\+ <Esc>' - exe "amenu ".s:C_Root.'C&++.#include\ <alg\.\.loc>\ \(&1\).-Sep0- :' - " - exe "anoremenu ".s:C_Root.'C&++.#include\ <alg\.\.loc>\ \(&1\).&algorithm <Esc><Esc>o#include<Tab><algorithm>' - exe "anoremenu ".s:C_Root.'C&++.#include\ <alg\.\.loc>\ \(&1\).&bitset <Esc><Esc>o#include<Tab><bitset>' - exe "anoremenu ".s:C_Root.'C&++.#include\ <alg\.\.loc>\ \(&1\).&complex <Esc><Esc>o#include<Tab><complex>' - exe "anoremenu ".s:C_Root.'C&++.#include\ <alg\.\.loc>\ \(&1\).&deque <Esc><Esc>o#include<Tab><deque>' - exe "anoremenu ".s:C_Root.'C&++.#include\ <alg\.\.loc>\ \(&1\).&exception <Esc><Esc>o#include<Tab><exception>' - exe "anoremenu ".s:C_Root.'C&++.#include\ <alg\.\.loc>\ \(&1\).&fstream <Esc><Esc>o#include<Tab><fstream>' - exe "anoremenu ".s:C_Root.'C&++.#include\ <alg\.\.loc>\ \(&1\).f&unctional <Esc><Esc>o#include<Tab><functional>' - exe "anoremenu ".s:C_Root.'C&++.#include\ <alg\.\.loc>\ \(&1\).iomani&p <Esc><Esc>o#include<Tab><iomanip>' - exe "anoremenu ".s:C_Root.'C&++.#include\ <alg\.\.loc>\ \(&1\).&ios <Esc><Esc>o#include<Tab><ios>' - exe "anoremenu ".s:C_Root.'C&++.#include\ <alg\.\.loc>\ \(&1\).iosf&wd <Esc><Esc>o#include<Tab><iosfwd>' - exe "anoremenu ".s:C_Root.'C&++.#include\ <alg\.\.loc>\ \(&1\).io&stream <Esc><Esc>o#include<Tab><iostream>' - exe "anoremenu ".s:C_Root.'C&++.#include\ <alg\.\.loc>\ \(&1\).istrea&m <Esc><Esc>o#include<Tab><istream>' - exe "anoremenu ".s:C_Root.'C&++.#include\ <alg\.\.loc>\ \(&1\).iterato&r <Esc><Esc>o#include<Tab><iterator>' - exe "anoremenu ".s:C_Root.'C&++.#include\ <alg\.\.loc>\ \(&1\).&limits <Esc><Esc>o#include<Tab><limits>' - exe "anoremenu ".s:C_Root.'C&++.#include\ <alg\.\.loc>\ \(&1\).lis&t <Esc><Esc>o#include<Tab><list>' - exe "anoremenu ".s:C_Root.'C&++.#include\ <alg\.\.loc>\ \(&1\).l&ocale <Esc><Esc>o#include<Tab><locale>' - " - "----- Submenu : C++ library (map - vector) ---------------------------------------------------- - " - exe "amenu ".s:C_Root.'C&++.#include\ <map\.\.vec>\ \(&2\).map\.\.vec<Tab>C\/C\+\+ <Esc>' - exe "amenu ".s:C_Root.'C&++.#include\ <map\.\.vec>\ \(&2\).-Sep0- :' - - exe "anoremenu ".s:C_Root.'C&++.#include\ <map\.\.vec>\ \(&2\).&map <Esc><Esc>o#include<Tab><map>' - exe "anoremenu ".s:C_Root.'C&++.#include\ <map\.\.vec>\ \(&2\).memor&y <Esc><Esc>o#include<Tab><memory>' - exe "anoremenu ".s:C_Root.'C&++.#include\ <map\.\.vec>\ \(&2\).&new <Esc><Esc>o#include<Tab><new>' - exe "anoremenu ".s:C_Root.'C&++.#include\ <map\.\.vec>\ \(&2\).numeri&c <Esc><Esc>o#include<Tab><numeric>' - exe "anoremenu ".s:C_Root.'C&++.#include\ <map\.\.vec>\ \(&2\).&ostream <Esc><Esc>o#include<Tab><ostream>' - exe "anoremenu ".s:C_Root.'C&++.#include\ <map\.\.vec>\ \(&2\).&queue <Esc><Esc>o#include<Tab><queue>' - exe "anoremenu ".s:C_Root.'C&++.#include\ <map\.\.vec>\ \(&2\).&set <Esc><Esc>o#include<Tab><set>' - exe "anoremenu ".s:C_Root.'C&++.#include\ <map\.\.vec>\ \(&2\).sst&ream <Esc><Esc>o#include<Tab><sstream>' - exe "anoremenu ".s:C_Root.'C&++.#include\ <map\.\.vec>\ \(&2\).st&ack <Esc><Esc>o#include<Tab><stack>' - exe "anoremenu ".s:C_Root.'C&++.#include\ <map\.\.vec>\ \(&2\).stde&xcept <Esc><Esc>o#include<Tab><stdexcept>' - exe "anoremenu ".s:C_Root.'C&++.#include\ <map\.\.vec>\ \(&2\).stream&buf <Esc><Esc>o#include<Tab><streambuf>' - exe "anoremenu ".s:C_Root.'C&++.#include\ <map\.\.vec>\ \(&2\).str&ing <Esc><Esc>o#include<Tab><string>' - exe "anoremenu ".s:C_Root.'C&++.#include\ <map\.\.vec>\ \(&2\).&typeinfo <Esc><Esc>o#include<Tab><typeinfo>' - exe "anoremenu ".s:C_Root.'C&++.#include\ <map\.\.vec>\ \(&2\).&utility <Esc><Esc>o#include<Tab><utility>' - exe "anoremenu ".s:C_Root.'C&++.#include\ <map\.\.vec>\ \(&2\).&valarray <Esc><Esc>o#include<Tab><valarray>' - exe "anoremenu ".s:C_Root.'C&++.#include\ <map\.\.vec>\ \(&2\).v&ector <Esc><Esc>o#include<Tab><vector>' - " - "----- Submenu : C library (cassert - ctime) ------------------------------------------------- - " - exe "amenu ".s:C_Root.'C&++.#include\ <cX>\ \(&3\).cX<Tab>C\/C\+\+ <Esc>' - exe "amenu ".s:C_Root.'C&++.#include\ <cX>\ \(&3\).-Sep0- :' - " - exe "anoremenu ".s:C_Root.'C&++.#include\ <cX>\ \(&3\).c&assert <Esc><Esc>o#include<Tab><cassert>' - exe "anoremenu ".s:C_Root.'C&++.#include\ <cX>\ \(&3\).c&ctype <Esc><Esc>o#include<Tab><cctype>' - exe "anoremenu ".s:C_Root.'C&++.#include\ <cX>\ \(&3\).c&errno <Esc><Esc>o#include<Tab><cerrno>' - exe "anoremenu ".s:C_Root.'C&++.#include\ <cX>\ \(&3\).c&float <Esc><Esc>o#include<Tab><cfloat>' - exe "anoremenu ".s:C_Root.'C&++.#include\ <cX>\ \(&3\).c&limits <Esc><Esc>o#include<Tab><climits>' - exe "anoremenu ".s:C_Root.'C&++.#include\ <cX>\ \(&3\).cl&ocale <Esc><Esc>o#include<Tab><clocale>' - exe "anoremenu ".s:C_Root.'C&++.#include\ <cX>\ \(&3\).c&math <Esc><Esc>o#include<Tab><cmath>' - exe "anoremenu ".s:C_Root.'C&++.#include\ <cX>\ \(&3\).cset&jmp <Esc><Esc>o#include<Tab><csetjmp>' - exe "anoremenu ".s:C_Root.'C&++.#include\ <cX>\ \(&3\).cs&ignal <Esc><Esc>o#include<Tab><csignal>' - exe "anoremenu ".s:C_Root.'C&++.#include\ <cX>\ \(&3\).cstdar&g <Esc><Esc>o#include<Tab><cstdarg>' - exe "anoremenu ".s:C_Root.'C&++.#include\ <cX>\ \(&3\).cst&ddef <Esc><Esc>o#include<Tab><cstddef>' - exe "anoremenu ".s:C_Root.'C&++.#include\ <cX>\ \(&3\).c&stdio <Esc><Esc>o#include<Tab><cstdio>' - exe "anoremenu ".s:C_Root.'C&++.#include\ <cX>\ \(&3\).cstdli&b <Esc><Esc>o#include<Tab><cstdlib>' - exe "anoremenu ".s:C_Root.'C&++.#include\ <cX>\ \(&3\).cst&ring <Esc><Esc>o#include<Tab><cstring>' - exe "anoremenu ".s:C_Root.'C&++.#include\ <cX>\ \(&3\).c&time <Esc><Esc>o#include<Tab><ctime>' - " - "----- End Submenu : C library (cassert - ctime) --------------------------------------------- - " - exe "amenu <silent> ".s:C_Root.'C&++.-SEP2- :' - exe "amenu <silent> ".s:C_Root.'C&++.&method\ implement\. <Esc><Esc>:call C_InsertTemplate("cpp.method-implementation")<CR>' - - exe "amenu <silent> ".s:C_Root.'C&++.&class <Esc><Esc>:call C_InsertTemplate("cpp.class")<CR>' - exe "amenu <silent> ".s:C_Root.'C&++.class\ (w\.\ &new) <Esc><Esc>:call C_InsertTemplate("cpp.class-using-new")<CR>' - exe "amenu <silent> ".s:C_Root.'C&++.-SEP3- :' - exe "amenu <silent> ".s:C_Root.'C&++.tem&pl\.\ method\ impl\. <Esc><Esc>:call C_InsertTemplate("cpp.template-method-implementation")<CR>' - exe "amenu <silent> ".s:C_Root.'C&++.&templ\.\ class <Esc><Esc>:call C_InsertTemplate("cpp.template-class")<CR>' - exe "amenu <silent> ".s:C_Root.'C&++.templ\.\ class\ (w\.\ ne&w) <Esc><Esc>:call C_InsertTemplate("cpp.template-class-using-new")<CR>' - - exe "amenu <silent> ".s:C_Root.'C&++.-SEP31- :' - exe "amenu <silent> ".s:C_Root.'C&++.templ\.\ &function <Esc><Esc>:call C_InsertTemplate("cpp.template-function")<CR>' - exe "amenu <silent> ".s:C_Root.'C&++.&error\ class <Esc><Esc>:call C_InsertTemplate("cpp.error-class")<CR>' - exe "amenu <silent> ".s:C_Root.'C&++.-SEP4- :' - exe "amenu <silent> ".s:C_Root.'C&++.operator\ &<< <Esc><Esc>:call C_InsertTemplate("cpp.operator-in")<CR>' - exe "amenu <silent> ".s:C_Root.'C&++.operator\ &>> <Esc><Esc>:call C_InsertTemplate("cpp.operator-out")<CR>' - exe "amenu <silent> ".s:C_Root.'C&++.-SEP5- :' - exe "amenu <silent> ".s:C_Root.'C&++.tr&y\ \.\.\ catch <Esc><Esc>:call C_InsertTemplate("cpp.try-catch")<CR>' - exe "vmenu <silent> ".s:C_Root.'C&++.tr&y\ \.\.\ catch <Esc><Esc>:call C_InsertTemplate("cpp.try-catch", "v")<CR>' - exe "amenu <silent> ".s:C_Root.'C&++.catc&h <Esc><Esc>:call C_InsertTemplate("cpp.catch")<CR>' - exe "vmenu <silent> ".s:C_Root.'C&++.catc&h <Esc><Esc>:call C_InsertTemplate("cpp.catch", "v")<CR>' - - exe "amenu <silent> ".s:C_Root.'C&++.catch\(&\.\.\.\) <Esc><Esc>:call C_InsertTemplate("cpp.catch-points")<CR>' - exe "vmenu <silent> ".s:C_Root.'C&++.catch\(&\.\.\.\) <Esc><Esc>:call C_InsertTemplate("cpp.catch-points", "v")<CR>' - - exe "amenu <silent> ".s:C_Root.'C&++.-SEP6- :' - exe "amenu <silent> ".s:C_Root.'C&++.open\ input\ file\ \ \(&4\) <Esc><Esc>:call C_InsertTemplate("cpp.open-input-file")<CR>' - exe "amenu <silent> ".s:C_Root.'C&++.open\ output\ file\ \(&5\) <Esc><Esc>:call C_InsertTemplate("cpp.open-output-file")<CR>' - exe "amenu <silent> ".s:C_Root.'C&++.-SEP7- :' - - exe " menu <silent> ".s:C_Root.'C&++.&using\ namespace\ std; <Esc><Esc>ousing namespace std;<CR>' - exe " menu <silent> ".s:C_Root.'C&++.usin&g\ namespace\ ; <Esc><Esc>ousing namespace ;<Esc>$i' - exe "amenu <silent> ".s:C_Root.'C&++.namespace\ &\{\ \} <Esc><Esc>:call C_InsertTemplate("cpp.namespace")<CR>' - - exe "imenu <silent> ".s:C_Root.'C&++.&using\ namespace\ std; using namespace std;<CR>' - exe "imenu <silent> ".s:C_Root.'C&++.usin&g\ namespace\ ; using namespace ;<Esc>$i' - exe "vmenu <silent> ".s:C_Root.'C&++.namespace\ &\{\ \} <Esc><Esc>:call C_InsertTemplate("cpp.namespace", "v")<CR>' - - exe "amenu <silent> ".s:C_Root.'C&++.-SEP8- :' - " - "----- Submenu : RTTI ---------------------------------------------------------------------------- - " - exe "amenu ".s:C_Root.'C&++.&RTTI.RTTI<Tab>C\/C\+\+ <Esc>' - exe "amenu ".s:C_Root.'C&++.&RTTI.-Sep0- :' - " - exe " noremenu ".s:C_Root.'C&++.&RTTI.&typeid atypeid()<Esc>hr(a' - exe " noremenu ".s:C_Root.'C&++.&RTTI.&static_cast astatic_cast<>()<Left>' - exe " noremenu ".s:C_Root.'C&++.&RTTI.&const_cast aconst_cast<>()<Left>' - exe " noremenu ".s:C_Root.'C&++.&RTTI.&reinterpret_cast areinterpret_cast<>()<Left>' - exe " noremenu ".s:C_Root.'C&++.&RTTI.&dynamic_cast adynamic_cast<>()<Left>' - " - exe "vnoremenu ".s:C_Root.'C&++.&RTTI.&typeid stypeid()<Esc>hr(p' - exe "vnoremenu ".s:C_Root.'C&++.&RTTI.&static_cast sstatic_cast<>()<Esc>P' - exe "vnoremenu ".s:C_Root.'C&++.&RTTI.&const_cast sconst_cast<>()<Esc>P' - exe "vnoremenu ".s:C_Root.'C&++.&RTTI.&reinterpret_cast sreinterpret_cast<>()<Esc>P' - exe "vnoremenu ".s:C_Root.'C&++.&RTTI.&dynamic_cast sdynamic_cast<>()<Esc>P' - " - exe "inoremenu ".s:C_Root.'C&++.&RTTI.&typeid typeid()<Esc>hr(a' - exe "inoremenu ".s:C_Root.'C&++.&RTTI.&static_cast static_cast<>()<Left>' - exe "inoremenu ".s:C_Root.'C&++.&RTTI.&const_cast const_cast<>()<Left>' - exe "inoremenu ".s:C_Root.'C&++.&RTTI.&reinterpret_cast reinterpret_cast<>()<Left>' - exe "inoremenu ".s:C_Root.'C&++.&RTTI.&dynamic_cast dynamic_cast<>()<Left>' - " - "----- End Submenu : RTTI ------------------------------------------------------------------------ - " - exe "amenu <silent>".s:C_Root.'C&++.e&xtern\ \"C\"\ \{\ \} <Esc><Esc>:call C_InsertTemplate("cpp.extern")<CR>' - exe "vmenu <silent>".s:C_Root.'C&++.e&xtern\ \"C\"\ \{\ \} <Esc><Esc>:call C_InsertTemplate("cpp.extern", "v")<CR>' - " - "=============================================================================================== - "----- Menu : run ----- -------------------------------------------------- {{{2 - "=============================================================================================== - " - if s:C_MenuHeader == 'yes' - exe "amenu ".s:C_Root.'&Run.&Run<Tab>C\/C\+\+ <Esc>' - exe "amenu ".s:C_Root.'&Run.-Sep00- :' - endif - " - exe "amenu <silent> ".s:C_Root.'&Run.save\ and\ &compile<Tab>\<A-F9\> <C-C>:call C_Compile()<CR>:redraw<CR>:call C_HlMessage()<CR>' - exe "amenu <silent> ".s:C_Root.'&Run.&link<Tab>\<F9\> <C-C>:call C_Link()<CR>:redraw<CR>:call C_HlMessage()<CR>' - exe "amenu <silent> ".s:C_Root.'&Run.&run<Tab>\<C-F9\> <C-C>:call C_Run()<CR>' - exe "amenu <silent> ".s:C_Root.'&Run.cmd\.\ line\ &arg\.<Tab>\<S-F9\> <C-C>:call C_Arguments()<CR>' - exe "amenu <silent> ".s:C_Root.'&Run.-SEP0- :' - exe "amenu <silent> ".s:C_Root.'&Run.&make <C-C>:call C_Make()<CR>' - exe "amenu <silent> ".s:C_Root.'&Run.cmd\.\ line\ ar&g\.\ for\ make <C-C>:call C_MakeArguments()<CR>' - exe "amenu <silent> ".s:C_Root.'&Run.-SEP1- :' - if s:C_SplintIsExecutable==1 - exe "amenu <silent> ".s:C_Root.'&Run.s&plint <C-C>:call C_SplintCheck()<CR>:redraw<CR>:call C_HlMessage()<CR>' - exe "amenu <silent> ".s:C_Root.'&Run.cmd\.\ line\ arg\.\ for\ spl&int <C-C>:call C_SplintArguments()<CR>' - exe "amenu <silent> ".s:C_Root.'&Run.-SEP2- :' - endif - " - if s:C_CodeCheckIsExecutable==1 - exe "amenu <silent> ".s:C_Root.'&Run.CodeChec&k <C-C>:call C_CodeCheck()<CR>:redraw<CR>:call C_HlMessage()<CR>' - exe "amenu <silent> ".s:C_Root.'&Run.cmd\.\ line\ arg\.\ for\ Cod&eCheck <C-C>:call C_CodeCheckArguments()<CR>' - exe "amenu <silent> ".s:C_Root.'&Run.-SEP3- :' - endif - " - exe "amenu ".s:C_Root.'&Run.in&dent <C-C>:call C_Indent("a")<CR>:redraw<CR>:call C_HlMessage()<CR>' - exe "vmenu ".s:C_Root.'&Run.in&dent <C-C>:call C_Indent("v")<CR>:redraw<CR>:call C_HlMessage()<CR>' - if s:MSWIN - exe "amenu <silent> ".s:C_Root.'&Run.&hardcopy\ to\ printer <C-C>:call C_Hardcopy("n")<CR>' - exe "vmenu <silent> ".s:C_Root.'&Run.&hardcopy\ to\ printer <C-C>:call C_Hardcopy("v")<CR>' - else - exe "amenu <silent> ".s:C_Root.'&Run.&hardcopy\ to\ FILENAME\.ps <C-C>:call C_Hardcopy("n")<CR>' - exe "vmenu <silent> ".s:C_Root.'&Run.&hardcopy\ to\ FILENAME\.ps <C-C>:call C_Hardcopy("v")<CR>' - endif - exe "imenu <silent> ".s:C_Root.'&Run.-SEP4- :' - - exe "amenu <silent> ".s:C_Root.'&Run.rebuild\ &templates <C-C>:call C_RebuildTemplates()<CR>' - exe "amenu <silent> ".s:C_Root.'&Run.&settings <C-C>:call C_Settings()<CR>' - exe "imenu <silent> ".s:C_Root.'&Run.-SEP5- :' - - if !s:MSWIN - exe "amenu <silent> ".s:C_Root.'&Run.&xterm\ size <C-C>:call C_XtermSize()<CR>' - endif - if s:C_OutputGvim == "vim" - exe "amenu <silent> ".s:C_Root.'&Run.&output:\ VIM->buffer->xterm <C-C>:call C_Toggle_Gvim_Xterm()<CR><CR>' - else - if s:C_OutputGvim == "buffer" - exe "amenu <silent> ".s:C_Root.'&Run.&output:\ BUFFER->xterm->vim <C-C>:call C_Toggle_Gvim_Xterm()<CR><CR>' - else - exe "amenu <silent> ".s:C_Root.'&Run.&output:\ XTERM->vim->buffer <C-C>:call C_Toggle_Gvim_Xterm()<CR><CR>' - endif - endif - " - "=============================================================================================== - "----- Menu : help ------------------------------------------------------- {{{2 - "=============================================================================================== - " - if s:C_Root != "" - exe "menu <silent> ".s:C_Root.'&help\ \(plugin\) <C-C><C-C>:call C_HelpCsupport()<CR>' - endif - -endfunction " ---------- end of function C_InitMenus ---------- -" -"=============================================================================================== -"----- Menu Functions -------------------------------------------------------------------------- -"=============================================================================================== -" -"------------------------------------------------------------------------------ -" C_Input: Input after a highlighted prompt {{{1 -"------------------------------------------------------------------------------ -function! C_Input ( promp, text ) - echohl Search " highlight prompt - call inputsave() " preserve typeahead - let retval=input( a:promp, a:text ) " read input - call inputrestore() " restore typeahead - echohl None " reset highlighting - let retval = substitute( retval, '^\s\+', "", "" ) " remove leading whitespaces - let retval = substitute( retval, '\s\+$', "", "" ) " remove trailing whitespaces - return retval -endfunction " ---------- end of function C_Input ---------- -" -"------------------------------------------------------------------------------ -" C_AdjustLineEndComm: adjust line-end comments {{{1 -"------------------------------------------------------------------------------ -function! C_AdjustLineEndComm ( mode ) range - " - if !exists("b:C_LineEndCommentColumn") - let b:C_LineEndCommentColumn = s:C_LineEndCommColDefault - endif - - let save_cursor = getpos(".") - - let save_expandtab = &expandtab - exe ":set expandtab" - - if a:mode == 'v' - let pos0 = line("'<") - let pos1 = line("'>") - else - let pos0 = line(".") - let pos1 = pos0 - endif - - let linenumber = pos0 - exe ":".pos0 - - while linenumber <= pos1 - let line= getline(".") - " look for a C comment - let idx1 = 1 + match( line, '\s*\/\*.\{-}\*\/' ) - let idx2 = 1 + match( line, '\/\*.\{-}\*\/' ) - if idx2 == 0 - " look for a C++ comment - let idx1 = 1 + match( line, '\s*\/\/.*$' ) - let idx2 = 1 + match( line, '\/\/.*$' ) - endif - - let ln = line(".") - call setpos(".", [ 0, ln, idx1, 0 ] ) - let vpos1 = virtcol(".") - call setpos(".", [ 0, ln, idx2, 0 ] ) - let vpos2 = virtcol(".") - - if ! ( vpos2 == b:C_LineEndCommentColumn - \ || vpos1 > b:C_LineEndCommentColumn - \ || idx2 == 0 ) - - exe ":.,.retab" - " insert some spaces - if vpos2 < b:C_LineEndCommentColumn - let diff = b:C_LineEndCommentColumn-vpos2 - call setpos(".", [ 0, ln, vpos2, 0 ] ) - let @" = ' ' - exe "normal ".diff."P" - endif - - " remove some spaces - if vpos1 < b:C_LineEndCommentColumn && vpos2 > b:C_LineEndCommentColumn - let diff = vpos2 - b:C_LineEndCommentColumn - call setpos(".", [ 0, ln, b:C_LineEndCommentColumn, 0 ] ) - exe "normal ".diff."x" - endif - - endif - let linenumber=linenumber+1 - normal j - endwhile - " restore tab expansion settings and cursor position - let &expandtab = save_expandtab - call setpos('.', save_cursor) - -endfunction " ---------- end of function C_AdjustLineEndComm ---------- -" -"------------------------------------------------------------------------------ -" C_GetLineEndCommCol: get line-end comment position {{{1 -"------------------------------------------------------------------------------ -function! C_GetLineEndCommCol () - let actcol = virtcol(".") - if actcol+1 == virtcol("$") - let b:C_LineEndCommentColumn = C_Input( 'start line-end comment at virtual column : ', actcol ) - else - let b:C_LineEndCommentColumn = virtcol(".") - endif - echomsg "line end comments will start at column ".b:C_LineEndCommentColumn -endfunction " ---------- end of function C_GetLineEndCommCol ---------- -" -"------------------------------------------------------------------------------ -" C_LineEndComment: single line-end comment {{{1 -"------------------------------------------------------------------------------ -function! C_LineEndComment ( ) - if !exists("b:C_LineEndCommentColumn") - let b:C_LineEndCommentColumn = s:C_LineEndCommColDefault - endif - " ----- trim whitespaces ----- - exe 's/\s*$//' - let linelength= virtcol("$") - 1 - if linelength < b:C_LineEndCommentColumn - let diff = b:C_LineEndCommentColumn -1 -linelength - exe "normal ".diff."A " - endif - " append at least one blank - if linelength >= b:C_LineEndCommentColumn - exe "normal A " - endif - call C_InsertTemplate('comment.end-of-line-comment') -endfunction " ---------- end of function C_LineEndComment ---------- -" -"------------------------------------------------------------------------------ -" C_MultiLineEndComments: multi line-end comments {{{1 -"------------------------------------------------------------------------------ -function! C_MultiLineEndComments ( ) - " - if !exists("b:C_LineEndCommentColumn") - let b:C_LineEndCommentColumn = s:C_LineEndCommColDefault - endif - " - let pos0 = line("'<") - let pos1 = line("'>") - " - " ----- trim whitespaces ----- - exe pos0.','.pos1.'s/\s*$//' - " - " ----- find the longest line ----- - let maxlength = 0 - let linenumber = pos0 - normal '< - while linenumber <= pos1 - if getline(".") !~ "^\\s*$" && maxlength<virtcol("$") - let maxlength= virtcol("$") - endif - let linenumber=linenumber+1 - normal j - endwhile - " - if maxlength < b:C_LineEndCommentColumn - let maxlength = b:C_LineEndCommentColumn - else - let maxlength = maxlength+1 " at least 1 blank - endif - " - " ----- fill lines with blanks ----- - let linenumber = pos0 - while linenumber <= pos1 - exe ":".linenumber - if getline(".") !~ "^\\s*$" - let diff = maxlength - virtcol("$") - exe "normal ".diff."A " - call C_InsertTemplate('comment.end-of-line-comment') - endif - let linenumber=linenumber+1 - endwhile - " - " ----- back to the begin of the marked block ----- - let diff = pos1-pos0 - normal a - if pos1-pos0 > 0 - exe "normal ".diff."k" - end -endfunction " ---------- end of function C_MultiLineEndComments ---------- -" -"------------------------------------------------------------------------------ -" C_CommentSpecial : special comments {{{1 -"------------------------------------------------------------------------------ -function! C_CommentSpecial (special) - put = ' '.s:C_Com1.' '.a:special.' '.s:C_Com2 -endfunction " ---------- end of function C_CommentSpecial ---------- -" -"------------------------------------------------------------------------------ -" C_Comment_C_SectionAll: Section Comments {{{1 -"------------------------------------------------------------------------------ -" -function! C_Comment_C_SectionAll ( type ) - - call C_InsertTemplate("comment.file-section-cpp-header-includes") - call C_InsertTemplate("comment.file-section-cpp-macros") - call C_InsertTemplate("comment.file-section-cpp-typedefs") - call C_InsertTemplate("comment.file-section-cpp-data-types") - if a:type=="cpp" - call C_InsertTemplate("comment.file-section-cpp-class-defs") - endif - call C_InsertTemplate("comment.file-section-cpp-local-variables") - call C_InsertTemplate("comment.file-section-cpp-prototypes") - call C_InsertTemplate("comment.file-section-cpp-function-defs-exported") - call C_InsertTemplate("comment.file-section-cpp-function-defs-local") - if a:type=="cpp" - call C_InsertTemplate("comment.file-section-cpp-class-implementations-exported") - call C_InsertTemplate("comment.file-section-cpp-class-implementations-local") - endif - -endfunction " ---------- end of function C_Comment_C_SectionAll ---------- -" -function! C_Comment_H_SectionAll ( type ) - - call C_InsertTemplate("comment.file-section-hpp-header-includes") - call C_InsertTemplate("comment.file-section-hpp-macros") - call C_InsertTemplate("comment.file-section-hpp-exported-typedefs") - call C_InsertTemplate("comment.file-section-hpp-exported-data-types") - if a:type=="cpp" - call C_InsertTemplate("comment.file-section-hpp-exported-class-defs") - endif - call C_InsertTemplate("comment.file-section-hpp-exported-variables") - call C_InsertTemplate("comment.file-section-hpp-exported-function-declarations") - -endfunction " ---------- end of function C_Comment_H_SectionAll ---------- -" -"---------------------------------------------------------------------- -" C_CodeComment : Code -> Comment {{{1 -"---------------------------------------------------------------------- -function! C_CodeComment( mode, style ) - - if a:mode=="a" - if a:style == 'yes' - silent exe ":s#^#/\* #" - silent put = ' */' - else - silent exe ":s#^#//#" - endif - endif - - if a:mode=="v" - if a:style == 'yes' - silent exe ":'<,'>s/^/ \* /" - silent exe ":'< s'^ '\/'" - silent exe ":'>" - silent put = ' */' - else - silent exe ":'<,'>s#^#//#" - endif - endif - -endfunction " ---------- end of function C_CodeComment ---------- -" -"---------------------------------------------------------------------- -" C_StartMultilineComment : Comment -> Code {{{1 -"---------------------------------------------------------------------- -let s:C_StartMultilineComment = '^\s*\/\*[\*! ]\=' - -function! C_RemoveCComment( start, end ) - - if a:end-a:start<1 - return 0 " lines removed - endif - " - " Is the C-comment complete ? Get length. - " - let check = getline( a:start ) =~ s:C_StartMultilineComment - let linenumber = a:start+1 - while linenumber < a:end && getline( linenumber ) !~ '^\s*\*\/' - let check = check && getline( linenumber ) =~ '^\s*\*[ ]\=' - let linenumber = linenumber+1 - endwhile - let check = check && getline( linenumber ) =~ '^\s*\*\/' - " - " remove a complete comment - " - if check - exe "silent :".a:start.' s/'.s:C_StartMultilineComment.'//' - let linenumber1 = a:start+1 - while linenumber1 < linenumber - exe "silent :".linenumber1.' s/^\s*\*[ ]\=//' - let linenumber1 = linenumber1+1 - endwhile - exe "silent :".linenumber1.' s/^\s*\*\///' - endif - - return linenumber-a:start+1 " lines removed -endfunction " ---------- end of function C_RemoveCComment ---------- -" -"---------------------------------------------------------------------- -" C_CommentCode : Comment -> Code {{{1 -"---------------------------------------------------------------------- -function! C_CommentCode(mode) - if a:mode=="a" - let pos1 = line(".") - let pos2 = pos1 - endif - if a:mode=="v" - let pos1 = line("'<") - let pos2 = line("'>") - endif - - let removed = 0 - " - let linenumber=pos1 - while linenumber <= pos2 - " Do we have a C++ comment ? - if getline( linenumber ) =~ '^\s*//' - exe "silent :".linenumber.' s#^\s*//##' - let removed = 1 - endif - " Do we have a C comment ? - if removed == 0 && getline( linenumber ) =~ s:C_StartMultilineComment - let removed = C_RemoveCComment(linenumber,pos2) - endif - - if removed!=0 - let linenumber = linenumber+removed - let removed = 0 - else - let linenumber = linenumber+1 - endif - endwhile -endfunction " ---------- end of function C_CommentCode ---------- -" -"---------------------------------------------------------------------- -" C_CommentCppToC : C++ Comment -> C Comment {{{1 -" Removes trailing whitespaces. -"---------------------------------------------------------------------- -function! C_CommentCppToC() - silent! exe ':s#\/\/\s*\(.*\)\s*$#/* \1 */#' -endfunction " ---------- end of function C_CommentCppToC ---------- -" -"---------------------------------------------------------------------- -" C_CommentCToCpp : C Comment -> C++ Comment {{{1 -" Changes the first comment in case of multiple comments: -" xxxx; /* */ /* */ -" xxxx; // /* */ -" Removes trailing whitespaces. -"---------------------------------------------------------------------- -function! C_CommentCToCpp() - silent! exe ':s!\/\*\s*\(.\{-}\)\*\/!\/\/ \1!' - silent! exe ':s!\s*$!!' -endfunction " ---------- end of function C_CommentCToCpp ---------- -" -"===================================================================================== -"----- Menu : Statements ----------------------------------------------------------- -"===================================================================================== -" -"------------------------------------------------------------------------------ -" C_PPIf0 : #if 0 .. #endif {{{1 -"------------------------------------------------------------------------------ -function! C_PPIf0 (mode) - " - let s:C_If0_Counter = 0 - let save_line = line(".") - let actual_line = 0 - " - " search for the maximum option number (if any) - " - normal gg - while actual_line < search( s:C_If0_Txt."\\d\\+" ) - let actual_line = line(".") - let actual_opt = matchstr( getline(actual_line), s:C_If0_Txt."\\d\\+" ) - let actual_opt = strpart( actual_opt, strlen(s:C_If0_Txt),strlen(actual_opt)-strlen(s:C_If0_Txt)) - if s:C_If0_Counter < actual_opt - let s:C_If0_Counter = actual_opt - endif - endwhile - let s:C_If0_Counter = s:C_If0_Counter+1 - silent exe ":".save_line - " - if a:mode=='a' - let zz= "\n#if 0 ".s:C_Com1." ----- #if 0 : ".s:C_If0_Txt.s:C_If0_Counter." ----- ".s:C_Com2."\n" - let zz= zz."\n#endif ".s:C_Com1." ----- #if 0 : ".s:C_If0_Txt.s:C_If0_Counter." ----- ".s:C_Com2."\n\n" - put =zz - if v:version >= 700 - normal 4k - endif - endif - - if a:mode=='v' - let zz= "\n#if 0 ".s:C_Com1." ----- #if 0 : ".s:C_If0_Txt.s:C_If0_Counter." ----- ".s:C_Com2."\n" - :'<put! =zz - let zz= "#endif ".s:C_Com1." ----- #if 0 : ".s:C_If0_Txt.s:C_If0_Counter." ----- ".s:C_Com2."\n\n" - :'>put =zz - :normal '< - endif - -endfunction " ---------- end of function C_PPIf0 ---------- -" -"------------------------------------------------------------------------------ -" C_PPIf0Remove : remove #if 0 .. #endif {{{1 -"------------------------------------------------------------------------------ -function! C_PPIf0Remove () - - let frstline = searchpair( '^\s*#if\s\+0', '', '^\s*#endif\>.\+\<If0Label_', 'bn' ) - if frstline<=0 - echohl WarningMsg | echo 'no #if 0 ... #endif found or cursor not inside such a directive'| echohl None - return - endif - let lastline = searchpair( '^\s*#if\s\+0', '', '^\s*#endif\>.\+\<If0Label_', 'n' ) - if lastline<=0 - echohl WarningMsg | echo 'no #if 0 ... #endif found or cursor not inside such a directive'| echohl None - return - endif - let actualnumber1 = matchstr( getline(frstline), s:C_If0_Txt."\\d\\+" ) - let actualnumber2 = matchstr( getline(lastline), s:C_If0_Txt."\\d\\+" ) - if actualnumber1 != actualnumber2 - echohl WarningMsg | echo 'lines '.frstline.', '.lastline.': comment tags do not match'| echohl None - return - endif - - silent exe ':'.lastline.','.lastline.'d' - silent exe ':'.frstline.','.frstline.'d' - -endfunction " ---------- end of function C_PPIf0Remove ---------- -" -"------------------------------------------------------------------------------- -" C_LegalizeName : replace non-word characters by underscores -" - multiple whitespaces -" - multiple non-word characters -" - multiple underscores -"------------------------------------------------------------------------------- -function! C_LegalizeName ( name ) - let identifier = substitute( a:name, '\s\+', '_', 'g' ) - let identifier = substitute( identifier, '\W\+', '_', 'g' ) - let identifier = substitute( identifier, '_\+', '_', 'g' ) - return identifier -endfunction " ---------- end of function C_LegalizeName ---------- - -"------------------------------------------------------------------------------ -" C_CodeSnippet : read / edit code snippet {{{1 -"------------------------------------------------------------------------------ -function! C_CodeSnippet(mode) - - if isdirectory(s:C_CodeSnippets) - " - " read snippet file, put content below current line and indent - " - if a:mode == "r" - if has("gui_running") - let l:snippetfile=browse(0,"read a code snippet",s:C_CodeSnippets,"") - else - let l:snippetfile=input("read snippet ", s:C_CodeSnippets, "file" ) - end - if filereadable(l:snippetfile) - let linesread= line("$") - let l:old_cpoptions = &cpoptions " Prevent the alternate buffer from being set to this files - setlocal cpoptions-=a - :execute "read ".l:snippetfile - let &cpoptions = l:old_cpoptions " restore previous options - let linesread= line("$")-linesread-1 - if linesread>=0 && match( l:snippetfile, '\.\(ni\|noindent\)$' ) < 0 - endif - endif - if line(".")==2 && getline(1)=~"^$" - silent exe ":1,1d" - endif - endif - " - " update current buffer / split window / edit snippet file - " - if a:mode == "e" - if has("gui_running") - let l:snippetfile = browse(0,"edit a code snippet",s:C_CodeSnippets,"") - else - let l:snippetfile=input("edit snippet ", s:C_CodeSnippets, "file" ) - end - if l:snippetfile != "" - :execute "update! | split | edit ".l:snippetfile - endif - endif - " - " write whole buffer into snippet file - " - if a:mode == "w" || a:mode == "wv" - if has("gui_running") - let l:snippetfile = browse(0,"edit a code snippet",s:C_CodeSnippets,"") - else - let l:snippetfile=input("edit snippet ", s:C_CodeSnippets, "file" ) - end - if l:snippetfile != "" - if filereadable(l:snippetfile) - if confirm("File ".l:snippetfile." exists ! Overwrite ? ", "&Cancel\n&No\n&Yes") != 3 - return - endif - endif - if a:mode == "w" - :execute ":write! ".l:snippetfile - else - :execute ":*write! ".l:snippetfile - end - endif - endif - - else - echo "code snippet directory ".s:C_CodeSnippets." does not exist (please create it)" - endif -endfunction " ---------- end of function C_CodeSnippets ---------- -" -"------------------------------------------------------------------------------ -" C_CodeFor : for (idiom) {{{1 -"------------------------------------------------------------------------------ -function! C_CodeFor( direction, mode ) - if a:direction=="up" - let string = C_Input( " loop var. [ start [ end [ incr. ]]] : ", "" ) - else - let string = C_Input( " loop var. [ start [ end [ decr. ]]] : ", "" ) - endif - let pos = 0 - let jmp = 0 - if string != "" - " - " use internal formatting to avoid conficts when using == below - let equalprg_save = &equalprg - set equalprg= - " - " loop variable - let loopvar = matchstr( string, '\S\+\s*', pos ) - let pos = pos + strlen(loopvar) - let loopvar = substitute( loopvar, '\s*$', "", "" ) - " - " start value - let startval = matchstr( string, '\S\+\s*', pos ) - let pos = pos + strlen(startval) - let startval = substitute( startval, '\s*$', "", "" ) - - " end value - let endval = matchstr( string, '\S\+\s*', pos ) - let pos = pos + strlen(endval) - let endval = substitute( endval, '\s*$', "", "" ) - - " increment - let incval = matchstr( string, '\S\+\s*', pos ) - let pos = pos + strlen(incval) - let incval = substitute( incval, '\s*$', "", "" ) - - if incval=="" - let incval = '1' - let jmp = 10 - endif - - if a:direction=="up" - if endval=="" - let endval = 'n' - let jmp = 7 - endif - if startval=="" - let startval = '0' - let jmp = 4 - endif - let zz= "for ( ".loopvar." = ".startval."; ".loopvar." < ".endval."; ".loopvar." += ".incval." )" - else - if endval=="" - let endval = '0' - let jmp = 7 - endif - if startval=="" - let startval = 'n-1' - let jmp = 4 - endif - let zz= "for ( ".loopvar." = ".startval."; ".loopvar." >= ".endval."; ".loopvar." -= ".incval." )" - endif - - " ----- normal mode ---------------- - if a:mode=="a" - put =zz - normal 2== - if jmp!=0 - exe "normal ".jmp."Wh" - else - exe 'normal $' - endif - endif - - " ----- visual mode ---------------- - if a:mode=="v" - let zz = zz." {" - :'<put! =zz - let zz= "}" - :'>put =zz - :'<-1 - :exe "normal =".(line("'>")-line(".")+3)."+" - endif - " - " restore formatter programm - let &equalprg = equalprg_save - " - endif -endfunction " ---------- end of function C_CodeFor ---------- -" -"------------------------------------------------------------------------------ -" Handle prototypes {{{1 -"------------------------------------------------------------------------------ -" -let s:C_Prototype = [] -let s:C_PrototypeShow = [] -let s:C_PrototypeCounter = 0 -let s:C_CComment = '\/\*.\{-}\*\/\s*' " C comment with trailing whitespaces - " '.\{-}' any character, non-greedy -let s:C_CppComment = '\/\/.*$' " C++ comment -" -"------------------------------------------------------------------------------ -" C_ProtoPick : pick up (normal/visual) {{{1 -"------------------------------------------------------------------------------ -function! C_ProtoPick (mode) - if a:mode=="n" - " --- normal mode ------------------- - let pos1 = line(".") - let pos2 = pos1 - else - " --- visual mode ------------------- - let pos1 = line("'<") - let pos2 = line("'>") - endif - " - " remove C/C++-comments, leading and trailing whitespaces, squeeze whitespaces - " - let prototyp = '' - let linenumber = pos1 - while linenumber <= pos2 - let newline = getline(linenumber) - let newline = substitute( newline, s:C_CppComment, "", "" ) " remove C++ comment - let prototyp = prototyp." ".newline - let linenumber = linenumber+1 - endwhile - " - let prototyp = substitute( prototyp, '^\s\+', "", "" ) " remove leading whitespaces - let prototyp = substitute( prototyp, s:C_CComment, "", "g" ) " remove (multiline) C comments - let prototyp = substitute( prototyp, '\s\+', " ", "g" ) " squeeze whitespaces - let prototyp = substitute( prototyp, '\s\+$', "", "" ) " remove trailing whitespaces - " - " remove template keyword - " - let prototyp = substitute( prototyp, '^template\s*<\s*class \w\+\s*>\s*', "", "" ) - " - let parlist = stridx( prototyp, '(' ) " start of the parameter list - let part1 = strpart( prototyp, 0, parlist ) - let part2 = strpart( prototyp, parlist ) - " - " remove the scope res. operator - " - let part1 = substitute( part1, '<\s*\w\+\s*>', "", "g" ) - let part1 = substitute( part1, '\<std\s*::', 'std##', 'g' ) " remove the scope res. operator - let part1 = substitute( part1, '\<\h\w*\s*::', '', 'g' ) " remove the scope res. operator - let part1 = substitute( part1, '\<std##', 'std::', 'g' ) " remove the scope res. operator - let prototyp = part1.part2 - " - " remove trailing parts of the function body; add semicolon - " - let prototyp = substitute( prototyp, '\s*{.*$', "", "" ) - let prototyp = prototyp.";\n" - " - " bookkeeping - " - let s:C_PrototypeCounter += 1 - let s:C_Prototype += [prototyp] - let s:C_PrototypeShow += ["(".s:C_PrototypeCounter.") ".bufname("%")." # ".prototyp] - " - echo s:C_PrototypeCounter.' prototype(s)' - " -endfunction " --------- end of function C_ProtoPick ---------- -" -"------------------------------------------------------------------------------ -" C_ProtoInsert : insert {{{1 -"------------------------------------------------------------------------------ -function! C_ProtoInsert () - " - " use internal formatting to avoid conficts when using == below - let equalprg_save = &equalprg - set equalprg= - " - if s:C_PrototypeCounter > 0 - for protytype in s:C_Prototype - put =protytype - endfor - let lines = s:C_PrototypeCounter - 1 - silent exe "normal =".lines."-" - call C_ProtoClear() - else - echo "currently no prototypes available" - endif - " - " restore formatter programm - let &equalprg = equalprg_save - " -endfunction " --------- end of function C_ProtoInsert ---------- -" -"------------------------------------------------------------------------------ -" C_ProtoClear : clear {{{1 -"------------------------------------------------------------------------------ -function! C_ProtoClear () - if s:C_PrototypeCounter > 0 - let s:C_Prototype = [] - let s:C_PrototypeShow = [] - let s:C_PrototypeCounter = 0 - echo 'prototypes deleted' - else - echo "currently no prototypes available" - endif -endfunction " --------- end of function C_ProtoClear ---------- -" -"------------------------------------------------------------------------------ -" C_ProtoShow : show {{{1 -"------------------------------------------------------------------------------ -function! C_ProtoShow () - if s:C_PrototypeCounter > 0 - for protytype in s:C_PrototypeShow - echo protytype - endfor - else - echo "currently no prototypes available" - endif -endfunction " --------- end of function C_ProtoShow ---------- -" -"------------------------------------------------------------------------------ -" C_EscapeBlanks : C_EscapeBlanks {{{1 -"------------------------------------------------------------------------------ -function! C_EscapeBlanks (arg) - return substitute( a:arg, " ", "\\ ", "g" ) -endfunction " --------- end of function C_EscapeBlanks ---------- -" -"------------------------------------------------------------------------------ -" C_Compile : C_Compile {{{1 -"------------------------------------------------------------------------------ -" The standard make program 'make' called by vim is set to the C or C++ compiler -" and reset after the compilation (set makeprg=... ). -" The errorfile created by the compiler will now be read by gvim and -" the commands cl, cp, cn, ... can be used. -"------------------------------------------------------------------------------ -function! C_Compile () - - let l:currentbuffer = bufname("%") - let s:C_HlMessage = "" - exe ":cclose" - let Sou = expand("%:p") " name of the file in the current buffer - let Obj = expand("%:p:r").s:C_ObjExtension " name of the object - let SouEsc= escape( Sou, s:escfilename ) - let ObjEsc= escape( Obj, s:escfilename ) - - " update : write source file if necessary - exe ":update" - - " compilation if object does not exist or object exists and is older then the source - if !filereadable(Obj) || (filereadable(Obj) && (getftime(Obj) < getftime(Sou))) - " &makeprg can be a string containing blanks - let makeprg_saved='"'.&makeprg.'"' - if expand("%:e") == s:C_CExtension - exe "set makeprg=".s:C_CCompiler - else - exe "set makeprg=".s:C_CplusCompiler - endif - " - " COMPILATION - " - if s:MSWIN - exe "make ".s:C_CFlags." \"".SouEsc."\" -o \"".ObjEsc."\"" - else - exe "make ".s:C_CFlags." ".SouEsc." -o ".ObjEsc - endif - exe "set makeprg=".makeprg_saved - " - " open error window if necessary - exe ":botright cwindow" - else - let s:C_HlMessage = " '".Obj."' is up to date " - endif - -endfunction " ---------- end of function C_Compile ---------- -" -"------------------------------------------------------------------------------ -" C_Link : C_Link {{{1 -"------------------------------------------------------------------------------ -" The standard make program which is used by gvim is set to the compiler -" (for linking) and reset after linking. -" -" calls: C_Compile -"------------------------------------------------------------------------------ -function! C_Link () - - call C_Compile() - - let s:C_HlMessage = "" - let Sou = expand("%:p") " name of the file in the current buffer - let Obj = expand("%:p:r").s:C_ObjExtension " name of the object file - let Exe = expand("%:p:r").s:C_ExeExtension " name of the executable - let ObjEsc= escape( Obj, s:escfilename ) - let ExeEsc= escape( Exe, s:escfilename ) - - " no linkage if: - " executable exists - " object exists - " source exists - " executable newer then object - " object newer then source - - if filereadable(Exe) && - \ filereadable(Obj) && - \ filereadable(Sou) && - \ (getftime(Exe) >= getftime(Obj)) && - \ (getftime(Obj) >= getftime(Sou)) - let s:C_HlMessage = " '".Exe."' is up to date " - return - endif - - " linkage if: - " object exists - " source exists - " object newer then source - - if filereadable(Obj) && (getftime(Obj) >= getftime(Sou)) - let makeprg_saved='"'.&makeprg.'"' - if expand("%:e") == s:C_CExtension - exe "set makeprg=".s:C_CCompiler - else - exe "set makeprg=".s:C_CplusCompiler - endif - let v:statusmsg="" - if s:MSWIN - silent exe "make ".s:C_LFlags." ".s:C_Libs." -o \"".ExeEsc."\" \"".ObjEsc."\"" - else - silent exe "make ".s:C_LFlags." ".s:C_Libs." -o ".ExeEsc." ".ObjEsc - endif - if v:statusmsg != "" - let s:C_HlMessage = v:statusmsg - endif - exe "set makeprg=".makeprg_saved - endif -endfunction " ---------- end of function C_Link ---------- -" -"------------------------------------------------------------------------------ -" C_Run : C_Run {{{1 -" calls: C_Link -"------------------------------------------------------------------------------ -" -let s:C_OutputBufferName = "C-Output" -let s:C_OutputBufferNumber = -1 -" -function! C_Run () -" - let Sou = expand("%:p") " name of the source file - let Obj = expand("%:p:r").s:C_ObjExtension " name of the object file - let Exe = expand("%:p:r").s:C_ExeExtension " name of the executable - let ExeEsc = escape( Exe, s:escfilename ) " name of the executable, escaped - " - let l:arguments = exists("b:C_CmdLineArgs") ? b:C_CmdLineArgs : '' - " - let l:currentbuffer = bufname("%") - " - "============================================================================== - " run : run from the vim command line - "============================================================================== - if s:C_OutputGvim == "vim" - " - silent call C_Link() - " - if executable(Exe) && getftime(Exe) >= getftime(Obj) && getftime(Obj) >= getftime(Sou) - if s:MSWIN - exe "!\"".ExeEsc."\" ".l:arguments - else - exe "!".ExeEsc." ".l:arguments - endif - else - echomsg "file ".Exe." does not exist / is not executable" - endif - - endif - " - "============================================================================== - " run : redirect output to an output buffer - "============================================================================== - if s:C_OutputGvim == "buffer" - let l:currentbuffernr = bufnr("%") - " - silent call C_Link() - " - if l:currentbuffer == bufname("%") - " - " - if bufloaded(s:C_OutputBufferName) != 0 && bufwinnr(s:C_OutputBufferNumber)!=-1 - exe bufwinnr(s:C_OutputBufferNumber) . "wincmd w" - " buffer number may have changed, e.g. after a 'save as' - if bufnr("%") != s:C_OutputBufferNumber - let s:C_OutputBufferNumber = bufnr(s:C_OutputBufferName) - exe ":bn ".s:C_OutputBufferNumber - endif - else - silent exe ":new ".s:C_OutputBufferName - let s:C_OutputBufferNumber=bufnr("%") - setlocal buftype=nofile - setlocal noswapfile - setlocal syntax=none - setlocal bufhidden=delete - setlocal tabstop=8 - endif - " - " run programm - " - setlocal modifiable - if executable(Exe) && getftime(Exe) >= getftime(Obj) && getftime(Obj) >= getftime(Sou) - if s:MSWIN - exe "%!\"".ExeEsc."\" ".l:arguments - else - exe "%!".ExeEsc." ".l:arguments - endif - endif - setlocal nomodifiable - " - if winheight(winnr()) >= line("$") - exe bufwinnr(l:currentbuffernr) . "wincmd w" - endif - " - endif - endif - " - "============================================================================== - " run : run in a detached xterm (not available for MS Windows) - "============================================================================== - if s:C_OutputGvim == "xterm" - " - silent call C_Link() - " - if executable(Exe) && getftime(Exe) >= getftime(Obj) && getftime(Obj) >= getftime(Sou) - if s:MSWIN - exe "!\"".ExeEsc."\" ".l:arguments - else - silent exe '!xterm -title '.ExeEsc.' '.s:C_XtermDefaults.' -e '.s:C_Wrapper.' '.ExeEsc.' '.l:arguments.' &' - :redraw! - endif - endif - endif - -endfunction " ---------- end of function C_Run ---------- -" -"------------------------------------------------------------------------------ -" C_Arguments : Arguments for the executable {{{1 -"------------------------------------------------------------------------------ -function! C_Arguments () - let Exe = expand("%:r").s:C_ExeExtension - if Exe == "" - redraw - echohl WarningMsg | echo " no file name " | echohl None - return - endif - let prompt = 'command line arguments for "'.Exe.'" : ' - if exists("b:C_CmdLineArgs") - let b:C_CmdLineArgs= C_Input( prompt, b:C_CmdLineArgs ) - else - let b:C_CmdLineArgs= C_Input( prompt , "" ) - endif -endfunction " ---------- end of function C_Arguments ---------- -" -"---------------------------------------------------------------------- -" C_Toggle_Gvim_Xterm : change output destination {{{1 -"---------------------------------------------------------------------- -function! C_Toggle_Gvim_Xterm () - - if s:C_OutputGvim == "vim" - if has("gui_running") - exe "aunmenu <silent> ".s:C_Root.'&Run.&output:\ VIM->buffer->xterm' - exe "amenu <silent> ".s:C_Root.'&Run.&output:\ BUFFER->xterm->vim <C-C>:call C_Toggle_Gvim_Xterm()<CR><CR>' - endif - let s:C_OutputGvim = "buffer" - else - if s:C_OutputGvim == "buffer" - if has("gui_running") - exe "aunmenu <silent> ".s:C_Root.'&Run.&output:\ BUFFER->xterm->vim' - if (!s:MSWIN) - exe "amenu <silent> ".s:C_Root.'&Run.&output:\ XTERM->vim->buffer <C-C>:call C_Toggle_Gvim_Xterm()<CR><CR>' - else - exe "amenu <silent> ".s:C_Root.'&Run.&output:\ VIM->buffer->xterm <C-C>:call C_Toggle_Gvim_Xterm()<CR><CR>' - endif - endif - if (!s:MSWIN) && (s:C_Display != '') - let s:C_OutputGvim = "xterm" - else - let s:C_OutputGvim = "vim" - end - else - " ---------- output : xterm -> gvim - if has("gui_running") - exe "aunmenu <silent> ".s:C_Root.'&Run.&output:\ XTERM->vim->buffer' - exe "amenu <silent> ".s:C_Root.'&Run.&output:\ VIM->buffer->xterm <C-C>:call C_Toggle_Gvim_Xterm()<CR><CR>' - endif - let s:C_OutputGvim = "vim" - endif - endif - echomsg "output destination is '".s:C_OutputGvim."'" - -endfunction " ---------- end of function C_Toggle_Gvim_Xterm ---------- -" -"------------------------------------------------------------------------------ -" C_XtermSize : xterm geometry {{{1 -"------------------------------------------------------------------------------ -function! C_XtermSize () - let regex = '-geometry\s\+\d\+x\d\+' - let geom = matchstr( s:C_XtermDefaults, regex ) - let geom = matchstr( geom, '\d\+x\d\+' ) - let geom = substitute( geom, 'x', ' ', "" ) - let answer= C_Input(" xterm size (COLUMNS LINES) : ", geom ) - while match(answer, '^\s*\d\+\s\+\d\+\s*$' ) < 0 - let answer= C_Input(" + xterm size (COLUMNS LINES) : ", geom ) - endwhile - let answer = substitute( answer, '\s\+', "x", "" ) " replace inner whitespaces - let s:C_XtermDefaults = substitute( s:C_XtermDefaults, regex, "-geometry ".answer , "" ) -endfunction " ---------- end of function C_XtermSize ---------- -" -"------------------------------------------------------------------------------ -" C_MakeArguments : run make(1) {{{1 -"------------------------------------------------------------------------------ - -let s:C_MakeCmdLineArgs = "" " command line arguments for Run-make; initially empty - -function! C_MakeArguments () - let s:C_MakeCmdLineArgs= C_Input("make command line arguments : ",s:C_MakeCmdLineArgs) -endfunction " ---------- end of function C_MakeArguments ---------- -" -function! C_Make() - " update : write source file if necessary - exe ":update" - " run make - exe ":!make ".s:C_MakeCmdLineArgs -endfunction " ---------- end of function C_Make ---------- -" -"------------------------------------------------------------------------------ -" C_SplintArguments : splint command line arguments {{{1 -"------------------------------------------------------------------------------ -function! C_SplintArguments () - if s:C_SplintIsExecutable==0 - let s:C_HlMessage = ' Splint is not executable or not installed! ' - else - let prompt = 'Splint command line arguments for "'.expand("%").'" : ' - if exists("b:C_SplintCmdLineArgs") - let b:C_SplintCmdLineArgs= C_Input( prompt, b:C_SplintCmdLineArgs ) - else - let b:C_SplintCmdLineArgs= C_Input( prompt , "" ) - endif - endif -endfunction " ---------- end of function C_SplintArguments ---------- -" -"------------------------------------------------------------------------------ -" C_SplintCheck : run splint(1) {{{1 -"------------------------------------------------------------------------------ -function! C_SplintCheck () - if s:C_SplintIsExecutable==0 - let s:C_HlMessage = ' Splint is not executable or not installed! ' - return - endif - let l:currentbuffer=bufname("%") - if &filetype != "c" && &filetype != "cpp" - let s:C_HlMessage = ' "'.l:currentbuffer.'" seems not to be a C/C++ file ' - return - endif - let s:C_HlMessage = "" - exe ":cclose" - silent exe ":update" - let makeprg_saved='"'.&makeprg.'"' - " Windows seems to need this: - if s:MSWIN - :compiler splint - endif - :set makeprg=splint - " - let l:arguments = exists("b:C_SplintCmdLineArgs") ? b:C_SplintCmdLineArgs : ' ' - silent exe "make ".l:arguments." ".escape(l:currentbuffer,s:escfilename) - exe "set makeprg=".makeprg_saved - exe ":botright cwindow" - " - " message in case of success - " - if l:currentbuffer == bufname("%") - let s:C_HlMessage = " Splint --- no warnings for : ".l:currentbuffer - endif -endfunction " ---------- end of function C_SplintCheck ---------- -" -"------------------------------------------------------------------------------ -" C_CodeCheckArguments : CodeCheck command line arguments {{{1 -"------------------------------------------------------------------------------ -function! C_CodeCheckArguments () - if s:C_CodeCheckIsExecutable==0 - let s:C_HlMessage = ' CodeCheck is not executable or not installed! ' - else - let prompt = 'CodeCheck command line arguments for "'.expand("%").'" : ' - if exists("b:C_CodeCheckCmdLineArgs") - let b:C_CodeCheckCmdLineArgs= C_Input( prompt, b:C_CodeCheckCmdLineArgs ) - else - let b:C_CodeCheckCmdLineArgs= C_Input( prompt , s:C_CodeCheckOptions ) - endif - endif -endfunction " ---------- end of function C_CodeCheckArguments ---------- -" -"------------------------------------------------------------------------------ -" C_CodeCheck : run CodeCheck {{{1 -"------------------------------------------------------------------------------ -function! C_CodeCheck () - if s:C_CodeCheckIsExecutable==0 - let s:C_HlMessage = ' CodeCheck is not executable or not installed! ' - return - endif - let l:currentbuffer=bufname("%") - if &filetype != "c" && &filetype != "cpp" - let s:C_HlMessage = ' "'.l:currentbuffer.'" seems not to be a C/C++ file ' - return - endif - let s:C_HlMessage = "" - exe ":cclose" - silent exe ":update" - let makeprg_saved='"'.&makeprg.'"' - exe "set makeprg=".s:C_CodeCheckExeName - " - " match the splint error messages (quickfix commands) - " ignore any lines that didn't match one of the patterns - " - :setlocal errorformat=%f(%l)%m - " - let l:arguments = exists("b:C_CodeCheckCmdLineArgs") ? b:C_CodeCheckCmdLineArgs : "" - if l:arguments == "" - let l:arguments = s:C_CodeCheckOptions - endif - exe ":make ".l:arguments." ".escape( l:currentbuffer, s:escfilename ) - exe ':setlocal errorformat=' - exe "set makeprg=".makeprg_saved - exe ":botright cwindow" - " - " message in case of success - " - if l:currentbuffer == bufname("%") - let s:C_HlMessage = " CodeCheck --- no warnings for : ".l:currentbuffer - endif -endfunction " ---------- end of function C_CodeCheck ---------- -" -"------------------------------------------------------------------------------ -" C_Indent : run indent(1) {{{1 -"------------------------------------------------------------------------------ -" -function! C_Indent ( mode ) - if !executable("indent") - let s:C_HlMessage = ' indent is not executable or not installed! ' - return - endif - let l:currentbuffer=bufname("%") - if &filetype != "c" && &filetype != "cpp" - let s:C_HlMessage = ' "'.l:currentbuffer.'" seems not to be a C/C++ file ' - return - endif - let s:C_HlMessage = "" - - if a:mode=="a" - if C_Input("indent whole file [y/n/Esc] : ", "y" ) != "y" - return - endif - exe ":update" - if has("MSWIN") - silent exe ":%!indent" - else - silent exe ":%!indent 2> ".s:C_IndentErrorLog - endif - let s:C_HlMessage = ' File "'.l:currentbuffer.'" reformatted.' - endif - - if a:mode=="v" - if has("MSWIN") - silent exe ":'<,'>!indent" - else - silent exe ":'<,'>!indent 2> ".s:C_IndentErrorLog - endif - let s:C_HlMessage = ' File "'.l:currentbuffer.'" (lines '.line("'<").'-'.line("'>").') reformatted. ' - endif - - if v:shell_error != 0 - let s:C_HlMessage = ' Indent reported an error when processing file "'.l:currentbuffer.'". ' - endif - -endfunction " ---------- end of function C_Indent ---------- -" -"------------------------------------------------------------------------------ -" C_HlMessage : indent message {{{1 -"------------------------------------------------------------------------------ -function! C_HlMessage () - echohl Search - echo s:C_HlMessage - echohl None -endfunction " ---------- end of function C_HlMessage ---------- -" -"------------------------------------------------------------------------------ -" C_Settings : settings {{{1 -"------------------------------------------------------------------------------ -function! C_Settings () - let txt = " C/C++-Support settings\n\n" - let txt = txt.' author : "'.s:C_Macro['|AUTHOR|']."\"\n" - let txt = txt.' initials : "'.s:C_Macro['|AUTHORREF|']."\"\n" - let txt = txt.' email : "'.s:C_Macro['|EMAIL|']."\"\n" - let txt = txt.' company : "'.s:C_Macro['|COMPANY|']."\"\n" - let txt = txt.' project : "'.s:C_Macro['|PROJECT|']."\"\n" - let txt = txt.' copyright holder : "'.s:C_Macro['|COPYRIGHTHOLDER|']."\"\n" - let txt = txt.' C / C++ compiler : '.s:C_CCompiler.' / '.s:C_CplusCompiler."\n" - let txt = txt.' C file extension : "'.s:C_CExtension.'" (everything else is C++)'."\n" - let txt = txt.' extension for objects : "'.s:C_ObjExtension."\"\n" - let txt = txt.'extension for executables : "'.s:C_ExeExtension."\"\n" - let txt = txt.' compiler flags : "'.s:C_CFlags."\"\n" - let txt = txt.' linker flags : "'.s:C_LFlags."\"\n" - let txt = txt.' libraries : "'.s:C_Libs."\"\n" - let txt = txt.' code snippet directory : '.s:C_CodeSnippets."\n" - if s:installation == 'system' - let txt = txt.'global template directory : '.s:C_GlobalTemplateDir."\n" - if filereadable( s:C_LocalTemplateFile ) - let txt = txt.' local template directory : '.s:C_LocalTemplateDir."\n" - endif - else - let txt = txt.' local template directory : '.s:C_GlobalTemplateDir."\n" - endif - if !s:MSWIN - let txt = txt.' xterm defaults : '.s:C_XtermDefaults."\n" - endif - " ----- dictionaries ------------------------ - if g:C_Dictionary_File != "" - let ausgabe= substitute( g:C_Dictionary_File, ",", ",\n + ", "g" ) - let txt = txt." dictionary file(s) : ".ausgabe."\n" - endif - let txt = txt.' current output dest. : '.s:C_OutputGvim."\n" - " ----- splint ------------------------------ - if s:C_SplintIsExecutable==1 - if exists("b:C_SplintCmdLineArgs") - let ausgabe = b:C_SplintCmdLineArgs - else - let ausgabe = "" - endif - let txt = txt." splint options(s) : ".ausgabe."\n" - endif - " ----- code check -------------------------- - if s:C_CodeCheckIsExecutable==1 - if exists("b:C_CodeCheckCmdLineArgs") - let ausgabe = b:C_CodeCheckCmdLineArgs - else - let ausgabe = s:C_CodeCheckOptions - endif - let txt = txt."CodeCheck (TM) options(s) : ".ausgabe."\n" - endif - let txt = txt."\n" - let txt = txt."__________________________________________________________________________\n" - let txt = txt." C/C++-Support, Version ".g:C_Version." / Dr.-Ing. Fritz Mehner / mehner@fh-swf.de\n\n" - echo txt -endfunction " ---------- end of function C_Settings ---------- -" -"------------------------------------------------------------------------------ -" C_Hardcopy : hardcopy {{{1 -" MSWIN : a printer dialog is displayed -" other : print PostScript to file -"------------------------------------------------------------------------------ -function! C_Hardcopy (arg1) - let Sou = expand("%") - if Sou == "" - redraw - echohl WarningMsg | echo " no file name " | echohl None - return - endif - let Sou = escape(Sou,s:escfilename) " name of the file in the current buffer - let old_printheader=&printheader - exe ':set printheader='.s:C_Printheader - " ----- normal mode ---------------- - if a:arg1=="n" - silent exe "hardcopy > ".Sou.".ps" - if !s:MSWIN - echo "file \"".Sou."\" printed to \"".Sou.".ps\"" - endif - endif - " ----- visual mode ---------------- - if a:arg1=="v" - silent exe "*hardcopy > ".Sou.".ps" - if !s:MSWIN - echo "file \"".Sou."\" (lines ".line("'<")."-".line("'>").") printed to \"".Sou.".ps\"" - endif - endif - exe ':set printheader='.escape( old_printheader, ' %' ) -endfunction " ---------- end of function C_Hardcopy ---------- -" -"------------------------------------------------------------------------------ -" C_HelpCsupport : help csupport {{{1 -"------------------------------------------------------------------------------ -function! C_HelpCsupport () - try - :help csupport - catch - exe ':helptags '.s:plugin_dir.'doc' - :help csupport - endtry -endfunction " ---------- end of function C_HelpCsupport ---------- - -"------------------------------------------------------------------------------ -" C_CreateGuiMenus {{{1 -"------------------------------------------------------------------------------ -let s:C_MenuVisible = 0 " state variable controlling the C-menus -" -function! C_CreateGuiMenus () - if s:C_MenuVisible != 1 - aunmenu <silent> &Tools.Load\ C\ Support - amenu <silent> 40.1000 &Tools.-SEP100- : - amenu <silent> 40.1030 &Tools.Unload\ C\ Support <C-C>:call C_RemoveGuiMenus()<CR> - call C_InitMenus() - let s:C_MenuVisible = 1 - endif -endfunction " ---------- end of function C_CreateGuiMenus ---------- - -"------------------------------------------------------------------------------ -" C_ToolMenu {{{1 -"------------------------------------------------------------------------------ -function! C_ToolMenu () - amenu <silent> 40.1000 &Tools.-SEP100- : - amenu <silent> 40.1030 &Tools.Load\ C\ Support <C-C>:call C_CreateGuiMenus()<CR> -endfunction " ---------- end of function C_ToolMenu ---------- - -"------------------------------------------------------------------------------ -" C_RemoveGuiMenus {{{1 -"------------------------------------------------------------------------------ -function! C_RemoveGuiMenus () - if s:C_MenuVisible == 1 - if s:C_Root == "" - aunmenu <silent> Comments - aunmenu <silent> Statements - aunmenu <silent> Preprocessor - aunmenu <silent> Idioms - aunmenu <silent> Snippets - aunmenu <silent> C++ - aunmenu <silent> Run - else - exe "aunmenu <silent> ".s:C_Root - endif - " - aunmenu <silent> &Tools.Unload\ C\ Support - call C_ToolMenu() - " - let s:C_MenuVisible = 0 - endif -endfunction " ---------- end of function C_RemoveGuiMenus ---------- - -"------------------------------------------------------------------------------ -" C_RebuildTemplates -" rebuild commands and the menu from the (changed) template file -"------------------------------------------------------------------------------ -function! C_RebuildTemplates () - let s:C_Template = {} - let s:C_FileVisited = [] - call C_ReadTemplates(s:C_GlobalTemplateFile) - echomsg "templates rebuilt from '".s:C_GlobalTemplateFile."'" - " - if s:installation == 'system' && filereadable( s:C_LocalTemplateFile ) - call C_ReadTemplates( s:C_LocalTemplateFile ) - echomsg " and from '".s:C_LocalTemplateFile."'" - endif -endfunction " ---------- end of function C_RebuildTemplates ---------- - -"------------------------------------------------------------------------------ -" C_ReadTemplates -" read the template file(s), build the macro and the template dictionary -" -"------------------------------------------------------------------------------ -function! C_ReadTemplates ( templatefile ) - - if !filereadable( a:templatefile ) - echohl WarningMsg - echomsg "C/C++ template file '".a:templatefile."' does not exist or is not readable" - echohl None - return - endif - - let skipmacros = 0 - let s:C_FileVisited += [a:templatefile] - - "------------------------------------------------------------------------------ - " read template file, start with an empty template dictionary - "------------------------------------------------------------------------------ - - let item = '' - for line in readfile( a:templatefile ) - " if not a comment : - if line !~ '^\$' - " - " macros and file includes - " - - let string = matchlist( line, s:C_MacroLineRegex ) - if !empty(string) && skipmacros == 0 - let key = '|'.string[1].'|' - let val = string[2] - let val = substitute( val, '\s\+$', '', '' ) - let val = substitute( val, "[\"\']$", '', '' ) - let val = substitute( val, "^[\"\']", '', '' ) - " - if key == '|includefile|' && count( s:C_FileVisited, val ) == 0 - let path = fnamemodify( a:templatefile, ":p:h" ) - call C_ReadTemplates( path.'/'.val ) " recursive call - else - let s:C_Macro[key] = val - endif - continue " next line - endif - " - " template header - " - let name = matchstr( line, s:C_TemplateLineRegex ) - " - if name != '' - let part = split( name, '\s*==\s*') - let item = part[0] - if has_key( s:C_Template, item ) && s:C_TemplateOverwrittenMsg == 'yes' - echomsg "existing C/C++ template '".item."' overwritten" - endif - let s:C_Template[item] = '' - let skipmacros = 1 - " - let s:C_Attribute[item] = 'below' - if has_key( s:Attribute, get( part, 1, 'NONE' ) ) - let s:C_Attribute[item] = part[1] - endif - else - if item != '' - let s:C_Template[item] = s:C_Template[item].line."\n" - endif - endif - endif - endfor - - call C_SetSmallCommentStyle() -endfunction " ---------- end of function C_ReadTemplates ---------- - -"------------------------------------------------------------------------------ -" C_InsertTemplate -" insert a template from the template dictionary -" do macro expansion -"------------------------------------------------------------------------------ -function! C_InsertTemplate ( key, ... ) - - if !has_key( s:C_Template, a:key ) - echomsg "Template '".a:key."' not found. Please check your template file in '".s:C_GlobalTemplateDir."'" - return - endif - - "------------------------------------------------------------------------------ - " insert the user macros - "------------------------------------------------------------------------------ - - " use internal formatting to avoid conficts when using == below - " - let equalprg_save = &equalprg - set equalprg= - - let mode = s:C_Attribute[a:key] - - " remove <SPLIT> and insert the complete macro - " - if a:0 == 0 - let val = C_ExpandUserMacros (a:key) - if val == "" - return - endif - let val = C_ExpandSingleMacro( val, '<SPLIT>', '' ) - - if mode == 'below' - let pos1 = line(".")+1 - put =val - let pos2 = line(".") - " proper indenting - exe ":".pos1 - let ins = pos2-pos1+1 - exe "normal ".ins."==" - endif - - if mode == 'above' - let pos1 = line(".") - put! =val - let pos2 = line(".") - " proper indenting - exe ":".pos1 - let ins = pos2-pos1+1 - exe "normal ".ins."==" - endif - - if mode == 'start' - normal gg - let pos1 = 1 - put! =val - let pos2 = line(".") - " proper indenting - exe ":".pos1 - let ins = pos2-pos1+1 - exe "normal ".ins."==" - endif - - if mode == 'append' - let pos1 = line(".") - put =val - let pos2 = line(".")-1 - exe ":".pos1 - :join! - endif - - if mode == 'insert' - let val = substitute( val, '\n$', '', '' ) - let pos1 = line(".") - let pos2 = pos1 + count( split(val,'\zs'), "\n" ) - exe "normal a".val - endif - " - else - " - " ===== visual mode =============================== - " - if a:1 == 'v' - let val = C_ExpandUserMacros (a:key) - if val == "" - return - endif - - let part = split( val, '<SPLIT>' ) - if len(part) < 2 - let part = [ "" ] + part - echomsg 'SPLIT missing in template '.a:key - endif - - if mode == 'below' - - :'<put! =part[0] - :'>put =part[1] - - let pos1 = line("'<") - len(split(part[0], '\n' )) - let pos2 = line("'>") + len(split(part[1], '\n' )) - "" echo part[0] part[1] pos1 pos2 - " " proper indenting - exe ":".pos1 - let ins = pos2-pos1+1 - exe "normal ".ins."==" - endif - - " - endif - endif - - " restore formatter programm - let &equalprg = equalprg_save - - "------------------------------------------------------------------------------ - " position the cursor - "------------------------------------------------------------------------------ - exe ":".pos1 - let mtch = search( '<CURSOR>', "c", pos2 ) - if mtch != 0 - if matchend( getline(mtch) ,'<CURSOR>') == match( getline(mtch) ,"$" ) - normal 8x - :startinsert! - else - normal 8x - :startinsert - endif - else - " to the end of the block; needed for repeated inserts - if mode == 'below' - exe ":".pos2 - endif - endif - -endfunction " ---------- end of function C_InsertTemplate ---------- - -"------------------------------------------------------------------------------ -" C_ExpandUserMacros -"------------------------------------------------------------------------------ -function! C_ExpandUserMacros ( key ) - - let template = s:C_Template[ a:key ] - let s:C_ExpansionCounter = {} " reset the expansion counter - - "------------------------------------------------------------------------------ - " renew the predefined macros and expand them - " can be replaced, with e.g. |?DATE| - "------------------------------------------------------------------------------ - let s:C_Macro['|BASENAME|'] = toupper(expand("%:t:r")) - let s:C_Macro['|DATE|'] = C_InsertDateAndTime('d') - let s:C_Macro['|FILENAME|'] = expand("%:t") - let s:C_Macro['|PATH|'] = expand("%:p:h") - let s:C_Macro['|SUFFIX|'] = expand("%:e") - let s:C_Macro['|TIME|'] = C_InsertDateAndTime('t') - let s:C_Macro['|YEAR|'] = C_InsertDateAndTime('y') - - "------------------------------------------------------------------------------ - " look for replacements - "------------------------------------------------------------------------------ - while match( template, s:C_ExpansionRegex ) != -1 - let macro = matchstr( template, s:C_ExpansionRegex ) - let replacement = substitute( macro, '?', '', '' ) - let template = substitute( template, macro, replacement, "g" ) - - let match = matchlist( macro, s:C_ExpansionRegex ) - - if match[1] != '' - let macroname = '|'.match[1].'|' - " - " notify flag action, if any - let flagaction = '' - if has_key( s:C_MacroFlag, match[2] ) - let flagaction = ' (-> '.s:C_MacroFlag[ match[2] ].')' - endif - " - " ask for a replacement - if has_key( s:C_Macro, macroname ) - let name = C_Input( match[1].flagaction.' : ', C_ApplyFlag( s:C_Macro[macroname], match[2] ) ) - else - let name = C_Input( match[1].flagaction.' : ', '' ) - endif - if name == "" - return "" - endif - " - " keep the modified name - let s:C_Macro[macroname] = C_ApplyFlag( name, match[2] ) - endif - endwhile - - "------------------------------------------------------------------------------ - " do the actual macro expansion - " loop over the macros found in the template - "------------------------------------------------------------------------------ - while match( template, s:C_NonExpansionRegex ) != -1 - - let macro = matchstr( template, s:C_NonExpansionRegex ) - let match = matchlist( macro, s:C_NonExpansionRegex ) - - if match[1] != '' - let macroname = '|'.match[1].'|' - - if has_key( s:C_Macro, macroname ) - "------------------------------------------------------------------------------- - " check for recursion - "------------------------------------------------------------------------------- - if has_key( s:C_ExpansionCounter, macroname ) - let s:C_ExpansionCounter[macroname] += 1 - else - let s:C_ExpansionCounter[macroname] = 0 - endif - if s:C_ExpansionCounter[macroname] >= s:C_ExpansionLimit - echomsg " recursion terminated for recursive macro ".macroname - return template - endif - "------------------------------------------------------------------------------- - " replace - "------------------------------------------------------------------------------- - let replacement = C_ApplyFlag( s:C_Macro[macroname], match[2] ) - let template = substitute( template, macro, replacement, "g" ) - else - " - " macro not yet defined - let s:C_Macro['|'.match[1].'|'] = '' - endif - endif - - endwhile - - return template -endfunction " ---------- end of function C_ExpandUserMacros ---------- - -"------------------------------------------------------------------------------ -" C_ApplyFlag -"------------------------------------------------------------------------------ -function! C_ApplyFlag ( val, flag ) - " - " l : lowercase - if a:flag == ':l' - return tolower(a:val) - end - " - " u : uppercase - if a:flag == ':u' - return toupper(a:val) - end - " - " c : capitalize - if a:flag == ':c' - return toupper(a:val[0]).a:val[1:] - end - " - " L : legalized name - if a:flag == ':L' - return C_LegalizeName(a:val) - end - " - " flag not valid - return a:val -endfunction " ---------- end of function C_ApplyFlag ---------- -" -"------------------------------------------------------------------------------ -" C_ExpandSingleMacro -"------------------------------------------------------------------------------ -function! C_ExpandSingleMacro ( val, macroname, replacement ) - return substitute( a:val, escape(a:macroname, '$' ), a:replacement, "g" ) -endfunction " ---------- end of function C_ExpandSingleMacro ---------- - -"------------------------------------------------------------------------------ -" C_SetSmallCommentStyle -"------------------------------------------------------------------------------ -function! C_SetSmallCommentStyle () - if has_key( s:C_Template, 'comment.end-of-line-comment' ) - if match( s:C_Template['comment.end-of-line-comment'], '^\s*/\*' ) != -1 - let s:C_Com1 = '/*' " C-style : comment start - let s:C_Com2 = '*/' " C-style : comment end - else - let s:C_Com1 = '//' " C++style : comment start - let s:C_Com2 = '' " C++style : comment end - endif - endif -endfunction " ---------- end of function C_SetSmallCommentStyle ---------- - -"------------------------------------------------------------------------------ -" C_InsertMacroValue -"------------------------------------------------------------------------------ -function! C_InsertMacroValue ( key ) - if col(".") > 1 - exe 'normal a'.s:C_Macro['|'.a:key.'|'] - else - exe 'normal i'.s:C_Macro['|'.a:key.'|'] - end -endfunction " ---------- end of function C_InsertMacroValue ---------- - -"------------------------------------------------------------------------------ -" date and time -"------------------------------------------------------------------------------ -function! C_InsertDateAndTime ( format ) - if a:format == 'd' - return strftime( s:C_FormatDate ) - end - if a:format == 't' - return strftime( s:C_FormatTime ) - end - if a:format == 'dt' - return strftime( s:C_FormatDate ).' '.strftime( s:C_FormatTime ) - end - if a:format == 'y' - return strftime( s:C_FormatYear ) - end -endfunction " ---------- end of function C_InsertDateAndTime ---------- - -"------------------------------------------------------------------------------ -" show / hide the c-support menus -" define key mappings (gVim only) -"------------------------------------------------------------------------------ -" -if has("gui_running") - " - call C_ToolMenu() - " - if s:C_LoadMenus == 'yes' - call C_CreateGuiMenus() - endif - " - nmap <unique> <silent> <Leader>lcs :call C_CreateGuiMenus()<CR> - nmap <unique> <silent> <Leader>ucs :call C_RemoveGuiMenus()<CR> - " -endif - -"------------------------------------------------------------------------------ -" Automated header insertion -" Local settings for the quickfix window -"------------------------------------------------------------------------------ -if has("autocmd") - " - " Automated header insertion (suffixes from the gcc manual) - " - autocmd BufNewFile * if (&filetype=='cpp' || &filetype=='c') | - \ call C_InsertTemplate("comment.file-description") | endif - " - " *.h has filetype 'cpp' by default; this can be changed to 'c' : - " - if s:C_TypeOfH=='c' - autocmd BufNewFile,BufEnter *.h :set filetype=c - endif - " - " C/C++ source code files which should not be preprocessed. - " - autocmd BufNewFile,BufRead *.i :set filetype=c - autocmd BufNewFile,BufRead *.ii :set filetype=cpp - " - " Wrap error descriptions in the quickfix window. - " - autocmd BufReadPost quickfix setlocal wrap | setlocal linebreak - " -endif " has("autocmd") -" -"------------------------------------------------------------------------------ -" READ THE TEMPLATE FILES -"------------------------------------------------------------------------------ -call C_ReadTemplates(s:C_GlobalTemplateFile) -if s:installation == 'system' && filereadable( s:C_LocalTemplateFile ) - call C_ReadTemplates( s:C_LocalTemplateFile ) -endif - -" -"===================================================================================== -" vim: tabstop=2 shiftwidth=2 foldmethod=marker diff --git a/.vim/plugin/filebrowser.vim b/.vim/plugin/filebrowser.vim deleted file mode 100644 index e9de049..0000000 --- a/.vim/plugin/filebrowser.vim +++ /dev/null @@ -1,251 +0,0 @@ -" filebrowser.vim: utility file for vim 6.2+ -" -" Copyright: Srinath Avadhanula <srinath AT fastmail DOT fm> -" Parts of this file are taken from explorer.vim which is a plugin file -" distributed with vim under the Vim charityware license. -" License: distributed under the Vim charityware license. -" -" Settings: -" FB_CallBackFunction: the function name which gets called when the user -" presses <cr> on a file-name in the file browser. -" FB_AllowRegexp: A filename has to match this regexp to be displayed. -" FB_RejectRegexp: If a filename matches this regexp, then its not displayed. -" (Both these regexps are '' by default which means no filtering is -" done). - -" line continuation used here. -let s:save_cpo = &cpo -set cpo&vim - -"====================================================================== -" Globally visible functions (API) -"====================================================================== -" FB_OpenFileBrowser: opens a new buffer and displays the file list {{{ -" Description: -function! FB_OpenFileBrowser(dir) - if !isdirectory(a:dir) - return - endif - if exists('s:FB_BufferNumber') - if bufwinnr(s:FB_BufferNumber) != -1 - execute bufwinnr(s:FB_BufferNumber).' wincmd w' - return - endif - execute 'aboveleft split #'.s:FB_BufferNumber - else - aboveleft split __Choose_File__ - let s:FB_BufferNumber = bufnr('%') - endif - call FB_DisplayFiles(a:dir) -endfunction " }}} -" FB_DisplayFiles: displays the files in a given directory {{{ -" Description: -" Call this function only when the cursor is in a temporary buffer -function! FB_DisplayFiles(dir) - if !isdirectory(a:dir) - return - endif - call s:FB_SetSilentSettings() - " make this a "scratch" buffer - call s:FB_SetScratchSettings() - - let allowRegexp = s:FB_GetVar('FB_AllowRegexp', '') - let rejectRegexp = s:FB_GetVar('FB_RejectRegexp', '') - - " change to the directory to make processing simpler. - execute "lcd ".a:dir - " delete everything in the buffer. - " IMPORTANT: we need to be in a scratch buffer - 0,$ d_ - - let allFilenames = glob('*') - let dispFiles = "" - let subDirs = "../\n" - - let i = 1 - while 1 - let filename = s:FB_Strntok(allFilenames, "\n", i) - if filename == '' - break - endif - if isdirectory(filename) - let subDirs = subDirs.filename."/\n" - else - if allowRegexp != '' && filename !~ allowRegexp - elseif rejectRegexp != '' && filename =~ rejectRegexp - else - let dispFiles = dispFiles.filename."\n" - endif - endif - let i = i + 1 - endwhile - 0put!=dispFiles - 0put!=subDirs - " delte the last empty line resulting from the put - $ d_ - - call s:FB_SetHighlighting() - call s:FB_DisplayHelp() - call s:FB_SetMaps() - - " goto the first file/directory - 0 - call search('^"=', 'w') - normal! j:<bs> - - set nomodified nomodifiable - - call s:FB_ResetSilentSettings() -endfunction " }}} -" FB_SetVar: sets script local variables from outside this script {{{ -" Description: -function! FB_SetVar(varname, value) - let s:{a:varname} = a:value -endfunction " }}} - -" FB_SetHighlighting: sets syntax highlighting for the buffer {{{ -" Description: -" Origin: from explorer.vim in vim -function! <SID>FB_SetHighlighting() - " Set up syntax highlighting - " Something wrong with the evaluation of the conditional though... - if has("syntax") && exists("g:syntax_on") && !has("syntax_items") - syn match browseSynopsis "^\"[ -].*" - syn match browseDirectory "[^\"].*/ " - syn match browseDirectory "[^\"].*/$" - syn match browseCurDir "^\"= .*$" - syn match browseSortBy "^\" Sorted by .*$" contains=browseSuffixInfo - syn match browseSuffixInfo "(.*)$" contained - syn match browseFilter "^\" Not Showing:.*$" - syn match browseFiletime "«\d\+$" - - "hi def link browseSynopsis PreProc - hi def link browseSynopsis Special - hi def link browseDirectory Directory - hi def link browseCurDir Statement - hi def link browseSortBy String - hi def link browseSuffixInfo Type - hi def link browseFilter String - hi def link browseFiletime Ignore - hi def link browseSuffixes Type - endif -endfunction " }}} -" FB_SetMaps: sets buffer local maps {{{ -" Description: -function! <SID>FB_SetMaps() - nnoremap <buffer> <silent> q :bdelete<cr> - nnoremap <buffer> <silent> C :call FB_DisplayFiles(getcwd())<CR> - nnoremap <buffer> <silent> <esc> :bdelete<cr> - nnoremap <buffer> <silent> <CR> :call <SID>FB_EditEntry()<CR> - nnoremap <buffer> <silent> ? :call <SID>FB_ToggleHelp()<CR> - - " lock the user in this window - nnoremap <buffer> <C-w> <nop> -endfunction " }}} -" FB_SetSilentSettings: some settings which make things silent {{{ -" Description: -" Origin: from explorer.vim distributed with vim. -function! <SID>FB_SetSilentSettings() - let s:save_report=&report - let s:save_showcmd = &sc - set report=10000 noshowcmd -endfunction -" FB_ResetSilentSettings: reset settings set by FB_SetSilentSettings -" Description: -function! <SID>FB_ResetSilentSettings() - let &report=s:save_report - let &showcmd = s:save_showcmd -endfunction " }}} -" FB_SetScratchSettings: makes the present buffer a scratch buffer {{{ -" Description: -function! <SID>FB_SetScratchSettings() - " Turn off the swapfile, set the buffer type so that it won't get - " written, and so that it will get deleted when it gets hidden. - setlocal noreadonly modifiable - setlocal noswapfile - setlocal buftype=nowrite - setlocal bufhidden=delete - " Don't wrap around long lines - setlocal nowrap -endfunction - -" }}} -" FB_ToggleHelp: toggles verbosity of help {{{ -" Description: -function! <SID>FB_ToggleHelp() - let s:FB_VerboseHelp = 1 - s:FB_GetVar('FB_VerboseHelp', 0) - - call FB_DisplayFiles('.') -endfunction " }}} -" FB_DisplayHelp: displays a helpful header {{{ -" Description: -function! <SID>FB_DisplayHelp() - let verboseHelp = s:FB_GetVar('FB_VerboseHelp', 0) - if verboseHelp - let txt = - \ "\" <cr>: on file, choose the file and quit\n" - \ ."\" on dir, enter directory\n" - \ ."\" q/<esc>: quit without choosing\n" - \ ."\" C: change directory to getcwd()\n" - \ ."\" ?: toggle help verbosity\n" - \ ."\"= ".getcwd() - else - let txt = "\" ?: toggle help verbosity\n" - \ ."\"= ".getcwd() - endif - 0put!=txt -endfunction " }}} - -" Handles various actions in the file-browser -" FB_EditEntry: handles the user pressing <enter> on a line {{{ -" Description: -function! <SID>FB_EditEntry() - let line = getline('.') - - if isdirectory(line) - call FB_DisplayFiles(line) - endif - - " If the user has a call back function defined on choosing a file, handle - " it. - let cbf = s:FB_GetVar('FB_CallBackFunction', '') - if cbf != '' && line !~ '^" ' && filereadable(line) - let fname = fnamemodify(line, ':p') - bdelete - - let arguments = s:FB_GetVar('FB_CallBackFunctionArgs', '') - if arguments != '' - let arguments = ','.arguments - endif - call Tex_Debug('arguments = '.arguments, 'fb') - call Tex_Debug("call ".cbf."('".fname."'".arguments.')', 'fb') - exec "call ".cbf."('".fname."'".arguments.')' - endif -endfunction " }}} - -" FB_Strntok (string, tok, n) {{{ -" extract the n^th token from s seperated by tok. -" example: FB_Strntok('1,23,3', ',', 2) = 23 -fun! <SID>FB_Strntok(s, tok, n) - return matchstr( a:s.a:tok[0], '\v(\zs([^'.a:tok.']*)\ze['.a:tok.']){'.a:n.'}') -endfun " }}} -" FB_GetVar: gets the most local value of a variable {{{ -function! <SID>FB_GetVar(name, default) - if exists('s:'.a:name) - return s:{a:name} - elseif exists('w:'.a:name) - return w:{a:name} - elseif exists('b:'.a:name) - return b:{a:name} - elseif exists('g:'.a:name) - return g:{a:name} - else - return a:default - endif -endfunction - -" }}} - -let &cpo = s:save_cpo - -" vim:fdm=marker:ff=unix:noet:ts=4:sw=4:nowrap diff --git a/.vim/plugin/gnupg.vim b/.vim/plugin/gnupg.vim deleted file mode 100644 index e2e7665..0000000 --- a/.vim/plugin/gnupg.vim +++ /dev/null @@ -1,1226 +0,0 @@ -" Name: gnupg.vim -" Last Change: 2011 Nov 23 -" Maintainer: James McCoy <vega.james@gmail.com> -" Original Author: Markus Braun <markus.braun@krawel.de> -" Summary: Vim plugin for transparent editing of gpg encrypted files. -" License: This program is free software; you can redistribute it and/or -" modify it under the terms of the GNU General Public License -" as published by the Free Software Foundation; either version -" 2 of the License, or (at your option) any later version. -" See http://www.gnu.org/copyleft/gpl-2.0.txt -" -" Section: Documentation {{{1 -" -" Description: {{{2 -" -" This script implements transparent editing of gpg encrypted files. The -" filename must have a ".gpg", ".pgp" or ".asc" suffix. When opening such -" a file the content is decrypted, when opening a new file the script will -" ask for the recipients of the encrypted file. The file content will be -" encrypted to all recipients before it is written. The script turns off -" viminfo and swapfile to increase security. -" -" Installation: {{{2 -" -" Copy the gnupg.vim file to the $HOME/.vim/plugin directory. -" Refer to ':help add-plugin', ':help add-global-plugin' and ':help -" runtimepath' for more details about Vim plugins. -" -" From "man 1 gpg-agent": -" -" ... -" You should always add the following lines to your .bashrc or whatever -" initialization file is used for all shell invocations: -" -" GPG_TTY=`tty` -" export GPG_TTY -" -" It is important that this environment variable always reflects the out†-" put of the tty command. For W32 systems this option is not required. -" ... -" -" Most distributions provide software to ease handling of gpg and gpg-agent. -" Examples are keychain or seahorse. -" -" Commands: {{{2 -" -" :GPGEditRecipients -" Opens a scratch buffer to change the list of recipients. Recipients that -" are unknown (not in your public key) are highlighted and have -" a prepended "!". Closing the buffer makes the changes permanent. -" -" :GPGViewRecipients -" Prints the list of recipients. -" -" :GPGEditOptions -" Opens a scratch buffer to change the options for encryption (symmetric, -" asymmetric, signing). Closing the buffer makes the changes permanent. -" WARNING: There is no check of the entered options, so you need to know -" what you are doing. -" -" :GPGViewOptions -" Prints the list of options. -" -" Variables: {{{2 -" -" g:GPGExecutable -" If set used as gpg executable, otherwise the system chooses what is run -" when "gpg" is called. Defaults to "gpg". -" -" g:GPGUseAgent -" If set to 0 a possible available gpg-agent won't be used. Defaults to 1. -" -" g:GPGPreferSymmetric -" If set to 1 symmetric encryption is preferred for new files. Defaults to 0. -" -" g:GPGPreferArmor -" If set to 1 armored data is preferred for new files. Defaults to 0 -" unless a "*.asc" file is being edited. -" -" g:GPGPreferSign -" If set to 1 signed data is preferred for new files. Defaults to 0. -" -" g:GPGDefaultRecipients -" If set, these recipients are used as defaults when no other recipient is -" defined. This variable is a Vim list. Default is unset. -" -" g:GPGUsePipes -" If set to 1, use pipes instead of temporary files when interacting with -" gnupg. When set to 1, this can cause terminal-based gpg agents to not -" display correctly when prompting for passwords. Defaults to 0. -" -" Known Issues: {{{2 -" -" In some cases gvim can't decrypt files - -" This is caused by the fact that a running gvim has no TTY and thus gpg is -" not able to ask for the passphrase by itself. This is a problem for Windows -" and Linux versions of gvim and could not be solved unless a "terminal -" emulation" is implemented for gvim. To circumvent this you have to use any -" combination of gpg-agent and a graphical pinentry program: -" -" - gpg-agent only: -" you need to provide the passphrase for the needed key to gpg-agent -" in a terminal before you open files with gvim which require this key. -" -" - pinentry only: -" you will get a popup window every time you open a file that needs to -" be decrypted. -" -" - gpgagent and pinentry: -" you will get a popup window the first time you open a file that -" needs to be decrypted. -" -" Credits: {{{2 -" -" - Mathieu Clabaut for inspirations through his vimspell.vim script. -" - Richard Bronosky for patch to enable ".pgp" suffix. -" - Erik Remmelzwaal for patch to enable windows support and patient beta -" testing. -" - Lars Becker for patch to make gpg2 working. -" - Thomas Arendsen Hein for patch to convert encoding of gpg output. -" - Karl-Heinz Ruskowski for patch to fix unknown recipients and trust model -" and patient beta testing. -" - Giel van Schijndel for patch to get GPG_TTY dynamically. -" - Sebastian Luettich for patch to fix issue with symmetric encryption an set -" recipients. -" - Tim Swast for patch to generate signed files. -" - James Vega for patches for better '*.asc' handling, better filename -" escaping and better handling of multiple keyrings. -" -" Section: Plugin header {{{1 - -" guard against multiple loads {{{2 -if (exists("g:loaded_gnupg") || &cp || exists("#BufReadCmd*.\(gpg\|asc\|pgp\)")) - finish -endif -let g:loaded_gnupg = '2.3' -let s:GPGInitRun = 0 - -" check for correct vim version {{{2 -if (v:version < 702) - echohl ErrorMsg | echo 'plugin gnupg.vim requires Vim version >= 7.2' | echohl None - finish -endif - -" Section: Autocmd setup {{{1 - -augroup GnuPG - autocmd! - - " do the decryption - autocmd BufReadCmd,FileReadCmd *.\(gpg\|asc\|pgp\) call s:GPGInit() - autocmd BufReadCmd,FileReadCmd *.\(gpg\|asc\|pgp\) call s:GPGDecrypt() - autocmd BufReadCmd *.\(gpg\|asc\|pgp\) call s:GPGBufReadPost() - - " convert all text to encrypted text before writing - autocmd BufWriteCmd,FileWriteCmd *.\(gpg\|asc\|pgp\) call s:GPGInit() - autocmd BufWriteCmd,FileWriteCmd *.\(gpg\|asc\|pgp\) call s:GPGEncrypt() - - " cleanup on leaving vim - autocmd VimLeave *.\(gpg\|asc\|pgp\) call s:GPGCleanup() -augroup END - -" Section: Constants {{{1 - -let s:GPGMagicString = "\t \t" - -" Section: Highlight setup {{{1 - -highlight default link GPGWarning WarningMsg -highlight default link GPGError ErrorMsg -highlight default link GPGHighlightUnknownRecipient ErrorMsg - -" Section: Functions {{{1 - -" Function: s:GPGInit() {{{2 -" -" initialize the plugin -" -function s:GPGInit() - call s:GPGDebug(3, ">>>>>>>> Entering s:GPGInit()") - - " we don't want a swap file, as it writes unencrypted data to disk - setl noswapfile - - " if persistent undo is present, disable it for this buffer - if exists('+undofile') - setl noundofile - endif - - " the rest only has to be run once - if s:GPGInitRun - return - endif - - " first make sure nothing is written to ~/.viminfo while editing - " an encrypted file. - set viminfo= - - " check what gpg command to use - if (!exists("g:GPGExecutable")) - let g:GPGExecutable = "gpg --trust-model always" - endif - - " check if gpg-agent is allowed - if (!exists("g:GPGUseAgent")) - let g:GPGUseAgent = 1 - endif - - " check if symmetric encryption is preferred - if (!exists("g:GPGPreferSymmetric")) - let g:GPGPreferSymmetric = 0 - endif - - " check if armored files are preferred - if (!exists("g:GPGPreferArmor")) - " .asc files should be armored as that's what the extension is used for - if expand('<afile>') =~ '\.asc$' - let g:GPGPreferArmor = 1 - else - let g:GPGPreferArmor = 0 - endif - endif - - " check if signed files are preferred - if (!exists("g:GPGPreferSign")) - let g:GPGPreferSign = 0 - endif - - " start with empty default recipients if none is defined so far - if (!exists("g:GPGDefaultRecipients")) - let g:GPGDefaultRecipients = [] - endif - - " prefer not to use pipes since it can garble gpg agent display - if (!exists("g:GPGUsePipes")) - let g:GPGUsePipes = 0 - endif - - " allow alternate gnupg homedir - if (!exists('g:GPGHomedir')) - let g:GPGHomedir = '' - endif - - " print version - call s:GPGDebug(1, "gnupg.vim ". g:loaded_gnupg) - - " determine if gnupg can use the gpg-agent - if (exists("$GPG_AGENT_INFO") && g:GPGUseAgent == 1) - if (!exists("$GPG_TTY") && !has("gui_running")) - let $GPG_TTY = system("tty") - if (v:shell_error) - let $GPG_TTY = "" - echohl GPGError - echom "The GPG_TTY is not set and no TTY could be found using the `tty` command!" - echom "gpg-agent might not work." - echohl None - endif - endif - let s:GPGCommand = g:GPGExecutable . " --use-agent" - else - let s:GPGCommand = g:GPGExecutable . " --no-use-agent" - endif - - " don't use tty in gvim except for windows: we get their a tty for free. - " FIXME find a better way to avoid an error. - " with this solution only --use-agent will work - if (has("gui_running") && !has("gui_win32")) - let s:GPGCommand = s:GPGCommand . " --no-tty" - endif - - " setup shell environment for unix and windows - let s:shellredirsave = &shellredir - let s:shellsave = &shell - let s:shelltempsave = &shelltemp - " noshelltemp isn't currently supported on Windows, but it doesn't cause any - " errors and this future proofs us against requiring changes if Windows - " gains noshelltemp functionality - let s:shelltemp = !g:GPGUsePipes - if (has("unix")) - " unix specific settings - let s:shellredir = ">%s 2>&1" - let s:shell = '/bin/sh' - let s:stderrredirnull = '2>/dev/null' - let s:GPGCommand = "LANG=C LC_ALL=C " . s:GPGCommand - else - " windows specific settings - let s:shellredir = '>%s' - let s:shell = &shell - let s:stderrredirnull = '2>nul' - endif - - call s:GPGDebug(3, "shellredirsave: " . s:shellredirsave) - call s:GPGDebug(3, "shellsave: " . s:shellsave) - call s:GPGDebug(3, "shelltempsave: " . s:shelltempsave) - - call s:GPGDebug(3, "shell: " . s:shell) - call s:GPGDebug(3, "shellcmdflag: " . &shellcmdflag) - call s:GPGDebug(3, "shellxquote: " . &shellxquote) - call s:GPGDebug(3, "shellredir: " . s:shellredir) - call s:GPGDebug(3, "stderrredirnull: " . s:stderrredirnull) - - call s:GPGDebug(3, "shell implementation: " . resolve(s:shell)) - - " find the supported algorithms - let output = s:GPGSystem({ 'level': 2, 'args': '--version' }) - - let s:GPGPubkey = substitute(output, ".*Pubkey: \\(.\\{-}\\)\n.*", "\\1", "") - let s:GPGCipher = substitute(output, ".*Cipher: \\(.\\{-}\\)\n.*", "\\1", "") - let s:GPGHash = substitute(output, ".*Hash: \\(.\\{-}\\)\n.*", "\\1", "") - let s:GPGCompress = substitute(output, ".*Compress.\\{-}: \\(.\\{-}\\)\n.*", "\\1", "") - - call s:GPGDebug(2, "public key algorithms: " . s:GPGPubkey) - call s:GPGDebug(2, "cipher algorithms: " . s:GPGCipher) - call s:GPGDebug(2, "hashing algorithms: " . s:GPGHash) - call s:GPGDebug(2, "compression algorithms: " . s:GPGCompress) - call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGInit()") - let s:GPGInitRun = 1 -endfunction - -" Function: s:GPGCleanup() {{{2 -" -" cleanup on leaving vim -" -function s:GPGCleanup() - call s:GPGDebug(3, ">>>>>>>> Entering s:GPGCleanup()") - - " wipe out screen - new +only - redraw! - - call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGCleanup()") -endfunction - -" Function: s:GPGDecrypt() {{{2 -" -" decrypt the buffer and find all recipients of the encrypted file -" -function s:GPGDecrypt() - call s:GPGDebug(3, ">>>>>>>> Entering s:GPGDecrypt()") - - " get the filename of the current buffer - let filename = expand("<afile>:p") - - " clear GPGRecipients and GPGOptions - let b:GPGRecipients = g:GPGDefaultRecipients - let b:GPGOptions = [] - - " File doesn't exist yet, so nothing to decrypt - if empty(glob(filename)) - return - endif - - " Only let this if the file actually exists, otherwise GPG functionality - " will be disabled when editing a buffer that doesn't yet have a backing - " file - let b:GPGEncrypted = 0 - - " find the recipients of the file - let cmd = { 'level': 3 } - let cmd.args = '--verbose --decrypt --list-only --dry-run --batch --no-use-agent --logger-fd 1 ' . shellescape(filename) - let output = s:GPGSystem(cmd) - - let asymmPattern = 'gpg: public key is \%(0x\)\=[[:xdigit:]]\{8,16}' - " check if the file is symmetric/asymmetric encrypted - if (match(output, "gpg: encrypted with [[:digit:]]\\+ passphrase") >= 0) - " file is symmetric encrypted - let b:GPGEncrypted = 1 - call s:GPGDebug(1, "this file is symmetric encrypted") - - let b:GPGOptions += ["symmetric"] - - " find the used cipher algorithm - let cipher = substitute(output, ".*gpg: \\([^ ]\\+\\) encrypted data.*", "\\1", "") - if (match(s:GPGCipher, "\\<" . cipher . "\\>") >= 0) - let b:GPGOptions += ["cipher-algo " . cipher] - call s:GPGDebug(1, "cipher-algo is " . cipher) - else - echohl GPGWarning - echom "The cipher " . cipher . " is not known by the local gpg command. Using default!" - echo - echohl None - endif - elseif (match(output, asymmPattern) >= 0) - " file is asymmetric encrypted - let b:GPGEncrypted = 1 - call s:GPGDebug(1, "this file is asymmetric encrypted") - - let b:GPGOptions += ["encrypt"] - - " find the used public keys - let start = match(output, asymmPattern) - while (start >= 0) - let start = start + strlen("gpg: public key is ") - let recipient = matchstr(output, '[[:xdigit:]]\{8,16}', start) - call s:GPGDebug(1, "recipient is " . recipient) - let name = s:GPGNameToID(recipient) - if (strlen(name) > 0) - let b:GPGRecipients += [name] - call s:GPGDebug(1, "name of recipient is " . name) - else - let b:GPGRecipients += [recipient] - echohl GPGWarning - echom "The recipient \"" . recipient . "\" is not in your public keyring!" - echohl None - end - let start = match(output, asymmPattern, start) - endwhile - else - " file is not encrypted - let b:GPGEncrypted = 0 - call s:GPGDebug(1, "this file is not encrypted") - echohl GPGWarning - echom "File is not encrypted, all GPG functions disabled!" - echohl None - silent exe '.r ' . fnameescape(filename) - call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGDecrypt()") - return - endif - - " check if the message is armored - if (match(output, "gpg: armor header") >= 0) - call s:GPGDebug(1, "this file is armored") - let b:GPGOptions += ["armor"] - endif - - " finally decrypt the buffer content - " since even with the --quiet option passphrase typos will be reported, - " we must redirect stderr (using shell temporarily) - call s:GPGDebug(1, "decrypting file") - let cmd = { 'level': 1, 'ex': 'r !' } - let cmd.args = '--quiet --decrypt ' . shellescape(filename, 1) - call s:GPGExecute(cmd) - - if (v:shell_error) " message could not be decrypted - echohl GPGError - let blackhole = input("Message could not be decrypted! (Press ENTER)") - echohl None - silent bwipeout! - call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGDecrypt()") - return - endif - - " refresh screen - redraw! - - call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGDecrypt()") -endfunction - -function s:GPGBufReadPost() - call s:GPGDebug(3, ">>>>>>>> Entering s:GPGBufReadPost()") - silent 1delete - " call the autocommand for the file minus .gpg$ - execute ':doautocmd BufReadPost ' . fnameescape(expand('<afile>:r')) - call s:GPGDebug(2, 'called autocommand for ' . fnameescape(expand('<afile>:r'))) - call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGBufReadPost()") -endfunction - -" Function: s:GPGEncrypt() {{{2 -" -" encrypts the buffer to all previous recipients -" -function s:GPGEncrypt() - call s:GPGDebug(3, ">>>>>>>> Entering s:GPGEncrypt()") - - " store encoding and switch to a safe one - if (&fileencoding != &encoding) - let s:GPGEncoding = &encoding - let &encoding = &fileencoding - call s:GPGDebug(2, "encoding was \"" . s:GPGEncoding . "\", switched to \"" . &encoding . "\"") - else - let s:GPGEncoding = "" - call s:GPGDebug(2, "encoding and fileencoding are the same (\"" . &encoding . "\"), not switching") - endif - - " guard for unencrypted files - if (exists("b:GPGEncrypted") && b:GPGEncrypted == 0) - echohl GPGError - let blackhole = input("Message could not be encrypted! (Press ENTER)") - echohl None - call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGEncrypt()") - return - endif - - " initialize GPGOptions if not happened before - if (!exists("b:GPGOptions") || len(b:GPGOptions) == 0) - let b:GPGOptions = [] - if (exists("g:GPGPreferSymmetric") && g:GPGPreferSymmetric == 1) - let b:GPGOptions += ["symmetric"] - let b:GPGRecipients = [] - else - let b:GPGOptions += ["encrypt"] - endif - if (exists("g:GPGPreferArmor") && g:GPGPreferArmor == 1) - let b:GPGOptions += ["armor"] - endif - if (exists("g:GPGPreferSign") && g:GPGPreferSign == 1) - let b:GPGOptions += ["sign"] - endif - call s:GPGDebug(1, "no options set, so using default options: " . string(b:GPGOptions)) - endif - - " built list of options - let options = "" - for option in b:GPGOptions - let options = options . " --" . option . " " - endfor - - if (!exists('b:GPGRecipients')) - let b:GPGRecipients = [] - endif - - " check here again if all recipients are available in the keyring - let [ recipients, unknownrecipients ] = s:GPGCheckRecipients(b:GPGRecipients) - - " check if there are unknown recipients and warn - if (len(unknownrecipients) > 0) - echohl GPGWarning - echom "Please use GPGEditRecipients to correct!!" - echo - echohl None - - " Let user know whats happend and copy known_recipients back to buffer - let dummy = input("Press ENTER to quit") - endif - - " built list of recipients - if (len(recipients) > 0) - for gpgid in recipients - let options = options . " -r " . gpgid - endfor - endif - - " encrypt the buffer - let destfile = tempname() - let cmd = { 'level': 1, 'ex': "'[,']w !" } - let cmd.args = '--quiet --no-encrypt-to ' . options - let cmd.redirect = '>' . shellescape(destfile, 1) - call s:GPGExecute(cmd) - - " restore encoding - if (s:GPGEncoding != "") - let &encoding = s:GPGEncoding - call s:GPGDebug(2, "restored encoding \"" . &encoding . "\"") - endif - - if (v:shell_error) " message could not be encrypted - " Command failed, so clean up the tempfile - call delete(destfile) - echohl GPGError - let blackhole = input("Message could not be encrypted! (Press ENTER)") - echohl None - call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGEncrypt()") - return - endif - - call rename(destfile, resolve(expand('<afile>'))) - setl nomodified - call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGEncrypt()") -endfunction - -" Function: s:GPGViewRecipients() {{{2 -" -" echo the recipients -" -function s:GPGViewRecipients() - call s:GPGDebug(3, ">>>>>>>> Entering s:GPGViewRecipients()") - - " guard for unencrypted files - if (exists("b:GPGEncrypted") && b:GPGEncrypted == 0) - echohl GPGWarning - echom "File is not encrypted, all GPG functions disabled!" - echohl None - call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGViewRecipients()") - return - endif - - let [ recipients, unknownrecipients ] = s:GPGCheckRecipients(b:GPGRecipients) - - echo 'This file has following recipients (Unknown recipients have a prepended "!"):' - " echo the recipients - for name in recipients - let name = s:GPGIDToName(name) - echo name - endfor - - " echo the unknown recipients - echohl GPGWarning - for name in unknownrecipients - let name = "!" . name - echo name - endfor - echohl None - - " check if there is any known recipient - if (len(recipients) == 0) - echohl GPGError - echom 'There are no known recipients!' - echohl None - endif - - call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGViewRecipients()") -endfunction - -" Function: s:GPGEditRecipients() {{{2 -" -" create a scratch buffer with all recipients to add/remove recipients -" -function s:GPGEditRecipients() - call s:GPGDebug(3, ">>>>>>>> Entering s:GPGEditRecipients()") - - " guard for unencrypted files - if (exists("b:GPGEncrypted") && b:GPGEncrypted == 0) - echohl GPGWarning - echom "File is not encrypted, all GPG functions disabled!" - echohl None - call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGEditRecipients()") - return - endif - - " only do this if it isn't already a GPGRecipients_* buffer - if (match(bufname("%"), "^\\(GPGRecipients_\\|GPGOptions_\\)") != 0 && match(bufname("%"), "\.\\(gpg\\|asc\\|pgp\\)$") >= 0) - - " save buffer name - let buffername = bufname("%") - let editbuffername = "GPGRecipients_" . buffername - - " check if this buffer exists - if (!bufexists(editbuffername)) - " create scratch buffer - execute 'silent! split ' . fnameescape(editbuffername) - - " add a autocommand to regenerate the recipients after a write - autocmd BufHidden,BufUnload,BufWriteCmd <buffer> call s:GPGFinishRecipientsBuffer() - else - if (bufwinnr(editbuffername) >= 0) - " switch to scratch buffer window - execute 'silent! ' . bufwinnr(editbuffername) . "wincmd w" - else - " split scratch buffer window - execute 'silent! sbuffer ' . fnameescape(editbuffername) - - " add a autocommand to regenerate the recipients after a write - autocmd BufHidden,BufUnload,BufWriteCmd <buffer> call s:GPGFinishRecipientsBuffer() - endif - - " empty the buffer - silent %delete - endif - - " Mark the buffer as a scratch buffer - setlocal buftype=acwrite - setlocal bufhidden=hide - setlocal noswapfile - setlocal nowrap - setlocal nobuflisted - setlocal nonumber - - " so we know for which other buffer this edit buffer is - let b:GPGCorrespondingTo = buffername - - " put some comments to the scratch buffer - silent put ='GPG: ----------------------------------------------------------------------' - silent put ='GPG: Please edit the list of recipients, one recipient per line.' - silent put ='GPG: Unknown recipients have a prepended \"!\".' - silent put ='GPG: Lines beginning with \"GPG:\" are removed automatically.' - silent put ='GPG: Data after recipients between and including \"(\" and \")\" is ignored.' - silent put ='GPG: Closing this buffer commits changes.' - silent put ='GPG: ----------------------------------------------------------------------' - - " get the recipients - let [ recipients, unknownrecipients ] = s:GPGCheckRecipients(getbufvar(b:GPGCorrespondingTo, "GPGRecipients")) - - " if there are no known or unknown recipients, use the default ones - if (len(recipients) == 0 && len(unknownrecipients) == 0) - if (type(g:GPGDefaultRecipients) == type([])) - let [ recipients, unknownrecipients ] = s:GPGCheckRecipients(g:GPGDefaultRecipients) - else - echohl GPGWarning - echom "g:GPGDefaultRecipients is not a Vim list, please correct this in your vimrc!" - echohl None - endif - endif - - " put the recipients in the scratch buffer - for name in recipients - let name = s:GPGIDToName(name) - silent put =name - endfor - - " put the unknown recipients in the scratch buffer - let syntaxPattern = "\\(nonexxistinwordinthisbuffer" - for name in unknownrecipients - let name = "!" . name - let syntaxPattern = syntaxPattern . "\\|" . fnameescape(name) - silent put =name - endfor - let syntaxPattern = syntaxPattern . "\\)" - - " define highlight - if (has("syntax") && exists("g:syntax_on")) - execute 'syntax match GPGUnknownRecipient "' . syntaxPattern . '"' - highlight clear GPGUnknownRecipient - highlight link GPGUnknownRecipient GPGHighlightUnknownRecipient - - syntax match GPGComment "^GPG:.*$" - execute 'syntax match GPGComment "' . s:GPGMagicString . '.*$"' - highlight clear GPGComment - highlight link GPGComment Comment - endif - - " delete the empty first line - silent 1delete - - " jump to the first recipient - silent $ - - endif - - call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGEditRecipients()") -endfunction - -" Function: s:GPGFinishRecipientsBuffer() {{{2 -" -" create a new recipient list from RecipientsBuffer -" -function s:GPGFinishRecipientsBuffer() - call s:GPGDebug(3, ">>>>>>>> Entering s:GPGFinishRecipientsBuffer()") - - " guard for unencrypted files - if (exists("b:GPGEncrypted") && b:GPGEncrypted == 0) - echohl GPGWarning - echom "File is not encrypted, all GPG functions disabled!" - echohl None - call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGFinishRecipientsBuffer()") - return - endif - - " go to buffer before doing work - if (bufnr("%") != expand("<abuf>")) - " switch to scratch buffer window - execute 'silent! ' . bufwinnr(expand("<afile>")) . "wincmd w" - endif - - " delete the autocommand - autocmd! * <buffer> - - - " get the recipients from the scratch buffer - let recipients = [] - let lines = getline(1,"$") - for recipient in lines - " delete all text after magic string - let recipient = substitute(recipient, s:GPGMagicString . ".*$", "", "") - - " delete all spaces at beginning and end of the recipient - " also delete a '!' at the beginning of the recipient - let recipient = substitute(recipient, "^[[:space:]!]*\\(.\\{-}\\)[[:space:]]*$", "\\1", "") - - " delete comment lines - let recipient = substitute(recipient, "^GPG:.*$", "", "") - - " only do this if the line is not empty - if (strlen(recipient) > 0) - let gpgid = s:GPGNameToID(recipient) - if (strlen(gpgid) > 0) - if (match(recipients, gpgid) < 0) - let recipients += [gpgid] - endif - else - if (match(recipients, recipient) < 0) - let recipients += [recipient] - echohl GPGWarning - echom "The recipient \"" . recipient . "\" is not in your public keyring!" - echohl None - endif - endif - endif - endfor - - " write back the new recipient list to the corresponding buffer and mark it - " as modified. Buffer is now for sure a encrypted buffer. - call setbufvar(b:GPGCorrespondingTo, "GPGRecipients", recipients) - call setbufvar(b:GPGCorrespondingTo, "&mod", 1) - call setbufvar(b:GPGCorrespondingTo, "GPGEncrypted", 1) - - " check if there is any known recipient - if (len(recipients) == 0) - echohl GPGError - echom 'There are no known recipients!' - echohl None - endif - - " reset modified flag - setl nomodified - - call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGFinishRecipientsBuffer()") -endfunction - -" Function: s:GPGViewOptions() {{{2 -" -" echo the recipients -" -function s:GPGViewOptions() - call s:GPGDebug(3, ">>>>>>>> Entering s:GPGViewOptions()") - - " guard for unencrypted files - if (exists("b:GPGEncrypted") && b:GPGEncrypted == 0) - echohl GPGWarning - echom "File is not encrypted, all GPG functions disabled!" - echohl None - call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGViewOptions()") - return - endif - - if (exists("b:GPGOptions")) - echo 'This file has following options:' - " echo the options - for option in b:GPGOptions - echo option - endfor - endif - - call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGViewOptions()") -endfunction - -" Function: s:GPGEditOptions() {{{2 -" -" create a scratch buffer with all recipients to add/remove recipients -" -function s:GPGEditOptions() - call s:GPGDebug(3, ">>>>>>>> Entering s:GPGEditOptions()") - - " guard for unencrypted files - if (exists("b:GPGEncrypted") && b:GPGEncrypted == 0) - echohl GPGWarning - echom "File is not encrypted, all GPG functions disabled!" - echohl None - call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGEditOptions()") - return - endif - - " only do this if it isn't already a GPGOptions_* buffer - if (match(bufname("%"), "^\\(GPGRecipients_\\|GPGOptions_\\)") != 0 && match(bufname("%"), "\.\\(gpg\\|asc\\|pgp\\)$") >= 0) - - " save buffer name - let buffername = bufname("%") - let editbuffername = "GPGOptions_" . buffername - - " check if this buffer exists - if (!bufexists(editbuffername)) - " create scratch buffer - execute 'silent! split ' . fnameescape(editbuffername) - - " add a autocommand to regenerate the options after a write - autocmd BufHidden,BufUnload,BufWriteCmd <buffer> call s:GPGFinishOptionsBuffer() - else - if (bufwinnr(editbuffername) >= 0) - " switch to scratch buffer window - execute 'silent! ' . bufwinnr(editbuffername) . "wincmd w" - else - " split scratch buffer window - execute 'silent! sbuffer ' . fnameescape(editbuffername) - - " add a autocommand to regenerate the options after a write - autocmd BufHidden,BufUnload,BufWriteCmd <buffer> call s:GPGFinishOptionsBuffer() - endif - - " empty the buffer - silent %delete - endif - - " Mark the buffer as a scratch buffer - setlocal buftype=nofile - setlocal noswapfile - setlocal nowrap - setlocal nobuflisted - setlocal nonumber - - " so we know for which other buffer this edit buffer is - let b:GPGCorrespondingTo = buffername - - " put some comments to the scratch buffer - silent put ='GPG: ----------------------------------------------------------------------' - silent put ='GPG: THERE IS NO CHECK OF THE ENTERED OPTIONS!' - silent put ='GPG: YOU NEED TO KNOW WHAT YOU ARE DOING!' - silent put ='GPG: IF IN DOUBT, QUICKLY EXIT USING :x OR :bd.' - silent put ='GPG: Please edit the list of options, one option per line.' - silent put ='GPG: Please refer to the gpg documentation for valid options.' - silent put ='GPG: Lines beginning with \"GPG:\" are removed automatically.' - silent put ='GPG: Closing this buffer commits changes.' - silent put ='GPG: ----------------------------------------------------------------------' - - " put the options in the scratch buffer - let options = getbufvar(b:GPGCorrespondingTo, "GPGOptions") - - for option in options - silent put =option - endfor - - " delete the empty first line - silent 1delete - - " jump to the first option - silent $ - - " define highlight - if (has("syntax") && exists("g:syntax_on")) - syntax match GPGComment "^GPG:.*$" - highlight clear GPGComment - highlight link GPGComment Comment - endif - endif - - call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGEditOptions()") -endfunction - -" Function: s:GPGFinishOptionsBuffer() {{{2 -" -" create a new option list from OptionsBuffer -" -function s:GPGFinishOptionsBuffer() - call s:GPGDebug(3, ">>>>>>>> Entering s:GPGFinishOptionsBuffer()") - - " guard for unencrypted files - if (exists("b:GPGEncrypted") && b:GPGEncrypted == 0) - echohl GPGWarning - echom "File is not encrypted, all GPG functions disabled!" - echohl None - call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGFinishOptionsBuffer()") - return - endif - - " go to buffer before doing work - if (bufnr("%") != expand("<abuf>")) - " switch to scratch buffer window - execute 'silent! ' . bufwinnr(expand("<afile>")) . "wincmd w" - endif - - " clear options and unknownOptions - let options = [] - let unknownOptions = [] - - " delete the autocommand - autocmd! * <buffer> - - " get the options from the scratch buffer - let lines = getline(1, "$") - for option in lines - " delete all spaces at beginning and end of the option - " also delete a '!' at the beginning of the option - let option = substitute(option, "^[[:space:]!]*\\(.\\{-}\\)[[:space:]]*$", "\\1", "") - " delete comment lines - let option = substitute(option, "^GPG:.*$", "", "") - - " only do this if the line is not empty - if (strlen(option) > 0 && match(options, option) < 0) - let options += [option] - endif - endfor - - " write back the new option list to the corresponding buffer and mark it - " as modified - call setbufvar(b:GPGCorrespondingTo, "GPGOptions", options) - call setbufvar(b:GPGCorrespondingTo, "&mod", 1) - - " reset modified flag - setl nomodified - - call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGFinishOptionsBuffer()") -endfunction - -" Function: s:GPGCheckRecipients(tocheck) {{{2 -" -" check if recipients are known -" Returns: two lists recipients and unknownrecipients -" -function s:GPGCheckRecipients(tocheck) - call s:GPGDebug(3, ">>>>>>>> Entering s:GPGCheckRecipients()") - - let recipients = [] - let unknownrecipients = [] - - if (type(a:tocheck) == type([])) - for recipient in a:tocheck - let gpgid = s:GPGNameToID(recipient) - if (strlen(gpgid) > 0) - if (match(recipients, gpgid) < 0) - let recipients += [gpgid] - endif - else - if (match(unknownrecipients, recipient) < 0) - let unknownrecipients += [recipient] - echohl GPGWarning - echom "The recipient \"" . recipient . "\" is not in your public keyring!" - echohl None - endif - end - endfor - endif - - call s:GPGDebug(2, "recipients are: " . string(recipients)) - call s:GPGDebug(2, "unknown recipients are: " . string(unknownrecipients)) - - call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGCheckRecipients()") - return [ recipients, unknownrecipients ] -endfunction - -" Function: s:GPGNameToID(name) {{{2 -" -" find GPG key ID corresponding to a name -" Returns: ID for the given name -" -function s:GPGNameToID(name) - call s:GPGDebug(3, ">>>>>>>> Entering s:GPGNameToID()") - - " ask gpg for the id for a name - let cmd = { 'level': 2 } - let cmd.args = '--quiet --with-colons --fixed-list-mode --list-keys ' . shellescape(a:name) - let output = s:GPGSystem(cmd) - - " when called with "--with-colons" gpg encodes its output _ALWAYS_ as UTF-8, - " so convert it, if necessary - if (&encoding != "utf-8") - let output = iconv(output, "utf-8", &encoding) - endif - let lines = split(output, "\n") - - " parse the output of gpg - let pubseen = 0 - let counter = 0 - let gpgids = [] - let duplicates = {} - let choices = "The name \"" . a:name . "\" is ambiguous. Please select the correct key:\n" - for line in lines - - " check if this line has already been processed - if !has_key(duplicates, line) - let duplicates[line] = 1 - - let fields = split(line, ":") - " search for the next uid - if (pubseen == 1) - if (fields[0] == "uid") - let choices = choices . " " . fields[9] . "\n" - else - let pubseen = 0 - endif - endif - - " search for the next pub - if (pubseen == 0) - if (fields[0] == "pub") - let identity = fields[4] - let gpgids += [identity] - if exists("*strftime") - let choices = choices . counter . ": ID: 0x" . identity . " created at " . strftime("%c", fields[5]) . "\n" - else - let choices = choices . counter . ": ID: 0x" . identity . "\n" - endif - let counter = counter+1 - let pubseen = 1 - endif - endif - endif - - endfor - - " counter > 1 means we have more than one results - let answer = 0 - if (counter > 1) - let choices = choices . "Enter number: " - let answer = input(choices, "0") - while (answer == "") - let answer = input("Enter number: ", "0") - endwhile - endif - - call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGNameToID()") - return get(gpgids, answer, "") -endfunction - -" Function: s:GPGIDToName(identity) {{{2 -" -" find name corresponding to a GPG key ID -" Returns: Name for the given ID -" -function s:GPGIDToName(identity) - call s:GPGDebug(3, ">>>>>>>> Entering s:GPGIDToName()") - - " TODO is the encryption subkey really unique? - - " ask gpg for the id for a name - let cmd = { 'level': 2 } - let cmd.args = '--quiet --with-colons --fixed-list-mode --list-keys ' . a:identity - let output = s:GPGSystem(cmd) - - " when called with "--with-colons" gpg encodes its output _ALWAYS_ as UTF-8, - " so convert it, if necessary - if (&encoding != "utf-8") - let output = iconv(output, "utf-8", &encoding) - endif - let lines = split(output, "\n") - - " parse the output of gpg - let pubseen = 0 - let uid = "" - for line in lines - let fields = split(line, ":") - if (pubseen == 0) " search for the next pub - if (fields[0] == "pub") - let pubseen = 1 - endif - else " search for the next uid - if (fields[0] == "uid") - let pubseen = 0 - if exists("*strftime") - let uid = fields[9] . s:GPGMagicString . "(ID: 0x" . a:identity . " created at " . strftime("%c", fields[5]) . ")" - else - let uid = fields[9] . s:GPGMagicString . "(ID: 0x" . a:identity . ")" - endif - break - endif - endif - endfor - - call s:GPGDebug(3, "<<<<<<<< Leaving s:GPGIDToName()") - return uid -endfunction - -function s:GPGPreCmd() - let &shellredir = s:shellredir - let &shell = s:shell - let &shelltemp = s:shelltemp -endfunction - -function s:GPGPostCmd() - let &shellredir = s:shellredirsave - let &shell = s:shellsave - let &shelltemp = s:shelltempsave -endfunction - -" Function: s:GPGSystem(dict) {{{2 -" -" run g:GPGCommand using system(), logging the commandline and output -" Recognized keys are: -" level - Debug level at which the commandline and output will be logged -" args - Arguments to be given to g:GPGCommand -" -" Returns: command output -" -function s:GPGSystem(dict) - let commandline = printf('%s %s', s:GPGCommand, a:dict.args) - if (!empty(g:GPGHomedir)) - let commandline .= ' --homedir ' . shellescape(g:GPGHomedir) - endif - let commandline .= ' ' . s:stderrredirnull - call s:GPGDebug(a:dict.level, "command: ". commandline) - - call s:GPGPreCmd() - let output = system(commandline) - call s:GPGPostCmd() - - call s:GPGDebug(a:dict.level, "output: ". output) - return output -endfunction - -" Function: s:GPGExecute(dict) {{{2 -" -" run g:GPGCommand using :execute, logging the commandline -" Recognized keys are: -" level - Debug level at which the commandline will be logged -" args - Arguments to be given to g:GPGCommand -" ex - Ex command which will be :executed -" redirect - Shell redirect to use, if needed -" -function s:GPGExecute(dict) - let commandline = printf('%s%s %s', a:dict.ex, s:GPGCommand, a:dict.args) - if (!empty(g:GPGHomedir)) - let commandline .= ' --homedir ' . shellescape(g:GPGHomedir, 1) - endif - if (has_key(a:dict, 'redirect')) - let commandline .= ' ' . a:dict.redirect - endif - let commandline .= ' ' . s:stderrredirnull - call s:GPGDebug(a:dict.level, "command: " . commandline) - - call s:GPGPreCmd() - execute commandline - call s:GPGPostCmd() -endfunction - -" Function: s:GPGDebug(level, text) {{{2 -" -" output debug message, if this message has high enough importance -" only define function if GPGDebugLevel set at all -" -function s:GPGDebug(level, text) - if exists("g:GPGDebugLevel") && g:GPGDebugLevel >= a:level - if exists("g:GPGDebugLog") - execute "redir >> " . g:GPGDebugLog - echom "GnuPG: " . a:text - redir END - else - echom "GnuPG: " . a:text - endif - endif -endfunction - -" Section: Commands {{{1 - -command! GPGViewRecipients call s:GPGViewRecipients() -command! GPGEditRecipients call s:GPGEditRecipients() -command! GPGViewOptions call s:GPGViewOptions() -command! GPGEditOptions call s:GPGEditOptions() - -" Section: Menu {{{1 - -if (has("menu")) - amenu <silent> Plugin.GnuPG.View\ Recipients :GPGViewRecipients<CR> - amenu <silent> Plugin.GnuPG.Edit\ Recipients :GPGEditRecipients<CR> - amenu <silent> Plugin.GnuPG.View\ Options :GPGViewOptions<CR> - amenu <silent> Plugin.GnuPG.Edit\ Options :GPGEditOptions<CR> -endif - -" vim600: set foldmethod=marker foldlevel=0 : diff --git a/.vim/plugin/imaps.vim b/.vim/plugin/imaps.vim deleted file mode 100644 index d871aa1..0000000 --- a/.vim/plugin/imaps.vim +++ /dev/null @@ -1,831 +0,0 @@ -" File: imaps.vim -" Authors: Srinath Avadhanula <srinath AT fastmail.fm> -" Benji Fisher <benji AT member.AMS.org> -" -" WWW: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/vim-latex/vimfiles/plugin/imaps.vim?only_with_tag=MAIN -" -" Description: insert mode template expander with cursor placement -" while preserving filetype indentation. -" -" $Id: imaps.vim 997 2006-03-20 09:45:45Z srinathava $ -" -" Documentation: {{{ -" -" Motivation: -" this script provides a way to generate insert mode mappings which do not -" suffer from some of the problem of mappings and abbreviations while allowing -" cursor placement after the expansion. It can alternatively be thought of as -" a template expander. -" -" Consider an example. If you do -" -" imap lhs something -" -" then a mapping is set up. However, there will be the following problems: -" 1. the 'ttimeout' option will generally limit how easily you can type the -" lhs. if you type the left hand side too slowly, then the mapping will not -" be activated. -" 2. if you mistype one of the letters of the lhs, then the mapping is -" deactivated as soon as you backspace to correct the mistake. -" -" If, in order to take care of the above problems, you do instead -" -" iab lhs something -" -" then the timeout problem is solved and so is the problem of mistyping. -" however, abbreviations are only expanded after typing a non-word character. -" which causes problems of cursor placement after the expansion and invariably -" spurious spaces are inserted. -" -" Usage Example: -" this script attempts to solve all these problems by providing an emulation -" of imaps wchich does not suffer from its attendant problems. Because maps -" are activated without having to press additional characters, therefore -" cursor placement is possible. furthermore, file-type specific indentation is -" preserved, because the rhs is expanded as if the rhs is typed in literally -" by the user. -" -" The script already provides some default mappings. each "mapping" is of the -" form: -" -" call IMAP (lhs, rhs, ft) -" -" Some characters in the RHS have special meaning which help in cursor -" placement. -" -" Example One: -" -" call IMAP ("bit`", "\\begin{itemize}\<cr>\\item <++>\<cr>\\end{itemize}<++>", "tex") -" -" This effectively sets up the map for "bit`" whenever you edit a latex file. -" When you type in this sequence of letters, the following text is inserted: -" -" \begin{itemize} -" \item * -" \end{itemize}<++> -" -" where * shows the cursor position. The cursor position after inserting the -" text is decided by the position of the first "place-holder". Place holders -" are special characters which decide cursor placement and movement. In the -" example above, the place holder characters are <+ and +>. After you have typed -" in the item, press <C-j> and you will be taken to the next set of <++>'s. -" Therefore by placing the <++> characters appropriately, you can minimize the -" use of movement keys. -" -" NOTE: Set g:Imap_UsePlaceHolders to 0 to disable placeholders altogether. -" Set -" g:Imap_PlaceHolderStart and g:Imap_PlaceHolderEnd -" to something else if you want different place holder characters. -" Also, b:Imap_PlaceHolderStart and b:Imap_PlaceHolderEnd override the values -" of g:Imap_PlaceHolderStart and g:Imap_PlaceHolderEnd respectively. This is -" useful for setting buffer specific place hoders. -" -" Example Two: -" You can use the <C-r> command to insert dynamic elements such as dates. -" call IMAP ('date`', "\<c-r>=strftime('%b %d %Y')\<cr>", '') -" -" sets up the map for date` to insert the current date. -" -"--------------------------------------%<-------------------------------------- -" Bonus: This script also provides a command Snip which puts tearoff strings, -" '----%<----' above and below the visually selected range of lines. The -" length of the string is chosen to be equal to the longest line in the range. -" Recommended Usage: -" '<,'>Snip -"--------------------------------------%<-------------------------------------- -" }}} - -" line continuation used here. -let s:save_cpo = &cpo -set cpo&vim - -" ============================================================================== -" Script Options / Variables -" ============================================================================== -" Options {{{ -if !exists('g:Imap_StickyPlaceHolders') - let g:Imap_StickyPlaceHolders = 1 -endif -if !exists('g:Imap_DeleteEmptyPlaceHolders') - let g:Imap_DeleteEmptyPlaceHolders = 1 -endif -" }}} -" Variables {{{ -" s:LHS_{ft}_{char} will be generated automatically. It will look like -" s:LHS_tex_o = 'fo\|foo\|boo' and contain all mapped sequences ending in "o". -" s:Map_{ft}_{lhs} will be generated automatically. It will look like -" s:Map_c_foo = 'for(<++>; <++>; <++>)', the mapping for "foo". -" -" }}} - -" ============================================================================== -" functions for easy insert mode mappings. -" ============================================================================== -" IMAP: Adds a "fake" insert mode mapping. {{{ -" For example, doing -" IMAP('abc', 'def' ft) -" will mean that if the letters abc are pressed in insert mode, then -" they will be replaced by def. If ft != '', then the "mapping" will be -" specific to the files of type ft. -" -" Using IMAP has a few advantages over simply doing: -" imap abc def -" 1. with imap, if you begin typing abc, the cursor will not advance and -" long as there is a possible completion, the letters a, b, c will be -" displayed on on top of the other. using this function avoids that. -" 2. with imap, if a backspace or arrow key is pressed before completing -" the word, then the mapping is lost. this function allows movement. -" (this ofcourse means that this function is only limited to -" left-hand-sides which do not have movement keys or unprintable -" characters) -" It works by only mapping the last character of the left-hand side. -" when this character is typed in, then a reverse lookup is done and if -" the previous characters consititute the left hand side of the mapping, -" the previously typed characters and erased and the right hand side is -" inserted - -" IMAP: set up a filetype specific mapping. -" Description: -" "maps" the lhs to rhs in files of type 'ft'. If supplied with 2 -" additional arguments, then those are assumed to be the placeholder -" characters in rhs. If unspecified, then the placeholder characters -" are assumed to be '<+' and '+>' These placeholder characters in -" a:rhs are replaced with the users setting of -" [bg]:Imap_PlaceHolderStart and [bg]:Imap_PlaceHolderEnd settings. -" -function! IMAP(lhs, rhs, ft, ...) - - " Find the place holders to save for IMAP_PutTextWithMovement() . - if a:0 < 2 - let phs = '<+' - let phe = '+>' - else - let phs = a:1 - let phe = a:2 - endif - - let hash = s:Hash(a:lhs) - let s:Map_{a:ft}_{hash} = a:rhs - let s:phs_{a:ft}_{hash} = phs - let s:phe_{a:ft}_{hash} = phe - - " Add a:lhs to the list of left-hand sides that end with lastLHSChar: - let lastLHSChar = a:lhs[strlen(a:lhs)-1] - let hash = s:Hash(lastLHSChar) - if !exists("s:LHS_" . a:ft . "_" . hash) - let s:LHS_{a:ft}_{hash} = escape(a:lhs, '\') - else - let s:LHS_{a:ft}_{hash} = escape(a:lhs, '\') .'\|'. s:LHS_{a:ft}_{hash} - endif - - " map only the last character of the left-hand side. - if lastLHSChar == ' ' - let lastLHSChar = '<space>' - end - exe 'inoremap <silent>' - \ escape(lastLHSChar, '|') - \ '<C-r>=<SID>LookupCharacter("' . - \ escape(lastLHSChar, '\|"') . - \ '")<CR>' -endfunction - -" }}} -" IMAP_list: list the rhs and place holders corresponding to a:lhs {{{ -" -" Added mainly for debugging purposes, but maybe worth keeping. -function! IMAP_list(lhs) - let char = a:lhs[strlen(a:lhs)-1] - let charHash = s:Hash(char) - if exists("s:LHS_" . &ft ."_". charHash) && a:lhs =~ s:LHS_{&ft}_{charHash} - let ft = &ft - elseif exists("s:LHS__" . charHash) && a:lhs =~ s:LHS__{charHash} - let ft = "" - else - return "" - endif - let hash = s:Hash(a:lhs) - return "rhs = " . s:Map_{ft}_{hash} . " place holders = " . - \ s:phs_{ft}_{hash} . " and " . s:phe_{ft}_{hash} -endfunction -" }}} -" LookupCharacter: inserts mapping corresponding to this character {{{ -" -" This function extracts from s:LHS_{&ft}_{a:char} or s:LHS__{a:char} -" the longest lhs matching the current text. Then it replaces lhs with the -" corresponding rhs saved in s:Map_{ft}_{lhs} . -" The place-holder variables are passed to IMAP_PutTextWithMovement() . -function! s:LookupCharacter(char) - if IMAP_GetVal('Imap_FreezeImap', 0) == 1 - return a:char - endif - let charHash = s:Hash(a:char) - - " The line so far, including the character that triggered this function: - let text = strpart(getline("."), 0, col(".")-1) . a:char - " Prefer a local map to a global one, even if the local map is shorter. - " Is this what we want? Do we care? - " Use '\V' (very no-magic) so that only '\' is special, and it was already - " escaped when building up s:LHS_{&ft}_{charHash} . - if exists("s:LHS_" . &ft . "_" . charHash) - \ && text =~ "\\C\\V\\(" . s:LHS_{&ft}_{charHash} . "\\)\\$" - let ft = &ft - elseif exists("s:LHS__" . charHash) - \ && text =~ "\\C\\V\\(" . s:LHS__{charHash} . "\\)\\$" - let ft = "" - else - " If this is a character which could have been used to trigger an - " abbreviation, check if an abbreviation exists. - if a:char !~ '\k' - let lastword = matchstr(getline('.'), '\k\+$', '') - call IMAP_Debug('getting lastword = ['.lastword.']', 'imap') - if lastword != '' - " An extremeley wierd way to get around the fact that vim - " doesn't have the equivalent of the :mapcheck() function for - " abbreviations. - let _a = @a - exec "redir @a | silent! iab ".lastword." | redir END" - let abbreviationRHS = matchstr(@a."\n", "\n".'i\s\+'.lastword.'\s\+@\?\zs.*\ze'."\n") - - call IMAP_Debug('getting abbreviationRHS = ['.abbreviationRHS.']', 'imap') - - if @a =~ "No abbreviation found" || abbreviationRHS == "" - let @a = _a - return a:char - endif - - let @a = _a - let abbreviationRHS = escape(abbreviationRHS, '\<"') - exec 'let abbreviationRHS = "'.abbreviationRHS.'"' - - let lhs = lastword.a:char - let rhs = abbreviationRHS.a:char - let phs = IMAP_GetPlaceHolderStart() - let phe = IMAP_GetPlaceHolderEnd() - else - return a:char - endif - else - return a:char - endif - endif - " Find the longest left-hand side that matches the line so far. - " matchstr() returns the match that starts first. This automatically - " ensures that the longest LHS is used for the mapping. - if !exists('lhs') || !exists('rhs') - let lhs = matchstr(text, "\\C\\V\\(" . s:LHS_{ft}_{charHash} . "\\)\\$") - let hash = s:Hash(lhs) - let rhs = s:Map_{ft}_{hash} - let phs = s:phs_{ft}_{hash} - let phe = s:phe_{ft}_{hash} - endif - - if strlen(lhs) == 0 - return a:char - endif - " enough back-spaces to erase the left-hand side; -1 for the last - " character typed: - let bs = substitute(strpart(lhs, 1), ".", "\<bs>", "g") - return bs . IMAP_PutTextWithMovement(rhs, phs, phe) -endfunction - -" }}} -" IMAP_PutTextWithMovement: returns the string with movement appended {{{ -" Description: -" If a:str contains "placeholders", then appends movement commands to -" str in a way that the user moves to the first placeholder and enters -" insert or select mode. If supplied with 2 additional arguments, then -" they are assumed to be the placeholder specs. Otherwise, they are -" assumed to be '<+' and '+>'. These placeholder chars are replaced -" with the users settings of [bg]:Imap_PlaceHolderStart and -" [bg]:Imap_PlaceHolderEnd. -function! IMAP_PutTextWithMovement(str, ...) - - " The placeholders used in the particular input string. These can be - " different from what the user wants to use. - if a:0 < 2 - let phs = '<+' - let phe = '+>' - else - let phs = escape(a:1, '\') - let phe = escape(a:2, '\') - endif - - let text = a:str - - " The user's placeholder settings. - let phsUser = IMAP_GetPlaceHolderStart() - let pheUser = IMAP_GetPlaceHolderEnd() - - " Problem: depending on the setting of the 'encoding' option, a character - " such as "\xab" may not match itself. We try to get around this by - " changing the encoding of all our strings. At the end, we have to - " convert text back. - let phsEnc = s:Iconv(phs, "encode") - let pheEnc = s:Iconv(phe, "encode") - let phsUserEnc = s:Iconv(phsUser, "encode") - let pheUserEnc = s:Iconv(pheUser, "encode") - let textEnc = s:Iconv(text, "encode") - if textEnc != text - let textEncoded = 1 - else - let textEncoded = 0 - endif - - let pattern = '\V\(\.\{-}\)' .phs. '\(\.\{-}\)' .phe. '\(\.\*\)' - " If there are no placeholders, just return the text. - if textEnc !~ pattern - call IMAP_Debug('Not getting '.phs.' and '.phe.' in '.textEnc, 'imap') - return text - endif - " Break text up into "initial <+template+> final"; any piece may be empty. - let initialEnc = substitute(textEnc, pattern, '\1', '') - let templateEnc = substitute(textEnc, pattern, '\2', '') - let finalEnc = substitute(textEnc, pattern, '\3', '') - - " If the user does not want to use placeholders, then remove all but the - " first placeholder. - " Otherwise, replace all occurences of the placeholders here with the - " user's choice of placeholder settings. - if exists('g:Imap_UsePlaceHolders') && !g:Imap_UsePlaceHolders - let finalEnc = substitute(finalEnc, '\V'.phs.'\.\{-}'.phe, '', 'g') - else - let finalEnc = substitute(finalEnc, '\V'.phs.'\(\.\{-}\)'.phe, - \ phsUserEnc.'\1'.pheUserEnc, 'g') - endif - - " The substitutions are done, so convert back, if necessary. - if textEncoded - let initial = s:Iconv(initialEnc, "decode") - let template = s:Iconv(templateEnc, "decode") - let final = s:Iconv(finalEnc, "decode") - else - let initial = initialEnc - let template = templateEnc - let final = finalEnc - endif - - " Build up the text to insert: - " 1. the initial text plus an extra character; - " 2. go to Normal mode with <C-\><C-N>, so it works even if 'insertmode' - " is set, and mark the position; - " 3. replace the extra character with tamplate and final; - " 4. back to Normal mode and restore the cursor position; - " 5. call IMAP_Jumpfunc(). - let template = phsUser . template . pheUser - " Old trick: insert and delete a character to get the same behavior at - " start, middle, or end of line and on empty lines. - let text = initial . "X\<C-\>\<C-N>:call IMAP_Mark('set')\<CR>\"_s" - let text = text . template . final - let text = text . "\<C-\>\<C-N>:call IMAP_Mark('go')\<CR>" - let text = text . "i\<C-r>=IMAP_Jumpfunc('', 1)\<CR>" - - call IMAP_Debug('IMAP_PutTextWithMovement: text = ['.text.']', 'imap') - return text -endfunction - -" }}} -" IMAP_Jumpfunc: takes user to next <+place-holder+> {{{ -" Author: Luc Hermitte -" Arguments: -" direction: flag for the search() function. If set to '', search forwards, -" if 'b', then search backwards. See the {flags} argument of the -" |search()| function for valid values. -" inclusive: In vim, the search() function is 'exclusive', i.e we always goto -" next cursor match even if there is a match starting from the -" current cursor position. Setting this argument to 1 makes -" IMAP_Jumpfunc() also respect a match at the current cursor -" position. 'inclusive'ness is necessary for IMAP() because a -" placeholder string can occur at the very beginning of a map which -" we want to select. -" We use a non-zero value only in special conditions. Most mappings -" should use a zero value. -function! IMAP_Jumpfunc(direction, inclusive) - - " The user's placeholder settings. - let phsUser = IMAP_GetPlaceHolderStart() - let pheUser = IMAP_GetPlaceHolderEnd() - - let searchString = '' - " If this is not an inclusive search or if it is inclusive, but the - " current cursor position does not contain a placeholder character, then - " search for the placeholder characters. - if !a:inclusive || strpart(getline('.'), col('.')-1) !~ '\V\^'.phsUser - let searchString = '\V'.phsUser.'\_.\{-}'.pheUser - endif - - " If we didn't find any placeholders return quietly. - if searchString != '' && !search(searchString, a:direction) - return '' - endif - - " Open any closed folds and make this part of the text visible. - silent! foldopen! - - " Calculate if we have an empty placeholder or if it contains some - " description. - let template = - \ matchstr(strpart(getline('.'), col('.')-1), - \ '\V\^'.phsUser.'\zs\.\{-}\ze\('.pheUser.'\|\$\)') - let placeHolderEmpty = !strlen(template) - - " If we are selecting in exclusive mode, then we need to move one step to - " the right - let extramove = '' - if &selection == 'exclusive' - let extramove = 'l' - endif - - " Select till the end placeholder character. - let movement = "\<C-o>v/\\V".pheUser."/e\<CR>".extramove - - " First remember what the search pattern was. s:RemoveLastHistoryItem will - " reset @/ to this pattern so we do not create new highlighting. - let g:Tex_LastSearchPattern = @/ - - " Now either goto insert mode or select mode. - if placeHolderEmpty && g:Imap_DeleteEmptyPlaceHolders - " delete the empty placeholder into the blackhole. - return movement."\"_c\<C-o>:".s:RemoveLastHistoryItem."\<CR>" - else - return movement."\<C-\>\<C-N>:".s:RemoveLastHistoryItem."\<CR>gv\<C-g>" - endif - -endfunction - -" }}} -" Maps for IMAP_Jumpfunc {{{ -" -" These mappings use <Plug> and thus provide for easy user customization. When -" the user wants to map some other key to jump forward, he can do for -" instance: -" nmap ,f <plug>IMAP_JumpForward -" etc. - -" jumping forward and back in insert mode. -imap <silent> <Plug>IMAP_JumpForward <c-r>=IMAP_Jumpfunc('', 0)<CR> -imap <silent> <Plug>IMAP_JumpBack <c-r>=IMAP_Jumpfunc('b', 0)<CR> - -" jumping in normal mode -nmap <silent> <Plug>IMAP_JumpForward i<c-r>=IMAP_Jumpfunc('', 0)<CR> -nmap <silent> <Plug>IMAP_JumpBack i<c-r>=IMAP_Jumpfunc('b', 0)<CR> - -" deleting the present selection and then jumping forward. -vmap <silent> <Plug>IMAP_DeleteAndJumpForward "_<Del>i<c-r>=IMAP_Jumpfunc('', 0)<CR> -vmap <silent> <Plug>IMAP_DeleteAndJumpBack "_<Del>i<c-r>=IMAP_Jumpfunc('b', 0)<CR> - -" jumping forward without deleting present selection. -vmap <silent> <Plug>IMAP_JumpForward <C-\><C-N>i<c-r>=IMAP_Jumpfunc('', 0)<CR> -vmap <silent> <Plug>IMAP_JumpBack <C-\><C-N>`<i<c-r>=IMAP_Jumpfunc('b', 0)<CR> - -" }}} -" Default maps for IMAP_Jumpfunc {{{ -" map only if there is no mapping already. allows for user customization. -" NOTE: Default mappings for jumping to the previous placeholder are not -" provided. It is assumed that if the user will create such mappings -" hself if e so desires. -if !hasmapto('<Plug>IMAP_JumpForward', 'i') - imap <C-J> <Plug>IMAP_JumpForward -endif -if !hasmapto('<Plug>IMAP_JumpForward', 'n') - nmap <C-J> <Plug>IMAP_JumpForward -endif -if exists('g:Imap_StickyPlaceHolders') && g:Imap_StickyPlaceHolders - if !hasmapto('<Plug>IMAP_JumpForward', 'v') - vmap <C-J> <Plug>IMAP_JumpForward - endif -else - if !hasmapto('<Plug>IMAP_DeleteAndJumpForward', 'v') - vmap <C-J> <Plug>IMAP_DeleteAndJumpForward - endif -endif -" }}} - -nmap <silent> <script> <plug><+SelectRegion+> `<v`> - -" ============================================================================== -" enclosing selected region. -" ============================================================================== -" VEnclose: encloses the visually selected region with given arguments {{{ -" Description: allows for differing action based on visual line wise -" selection or visual characterwise selection. preserves the -" marks and search history. -function! VEnclose(vstart, vend, VStart, VEnd) - - " its characterwise if - " 1. characterwise selection and valid values for vstart and vend. - " OR - " 2. linewise selection and invalid values for VStart and VEnd - if (visualmode() == 'v' && (a:vstart != '' || a:vend != '')) || (a:VStart == '' && a:VEnd == '') - - let newline = "" - let _r = @r - - let normcmd = "normal! \<C-\>\<C-n>`<v`>\"_s" - - exe "normal! \<C-\>\<C-n>`<v`>\"ry" - if @r =~ "\n$" - let newline = "\n" - let @r = substitute(@r, "\n$", '', '') - endif - - " In exclusive selection, we need to select an extra character. - if &selection == 'exclusive' - let movement = 8 - else - let movement = 7 - endif - let normcmd = normcmd. - \ a:vstart."!!mark!!".a:vend.newline. - \ "\<C-\>\<C-N>?!!mark!!\<CR>v".movement."l\"_s\<C-r>r\<C-\>\<C-n>" - - " this little if statement is because till very recently, vim used to - " report col("'>") > length of selected line when `> is $. on some - " systems it reports a -ve number. - if col("'>") < 0 || col("'>") > strlen(getline("'>")) - let lastcol = strlen(getline("'>")) - else - let lastcol = col("'>") - endif - if lastcol - col("'<") != 0 - let len = lastcol - col("'<") - else - let len = '' - endif - - " the next normal! is for restoring the marks. - let normcmd = normcmd."`<v".len."l\<C-\>\<C-N>" - - " First remember what the search pattern was. s:RemoveLastHistoryItem - " will reset @/ to this pattern so we do not create new highlighting. - let g:Tex_LastSearchPattern = @/ - - silent! exe normcmd - " this is to restore the r register. - let @r = _r - " and finally, this is to restore the search history. - execute s:RemoveLastHistoryItem - - else - - exec 'normal! `<O'.a:VStart."\<C-\>\<C-n>" - exec 'normal! `>o'.a:VEnd."\<C-\>\<C-n>" - if &indentexpr != '' - silent! normal! `<kV`>j= - endif - silent! normal! `> - endif -endfunction - -" }}} -" ExecMap: adds the ability to correct an normal/visual mode mapping. {{{ -" Author: Hari Krishna Dara <hari_vim@yahoo.com> -" Reads a normal mode mapping at the command line and executes it with the -" given prefix. Press <BS> to correct and <Esc> to cancel. -function! ExecMap(prefix, mode) - " Temporarily remove the mapping, otherwise it will interfere with the - " mapcheck call below: - let myMap = maparg(a:prefix, a:mode) - exec a:mode."unmap ".a:prefix - - " Generate a line with spaces to clear the previous message. - let i = 1 - let clearLine = "\r" - while i < &columns - let clearLine = clearLine . ' ' - let i = i + 1 - endwhile - - let mapCmd = a:prefix - let foundMap = 0 - let breakLoop = 0 - echon "\rEnter Map: " . mapCmd - while !breakLoop - let char = getchar() - if char !~ '^\d\+$' - if char == "\<BS>" - let mapCmd = strpart(mapCmd, 0, strlen(mapCmd) - 1) - endif - else " It is the ascii code. - let char = nr2char(char) - if char == "\<Esc>" - let breakLoop = 1 - else - let mapCmd = mapCmd . char - if maparg(mapCmd, a:mode) != "" - let foundMap = 1 - let breakLoop = 1 - elseif mapcheck(mapCmd, a:mode) == "" - let mapCmd = strpart(mapCmd, 0, strlen(mapCmd) - 1) - endif - endif - endif - echon clearLine - echon "\rEnter Map: " . mapCmd - endwhile - if foundMap - if a:mode == 'v' - " use a plug to select the region instead of using something like - " `<v`> to avoid problems caused by some of the characters in - " '`<v`>' being mapped. - let gotoc = "\<plug><+SelectRegion+>" - else - let gotoc = '' - endif - exec "normal ".gotoc.mapCmd - endif - exec a:mode.'noremap '.a:prefix.' '.myMap -endfunction - -" }}} - -" ============================================================================== -" helper functions -" ============================================================================== -" Strntok: extract the n^th token from a list {{{ -" example: Strntok('1,23,3', ',', 2) = 23 -fun! <SID>Strntok(s, tok, n) - return matchstr( a:s.a:tok[0], '\v(\zs([^'.a:tok.']*)\ze['.a:tok.']){'.a:n.'}') -endfun - -" }}} -" s:RemoveLastHistoryItem: removes last search item from search history {{{ -" Description: Execute this string to clean up the search history. -let s:RemoveLastHistoryItem = ':call histdel("/", -1)|let @/=g:Tex_LastSearchPattern' - -" }}} -" s:Hash: Return a version of a string that can be used as part of a variable" {{{ -" name. -" Converts every non alphanumeric character into _{ascii}_ where {ascii} is -" the ASCII code for that character... -fun! s:Hash(text) - return substitute(a:text, '\([^[:alnum:]]\)', - \ '\="_".char2nr(submatch(1))."_"', 'g') -endfun -"" }}} -" IMAP_GetPlaceHolderStart and IMAP_GetPlaceHolderEnd: "{{{ -" return the buffer local placeholder variables, or the global one, or the default. -function! IMAP_GetPlaceHolderStart() - if exists("b:Imap_PlaceHolderStart") && strlen(b:Imap_PlaceHolderEnd) - return b:Imap_PlaceHolderStart - elseif exists("g:Imap_PlaceHolderStart") && strlen(g:Imap_PlaceHolderEnd) - return g:Imap_PlaceHolderStart - else - return "<+" -endfun -function! IMAP_GetPlaceHolderEnd() - if exists("b:Imap_PlaceHolderEnd") && strlen(b:Imap_PlaceHolderEnd) - return b:Imap_PlaceHolderEnd - elseif exists("g:Imap_PlaceHolderEnd") && strlen(g:Imap_PlaceHolderEnd) - return g:Imap_PlaceHolderEnd - else - return "+>" -endfun -" }}} -" s:Iconv: a wrapper for iconv()" {{{ -" Problem: after -" let text = "\xab" -" (or using the raw 8-bit ASCII character in a file with 'fenc' set to -" "latin1") if 'encoding' is set to utf-8, then text does not match itself: -" echo text =~ text -" returns 0. -" Solution: When this happens, a re-encoded version of text does match text: -" echo iconv(text, "latin1", "utf8") =~ text -" returns 1. In this case, convert text to utf-8 with iconv(). -" TODO: Is it better to use &encoding instead of "utf8"? Internally, vim -" uses utf-8, and can convert between latin1 and utf-8 even when compiled with -" -iconv, so let's try using utf-8. -" Arguments: -" a:text = text to be encoded or decoded -" a:mode = "encode" (latin1 to utf8) or "decode" (utf8 to latin1) -" Caution: do not encode and then decode without checking whether the text -" has changed, becuase of the :if clause in encoding! -function! s:Iconv(text, mode) - if a:mode == "decode" - return iconv(a:text, "utf8", "latin1") - endif - if a:text =~ '\V\^' . escape(a:text, '\') . '\$' - return a:text - endif - let textEnc = iconv(a:text, "latin1", "utf8") - if textEnc !~ '\V\^' . escape(a:text, '\') . '\$' - call IMAP_Debug('Encoding problems with text '.a:text.' ', 'imap') - endif - return textEnc -endfun -"" }}} -" IMAP_Debug: interface to Tex_Debug if available, otherwise emulate it {{{ -" Description: -" Do not want a memory leak! Set this to zero so that imaps always -" starts out in a non-debugging mode. -if !exists('g:Imap_Debug') - let g:Imap_Debug = 0 -endif -function! IMAP_Debug(string, pattern) - if !g:Imap_Debug - return - endif - if exists('*Tex_Debug') - call Tex_Debug(a:string, a:pattern) - else - if !exists('s:debug_'.a:pattern) - let s:debug_{a:pattern} = a:string - else - let s:debug_{a:pattern} = s:debug_{a:pattern}.a:string - endif - endif -endfunction " }}} -" IMAP_DebugClear: interface to Tex_DebugClear if avaialable, otherwise emulate it {{{ -" Description: -function! IMAP_DebugClear(pattern) - if exists('*Tex_DebugClear') - call Tex_DebugClear(a:pattern) - else - let s:debug_{a:pattern} = '' - endif -endfunction " }}} -" IMAP_PrintDebug: interface to Tex_DebugPrint if avaialable, otherwise emulate it {{{ -" Description: -function! IMAP_PrintDebug(pattern) - if exists('*Tex_PrintDebug') - call Tex_PrintDebug(a:pattern) - else - if exists('s:debug_'.a:pattern) - echo s:debug_{a:pattern} - endif - endif -endfunction " }}} -" IMAP_Mark: Save the cursor position (if a:action == 'set') in a" {{{ -" script-local variable; restore this position if a:action == 'go'. -let s:Mark = "(0,0)" -let s:initBlanks = '' -function! IMAP_Mark(action) - if a:action == 'set' - let s:Mark = "(" . line(".") . "," . col(".") . ")" - let s:initBlanks = matchstr(getline('.'), '^\s*') - elseif a:action == 'go' - execute "call cursor" s:Mark - let blanksNow = matchstr(getline('.'), '^\s*') - if strlen(blanksNow) > strlen(s:initBlanks) - execute 'silent! normal! '.(strlen(blanksNow) - strlen(s:initBlanks)).'l' - elseif strlen(blanksNow) < strlen(s:initBlanks) - execute 'silent! normal! '.(strlen(s:initBlanks) - strlen(blanksNow)).'h' - endif - endif -endfunction "" }}} -" IMAP_GetVal: gets the value of a variable {{{ -" Description: first checks window local, then buffer local etc. -function! IMAP_GetVal(name, ...) - if a:0 > 0 - let default = a:1 - else - let default = '' - endif - if exists('w:'.a:name) - return w:{a:name} - elseif exists('b:'.a:name) - return b:{a:name} - elseif exists('g:'.a:name) - return g:{a:name} - else - return default - endif -endfunction " }}} - -" ============================================================================== -" A bonus function: Snip() -" ============================================================================== -" Snip: puts a scissor string above and below block of text {{{ -" Desciption: -"-------------------------------------%<------------------------------------- -" this puts a the string "--------%<---------" above and below the visually -" selected block of lines. the length of the 'tearoff' string depends on the -" maximum string length in the selected range. this is an aesthetically more -" pleasing alternative instead of hardcoding a length. -"-------------------------------------%<------------------------------------- -function! <SID>Snip() range - let i = a:firstline - let maxlen = -2 - " find out the maximum virtual length of each line. - while i <= a:lastline - exe i - let length = virtcol('$') - let maxlen = (length > maxlen ? length : maxlen) - let i = i + 1 - endwhile - let maxlen = (maxlen > &tw && &tw != 0 ? &tw : maxlen) - let half = maxlen/2 - exe a:lastline - " put a string below - exe "norm! o\<esc>".(half - 1)."a-\<esc>A%<\<esc>".(half - 1)."a-" - " and above. its necessary to put the string below the block of lines - " first because that way the first line number doesnt change... - exe a:firstline - exe "norm! O\<esc>".(half - 1)."a-\<esc>A%<\<esc>".(half - 1)."a-" -endfunction - -com! -nargs=0 -range Snip :<line1>,<line2>call <SID>Snip() -" }}} - -let &cpo = s:save_cpo - -" vim:ft=vim:ts=4:sw=4:noet:fdm=marker:commentstring=\"\ %s:nowrap diff --git a/.vim/plugin/libList.vim b/.vim/plugin/libList.vim deleted file mode 100644 index 7d72c3e..0000000 --- a/.vim/plugin/libList.vim +++ /dev/null @@ -1,249 +0,0 @@ -" File: libList.vim -" Last Change: 2001 Dec 10 -" Maintainer: Gontran BAERTS <gbcreation@free.fr> -" Version: 0.1 -" -" Please don't hesitate to correct my english :) -" Send corrections to <gbcreation@free.fr> -" -"----------------------------------------------------------------------------- -" Description: libList.vim is a set of functions to work with lists or one -" level arrays. -" -"----------------------------------------------------------------------------- -" To Enable: Normally, this file will reside in your plugins directory and be -" automatically sourced. -" -"----------------------------------------------------------------------------- -" Usage: Lists are strings variable with values separated by g:listSep -" character (comma" by default). You may redefine g:listSep variable as you -" wish. -" -" Here are available functions : -" -" - AddListItem( array, newItem, index ) : -" Add item "newItem" to array "array" at "index" position -" - GetListItem( array, index ) : -" Return item at "index" position in array "array" -" - GetListMatchItem( array, pattern ) : -" Return item matching "pattern" in array "array" -" - GetListCount( array ) : -" Return the number of items in array "array" -" - RemoveListItem( array, index ) : -" Remove item at "index" position from array "array" -" - ReplaceListItem( array, index, item ) : -" Remove item at "index" position by "item" in array "array" -" - ExchangeListItems( array, item1Index, item2Index ) : -" Exchange item "item1Index" with item "item2Index" in array "array" -" - QuickSortList( array, beg, end ) : -" Return array "array" with items between "beg" and "end" sorted -" -" Example: -" let mylist="" -" echo GetListCount( mylist ) " --> 0 -" let mylist = AddListItem( mylist, "One", 0 ) " mylist == "One" -" let mylist = AddListItem( mylist, "Three", 1 ) " mylist == "One,Three" -" let mylist = AddListItem( mylist, "Two", 1 ) " mylist == "One,Two,Three" -" echo GetListCount( mylist ) " --> 3 -" echo GetListItem( mylist, 2 ) " --> Three -" echo GetListMatchItem( mylist, "w" ) " --> two -" echo GetListMatchItem( mylist, "e" ) " --> One -" let mylist = RemoveListItem( mylist, 2 ) " mylist == "One,Two" -" echo GetListCount( mylist ) " --> 2 -" let mylist = ReplaceListItem( mylist, 0, "Three" ) " mylist == "Three,Two" -" let mylist = ExchangeListItems( mylist, 0, 1 ) " mylist == "Two,Three" -" let mylist = AddListItem( mylist, "One", 0 ) " mylist == "One,Two,Three" -" let mylist = QuickSortList( mylist, 0, GetListCount(mylist)-1 ) -" " mylist == "One,Three,Two" -" -"----------------------------------------------------------------------------- -" Updates: -" in version 0.1 -" - First version - -" Has this already been loaded ? -if exists("loaded_libList") - finish -endif -let loaded_libList=1 - -"** -" Separator: -" You may change the separator character et any time. -"** -let g:listSep = "," - -"** -"AddListItem: -" Add new item at given position. -" First item index is 0 (zero). -"Parameters: -" - array : Array/List (string of values) which receives the new item. -" - newItem : String containing the item value to add. -" - index : Integer indicating the position at which the new item is added. -" It must be greater than or equals to 0 (zero). -"Return: -"String containing array values, including newItem. -"** -function AddListItem( array, newItem, index ) - if a:index == 0 - if a:array == "" - return a:newItem - endif - return a:newItem . g:listSep . a:array - endif - return substitute( a:array, '\(\%(^\|' . g:listSep . '\)[^' . g:listSep . ']\+\)\{' . a:index . '\}', '\0' . g:listSep . a:newItem , "" ) -endfunction - -"** -"GetListItem: -" Get item at given position. -"Parameters: -" - array : Array/List (string of values). -" - index : Integer indicating the position of item to return. -" It must be greater than or equals to 0 (zero). -"Return: -"String representing the item. -"** -function GetListItem( array, index ) - if a:index == 0 - return matchstr( a:array, '^[^' . g:listSep . ']\+' ) - else - return matchstr( a:array, "[^" . g:listSep . "]\\+", matchend( a:array, '\(\%(^\|' . g:listSep . '\)[^' . g:listSep . ']\+\)\{' . a:index . '\}' . g:listSep ) ) - endif -endfunction - -"** -"GetListMatchItem: -" Get the first item matching given pattern. -"Parameters: -" - array : Array/List (string of values). -" - pattern : Regular expression to match with items. -" Avoid to use ^, $ and listSep characters in pattern, unless you -" know what you do. -"Return: -"String representing the first item that matches the pattern. -"** -function GetListMatchItem( array, pattern ) - return matchstr( a:array, '[^' . g:listSep . ']*' . a:pattern . '[^' . g:listSep . ']*' ) -endfunction - -"** -"ReplaceListItem: -" Replace item at given position by a new one. -"Parameters: -" - array : Array/List (string of values). -" - index : Integer indicating the position of item to replace. -" It must be greater than or equals to 0 (zero). -" - item : String containing the new value of the replaced item. -"Return: -"String containing array values. -"** -function ReplaceListItem( array, index, item ) - if a:index == 0 - return substitute( a:array, '^[^' .g:listSep. ']\+', a:item, "" ) - else - return substitute( a:array, '\(\%(\%(^\|' . g:listSep . '\)[^' . g:listSep . ']\+\)\{' . a:index . '\}\)' . g:listSep . '[^' . g:listSep . ']\+', '\1' . g:listSep . a:item , "" ) - endif -endfunction - -"** -"RemoveListItem: -" Remove item at given position. -"Parameters: -" - array : Array/List (string of values) from which remove an item. -" - index : Integer indicating the position of item to remove. -" It must be greater than or equals to 0 (zero). -"Return: -"String containing array values, except the removed one. -"** -function RemoveListItem( array, index ) - if a:index == 0 - return substitute( a:array, '^[^' .g:listSep. ']\+\(' . g:listSep . '\|$\)', "", "" ) - else - return substitute( a:array, '\(\%(\%(^\|' . g:listSep . '\)[^' . g:listSep . ']\+\)\{' . a:index . '\}\)' . g:listSep . '[^' . g:listSep . ']\+', '\1', "" ) - endif -endfunction - -"** -"ExchangeListItems: -" Exchange item at position item1Index with item at position item2Index. -"Parameters: -" - array : Array/List (string of values). -" - item1index : Integer indicating the position of the first item to exchange. -" It must be greater than or equals to 0 (zero). -" - item2index : Integer indicating the position of the second item to -" exchange. It must be greater than or equals to 0 (zero). -"Return: -"String containing array values. -"** -function ExchangeListItems( array, item1Index, item2Index ) - let item1 = GetListItem( a:array, a:item1Index ) - let array = ReplaceListItem( a:array, a:item1Index, GetListItem( a:array, a:item2Index ) ) - return ReplaceListItem( array, a:item2Index, item1 ) -endfunction - -"** -"GetListCount: -" Number of items in array. -"Parameters: -" - array : Array/List (string of values). -"Return: -"Integer representing the number of items in array. -"Index of last item is GetListCount(array)-1. -"** -function GetListCount( array ) - if a:array == "" | return 0 | endif - let pos = 0 - let cnt = 0 - while pos != -1 - let pos = matchend( a:array, g:listSep, pos ) - let cnt = cnt + 1 - endwhile - return cnt -endfunction - -"** -"QuickSortList: -" Sort array. -"Parameters: -" - array : Array/List (string of values). -" - beg : Min index of the range of items to sort. -" - end : Max index of the range of items to sort. -"Return: -"String containing array values with indicated range of items sorted. -"** -function QuickSortList( array, beg, end ) - let array = a:array - let pivot = GetListItem( array, a:beg ) - let l = a:beg - let r = a:end - while l < r - while GetListItem( array, r ) > pivot - let r = r - 1 - endwhile - if l != r - let array = ReplaceListItem( array, l, GetListItem( array, r ) ) - let array = ReplaceListItem( array, r, pivot ) - let l = l + 1 - endif - - while GetListItem( array, l ) < pivot - let l = l + 1 - endwhile - if l != r - let array = ReplaceListItem( array, r, GetListItem( array, l ) ) - let array = ReplaceListItem( array, l, pivot ) - let r = r - 1 - endif - endwhile - if a:beg < l-1 - let array = QuickSortList( array, a:beg, l-1 ) - endif - if a:end > l+1 - let array = QuickSortList( array, l+1, a:end ) - endif - return array -endfunction - - diff --git a/.vim/plugin/minibufexpl.vim b/.vim/plugin/minibufexpl.vim deleted file mode 100644 index 4e78063..0000000 --- a/.vim/plugin/minibufexpl.vim +++ /dev/null @@ -1,1838 +0,0 @@ -" Mini Buffer Explorer <minibufexpl.vim> -" -" HINT: Type zR if you don't know how to use folds -" -" Script Info and Documentation {{{ -"============================================================================= -" Copyright: Copyright (C) 2002 & 2003 Bindu Wavell -" Permission is hereby granted to use and distribute this code, -" with or without modifications, provided that this copyright -" notice is copied with it. Like anything else that's free, -" minibufexplorer.vim is provided *as is* and comes with no -" warranty of any kind, either expressed or implied. In no -" event will the copyright holder be liable for any damamges -" resulting from the use of this software. -" -" Name Of File: minibufexpl.vim -" Description: Mini Buffer Explorer Vim Plugin -" Maintainer: Bindu Wavell <bindu@wavell.net> -" URL: http://vim.sourceforge.net/scripts/script.php?script_id=159 -" Last Change: Sunday, June 21, 2004 -" Version: 6.3.2 -" Derived from Jeff Lanzarotta's bufexplorer.vim version 6.0.7 -" Jeff can be reached at (jefflanzarotta@yahoo.com) and the -" original plugin can be found at: -" http://lanzarotta.tripod.com/vim/plugin/6/bufexplorer.vim.zip -" -" Usage: Normally, this file should reside in the plugins -" directory and be automatically sourced. If not, you must -" manually source this file using ':source minibufexplorer.vim'. -" -" You may use the default keymappings of -" -" <Leader>mbe - Opens MiniBufExplorer -" -" or you may want to add something like the following -" key mapping to your _vimrc/.vimrc file. -" -" map <Leader>b :MiniBufExplorer<cr> -" -" However, in most cases you won't need any key-bindings at all. -" -" <Leader> is usually backslash so type "\mbe" (quickly) to open -" the -MiniBufExplorer- window. -" -" Other keymappings include: <Leader>mbc to close the Explorer -" window, <Leader>mbu to force the Explorer to Update and -" <Leader>mbt to toggle the Explorer window; it will open if -" closed or close if open. Each of these key bindings can be -" overridden (see the notes on <Leader>mbe above.) -" -" You can map these additional commands as follows: -" -" map <Leader>c :CMiniBufExplorer<cr> -" map <Leader>u :UMiniBufExplorer<cr> -" map <Leader>t :TMiniBufExplorer<cr> -" -" NOTE: you can change the key binding used in these mappings -" so that they fit with your configuration of vim. -" -" You can also call each of these features by typing the -" following in command mode: -" -" :MiniBufExplorer " Open and/or goto Explorer -" :CMiniBufExplorer " Close the Explorer if it's open -" :UMiniBufExplorer " Update Explorer without navigating -" :TMiniBufExplorer " Toggle the Explorer window open and -" closed. -" -" To control where the new split window goes relative to the -" current window, use the setting: -" -" let g:miniBufExplSplitBelow=0 " Put new window above -" " current or on the -" " left for vertical split -" let g:miniBufExplSplitBelow=1 " Put new window below -" " current or on the -" " right for vertical split -" -" The default for this is read from the &splitbelow VIM option. -" -" By default we are now (as of 6.0.2) forcing the -MiniBufExplorer- -" window to open up at the edge of the screen. You can turn this -" off by setting the following variable in your .vimrc: -" -" let g:miniBufExplSplitToEdge = 0 -" -" If you would like a vertical explorer you can assign the column -" width (in characters) you want for your explorer window with the -" following .vimrc variable (this was introduced in 6.3.0): -" -" let g:miniBufExplVSplit = 20 " column width in chars -" -" IN HORIZONTAL MODE: -" It is now (as of 6.1.1) possible to set a maximum height for -" the -MiniBufExplorer- window. You can set the max height by -" letting the following variable in your .vimrc: -" -" let g:miniBufExplMaxSize = <max lines: defualt 0> -" -" setting this to 0 will mean the window gets as big as -" needed to fit all your buffers. -" -" NOTE: This was g:miniBufExplMaxHeight before 6.3.0; the old -" setting is backwards compatible if you don't use MaxSize. -" -" As of 6.2.2 it is possible to set a minimum height for the -" -MiniBufExplorer- window. You can set the min height by -" letting the following variable in your .vimrc: -" -" let g:miniBufExplMinSize = <min height: default 1> -" -" NOTE: This was g:miniBufExplMinHeight before 6.3.0; the old -" setting is backwards compatible if you don't use MinSize. -" -" IN VERTICAL MODE: (as of 6.3.0) -" By default the vertical explorer has a fixed width. If you put: -" -" let g:miniBufExplMaxSize = <max width: default 0> -" -" into your .vimrc then MBE will attempt to set the width of the -" MBE window to be as wide as your widest tab. The width will not -" exceed MaxSize even if you have wider tabs. -" -" Accepting the default value of 0 for this will give you a fixed -" width MBE window. -" -" You can specify a MinSize for the vertical explorer window by -" putting the following in your .vimrc: -" -" let g:miniBufExplMinSize = <min width: default 1> -" -" This will have no effect unless you also specivy MaxSize. -" -" By default we are now (as of 6.0.1) turning on the MoreThanOne -" option. This stops the -MiniBufExplorer- from opening -" automatically until more than one eligible buffer is available. -" You can turn this feature off by setting the following variable -" in your .vimrc: -" -" let g:miniBufExplorerMoreThanOne=1 -" -" (The following enhancement is as of 6.2.2) -" Setting this to 0 will cause the MBE window to be loaded even -" if no buffers are available. Setting it to 1 causes the MBE -" window to be loaded as soon as an eligible buffer is read. You -" can also set it to larger numbers. So if you set it to 4 for -" example the MBE window wouldn't auto-open until 4 eligibles -" buffers had been loaded. This is nice for folks that don't -" want an MBE window unless they are editing more than two or -" three buffers. -" -" To enable the optional mapping of Control + Vim Direction Keys -" [hjkl] to window movement commands, you can put the following into -" your .vimrc: -" -" let g:miniBufExplMapWindowNavVim = 1 -" -" To enable the optional mapping of Control + Arrow Keys to window -" movement commands, you can put the following into your .vimrc: -" -" let g:miniBufExplMapWindowNavArrows = 1 -" -" To enable the optional mapping of <C-TAB> and <C-S-TAB> to a -" function that will bring up the next or previous buffer in the -" current window, you can put the following into your .vimrc: -" -" let g:miniBufExplMapCTabSwitchBufs = 1 -" -" To enable the optional mapping of <C-TAB> and <C-S-TAB> to mappings -" that will move to the next and previous (respectively) window, you -" can put the following into your .vimrc: -" -" let g:miniBufExplMapCTabSwitchWindows = 1 -" -" -" NOTE: If you set the ...TabSwitchBufs AND ...TabSwitchWindows, -" ...TabSwitchBufs will be enabled and ...TabSwitchWindows -" will not. -" -" As of MBE 6.3.0, you can put the following into your .vimrc: -" -" let g:miniBufExplUseSingleClick = 1 -" -" If you would like to single click on tabs rather than double -" clicking on them to goto the selected buffer. -" -" NOTE: If you use the single click option in taglist.vim you may -" need to get an updated version that includes a patch I -" provided to allow both explorers to provide single click -" buffer selection. -" -" It is possible to customize the the highlighting for the tabs in -" the MBE by configuring the following highlighting groups: -" -" MBENormal - for buffers that have NOT CHANGED and -" are NOT VISIBLE. -" MBEChanged - for buffers that HAVE CHANGED and are -" NOT VISIBLE -" MBEVisibleNormal - buffers that have NOT CHANGED and are -" VISIBLE -" MBEVisibleChanged - buffers that have CHANGED and are VISIBLE -" -" You can either link to an existing highlighting group by -" adding a command like: -" -" hi link MBEVisibleChanged Error -" -" to your .vimrc or you can specify exact foreground and background -" colors using the following syntax: -" -" hi MBEChanged guibg=darkblue ctermbg=darkblue termbg=white -" -" NOTE: If you set a colorscheme in your .vimrc you should do it -" BEFORE updating the MBE highlighting groups. -" -" If you use other explorers like TagList you can (As of 6.2.8) put: -" -" let g:miniBufExplModSelTarget = 1 -" -" into your .vimrc in order to force MBE to try to place selected -" buffers into a window that does not have a nonmodifiable buffer. -" The upshot of this should be that if you go into MBE and select -" a buffer, the buffer should not show up in a window that is -" hosting an explorer. -" -" There is a VIM bug that can cause buffers to show up without -" their highlighting. The following setting will cause MBE to -" try and turn highlighting back on (introduced in 6.3.1): -" -" let g:miniBufExplForceSyntaxEnable = 1 -" -" MBE has had a basic debugging capability for quite some time. -" However, it has not been very friendly in the past. As of 6.0.8, -" you can put one of each of the following into your .vimrc: -" -" let g:miniBufExplorerDebugLevel = 0 " MBE serious errors output -" let g:miniBufExplorerDebugLevel = 4 " MBE all errors output -" let g:miniBufExplorerDebugLevel = 10 " MBE reports everything -" -" You can also set a DebugMode to cause output to be target as -" follows (default is mode 3): -" -" let g:miniBufExplorerDebugMode = 0 " Errors will show up in -" " a vim window -" let g:miniBufExplorerDebugMode = 1 " Uses VIM's echo function -" " to display on the screen -" let g:miniBufExplorerDebugMode = 2 " Writes to a file -" " MiniBufExplorer.DBG -" let g:miniBufExplorerDebugMode = 3 " Store output in global: -" " g:miniBufExplorerDebugOutput -" -" Or if you are able to start VIM, you might just perform these -" at a command prompt right before you do the operation that is -" failing. -" -" History: Moved to end of file -" -" Known Issues: When debugging is turned on and set to output to a window, there -" are some cases where the window is opened more than once, there -" are other cases where an old debug window can be lost. -" -" Several MBE commands can break the window history so <C-W>[pnw] -" might not take you to the expected window. -" -" Todo: Add the ability to specify a regexp for eligible buffers -" allowing the ability to filter out certain buffers that -" you don't want to control from MBE -" -"============================================================================= -" }}} - -" Startup Check -" -" Has this plugin already been loaded? {{{ -" -if exists('loaded_minibufexplorer') - finish -endif -let loaded_minibufexplorer = 1 -" }}} - -" Mappings and Commands -" -" MBE Keyboard Mappings {{{ -" If we don't already have keyboard mappings for MBE then create them -" -if !hasmapto('<Plug>MiniBufExplorer') - map <unique> <Leader>mbe <Plug>MiniBufExplorer -endif -if !hasmapto('<Plug>CMiniBufExplorer') - map <unique> <Leader>mbc <Plug>CMiniBufExplorer -endif -if !hasmapto('<Plug>UMiniBufExplorer') - map <unique> <Leader>mbu <Plug>UMiniBufExplorer -endif -if !hasmapto('<Plug>TMiniBufExplorer') - map <unique> <Leader>mbt <Plug>TMiniBufExplorer -endif - -" }}} -" MBE <Script> internal map {{{ -" -noremap <unique> <script> <Plug>MiniBufExplorer :call <SID>StartExplorer(1, -1)<CR>:<BS> -noremap <unique> <script> <Plug>CMiniBufExplorer :call <SID>StopExplorer(1)<CR>:<BS> -noremap <unique> <script> <Plug>UMiniBufExplorer :call <SID>AutoUpdate(-1)<CR>:<BS> -noremap <unique> <script> <Plug>TMiniBufExplorer :call <SID>ToggleExplorer()<CR>:<BS> - -" }}} -" MBE commands {{{ -" -if !exists(':MiniBufExplorer') - command! MiniBufExplorer call <SID>StartExplorer(1, -1) -endif -if !exists(':CMiniBufExplorer') - command! CMiniBufExplorer call <SID>StopExplorer(1) -endif -if !exists(':UMiniBufExplorer') - command! UMiniBufExplorer call <SID>AutoUpdate(-1) -endif -if !exists(':TMiniBufExplorer') - command! TMiniBufExplorer call <SID>ToggleExplorer() -endif -if !exists(':MBEbn') - command! MBEbn call <SID>CycleBuffer(1) -endif -if !exists(':MBEbp') - command! MBEbp call <SID>CycleBuffer(0) -endif " }}} - -" Global Configuration Variables -" -" Debug Level {{{ -" -" 0 = no logging -" 1=5 = errors ; 1 is the most important -" 5-9 = info ; 5 is the most important -" 10 = Entry/Exit -if !exists('g:miniBufExplorerDebugLevel') - let g:miniBufExplorerDebugLevel = 0 -endif - -" }}} -" Debug Mode {{{ -" -" 0 = debug to a window -" 1 = use vim's echo facility -" 2 = write to a file named MiniBufExplorer.DBG -" in the directory where vim was started -" THIS IS VERY SLOW -" 3 = Write into g:miniBufExplorerDebugOutput -" global variable [This is the default] -if !exists('g:miniBufExplorerDebugMode') - let g:miniBufExplorerDebugMode = 3 -endif - -" }}} -" Allow auto update? {{{ -" -" We start out with this off for startup, but once vim is running we -" turn this on. -if !exists('g:miniBufExplorerAutoUpdate') - let g:miniBufExplorerAutoUpdate = 0 -endif - -" }}} -" MoreThanOne? {{{ -" Display Mini Buf Explorer when there are 'More Than One' eligible buffers -" -if !exists('g:miniBufExplorerMoreThanOne') - let g:miniBufExplorerMoreThanOne = 2 -endif - -" }}} -" Split below/above/left/right? {{{ -" When opening a new -MiniBufExplorer- window, split the new windows below or -" above the current window? 1 = below, 0 = above. -" -if !exists('g:miniBufExplSplitBelow') - let g:miniBufExplSplitBelow = &splitbelow -endif - -" }}} -" Split to edge? {{{ -" When opening a new -MiniBufExplorer- window, split the new windows to the -" full edge? 1 = yes, 0 = no. -" -if !exists('g:miniBufExplSplitToEdge') - let g:miniBufExplSplitToEdge = 1 -endif - -" }}} -" MaxHeight (depreciated) {{{ -" When sizing the -MiniBufExplorer- window, assign a maximum window height. -" 0 = size to fit all buffers, otherwise the value is number of lines for -" buffer. [Depreciated use g:miniBufExplMaxSize] -" -if !exists('g:miniBufExplMaxHeight') - let g:miniBufExplMaxHeight = 0 -endif - -" }}} -" MaxSize {{{ -" Same as MaxHeight but also works for vertical splits if specified with a -" vertical split then vertical resizing will be performed. If left at 0 -" then the number of columns in g:miniBufExplVSplit will be used as a -" static window width. -if !exists('g:miniBufExplMaxSize') - let g:miniBufExplMaxSize = g:miniBufExplMaxHeight -endif - -" }}} -" MinHeight (depreciated) {{{ -" When sizing the -MiniBufExplorer- window, assign a minumum window height. -" the value is minimum number of lines for buffer. Setting this to zero can -" cause strange height behavior. The default value is 1 [Depreciated use -" g:miniBufExplMinSize] -" -if !exists('g:miniBufExplMinHeight') - let g:miniBufExplMinHeight = 1 -endif - -" }}} -" MinSize {{{ -" Same as MinHeight but also works for vertical splits. For vertical splits, -" this is ignored unless g:miniBufExplMax(Size|Height) are specified. -if !exists('g:miniBufExplMinSize') - let g:miniBufExplMinSize = g:miniBufExplMinHeight -endif - -" }}} -" Horizontal or Vertical explorer? {{{ -" For folks that like vertical explorers, I'm caving in and providing for -" veritcal splits. If this is set to 0 then the current horizontal -" splitting logic will be run. If however you want a vertical split, -" assign the width (in characters) you wish to assign to the MBE window. -" -if !exists('g:miniBufExplVSplit') - let g:miniBufExplVSplit = 0 -endif - -" }}} -" TabWrap? {{{ -" By default line wrap is used (possibly breaking a tab name between two -" lines.) Turning this option on (setting it to 1) can take more screen -" space, but will make sure that each tab is on one and only one line. -" -if !exists('g:miniBufExplTabWrap') - let g:miniBufExplTabWrap = 0 -endif - -" }}} -" Extended window navigation commands? {{{ -" Global flag to turn extended window navigation commands on or off -" enabled = 1, dissabled = 0 -" -if !exists('g:miniBufExplMapWindowNav') - " This is for backwards compatibility and may be removed in a - " later release, please use the ...NavVim and/or ...NavArrows - " settings. - let g:miniBufExplMapWindowNav = 0 -endif -if !exists('g:miniBufExplMapWindowNavVim') - let g:miniBufExplMapWindowNavVim = 0 -endif -if !exists('g:miniBufExplMapWindowNavArrows') - let g:miniBufExplMapWindowNavArrows = 0 -endif -if !exists('g:miniBufExplMapCTabSwitchBufs') - let g:miniBufExplMapCTabSwitchBufs = 0 -endif -" Notice: that if CTabSwitchBufs is turned on then -" we turn off CTabSwitchWindows. -if g:miniBufExplMapCTabSwitchBufs == 1 || !exists('g:miniBufExplMapCTabSwitchWindows') - let g:miniBufExplMapCTabSwitchWindows = 0 -endif - -" -" If we have enabled control + vim direction key remapping -" then perform the remapping -" -" Notice: I left g:miniBufExplMapWindowNav in for backward -" compatibility. Eventually this mapping will be removed so -" please use the newer g:miniBufExplMapWindowNavVim setting. -if g:miniBufExplMapWindowNavVim || g:miniBufExplMapWindowNav - noremap <C-J> <C-W>j - noremap <C-K> <C-W>k - noremap <C-H> <C-W>h - noremap <C-L> <C-W>l -endif - -" -" If we have enabled control + arrow key remapping -" then perform the remapping -" -if g:miniBufExplMapWindowNavArrows - noremap <C-Down> <C-W>j - noremap <C-Up> <C-W>k - noremap <C-Left> <C-W>h - noremap <C-Right> <C-W>l -endif - -" If we have enabled <C-TAB> and <C-S-TAB> to switch buffers -" in the current window then perform the remapping -" -if g:miniBufExplMapCTabSwitchBufs - noremap <C-TAB> :call <SID>CycleBuffer(1)<CR>:<BS> - noremap <C-S-TAB> :call <SID>CycleBuffer(0)<CR>:<BS> -endif - -" -" If we have enabled <C-TAB> and <C-S-TAB> to switch windows -" then perform the remapping -" -if g:miniBufExplMapCTabSwitchWindows - noremap <C-TAB> <C-W>w - noremap <C-S-TAB> <C-W>W -endif - -" }}} -" Modifiable Select Target {{{ -" -if !exists('g:miniBufExplModSelTarget') - let g:miniBufExplModSelTarget = 0 -endif - -"}}} -" Force Syntax Enable {{{ -" -if !exists('g:miniBufExplForceSyntaxEnable') - let g:miniBufExplForceSyntaxEnable = 0 -endif - -" }}} -" Single/Double Click? {{{ -" flag that can be set to 1 in a users .vimrc to allow -" single click switching of tabs. By default we use -" double click for tab selection. -" -if !exists('g:miniBufExplUseSingleClick') - let g:miniBufExplUseSingleClick = 0 -endif - -" -" attempt to perform single click mapping, it would be much -" nicer if we could nnoremap <buffer> ... however vim does -" not fire the <buffer> <leftmouse> when you use the mouse -" to enter a buffer. -" -if g:miniBufExplUseSingleClick == 1 - let s:clickmap = ':if bufname("%") == "-MiniBufExplorer-" <bar> call <SID>MBEClick() <bar> endif <CR>' - if maparg('<LEFTMOUSE>', 'n') == '' - " no mapping for leftmouse - exec ':nnoremap <silent> <LEFTMOUSE> <LEFTMOUSE>' . s:clickmap - else - " we have a mapping - let g:miniBufExplDoneClickSave = 1 - let s:m = ':nnoremap <silent> <LEFTMOUSE> <LEFTMOUSE>' - let s:m = s:m . substitute(substitute(maparg('<LEFTMOUSE>', 'n'), '|', '<bar>', 'g'), '\c^<LEFTMOUSE>', '', '') - let s:m = s:m . s:clickmap - exec s:m - endif -endif " }}} - -" Variables used internally -" -" Script/Global variables {{{ -" Global used to store the buffer list so we don't update the -" UI unless the list has changed. -if !exists('g:miniBufExplBufList') - let g:miniBufExplBufList = '' -endif - -" Variable used as a mutex so that we don't do lots -" of AutoUpdates at the same time. -if !exists('g:miniBufExplInAutoUpdate') - let g:miniBufExplInAutoUpdate = 0 -endif - -" In debug mode 3 this variable will hold the debug output -if !exists('g:miniBufExplorerDebugOutput') - let g:miniBufExplorerDebugOutput = '' -endif - -" In debug mode 3 this variable will hold the debug output -if !exists('g:miniBufExplForceDisplay') - let g:miniBufExplForceDisplay = 0 -endif - -" Variable used to pass maxTabWidth info between functions -let s:maxTabWidth = 0 - -" Variable used to count debug output lines -let s:debugIndex = 0 - - -" }}} -" Setup an autocommand group and some autocommands {{{ -" that keep our explorer updated automatically. -" -augroup MiniBufExplorer -autocmd MiniBufExplorer BufDelete * call <SID>DEBUG('-=> BufDelete AutoCmd', 10) |call <SID>AutoUpdate(expand('<abuf>')) -autocmd MiniBufExplorer BufEnter * call <SID>DEBUG('-=> BufEnter AutoCmd', 10) |call <SID>AutoUpdate(-1) -autocmd MiniBufExplorer VimEnter * call <SID>DEBUG('-=> VimEnter AutoCmd', 10) |let g:miniBufExplorerAutoUpdate = 1 |call <SID>AutoUpdate(-1) -" }}} - -" Functions -" -" StartExplorer - Sets up our explorer and causes it to be displayed {{{ -" -function! <SID>StartExplorer(sticky, delBufNum) - call <SID>DEBUG('===========================',10) - call <SID>DEBUG('Entering StartExplorer()' ,10) - call <SID>DEBUG('===========================',10) - - if a:sticky == 1 - let g:miniBufExplorerAutoUpdate = 1 - endif - - " Store the current buffer - let l:curBuf = bufnr('%') - - " Prevent a report of our actions from showing up. - let l:save_rep = &report - let l:save_sc = &showcmd - let &report = 10000 - set noshowcmd - - call <SID>FindCreateWindow('-MiniBufExplorer-', -1, 1, 1) - - " Make sure we are in our window - if bufname('%') != '-MiniBufExplorer-' - call <SID>DEBUG('StartExplorer called in invalid window',1) - let &report = l:save_rep - let &showcmd = l:save_sc - return - endif - - " !!! We may want to make the following optional -- Bindu - " New windows don't cause all windows to be resized to equal sizes - set noequalalways - " !!! We may want to make the following optional -- Bindu - " We don't want the mouse to change focus without a click - set nomousefocus - - " If folks turn numbering and columns on by default we will turn - " them off for the MBE window - setlocal foldcolumn=0 - setlocal nonumber - - if has("syntax") - syn clear - syn match MBENormal '\[[^\]]*\]' - syn match MBEChanged '\[[^\]]*\]+' - syn match MBEVisibleNormal '\[[^\]]*\]\*+\=' - syn match MBEVisibleChanged '\[[^\]]*\]\*+' - - if !exists("g:did_minibufexplorer_syntax_inits") - let g:did_minibufexplorer_syntax_inits = 1 - hi def link MBENormal Comment - hi def link MBEChanged String - hi def link MBEVisibleNormal Special - hi def link MBEVisibleChanged Special - endif - endif - - " If you press return in the -MiniBufExplorer- then try - " to open the selected buffer in the previous window. - nnoremap <buffer> <CR> :call <SID>MBESelectBuffer()<CR>:<BS> - " If you DoubleClick in the -MiniBufExplorer- then try - " to open the selected buffer in the previous window. - nnoremap <buffer> <2-LEFTMOUSE> :call <SID>MBEDoubleClick()<CR>:<BS> - " If you press d in the -MiniBufExplorer- then try to - " delete the selected buffer. - nnoremap <buffer> d :call <SID>MBEDeleteBuffer()<CR>:<BS> - " If you press w in the -MiniBufExplorer- then switch back - " to the previous window. - nnoremap <buffer> p :wincmd p<CR>:<BS> - " The following allow us to use regular movement keys to - " scroll in a wrapped single line buffer - nnoremap <buffer> j gj - nnoremap <buffer> k gk - nnoremap <buffer> <down> gj - nnoremap <buffer> <up> gk - " The following allows for quicker moving between buffer - " names in the [MBE] window it also saves the last-pattern - " and restores it. - nnoremap <buffer> <TAB> :call search('\[[0-9]*:[^\]]*\]')<CR>:<BS> - nnoremap <buffer> <S-TAB> :call search('\[[0-9]*:[^\]]*\]','b')<CR>:<BS> - - call <SID>DisplayBuffers(a:delBufNum) - - if (l:curBuf != -1) - call search('\['.l:curBuf.':'.expand('#'.l:curBuf.':t').'\]') - else - call <SID>DEBUG('No current buffer to search for',9) - endif - - let &report = l:save_rep - let &showcmd = l:save_sc - - call <SID>DEBUG('===========================',10) - call <SID>DEBUG('Completed StartExplorer()' ,10) - call <SID>DEBUG('===========================',10) - -endfunction - -" }}} -" StopExplorer - Looks for our explorer and closes the window if it is open {{{ -" -function! <SID>StopExplorer(sticky) - call <SID>DEBUG('===========================',10) - call <SID>DEBUG('Entering StopExplorer()' ,10) - call <SID>DEBUG('===========================',10) - - if a:sticky == 1 - let g:miniBufExplorerAutoUpdate = 0 - endif - - let l:winNum = <SID>FindWindow('-MiniBufExplorer-', 1) - - if l:winNum != -1 - exec l:winNum.' wincmd w' - silent! close - wincmd p - endif - - call <SID>DEBUG('===========================',10) - call <SID>DEBUG('Completed StopExplorer()' ,10) - call <SID>DEBUG('===========================',10) - -endfunction - -" }}} -" ToggleExplorer - Looks for our explorer and opens/closes the window {{{ -" -function! <SID>ToggleExplorer() - call <SID>DEBUG('===========================',10) - call <SID>DEBUG('Entering ToggleExplorer()' ,10) - call <SID>DEBUG('===========================',10) - - let g:miniBufExplorerAutoUpdate = 0 - - let l:winNum = <SID>FindWindow('-MiniBufExplorer-', 1) - - if l:winNum != -1 - call <SID>StopExplorer(1) - else - call <SID>StartExplorer(1, -1) - wincmd p - endif - - call <SID>DEBUG('===========================',10) - call <SID>DEBUG('Completed ToggleExplorer()' ,10) - call <SID>DEBUG('===========================',10) - -endfunction - -" }}} -" FindWindow - Return the window number of a named buffer {{{ -" If none is found then returns -1. -" -function! <SID>FindWindow(bufName, doDebug) - if a:doDebug - call <SID>DEBUG('Entering FindWindow()',10) - endif - - " Try to find an existing window that contains - " our buffer. - let l:bufNum = bufnr(a:bufName) - if l:bufNum != -1 - if a:doDebug - call <SID>DEBUG('Found buffer ('.a:bufName.'): '.l:bufNum,9) - endif - let l:winNum = bufwinnr(l:bufNum) - else - let l:winNum = -1 - endif - - return l:winNum - -endfunction - -" }}} -" FindCreateWindow - Attempts to find a window for a named buffer. {{{ -" -" If it is found then moves there. Otherwise creates a new window and -" configures it and moves there. -" -" forceEdge, -1 use defaults, 0 below, 1 above -" isExplorer, 0 no, 1 yes -" doDebug, 0 no, 1 yes -" -function! <SID>FindCreateWindow(bufName, forceEdge, isExplorer, doDebug) - if a:doDebug - call <SID>DEBUG('Entering FindCreateWindow('.a:bufName.')',10) - endif - - " Save the user's split setting. - let l:saveSplitBelow = &splitbelow - - " Set to our new values. - let &splitbelow = g:miniBufExplSplitBelow - - " Try to find an existing explorer window - let l:winNum = <SID>FindWindow(a:bufName, a:doDebug) - - " If found goto the existing window, otherwise - " split open a new window. - if l:winNum != -1 - if a:doDebug - call <SID>DEBUG('Found window ('.a:bufName.'): '.l:winNum,9) - endif - exec l:winNum.' wincmd w' - let l:winFound = 1 - else - - if g:miniBufExplSplitToEdge == 1 || a:forceEdge >= 0 - - let l:edge = &splitbelow - if a:forceEdge >= 0 - let l:edge = a:forceEdge - endif - - if l:edge - if g:miniBufExplVSplit == 0 - exec 'bo sp '.a:bufName - else - exec 'bo vsp '.a:bufName - endif - else - if g:miniBufExplVSplit == 0 - exec 'to sp '.a:bufName - else - exec 'to vsp '.a:bufName - endif - endif - else - if g:miniBufExplVSplit == 0 - exec 'sp '.a:bufName - else - " &splitbelow doesn't affect vertical splits - " so we have to do this explicitly.. ugh. - if &splitbelow - exec 'rightb vsp '.a:bufName - else - exec 'vsp '.a:bufName - endif - endif - endif - - let g:miniBufExplForceDisplay = 1 - - " Try to find an existing explorer window - let l:winNum = <SID>FindWindow(a:bufName, a:doDebug) - if l:winNum != -1 - if a:doDebug - call <SID>DEBUG('Created and then found window ('.a:bufName.'): '.l:winNum,9) - endif - exec l:winNum.' wincmd w' - else - if a:doDebug - call <SID>DEBUG('FindCreateWindow failed to create window ('.a:bufName.').',1) - endif - return - endif - - if a:isExplorer - " Turn off the swapfile, set the buffer type so that it won't get written, - " and so that it will get deleted when it gets hidden and turn on word wrap. - setlocal noswapfile - setlocal buftype=nofile - setlocal bufhidden=delete - if g:miniBufExplVSplit == 0 - setlocal wrap - else - setlocal nowrap - exec('setlocal winwidth='.g:miniBufExplMinSize) - endif - endif - - if a:doDebug - call <SID>DEBUG('Window ('.a:bufName.') created: '.winnr(),9) - endif - - endif - - " Restore the user's split setting. - let &splitbelow = l:saveSplitBelow - -endfunction - -" }}} -" DisplayBuffers - Wrapper for getting MBE window shown {{{ -" -" Makes sure we are in our explorer, then erases the current buffer and turns -" it into a mini buffer explorer window. -" -function! <SID>DisplayBuffers(delBufNum) - call <SID>DEBUG('Entering DisplayBuffers()',10) - - " Make sure we are in our window - if bufname('%') != '-MiniBufExplorer-' - call <SID>DEBUG('DisplayBuffers called in invalid window',1) - return - endif - - " We need to be able to modify the buffer - setlocal modifiable - - call <SID>ShowBuffers(a:delBufNum) - call <SID>ResizeWindow() - - normal! zz - - " Prevent the buffer from being modified. - setlocal nomodifiable - set nobuflisted - -endfunction - -" }}} -" Resize Window - Set width/height of MBE window {{{ -" -" Makes sure we are in our explorer, then sets the height/width for our explorer -" window so that we can fit all of our information without taking extra lines. -" -function! <SID>ResizeWindow() - call <SID>DEBUG('Entering ResizeWindow()',10) - - " Make sure we are in our window - if bufname('%') != '-MiniBufExplorer-' - call <SID>DEBUG('ResizeWindow called in invalid window',1) - return - endif - - let l:width = winwidth('.') - - " Horizontal Resize - if g:miniBufExplVSplit == 0 - - if g:miniBufExplTabWrap == 0 - let l:length = strlen(getline('.')) - let l:height = 0 - if (l:width == 0) - let l:height = winheight('.') - else - let l:height = (l:length / l:width) - " handle truncation from div - if (l:length % l:width) != 0 - let l:height = l:height + 1 - endif - endif - else - exec("setlocal textwidth=".l:width) - normal gg - normal gq} - normal G - let l:height = line('.') - normal gg - endif - - " enforce max window height - if g:miniBufExplMaxSize != 0 - if g:miniBufExplMaxSize < l:height - let l:height = g:miniBufExplMaxSize - endif - endif - - " enfore min window height - if l:height < g:miniBufExplMinSize || l:height == 0 - let l:height = g:miniBufExplMinSize - endif - - call <SID>DEBUG('ResizeWindow to '.l:height.' lines',9) - - exec('resize '.l:height) - - " Vertical Resize - else - - if g:miniBufExplMaxSize != 0 - let l:newWidth = s:maxTabWidth - if l:newWidth > g:miniBufExplMaxSize - let l:newWidth = g:miniBufExplMaxSize - endif - if l:newWidth < g:miniBufExplMinSize - let l:newWidth = g:miniBufExplMinSize - endif - else - let l:newWidth = g:miniBufExplVSplit - endif - - if l:width != l:newWidth - call <SID>DEBUG('ResizeWindow to '.l:newWidth.' columns',9) - exec('vertical resize '.l:newWidth) - endif - - endif - -endfunction - -" }}} -" ShowBuffers - Clear current buffer and put the MBE text into it {{{ -" -" Makes sure we are in our explorer, then adds a list of all modifiable -" buffers to the current buffer. Special marks are added for buffers that -" are in one or more windows (*) and buffers that have been modified (+) -" -function! <SID>ShowBuffers(delBufNum) - call <SID>DEBUG('Entering ShowBuffers()',10) - - let l:ListChanged = <SID>BuildBufferList(a:delBufNum, 1) - - if (l:ListChanged == 1 || g:miniBufExplForceDisplay) - let l:save_rep = &report - let l:save_sc = &showcmd - let &report = 10000 - set noshowcmd - - " Delete all lines in buffer. - 1,$d _ - - " Goto the end of the buffer put the buffer list - " and then delete the extra trailing blank line - $ - put! =g:miniBufExplBufList - $ d _ - - let g:miniBufExplForceDisplay = 0 - - let &report = l:save_rep - let &showcmd = l:save_sc - else - call <SID>DEBUG('Buffer list not update since there was no change',9) - endif - -endfunction - -" }}} -" Max - Returns the max of two numbers {{{ -" -function! <SID>Max(argOne, argTwo) - if a:argOne > a:argTwo - return a:argOne - else - return a:argTwo - endif -endfunction - -" }}} -" BuildBufferList - Build the text for the MBE window {{{ -" -" Creates the buffer list string and returns 1 if it is different than -" last time this was called and 0 otherwise. -" -function! <SID>BuildBufferList(delBufNum, updateBufList) - call <SID>DEBUG('Entering BuildBufferList()',10) - - let l:NBuffers = bufnr('$') " Get the number of the last buffer. - let l:i = 0 " Set the buffer index to zero. - - let l:fileNames = '' - let l:maxTabWidth = 0 - - " Loop through every buffer less than the total number of buffers. - while(l:i <= l:NBuffers) - let l:i = l:i + 1 - - " If we have a delBufNum and it is the current - " buffer then ignore the current buffer. - " Otherwise, continue. - if (a:delBufNum == -1 || l:i != a:delBufNum) - " Make sure the buffer in question is listed. - if(getbufvar(l:i, '&buflisted') == 1) - " Get the name of the buffer. - let l:BufName = bufname(l:i) - " Check to see if the buffer is a blank or not. If the buffer does have - " a name, process it. - if(strlen(l:BufName)) - " Only show modifiable buffers (The idea is that we don't - " want to show Explorers) - if (getbufvar(l:i, '&modifiable') == 1 && BufName != '-MiniBufExplorer-') - - " Get filename & Remove []'s & ()'s - let l:shortBufName = fnamemodify(l:BufName, ":t") - let l:shortBufName = substitute(l:shortBufName, '[][()]', '', 'g') - let l:tab = '['.l:i.':'.l:shortBufName.']' - - " If the buffer is open in a window mark it - if bufwinnr(l:i) != -1 - let l:tab = l:tab . '*' - endif - - " If the buffer is modified then mark it - if(getbufvar(l:i, '&modified') == 1) - let l:tab = l:tab . '+' - endif - - let l:maxTabWidth = <SID>Max(strlen(l:tab), l:maxTabWidth) - let l:fileNames = l:fileNames.l:tab - - " If horizontal and tab wrap is turned on we need to add spaces - if g:miniBufExplVSplit == 0 - if g:miniBufExplTabWrap != 0 - let l:fileNames = l:fileNames.' ' - endif - " If not horizontal we need a newline - else - let l:fileNames = l:fileNames . "\n" - endif - endif - endif - endif - endif - endwhile - - if (g:miniBufExplBufList != l:fileNames) - if (a:updateBufList) - let g:miniBufExplBufList = l:fileNames - let s:maxTabWidth = l:maxTabWidth - endif - return 1 - else - return 0 - endif - -endfunction - -" }}} -" HasEligibleBuffers - Are there enough MBE eligible buffers to open the MBE window? {{{ -" -" Returns 1 if there are any buffers that can be displayed in a -" mini buffer explorer. Otherwise returns 0. If delBufNum is -" any non -1 value then don't include that buffer in the list -" of eligible buffers. -" -function! <SID>HasEligibleBuffers(delBufNum) - call <SID>DEBUG('Entering HasEligibleBuffers()',10) - - let l:save_rep = &report - let l:save_sc = &showcmd - let &report = 10000 - set noshowcmd - - let l:NBuffers = bufnr('$') " Get the number of the last buffer. - let l:i = 0 " Set the buffer index to zero. - let l:found = 0 " No buffer found - - if (g:miniBufExplorerMoreThanOne > 1) - call <SID>DEBUG('More Than One mode turned on',6) - endif - let l:needed = g:miniBufExplorerMoreThanOne - - " Loop through every buffer less than the total number of buffers. - while(l:i <= l:NBuffers && l:found < l:needed) - let l:i = l:i + 1 - - " If we have a delBufNum and it is the current - " buffer then ignore the current buffer. - " Otherwise, continue. - if (a:delBufNum == -1 || l:i != a:delBufNum) - " Make sure the buffer in question is listed. - if (getbufvar(l:i, '&buflisted') == 1) - " Get the name of the buffer. - let l:BufName = bufname(l:i) - " Check to see if the buffer is a blank or not. If the buffer does have - " a name, process it. - if (strlen(l:BufName)) - " Only show modifiable buffers (The idea is that we don't - " want to show Explorers) - if ((getbufvar(l:i, '&modifiable') == 1) && (BufName != '-MiniBufExplorer-')) - - let l:found = l:found + 1 - - endif - endif - endif - endif - endwhile - - let &report = l:save_rep - let &showcmd = l:save_sc - - call <SID>DEBUG('HasEligibleBuffers found '.l:found.' eligible buffers of '.l:needed.' needed',6) - - return (l:found >= l:needed) - -endfunction - -" }}} -" Auto Update - Function called by auto commands for auto updating the MBE {{{ -" -" IF auto update is turned on AND -" we are in a real buffer AND -" we have enough eligible buffers THEN -" Update our explorer and get back to the current window -" -" If we get a buffer number for a buffer that -" is being deleted, we need to make sure and -" remove the buffer from the list of eligible -" buffers in case we are down to one eligible -" buffer, in which case we will want to close -" the MBE window. -" -function! <SID>AutoUpdate(delBufNum) - call <SID>DEBUG('===========================',10) - call <SID>DEBUG('Entering AutoUpdate('.a:delBufNum.') : '.bufnr('%').' : '.bufname('%'),10) - call <SID>DEBUG('===========================',10) - - if (g:miniBufExplInAutoUpdate == 1) - call <SID>DEBUG('AutoUpdate recursion stopped',9) - call <SID>DEBUG('===========================',10) - call <SID>DEBUG('Terminated AutoUpdate()' ,10) - call <SID>DEBUG('===========================',10) - return - else - let g:miniBufExplInAutoUpdate = 1 - endif - - " Don't bother autoupdating the MBE window - if (bufname('%') == '-MiniBufExplorer-') - " If this is the only buffer left then toggle the buffer - if (winbufnr(2) == -1) - call <SID>CycleBuffer(1) - call <SID>DEBUG('AutoUpdate does not run for cycled windows', 9) - else - call <SID>DEBUG('AutoUpdate does not run for the MBE window', 9) - endif - - call <SID>DEBUG('===========================',10) - call <SID>DEBUG('Terminated AutoUpdate()' ,10) - call <SID>DEBUG('===========================',10) - - let g:miniBufExplInAutoUpdate = 0 - return - - endif - - if (a:delBufNum != -1) - call <SID>DEBUG('AutoUpdate will make sure that buffer '.a:delBufNum.' is not included in the buffer list.', 5) - endif - - " Only allow updates when the AutoUpdate flag is set - " this allows us to stop updates on startup. - if g:miniBufExplorerAutoUpdate == 1 - " Only show MiniBufExplorer if we have a real buffer - if ((g:miniBufExplorerMoreThanOne == 0) || (bufnr('%') != -1 && bufname('%') != "")) - if <SID>HasEligibleBuffers(a:delBufNum) == 1 - " if we don't have a window then create one - let l:bufnr = <SID>FindWindow('-MiniBufExplorer-', 0) - if (l:bufnr == -1) - call <SID>DEBUG('About to call StartExplorer (Create MBE)', 9) - call <SID>StartExplorer(0, a:delBufNum) - else - " otherwise only update the window if the contents have - " changed - let l:ListChanged = <SID>BuildBufferList(a:delBufNum, 0) - if (l:ListChanged) - call <SID>DEBUG('About to call StartExplorer (Update MBE)', 9) - call <SID>StartExplorer(0, a:delBufNum) - endif - endif - - " go back to the working buffer - if (bufname('%') == '-MiniBufExplorer-') - wincmd p - endif - else - call <SID>DEBUG('Failed in eligible check', 9) - call <SID>StopExplorer(0) - endif - - " VIM sometimes turns syntax highlighting off, - " we can force it on, but this may cause weird - " behavior so this is an optional hack to force - " syntax back on when we enter a buffer - if g:miniBufExplForceSyntaxEnable - call <SID>DEBUG('Enable Syntax', 9) - exec 'syntax enable' - endif - - else - call <SID>DEBUG('No buffers loaded...',9) - endif - else - call <SID>DEBUG('AutoUpdates are turned off, terminating',9) - endif - - call <SID>DEBUG('===========================',10) - call <SID>DEBUG('Completed AutoUpdate()' ,10) - call <SID>DEBUG('===========================',10) - - let g:miniBufExplInAutoUpdate = 0 - -endfunction - -" }}} -" GetSelectedBuffer - From the MBE window, return the bufnum for buf under cursor {{{ -" -" If we are in our explorer window then return the buffer number -" for the buffer under the cursor. -" -function! <SID>GetSelectedBuffer() - call <SID>DEBUG('Entering GetSelectedBuffer()',10) - - " Make sure we are in our window - if bufname('%') != '-MiniBufExplorer-' - call <SID>DEBUG('GetSelectedBuffer called in invalid window',1) - return -1 - endif - - let l:save_reg = @" - let @" = "" - normal ""yi[ - if @" != "" - let l:retv = substitute(@",'\([0-9]*\):.*', '\1', '') + 0 - let @" = l:save_reg - return l:retv - else - let @" = l:save_reg - return -1 - endif - -endfunction - -" }}} -" MBESelectBuffer - From the MBE window, open buffer under the cursor {{{ -" -" If we are in our explorer, then we attempt to open the buffer under the -" cursor in the previous window. -" -function! <SID>MBESelectBuffer() - call <SID>DEBUG('===========================',10) - call <SID>DEBUG('Entering MBESelectBuffer()' ,10) - call <SID>DEBUG('===========================',10) - - " Make sure we are in our window - if bufname('%') != '-MiniBufExplorer-' - call <SID>DEBUG('MBESelectBuffer called in invalid window',1) - return - endif - - let l:save_rep = &report - let l:save_sc = &showcmd - let &report = 10000 - set noshowcmd - - let l:bufnr = <SID>GetSelectedBuffer() - let l:resize = 0 - - if(l:bufnr != -1) " If the buffer exists. - - let l:saveAutoUpdate = g:miniBufExplorerAutoUpdate - let g:miniBufExplorerAutoUpdate = 0 - " Switch to the previous window - wincmd p - - " If we are in the buffer explorer or in a nonmodifiable buffer with - " g:miniBufExplModSelTarget set then try another window (a few times) - if bufname('%') == '-MiniBufExplorer-' || (g:miniBufExplModSelTarget == 1 && getbufvar(bufnr('%'), '&modifiable') == 0) - wincmd w - if bufname('%') == '-MiniBufExplorer-' || (g:miniBufExplModSelTarget == 1 && getbufvar(bufnr('%'), '&modifiable') == 0) - wincmd w - if bufname('%') == '-MiniBufExplorer-' || (g:miniBufExplModSelTarget == 1 && getbufvar(bufnr('%'), '&modifiable') == 0) - wincmd w - " The following handles the case where -MiniBufExplorer- - " is the only window left. We need to resize so we don't - " end up with a 1 or two line buffer. - if bufname('%') == '-MiniBufExplorer-' - let l:resize = 1 - endif - endif - endif - endif - - exec('b! '.l:bufnr) - if (l:resize) - resize - endif - let g:miniBufExplorerAutoUpdate = l:saveAutoUpdate - call <SID>AutoUpdate(-1) - - endif - - let &report = l:save_rep - let &showcmd = l:save_sc - - call <SID>DEBUG('===========================',10) - call <SID>DEBUG('Completed MBESelectBuffer()',10) - call <SID>DEBUG('===========================',10) - -endfunction - -" }}} -" MBEDeleteBuffer - From the MBE window, delete selected buffer from list {{{ -" -" After making sure that we are in our explorer, This will delete the buffer -" under the cursor. If the buffer under the cursor is being displayed in a -" window, this routine will attempt to get different buffers into the -" windows that will be affected so that windows don't get removed. -" -function! <SID>MBEDeleteBuffer() - call <SID>DEBUG('===========================',10) - call <SID>DEBUG('Entering MBEDeleteBuffer()' ,10) - call <SID>DEBUG('===========================',10) - - " Make sure we are in our window - if bufname('%') != '-MiniBufExplorer-' - call <SID>DEBUG('MBEDeleteBuffer called in invalid window',1) - return - endif - - let l:curLine = line('.') - let l:curCol = virtcol('.') - let l:selBuf = <SID>GetSelectedBuffer() - let l:selBufName = bufname(l:selBuf) - - if l:selBufName == 'MiniBufExplorer.DBG' && g:miniBufExplorerDebugLevel > 0 - call <SID>DEBUG('MBEDeleteBuffer will not delete the debug window, when debugging is turned on.',1) - return - endif - - let l:save_rep = &report - let l:save_sc = &showcmd - let &report = 10000 - set noshowcmd - - - if l:selBuf != -1 - - " Don't want auto updates while we are processing a delete - " request. - let l:saveAutoUpdate = g:miniBufExplorerAutoUpdate - let g:miniBufExplorerAutoUpdate = 0 - - " Save previous window so that if we show a buffer after - " deleting. The show will come up in the correct window. - wincmd p - let l:prevWin = winnr() - let l:prevWinBuf = winbufnr(winnr()) - - call <SID>DEBUG('Previous window: '.l:prevWin.' buffer in window: '.l:prevWinBuf,5) - call <SID>DEBUG('Selected buffer is <'.l:selBufName.'>['.l:selBuf.']',5) - - " If buffer is being displayed in a window then - " move window to a different buffer before - " deleting this one. - let l:winNum = (bufwinnr(l:selBufName) + 0) - " while we have windows that contain our buffer - while l:winNum != -1 - call <SID>DEBUG('Buffer '.l:selBuf.' is being displayed in window: '.l:winNum,5) - - " move to window that contains our selected buffer - exec l:winNum.' wincmd w' - - call <SID>DEBUG('We are now in window: '.winnr().' which contains buffer: '.bufnr('%').' and should contain buffer: '.l:selBuf,5) - - let l:origBuf = bufnr('%') - call <SID>CycleBuffer(1) - let l:curBuf = bufnr('%') - - call <SID>DEBUG('Window now contains buffer: '.bufnr('%').' which should not be: '.l:selBuf,5) - - if l:origBuf == l:curBuf - " we wrapped so we are going to have to delete a buffer - " that is in an open window. - let l:winNum = -1 - else - " see if we have anymore windows with our selected buffer - let l:winNum = (bufwinnr(l:selBufName) + 0) - endif - endwhile - - " Attempt to restore previous window - call <SID>DEBUG('Restoring previous window to: '.l:prevWin,5) - exec l:prevWin.' wincmd w' - - " Try to get back to the -MiniBufExplorer- window - let l:winNum = bufwinnr(bufnr('-MiniBufExplorer-')) - if l:winNum != -1 - exec l:winNum.' wincmd w' - call <SID>DEBUG('Got to -MiniBufExplorer- window: '.winnr(),5) - else - call <SID>DEBUG('Unable to get to -MiniBufExplorer- window',1) - endif - - " Delete the buffer selected. - call <SID>DEBUG('About to delete buffer: '.l:selBuf,5) - exec('silent! bd '.l:selBuf) - - let g:miniBufExplorerAutoUpdate = l:saveAutoUpdate - call <SID>DisplayBuffers(-1) - call cursor(l:curLine, l:curCol) - - endif - - let &report = l:save_rep - let &showcmd = l:save_sc - - call <SID>DEBUG('===========================',10) - call <SID>DEBUG('Completed MBEDeleteBuffer()',10) - call <SID>DEBUG('===========================',10) - -endfunction - -" }}} -" MBEClick - Handle mouse double click {{{ -" -function! s:MBEClick() - call <SID>DEBUG('Entering MBEClick()',10) - call <SID>MBESelectBuffer() -endfunction - -" -" MBEDoubleClick - Double click with the mouse. -" -function! s:MBEDoubleClick() - call <SID>DEBUG('Entering MBEDoubleClick()',10) - call <SID>MBESelectBuffer() -endfunction - -" }}} -" CycleBuffer - Cycle Through Buffers {{{ -" -" Move to next or previous buffer in the current window. If there -" are no more modifiable buffers then stay on the current buffer. -" can be called with no parameters in which case the buffers are -" cycled forward. Otherwise a single argument is accepted, if -" it's 0 then the buffers are cycled backwards, otherwise they -" are cycled forward. -" -function! <SID>CycleBuffer(forward) - - " The following hack handles the case where we only have one - " window open and it is too small - let l:saveAutoUpdate = g:miniBufExplorerAutoUpdate - if (winbufnr(2) == -1) - resize - let g:miniBufExplorerAutoUpdate = 0 - endif - - " Change buffer (keeping track of before and after buffers) - let l:origBuf = bufnr('%') - if (a:forward == 1) - bn! - else - bp! - endif - let l:curBuf = bufnr('%') - - " Skip any non-modifiable buffers, but don't cycle forever - " This should stop us from stopping in any of the [Explorers] - while getbufvar(l:curBuf, '&modifiable') == 0 && l:origBuf != l:curBuf - if (a:forward == 1) - bn! - else - bp! - endif - let l:curBuf = bufnr('%') - endwhile - - let g:miniBufExplorerAutoUpdate = l:saveAutoUpdate - if (l:saveAutoUpdate == 1) - call <SID>AutoUpdate(-1) - endif - -endfunction - -" }}} -" DEBUG - Display debug output when debugging is turned on {{{ -" -" Thanks to Charles E. Campbell, Jr. PhD <cec@NgrOyphSon.gPsfAc.nMasa.gov> -" for Decho.vim which was the inspiration for this enhanced debugging -" capability. -" -function! <SID>DEBUG(msg, level) - - if g:miniBufExplorerDebugLevel >= a:level - - " Prevent a report of our actions from showing up. - let l:save_rep = &report - let l:save_sc = &showcmd - let &report = 10000 - set noshowcmd - - " Debug output to a buffer - if g:miniBufExplorerDebugMode == 0 - " Save the current window number so we can come back here - let l:prevWin = winnr() - wincmd p - let l:prevPrevWin = winnr() - wincmd p - - " Get into the debug window or create it if needed - call <SID>FindCreateWindow('MiniBufExplorer.DBG', 1, 0, 0) - - " Make sure we really got to our window, if not we - " will display a confirm dialog and turn debugging - " off so that we won't break things even more. - if bufname('%') != 'MiniBufExplorer.DBG' - call confirm('Error in window debugging code. Dissabling MiniBufExplorer debugging.', 'OK') - let g:miniBufExplorerDebugLevel = 0 - endif - - " Write Message to DBG buffer - let res=append("$",s:debugIndex.':'.a:level.':'.a:msg) - norm G - "set nomodified - - " Return to original window - exec l:prevPrevWin.' wincmd w' - exec l:prevWin.' wincmd w' - " Debug output using VIM's echo facility - elseif g:miniBufExplorerDebugMode == 1 - echo s:debugIndex.':'.a:level.':'.a:msg - " Debug output to a file -- VERY SLOW!!! - " should be OK on UNIX and Win32 (not the 95/98 variants) - elseif g:miniBufExplorerDebugMode == 2 - if has('system') || has('fork') - if has('win32') && !has('win95') - let l:result = system("cmd /c 'echo ".s:debugIndex.':'.a:level.':'.a:msg." >> MiniBufExplorer.DBG'") - endif - if has('unix') - let l:result = system("echo '".s:debugIndex.':'.a:level.':'.a:msg." >> MiniBufExplorer.DBG'") - endif - else - call confirm('Error in file writing version of the debugging code, vim not compiled with system or fork. Dissabling MiniBufExplorer debugging.', 'OK') - let g:miniBufExplorerDebugLevel = 0 - endif - elseif g:miniBufExplorerDebugMode == 3 - let g:miniBufExplorerDebugOutput = g:miniBufExplorerDebugOutput."\n".s:debugIndex.':'.a:level.':'.a:msg - endif - let s:debugIndex = s:debugIndex + 1 - - let &report = l:save_rep - let &showcmd = l:save_sc - - endif - -endfunc " }}} - -" MBE Script History {{{ -"============================================================================= -" -" History: 6.3.2 o For some reason there was still a call to StopExplorer -" with 2 params. Very old bug. I know I fixed before, -" any way many thanks to Jason Mills for reporting this! -" 6.3.1 o Include folds in source so that it's easier to -" navigate. -" o Added g:miniBufExplForceSyntaxEnable setting for folks -" that want a :syntax enable to be called when we enter -" buffers. This can resolve issues caused by a vim bug -" where buffers show up without highlighting when another -" buffer has been closed, quit, wiped or deleted. -" 6.3.0 o Added an option to allow single click (rather than -" the default double click) to select buffers in the -" MBE window. This feature was requested by AW Law -" and was inspired by taglist.vim. Note that you will -" need the latest version of taglist.vim if you want to -" use MBE and taglist both with singleclick turned on. -" Also thanks to AW Law for pointing out that you can -" make an Explorer not be listed in a standard :ls. -" o Added the ability to have your tabs show up in a -" vertical window rather than the standard horizontal -" one. Just let g:miniBufExplVSplit = <width> in your -" .vimrc and your will get this functionality. -" o If you use the vertical explorer and you want it to -" autosize then let g:miniBufExplMaxSize = <max width> -" in your .vimrc. You may use the MinSize letting in -" addition to the MaxLetting if you don't want a super -" thin window. -" o g:miniBufExplMaxHeight was renamed g:miniBufExplMaxSize -" g:miniBufExplMinHeight was renamed g:miniBufExplMinSize -" the old settings are backwards compatible if you don't -" use the new settings, but they are depreciated. -" 6.2.8 o Add an option to stop MBE from targeting non-modifiable -" buffers when switching buffers. Thanks to AW Law for -" the inspiration for this. This may not work if a user -" has lots of explorer/help windows open. -" 6.2.7 o Very minor bug fix for people who want to set -" loaded_minibufexplorer in their .vimrc in order to -" stop MBE from loading. 99.99% of users do not need -" this update. -" 6.2.6 o Moved history to end of source file -" o Updated highlighting documentation -" o Created global commands MBEbn and MBEbp that can be -" used in mappings if folks want to cycle buffers while -" skipping non-eligible buffers. -" 6.2.5 o Added <Leader>mbt key mapping which will toggle -" the MBE window. I map this to F3 in my .vimrc -" with "map <F3> :TMiniBufExplorer<CR>" which -" means I can easily close the MBE window when I'm -" not using it and get it back when I want it. -" o Changed default debug mode to 3 (write to global -" g:miniBufExplorerDebugOutput) -" o Made a pass through the documentation to clarify -" serveral issues and provide more complete docs -" for mappings and commands. -" 6.2.4 o Because of the autocommand switch (see 6.2.0) it -" was possible to remove the restriction on the -" :set hidden option. It is now possible to use -" this option with MBE. -" 6.2.3 o Added miniBufExplTabWrap option. It is turned -" off by default. When turned on spaces are added -" between tabs and gq} is issued to perform line -" formatting. This won't work very well if filenames -" contain spaces. It would be pretty easy to write -" my own formatter, but I'm too lazy, so if someone -" really needs that feature I'll add it :) -" 6.2.2 o Changed the way the g:miniBufExplorerMoreThanOne -" global is handled. You can set this to the number -" of eligible buffers you want to be loaded before -" the MBE window is loaded. Setting it to 0 causes -" the MBE window to be opened even if there are no -" buffers. Setting it to 4 causes the window to stay -" closed until the 4th eligible buffer is loaded. -" o Added a MinHeight option. This is nice if you want -" the MBE window to always take the same amount of -" space. For example set MaxSize and MinSize to 2 -" and set MoreThanOne to 0 and you will always have -" a 2 row (plus the ruler :) MBE window. -" NOTE: in 6.3.0 we started using MinSize instead of -" Minheight. This will still work if MinSize is not -" specified, but it is depreciated. Use MinSize instead. -" o I now setlocal foldcomun=0 and nonumber in the MBE -" window. This is for those of you that like to have -" these options turned on locally. I'm assuming noone -" outthere wants foldcolumns and line numbers in the -" MBE window? :) -" o Fixed a bug where an empty MBE window was taking half -" of the screen (partly why the MinHeight option was -" added.) -" 6.2.1 o If MBE is the only window (because of :bd for example) -" and there are still eligible buffers then one of them -" will be displayed. -" o The <Leader>mbe mapping now highlights the buffer from -" the current window. -" o The delete ('d') binding in the MBE window now restors -" the cursor position, which can help if you want to -" delete several buffers in a row that are not at the -" beginning of the buffer list. -" o Added a new key binding ('p') in the MBE window to -" switch to the previous window (last edit window) -" 6.2.0 o Major overhaul of autocommand and list updating code, -" we now have much better handling of :bd (which is the -" most requested feature.) As well as resolving other -" issues where the buffer list would not be updated -" automatically. The old version tried to trap specific -" events, this one just updates frequently, but it keeps -" track and only changes the screen if there has been -" a change. -" o Added g:miniBufExplMaxHeight variable so you can keep -" the -MiniBufExplorer- window small when you have lots -" of buffers (or buffers with long names :) -" NOTE: in 6.3.0 we started using MaxSize instead of -" MaxHeight. This will still work if MaxSize is not -" specified, but it is depreciated. Use MaxSize instead. -" o Improvement to internal syntax highlighting code -" I renamed the syntax group names. Anyone who has -" figured out how to use them already shouldn't have -" any trouble with the new Nameing :) -" o Added debug mode 3 which writes to a global variable -" this is fast and doesn't mess with the buffer/window -" lists. -" 6.1.0 o <Leader>mbc was failing because I was calling one of -" my own functions with the wrong number of args. :( -" Thanks to Gerry Patterson for finding this! -" This code is very stable (although it has some -" idiocyncracies.) -" 6.0.9 o Double clicking tabs was overwriting the cliboard -" register on MS Windows. Thanks to Shoeb Bhinderwala -" for reporting this issue. -" 6.0.8 o Apparently some VIM builds are having a hard time with -" line continuation in scripts so the few that were here -" have been removed. -" o Generalized FindExplorer and FindCreateExplorer so -" that they can be used for the debug window. Renaming -" to FindWindow and FindCreateWindow. -" o Updated debugging code so that debug output is put into -" a buffer which can then be written to disk or emailed -" to me when someone is having a major issue. Can also -" write directly to a file (VERY SLOWLY) on UNIX or Win32 -" (not 95 or 98 at the moment) or use VIM's echo function -" to display the output to the screen. -" o Several people have had issues when the hidden option -" is turned on. So I have put in several checks to make -" sure folks know this if they try to use MBE with this -" option set. -" 6.0.7 o Handling BufDelete autocmd so that the UI updates -" properly when using :bd (rather than going through -" the MBE UI.) -" o The AutoUpdate code will now close the MBE window when -" there is a single eligible buffer available. -" This has the usefull side effect of stopping the MBE -" window from blocking the VIM session open when you close -" the last buffer. -" o Added functions, commands and maps to close & update -" the MBE window (<leader>mbc and <leader>mbu.) -" o Made MBE open/close state be sticky if set through -" StartExplorer(1) or StopExplorer(1), which are -" called from the standard mappings. So if you close -" the mbe window with \mbc it won't be automatically -" opened again unless you do a \mbe (or restart VIM). -" o Removed spaces between "tabs" (even more mini :) -" o Simplified MBE tab processing -" 6.0.6 o Fixed register overwrite bug found by Sébastien Pierre -" 6.0.5 o Fixed an issue with window sizing when we run out of -" buffers. -" o Fixed some weird commenting bugs. -" o Added more optional fancy window/buffer navigation: -" o You can turn on the capability to use control and the -" arrow keys to move between windows. -" o You can turn on the ability to use <C-TAB> and -" <C-S-TAB> to open the next and previous (respectively) -" buffer in the current window. -" o You can turn on the ability to use <C-TAB> and -" <C-S-TAB> to switch windows (forward and backwards -" respectively.) -" 6.0.4 o Added optional fancy window navigation: -" o Holding down control and pressing a vim direction -" [hjkl] will switch windows in the indicated direction. -" 6.0.3 o Changed buffer name to -MiniBufExplorer- to resolve -" Issue in filename pattern matching on Windows. -" 6.0.2 o 2 Changes requested by Suresh Govindachar: -" o Added SplitToEdge option and set it on by default -" o Added tab and shift-tab mappings in [MBE] window -" 6.0.1 o Added MoreThanOne option and set it on by default -" MiniBufExplorer will not automatically open until -" more than one eligible buffers are opened. This -" reduces cluter when you are only working on a -" single file. -" NOTE: See change log for 6.2.2 for more details about -" this feature -" 6.0.0 o Initial Release on November 20, 2001 -" -"============================================================================= -" }}} -" vim:ft=vim:fdm=marker:ff=unix:nowrap:tabstop=4:shiftwidth=4:softtabstop=4:smarttab:shiftround:expandtab diff --git a/.vim/plugin/openssl.vim b/.vim/plugin/openssl.vim deleted file mode 100644 index 2e2db44..0000000 --- a/.vim/plugin/openssl.vim +++ /dev/null @@ -1,201 +0,0 @@ -" openssl.vim version 3.2 2008 Noah Spurrier <noah@noah.org> -" -" == Edit OpenSSL encrypted files and turn Vim into a Password Safe! == -" -" This plugin enables reading and writing of files encrypted using OpenSSL. -" The file must have the extension of one of the ciphers used by OpenSSL. For -" example: -" -" .des3 .aes .bf .bfa .idea .cast .rc2 .rc4 .rc5 (.bfa is base64 ASCII -" encoded blowfish.) -" -" This will turn off the swap file and the .viminfo log. The `openssl` command -" line tool must be in the path. -" -" == Install == -" -" Put this in your plugin directory and Vim will automatically load it: -" -" ~/.vim/plugin/openssl.vim -" -" You can start by editing an empty unencrypted file. Give it one of the -" extensions above. When you write the file you will be asked to give it a new -" password. -" -" == Simple Vim Password Safe == -" -" If you edit any file named '.auth.bfa' (that's the full name, not just the -" extension) then this plugin will add folding features and an automatic quit -" timeout. -" -" Vim will quit automatically after 5 minutes of no typing activity (unless -" the file has been changed). -" -" This plugin will fold on wiki-style headlines in the following format: -" -" == This is a headline == -" -" Any notes under the headline will be inside the fold until the next headline -" is reached. The SPACE key will toggle a fold open and closed. The q key will -" quit Vim. Create the following example file named ~/.auth.bfa: -" -" == Colo server == -" -" username: maryjane password: esydpm -" -" == Office server == -" -" username: peter password: 4m4z1ng -" -" Then create this bash alias: -" -" alias auth='view ~/.auth.bfa' -" -" Now you can view your password safe by typing 'auth'. When Vim starts all -" the password information will be hidden under the headlines. To view the -" password information put the cursor on the headline and press SPACE. When -" you write an encrypted file a backup will automatically be made. -" -" This plugin can also make a backup of an encrypted file before writing -" changes. This helps guard against the situation where you may edit a file -" and write changes with the wrong password. You can still go back to the -" previous backup version. The backup file will have the same name as the -" original file with .bak before the original extension. For example: -" -" .auth.bfa --> .auth.bak.bfa -" -" To turn on backups put the following global definition in your .vimrc file: -" -" let g:openssl_backup = 1 -" -" Thanks to Tom Purl for the original des3 tip. -" -" I release all copyright claims. This code is in the public domain. -" Permission is granted to use, copy modify, distribute, and sell this -" software for any purpose. I make no guarantee about the suitability of this -" software for any purpose and I am not liable for any damages resulting from -" its use. Further, I am under no obligation to maintain or extend this -" software. It is provided on an 'as is' basis without any expressed or -" implied warranty. -" -" $Id: openssl.vim 189 2008-01-28 20:44:44Z root $ - -augroup openssl_encrypted -if exists("openssl_encrypted_loaded") - finish -endif -let openssl_encrypted_loaded = 1 -autocmd! - -function! s:OpenSSLReadPre() - set cmdheight=3 - set viminfo= - set noswapfile - set shell=/bin/sh - set bin -endfunction - -function! s:OpenSSLReadPost() - let l:cipher = expand("%:e") - if l:cipher == "aes" - let l:cipher = "aes-256-cbc" - endif - if l:cipher == "bfa" - let l:cipher = "bf" - let l:expr = "0,$!openssl " . l:cipher . " -d -a -salt" - else - let l:expr = "0,$!openssl " . l:cipher . " -d -salt" - endif - - silent! execute l:expr - if v:shell_error - silent! 0,$y - silent! undo - echo "COULD NOT DECRYPT USING EXPRESSION: " . expr - echo "Note that your version of openssl may not have the given cipher engine built-in" - echo "even though the engine may be documented in the openssl man pages." - echo "ERROR FROM OPENSSL:" - echo @" - echo "COULD NOT DECRYPT" - return - endif - set nobin - set cmdheight& - set shell& - execute ":doautocmd BufReadPost ".expand("%:r") - redraw! -endfunction - -function! s:OpenSSLWritePre() - set cmdheight=3 - set shell=/bin/sh - set bin - - if !exists("g:openssl_backup") - let g:openssl_backup=0 - endif - if (g:openssl_backup) - silent! execute '!cp % %:r.bak.%:e' - endif - - let l:cipher = expand("<afile>:e") - if l:cipher == "aes" - let l:cipher = "aes-256-cbc" - endif - if l:cipher == "bfa" - let l:cipher = "bf" - let l:expr = "0,$!openssl " . l:cipher . " -e -a -salt" - else - let l:expr = "0,$!openssl " . l:cipher . " -e -salt" - endif - - silent! execute l:expr - if v:shell_error - silent! 0,$y - silent! undo - echo "COULD NOT ENCRYPT USING EXPRESSION: " . expr - echo "Note that your version of openssl may not have the given cipher engine built in" - echo "even though the engine may be documented in the openssl man pages." - echo "ERROR FROM OPENSSL:" - echo @" - echo "COULD NOT ENCRYPT" - return - endif -endfunction - -function! s:OpenSSLWritePost() - silent! undo - set nobin - set shell& - set cmdheight& - redraw! -endfunction - -autocmd BufReadPre,FileReadPre *.des3,*.des,*.bf,*.bfa,*.aes,*.idea,*.cast,*.rc2,*.rc4,*.rc5,*.desx call s:OpenSSLReadPre() -autocmd BufReadPost,FileReadPost *.des3,*.des,*.bf,*.bfa,*.aes,*.idea,*.cast,*.rc2,*.rc4,*.rc5,*.desx call s:OpenSSLReadPost() -autocmd BufWritePre,FileWritePre *.des3,*.des,*.bf,*.bfa,*.aes,*.idea,*.cast,*.rc2,*.rc4,*.rc5,*.desx call s:OpenSSLWritePre() -autocmd BufWritePost,FileWritePost *.des3,*.des,*.bf,*.bfa,*.aes,*.idea,*.cast,*.rc2,*.rc4,*.rc5,*.desx call s:OpenSSLWritePost() - -" The following implements a simple password safe for any file named -" '.auth.bfa'. The file is encrypted with Blowfish and base64 encoded. -" Folding is supported for == headlines == style lines. - -function! HeadlineDelimiterExpression(lnum) - if a:lnum == 1 - return ">1" - endif - return (getline(a:lnum)=~"^\\s*==.*==\\s*$") ? ">1" : "=" -endfunction -autocmd BufReadPost,FileReadPost .auth.bfa set foldexpr=HeadlineDelimiterExpression(v:lnum) -autocmd BufReadPost,FileReadPost .auth.bfa set foldlevel=0 -autocmd BufReadPost,FileReadPost .auth.bfa set foldcolumn=0 -autocmd BufReadPost,FileReadPost .auth.bfa set foldmethod=expr -autocmd BufReadPost,FileReadPost .auth.bfa set foldtext=getline(v:foldstart) -autocmd BufReadPost,FileReadPost .auth.bfa nnoremap <silent><space> :exe 'silent! normal! za'.(foldlevel('.')?'':'l')<CR> -autocmd BufReadPost,FileReadPost .auth.bfa nnoremap <silent>q :q<CR> -autocmd BufReadPost,FileReadPost .auth.bfa highlight Folded ctermbg=red ctermfg=black -autocmd BufReadPost,FileReadPost .auth.bfa set updatetime=300000 -autocmd CursorHold .auth.bfa quit - -augroup END - diff --git a/.vim/plugin/remoteOpen.vim b/.vim/plugin/remoteOpen.vim deleted file mode 100644 index cb550ff..0000000 --- a/.vim/plugin/remoteOpen.vim +++ /dev/null @@ -1,163 +0,0 @@ -" File: remoteOpen.vim -" Author: Srinath Avadhanula <srinath AT fastmail DOT fm> -" $Id: remoteOpen.vim 997 2006-03-20 09:45:45Z srinathava $ -" -" Description: -" Often times, an external program needs to open a file in gvim from the -" command line. However, it will not know if the file is already opened in a -" previous vim session. It is not sufficient to simply specify -" -" gvim --remote-silent <filename> -" -" because this simply opens up <filename> in the first remote gvim session it -" sees. This script provides a command RemoteOpen which is meant to be used -" from the command line as follows: -" -" gvim -c ":RemoteOpen +<lnum> <filename>" -" -" where <lnum> is the line-number you wish <filename> to open to. What will -" happen is that a new gvim will start up and enquire from all previous -" sessions if <filename> is already open in any of them. If it is, then it -" will edit the file in that session and bring it to the foreground and itself -" quit. Otherwise, it will not quit and instead open up the file for editing -" at <lnum>. -" -" This was mainly created to be used with Yap (the dvi previewer in miktex), -" so you can specify the program for "inverse search" as specified above. -" This ensures that the inverse search uses the correct gvim each time. -" -" Ofcourse, this requires vim with +clientserver. If not, then RemoteOpen just -" opens in the present session. - -" Enclose <args> in single quotes so it can be passed as a function argument. -com -nargs=1 RemoteOpen :call RemoteOpen('<args>') -com -nargs=? RemoteInsert :call RemoteInsert('<args>') - -" RemoteOpen: open a file remotely (if possible) {{{ -" Description: checks all open vim windows to see if this file has been opened -" anywhere and if so, opens it there instead of in this session. -function! RemoteOpen(arglist) - - " First construct line number and filename from argument. a:arglist is of - " the form: - " +10 c:\path\to\file - " or just - " c:\path\to\file - if a:arglist =~ '^\s*+\d\+' - let linenum = matchstr(a:arglist, '^\s*+\zs\d\+\ze') - let filename = matchstr(a:arglist, '^\s*+\d\+\s*\zs.*\ze') - else - let linenum = 1 - let filename = matchstr(a:arglist, '^\s*\zs.*\ze') - endif - let filename = escape(filename, ' ') - call Tex_Debug("linenum = ".linenum.', filename = '.filename, "ropen") - - " If there is no clientserver functionality, then just open in the present - " session and return - if !has('clientserver') - call Tex_Debug("-clientserver, opening locally and returning", "ropen") - exec "e ".filename - exec linenum - normal! zv - return - endif - - " Otherwise, loop through all available servers - let servers = serverlist() - " If there are no servers, open file locally. - if servers == '' - call Tex_Debug("no open servers, opening locally", "ropen") - exec "e ".filename - exec linenum - let g:Remote_Server = 1 - normal! zv - return - endif - - let i = 1 - let server = s:Strntok(servers, "\n", i) - let targetServer = v:servername - - while server != '' - " Find out if there was any server which was used by remoteOpen before - " this. If a new gvim session was ever started via remoteOpen, then - " g:Remote_Server will be set. - if remote_expr(server, 'exists("g:Remote_Server")') - let targetServer = server - endif - - " Ask each server if that file is being edited by them. - let bufnum = remote_expr(server, "bufnr('".filename."')") - " If it is... - if bufnum != -1 - " ask the server to edit that file and come to the foreground. - " set a variable g:Remote_Server to indicate that this server - " session has at least one file opened via RemoteOpen - let targetServer = server - break - end - - let i = i + 1 - let server = s:Strntok(servers, "\n", i) - endwhile - - " If none of the servers have the file open, then open this file in the - " first server. This has the advantage if yap tries to make vim open - " multiple vims, then at least they will all be opened by the same gvim - " server. - call remote_send(targetServer, - \ "\<C-\>\<C-n>". - \ ":let g:Remote_Server = 1\<CR>". - \ ":drop ".filename."\<CR>". - \ ":".linenum."\<CR>zv" - \ ) - call remote_foreground(targetServer) - " quit this vim session - if v:servername != targetServer - q - endif -endfunction " }}} -" RemoteInsert: inserts a \cite'ation remotely (if possible) {{{ -" Description: -function! RemoteInsert(...) - - let citation = matchstr(argv(0), "\\[InsText('.cite{\\zs.\\{-}\\ze}');\\]") - if citation == "" - q - endif - - " Otherwise, loop through all available servers - let servers = serverlist() - - let i = 1 - let server = s:Strntok(servers, "\n", i) - let targetServer = v:servername - - while server != '' - if remote_expr(server, 'exists("g:Remote_WaitingForCite")') - call remote_send(server, citation . "\<CR>") - call remote_foreground(server) - if v:servername != server - q - else - return - endif - endif - - let i = i + 1 - let server = s:Strntok(servers, "\n", i) - endwhile - - q - -endfunction " }}} -" Strntok: extract the n^th token from a list {{{ -" example: Strntok('1,23,3', ',', 2) = 23 -fun! <SID>Strntok(s, tok, n) - return matchstr( a:s.a:tok[0], '\v(\zs([^'.a:tok.']*)\ze['.a:tok.']){'.a:n.'}') -endfun - -" }}} - -" vim:ft=vim:ts=4:sw=4:noet:fdm=marker:commentstring=\"\ %s:nowrap diff --git a/.vim/plugin/taglist.vim b/.vim/plugin/taglist.vim deleted file mode 100644 index 59901f6..0000000 --- a/.vim/plugin/taglist.vim +++ /dev/null @@ -1,4546 +0,0 @@ -" File: taglist.vim -" Author: Yegappan Lakshmanan (yegappan AT yahoo DOT com) -" Version: 4.5 -" Last Modified: September 21, 2007 -" Copyright: Copyright (C) 2002-2007 Yegappan Lakshmanan -" Permission is hereby granted to use and distribute this code, -" with or without modifications, provided that this copyright -" notice is copied with it. Like anything else that's free, -" taglist.vim is provided *as is* and comes with no warranty of any -" kind, either expressed or implied. In no event will the copyright -" holder be liable for any damamges resulting from the use of this -" software. -" -" The "Tag List" plugin is a source code browser plugin for Vim and provides -" an overview of the structure of the programming language files and allows -" you to efficiently browse through source code files for different -" programming languages. You can visit the taglist plugin home page for more -" information: -" -" http://vim-taglist.sourceforge.net -" -" You can subscribe to the taglist mailing list to post your questions -" or suggestions for improvement or to report bugs. Visit the following -" page for subscribing to the mailing list: -" -" http://groups.yahoo.com/group/taglist/ -" -" For more information about using this plugin, after installing the -" taglist plugin, use the ":help taglist" command. -" -" Installation -" ------------ -" 1. Download the taglist.zip file and unzip the files to the $HOME/.vim -" or the $HOME/vimfiles or the $VIM/vimfiles directory. This should -" unzip the following two files (the directory structure should be -" preserved): -" -" plugin/taglist.vim - main taglist plugin file -" doc/taglist.txt - documentation (help) file -" -" Refer to the 'add-plugin', 'add-global-plugin' and 'runtimepath' -" Vim help pages for more details about installing Vim plugins. -" 2. Change to the $HOME/.vim/doc or $HOME/vimfiles/doc or -" $VIM/vimfiles/doc directory, start Vim and run the ":helptags ." -" command to process the taglist help file. -" 3. If the exuberant ctags utility is not present in your PATH, then set the -" Tlist_Ctags_Cmd variable to point to the location of the exuberant ctags -" utility (not to the directory) in the .vimrc file. -" 4. If you are running a terminal/console version of Vim and the -" terminal doesn't support changing the window width then set the -" 'Tlist_Inc_Winwidth' variable to 0 in the .vimrc file. -" 5. Restart Vim. -" 6. You can now use the ":TlistToggle" command to open/close the taglist -" window. You can use the ":help taglist" command to get more -" information about using the taglist plugin. -" -" ****************** Do not modify after this line ************************ - -" Line continuation used here -let s:cpo_save = &cpo -set cpo&vim - -if !exists('loaded_taglist') - " First time loading the taglist plugin - " - " To speed up the loading of Vim, the taglist plugin uses autoload - " mechanism to load the taglist functions. - " Only define the configuration variables, user commands and some - " auto-commands and finish sourcing the file - - " The taglist plugin requires the built-in Vim system() function. If this - " function is not available, then don't load the plugin. - if !exists('*system') - echomsg 'Taglist: Vim system() built-in function is not available. ' . - \ 'Plugin is not loaded.' - let loaded_taglist = 'no' - let &cpo = s:cpo_save - finish - endif - - " Location of the exuberant ctags tool - if !exists('Tlist_Ctags_Cmd') - if executable('exuberant-ctags') - " On Debian Linux, exuberant ctags is installed - " as exuberant-ctags - let Tlist_Ctags_Cmd = 'exuberant-ctags' - elseif executable('exctags') - " On Free-BSD, exuberant ctags is installed as exctags - let Tlist_Ctags_Cmd = 'exctags' - elseif executable('ctags') - let Tlist_Ctags_Cmd = 'ctags' - elseif executable('ctags.exe') - let Tlist_Ctags_Cmd = 'ctags.exe' - elseif executable('tags') - let Tlist_Ctags_Cmd = 'tags' - else - echomsg 'Taglist: Exuberant ctags (http://ctags.sf.net) ' . - \ 'not found in PATH. Plugin is not loaded.' - " Skip loading the plugin - let loaded_taglist = 'no' - let &cpo = s:cpo_save - finish - endif - endif - - - " Automatically open the taglist window on Vim startup - if !exists('Tlist_Auto_Open') - let Tlist_Auto_Open = 0 - endif - - " When the taglist window is toggle opened, move the cursor to the - " taglist window - if !exists('Tlist_GainFocus_On_ToggleOpen') - let Tlist_GainFocus_On_ToggleOpen = 0 - endif - - " Process files even when the taglist window is not open - if !exists('Tlist_Process_File_Always') - let Tlist_Process_File_Always = 0 - endif - - if !exists('Tlist_Show_Menu') - let Tlist_Show_Menu = 0 - endif - - " Tag listing sort type - 'name' or 'order' - if !exists('Tlist_Sort_Type') - let Tlist_Sort_Type = 'order' - endif - - " Tag listing window split (horizontal/vertical) control - if !exists('Tlist_Use_Horiz_Window') - let Tlist_Use_Horiz_Window = 0 - endif - - " Open the vertically split taglist window on the left or on the right - " side. This setting is relevant only if Tlist_Use_Horiz_Window is set to - " zero (i.e. only for vertically split windows) - if !exists('Tlist_Use_Right_Window') - let Tlist_Use_Right_Window = 0 - endif - - " Increase Vim window width to display vertically split taglist window. - " For MS-Windows version of Vim running in a MS-DOS window, this must be - " set to 0 otherwise the system may hang due to a Vim limitation. - if !exists('Tlist_Inc_Winwidth') - if (has('win16') || has('win95')) && !has('gui_running') - let Tlist_Inc_Winwidth = 0 - else - let Tlist_Inc_Winwidth = 1 - endif - endif - - " Vertically split taglist window width setting - if !exists('Tlist_WinWidth') - let Tlist_WinWidth = 30 - endif - - " Horizontally split taglist window height setting - if !exists('Tlist_WinHeight') - let Tlist_WinHeight = 10 - endif - - " Display tag prototypes or tag names in the taglist window - if !exists('Tlist_Display_Prototype') - let Tlist_Display_Prototype = 0 - endif - - " Display tag scopes in the taglist window - if !exists('Tlist_Display_Tag_Scope') - let Tlist_Display_Tag_Scope = 1 - endif - - " Use single left mouse click to jump to a tag. By default this is disabled. - " Only double click using the mouse will be processed. - if !exists('Tlist_Use_SingleClick') - let Tlist_Use_SingleClick = 0 - endif - - " Control whether additional help is displayed as part of the taglist or - " not. Also, controls whether empty lines are used to separate the tag - " tree. - if !exists('Tlist_Compact_Format') - let Tlist_Compact_Format = 0 - endif - - " Exit Vim if only the taglist window is currently open. By default, this is - " set to zero. - if !exists('Tlist_Exit_OnlyWindow') - let Tlist_Exit_OnlyWindow = 0 - endif - - " Automatically close the folds for the non-active files in the taglist - " window - if !exists('Tlist_File_Fold_Auto_Close') - let Tlist_File_Fold_Auto_Close = 0 - endif - - " Close the taglist window when a tag is selected - if !exists('Tlist_Close_On_Select') - let Tlist_Close_On_Select = 0 - endif - - " Automatically update the taglist window to display tags for newly - " edited files - if !exists('Tlist_Auto_Update') - let Tlist_Auto_Update = 1 - endif - - " Automatically highlight the current tag - if !exists('Tlist_Auto_Highlight_Tag') - let Tlist_Auto_Highlight_Tag = 1 - endif - - " Automatically highlight the current tag on entering a buffer - if !exists('Tlist_Highlight_Tag_On_BufEnter') - let Tlist_Highlight_Tag_On_BufEnter = 1 - endif - - " Enable fold column to display the folding for the tag tree - if !exists('Tlist_Enable_Fold_Column') - let Tlist_Enable_Fold_Column = 1 - endif - - " Display the tags for only one file in the taglist window - if !exists('Tlist_Show_One_File') - let Tlist_Show_One_File = 0 - endif - - if !exists('Tlist_Max_Submenu_Items') - let Tlist_Max_Submenu_Items = 20 - endif - - if !exists('Tlist_Max_Tag_Length') - let Tlist_Max_Tag_Length = 10 - endif - - " Do not change the name of the taglist title variable. The winmanager - " plugin relies on this name to determine the title for the taglist - " plugin. - let TagList_title = "__Tag_List__" - - " Taglist debug messages - let s:tlist_msg = '' - - " Define the taglist autocommand to automatically open the taglist window - " on Vim startup - if g:Tlist_Auto_Open - autocmd VimEnter * nested call s:Tlist_Window_Check_Auto_Open() - endif - - " Refresh the taglist - if g:Tlist_Process_File_Always - autocmd BufEnter * call s:Tlist_Refresh() - endif - - if g:Tlist_Show_Menu - autocmd GUIEnter * call s:Tlist_Menu_Init() - endif - - " When the taglist buffer is created when loading a Vim session file, - " the taglist buffer needs to be initialized. The BufFilePost event - " is used to handle this case. - autocmd BufFilePost __Tag_List__ call s:Tlist_Vim_Session_Load() - - " Define the user commands to manage the taglist window - command! -nargs=0 -bar TlistToggle call s:Tlist_Window_Toggle() - command! -nargs=0 -bar TlistOpen call s:Tlist_Window_Open() - " For backwards compatiblity define the Tlist command - command! -nargs=0 -bar Tlist TlistToggle - command! -nargs=+ -complete=file TlistAddFiles - \ call s:Tlist_Add_Files(<f-args>) - command! -nargs=+ -complete=dir TlistAddFilesRecursive - \ call s:Tlist_Add_Files_Recursive(<f-args>) - command! -nargs=0 -bar TlistClose call s:Tlist_Window_Close() - command! -nargs=0 -bar TlistUpdate call s:Tlist_Update_Current_File() - command! -nargs=0 -bar TlistHighlightTag call s:Tlist_Window_Highlight_Tag( - \ fnamemodify(bufname('%'), ':p'), line('.'), 2, 1) - " For backwards compatiblity define the TlistSync command - command! -nargs=0 -bar TlistSync TlistHighlightTag - command! -nargs=* -complete=buffer TlistShowPrototype - \ echo Tlist_Get_Tag_Prototype_By_Line(<f-args>) - command! -nargs=* -complete=buffer TlistShowTag - \ echo Tlist_Get_Tagname_By_Line(<f-args>) - command! -nargs=* -complete=file TlistSessionLoad - \ call s:Tlist_Session_Load(<q-args>) - command! -nargs=* -complete=file TlistSessionSave - \ call s:Tlist_Session_Save(<q-args>) - command! -bar TlistLock let Tlist_Auto_Update=0 - command! -bar TlistUnlock let Tlist_Auto_Update=1 - - " Commands for enabling/disabling debug and to display debug messages - command! -nargs=? -complete=file -bar TlistDebug - \ call s:Tlist_Debug_Enable(<q-args>) - command! -nargs=0 -bar TlistUndebug call s:Tlist_Debug_Disable() - command! -nargs=0 -bar TlistMessages call s:Tlist_Debug_Show() - - " Define autocommands to autoload the taglist plugin when needed. - - " Trick to get the current script ID - map <SID>xx <SID>xx - let s:tlist_sid = substitute(maparg('<SID>xx'), '<SNR>\(\d\+_\)xx$', - \ '\1', '') - unmap <SID>xx - - exe 'autocmd FuncUndefined *' . s:tlist_sid . 'Tlist_* source ' . - \ escape(expand('<sfile>'), ' ') - exe 'autocmd FuncUndefined *' . s:tlist_sid . 'Tlist_Window_* source ' . - \ escape(expand('<sfile>'), ' ') - exe 'autocmd FuncUndefined *' . s:tlist_sid . 'Tlist_Menu_* source ' . - \ escape(expand('<sfile>'), ' ') - exe 'autocmd FuncUndefined Tlist_* source ' . - \ escape(expand('<sfile>'), ' ') - exe 'autocmd FuncUndefined TagList_* source ' . - \ escape(expand('<sfile>'), ' ') - - let loaded_taglist = 'fast_load_done' - - if g:Tlist_Show_Menu && has('gui_running') - call s:Tlist_Menu_Init() - endif - - " restore 'cpo' - let &cpo = s:cpo_save - finish -endif - -if !exists('s:tlist_sid') - " Two or more versions of taglist plugin are installed. Don't - " load this version of the plugin. - finish -endif - -unlet! s:tlist_sid - -if loaded_taglist != 'fast_load_done' - " restore 'cpo' - let &cpo = s:cpo_save - finish -endif - -" Taglist plugin functionality is available -let loaded_taglist = 'available' - -"------------------- end of user configurable options -------------------- - -" Default language specific settings for supported file types and tag types -" -" Variable name format: -" -" s:tlist_def_{vim_ftype}_settings -" -" vim_ftype - Filetype detected by Vim -" -" Value format: -" -" <ctags_ftype>;<flag>:<name>;<flag>:<name>;... -" -" ctags_ftype - File type supported by exuberant ctags -" flag - Flag supported by exuberant ctags to generate a tag type -" name - Name of the tag type used in the taglist window to display the -" tags of this type -" - -" assembly language -let s:tlist_def_asm_settings = 'asm;d:define;l:label;m:macro;t:type' - -" aspperl language -let s:tlist_def_aspperl_settings = 'asp;f:function;s:sub;v:variable' - -" aspvbs language -let s:tlist_def_aspvbs_settings = 'asp;f:function;s:sub;v:variable' - -" awk language -let s:tlist_def_awk_settings = 'awk;f:function' - -" beta language -let s:tlist_def_beta_settings = 'beta;f:fragment;s:slot;v:pattern' - -" c language -let s:tlist_def_c_settings = 'c;d:macro;g:enum;s:struct;u:union;t:typedef;' . - \ 'v:variable;f:function' - -" c++ language -let s:tlist_def_cpp_settings = 'c++;n:namespace;v:variable;d:macro;t:typedef;' . - \ 'c:class;g:enum;s:struct;u:union;f:function' - -" c# language -let s:tlist_def_cs_settings = 'c#;d:macro;t:typedef;n:namespace;c:class;' . - \ 'E:event;g:enum;s:struct;i:interface;' . - \ 'p:properties;m:method' - -" cobol language -let s:tlist_def_cobol_settings = 'cobol;d:data;f:file;g:group;p:paragraph;' . - \ 'P:program;s:section' - -" eiffel language -let s:tlist_def_eiffel_settings = 'eiffel;c:class;f:feature' - -" erlang language -let s:tlist_def_erlang_settings = 'erlang;d:macro;r:record;m:module;f:function' - -" expect (same as tcl) language -let s:tlist_def_expect_settings = 'tcl;c:class;f:method;p:procedure' - -" fortran language -let s:tlist_def_fortran_settings = 'fortran;p:program;b:block data;' . - \ 'c:common;e:entry;i:interface;k:type;l:label;m:module;' . - \ 'n:namelist;t:derived;v:variable;f:function;s:subroutine' - -" HTML language -let s:tlist_def_html_settings = 'html;a:anchor;f:javascript function' - -" java language -let s:tlist_def_java_settings = 'java;p:package;c:class;i:interface;' . - \ 'f:field;m:method' - -" javascript language -let s:tlist_def_javascript_settings = 'javascript;f:function' - -" lisp language -let s:tlist_def_lisp_settings = 'lisp;f:function' - -" lua language -let s:tlist_def_lua_settings = 'lua;f:function' - -" makefiles -let s:tlist_def_make_settings = 'make;m:macro' - -" pascal language -let s:tlist_def_pascal_settings = 'pascal;f:function;p:procedure' - -" perl language -let s:tlist_def_perl_settings = 'perl;c:constant;l:label;p:package;s:subroutine' - -" php language -let s:tlist_def_php_settings = 'php;c:class;d:constant;v:variable;f:function' - -" python language -let s:tlist_def_python_settings = 'python;c:class;m:member;f:function' - -" rexx language -let s:tlist_def_rexx_settings = 'rexx;s:subroutine' - -" ruby language -let s:tlist_def_ruby_settings = 'ruby;c:class;f:method;F:function;' . - \ 'm:singleton method' - -" scheme language -let s:tlist_def_scheme_settings = 'scheme;s:set;f:function' - -" shell language -let s:tlist_def_sh_settings = 'sh;f:function' - -" C shell language -let s:tlist_def_csh_settings = 'sh;f:function' - -" Z shell language -let s:tlist_def_zsh_settings = 'sh;f:function' - -" slang language -let s:tlist_def_slang_settings = 'slang;n:namespace;f:function' - -" sml language -let s:tlist_def_sml_settings = 'sml;e:exception;c:functor;s:signature;' . - \ 'r:structure;t:type;v:value;f:function' - -" sql language -let s:tlist_def_sql_settings = 'sql;c:cursor;F:field;P:package;r:record;' . - \ 's:subtype;t:table;T:trigger;v:variable;f:function;p:procedure' - -" tcl language -let s:tlist_def_tcl_settings = 'tcl;c:class;f:method;m:method;p:procedure' - -" vera language -let s:tlist_def_vera_settings = 'vera;c:class;d:macro;e:enumerator;' . - \ 'f:function;g:enum;m:member;p:program;' . - \ 'P:prototype;t:task;T:typedef;v:variable;' . - \ 'x:externvar' - -"verilog language -let s:tlist_def_verilog_settings = 'verilog;m:module;c:constant;P:parameter;' . - \ 'e:event;r:register;t:task;w:write;p:port;v:variable;f:function' - -" vim language -let s:tlist_def_vim_settings = 'vim;a:autocmds;v:variable;f:function' - -" yacc language -let s:tlist_def_yacc_settings = 'yacc;l:label' - -"------------------- end of language specific options -------------------- - -" Vim window size is changed by the taglist plugin or not -let s:tlist_winsize_chgd = -1 -" Taglist window is maximized or not -let s:tlist_win_maximized = 0 -" Name of files in the taglist -let s:tlist_file_names='' -" Number of files in the taglist -let s:tlist_file_count = 0 -" Number of filetypes supported by taglist -let s:tlist_ftype_count = 0 -" Is taglist part of other plugins like winmanager or cream? -let s:tlist_app_name = "none" -" Are we displaying brief help text -let s:tlist_brief_help = 1 -" List of files removed on user request -let s:tlist_removed_flist = "" -" Index of current file displayed in the taglist window -let s:tlist_cur_file_idx = -1 -" Taglist menu is empty or not -let s:tlist_menu_empty = 1 - -" An autocommand is used to refresh the taglist window when entering any -" buffer. We don't want to refresh the taglist window if we are entering the -" file window from one of the taglist functions. The 'Tlist_Skip_Refresh' -" variable is used to skip the refresh of the taglist window and is set -" and cleared appropriately. -let s:Tlist_Skip_Refresh = 0 - -" Tlist_Window_Display_Help() -function! s:Tlist_Window_Display_Help() - if s:tlist_app_name == "winmanager" - " To handle a bug in the winmanager plugin, add a space at the - " last line - call setline('$', ' ') - endif - - if s:tlist_brief_help - " Add the brief help - call append(0, '" Press <F1> to display help text') - else - " Add the extensive help - call append(0, '" <enter> : Jump to tag definition') - call append(1, '" o : Jump to tag definition in new window') - call append(2, '" p : Preview the tag definition') - call append(3, '" <space> : Display tag prototype') - call append(4, '" u : Update tag list') - call append(5, '" s : Select sort field') - call append(6, '" d : Remove file from taglist') - call append(7, '" x : Zoom-out/Zoom-in taglist window') - call append(8, '" + : Open a fold') - call append(9, '" - : Close a fold') - call append(10, '" * : Open all folds') - call append(11, '" = : Close all folds') - call append(12, '" [[ : Move to the start of previous file') - call append(13, '" ]] : Move to the start of next file') - call append(14, '" q : Close the taglist window') - call append(15, '" <F1> : Remove help text') - endif -endfunction - -" Tlist_Window_Toggle_Help_Text() -" Toggle taglist plugin help text between the full version and the brief -" version -function! s:Tlist_Window_Toggle_Help_Text() - if g:Tlist_Compact_Format - " In compact display mode, do not display help - return - endif - - " Include the empty line displayed after the help text - let brief_help_size = 1 - let full_help_size = 16 - - setlocal modifiable - - " Set report option to a huge value to prevent informational messages - " while deleting the lines - let old_report = &report - set report=99999 - - " Remove the currently highlighted tag. Otherwise, the help text - " might be highlighted by mistake - match none - - " Toggle between brief and full help text - if s:tlist_brief_help - let s:tlist_brief_help = 0 - - " Remove the previous help - exe '1,' . brief_help_size . ' delete _' - - " Adjust the start/end line numbers for the files - call s:Tlist_Window_Update_Line_Offsets(0, 1, full_help_size - brief_help_size) - else - let s:tlist_brief_help = 1 - - " Remove the previous help - exe '1,' . full_help_size . ' delete _' - - " Adjust the start/end line numbers for the files - call s:Tlist_Window_Update_Line_Offsets(0, 0, full_help_size - brief_help_size) - endif - - call s:Tlist_Window_Display_Help() - - " Restore the report option - let &report = old_report - - setlocal nomodifiable -endfunction - -" Taglist debug support -let s:tlist_debug = 0 - -" File for storing the debug messages -let s:tlist_debug_file = '' - -" Tlist_Debug_Enable -" Enable logging of taglist debug messages. -function! s:Tlist_Debug_Enable(...) - let s:tlist_debug = 1 - - " Check whether a valid file name is supplied. - if a:1 != '' - let s:tlist_debug_file = fnamemodify(a:1, ':p') - - " Empty the log file - exe 'redir! > ' . s:tlist_debug_file - redir END - - " Check whether the log file is present/created - if !filewritable(s:tlist_debug_file) - call s:Tlist_Warning_Msg('Taglist: Unable to create log file ' - \ . s:tlist_debug_file) - let s:tlist_debug_file = '' - endif - endif -endfunction - -" Tlist_Debug_Disable -" Disable logging of taglist debug messages. -function! s:Tlist_Debug_Disable(...) - let s:tlist_debug = 0 - let s:tlist_debug_file = '' -endfunction - -" Tlist_Debug_Show -" Display the taglist debug messages in a new window -function! s:Tlist_Debug_Show() - if s:tlist_msg == '' - call s:Tlist_Warning_Msg('Taglist: No debug messages') - return - endif - - " Open a new window to display the taglist debug messages - new taglist_debug.txt - " Delete all the lines (if the buffer already exists) - silent! %delete _ - " Add the messages - silent! put =s:tlist_msg - " Move the cursor to the first line - normal! gg -endfunction - -" Tlist_Log_Msg -" Log the supplied debug message along with the time -function! s:Tlist_Log_Msg(msg) - if s:tlist_debug - if s:tlist_debug_file != '' - exe 'redir >> ' . s:tlist_debug_file - silent echon strftime('%H:%M:%S') . ': ' . a:msg . "\n" - redir END - else - " Log the message into a variable - " Retain only the last 3000 characters - let len = strlen(s:tlist_msg) - if len > 3000 - let s:tlist_msg = strpart(s:tlist_msg, len - 3000) - endif - let s:tlist_msg = s:tlist_msg . strftime('%H:%M:%S') . ': ' . - \ a:msg . "\n" - endif - endif -endfunction - -" Tlist_Warning_Msg() -" Display a message using WarningMsg highlight group -function! s:Tlist_Warning_Msg(msg) - echohl WarningMsg - echomsg a:msg - echohl None -endfunction - -" Last returned file index for file name lookup. -" Used to speed up file lookup -let s:tlist_file_name_idx_cache = -1 - -" Tlist_Get_File_Index() -" Return the index of the specified filename -function! s:Tlist_Get_File_Index(fname) - if s:tlist_file_count == 0 || a:fname == '' - return -1 - endif - - " If the new filename is same as the last accessed filename, then - " return that index - if s:tlist_file_name_idx_cache != -1 && - \ s:tlist_file_name_idx_cache < s:tlist_file_count - if s:tlist_{s:tlist_file_name_idx_cache}_filename == a:fname - " Same as the last accessed file - return s:tlist_file_name_idx_cache - endif - endif - - " First, check whether the filename is present - let s_fname = a:fname . "\n" - let i = stridx(s:tlist_file_names, s_fname) - if i == -1 - let s:tlist_file_name_idx_cache = -1 - return -1 - endif - - " Second, compute the file name index - let nl_txt = substitute(strpart(s:tlist_file_names, 0, i), "[^\n]", '', 'g') - let s:tlist_file_name_idx_cache = strlen(nl_txt) - return s:tlist_file_name_idx_cache -endfunction - -" Last returned file index for line number lookup. -" Used to speed up file lookup -let s:tlist_file_lnum_idx_cache = -1 - -" Tlist_Window_Get_File_Index_By_Linenum() -" Return the index of the filename present in the specified line number -" Line number refers to the line number in the taglist window -function! s:Tlist_Window_Get_File_Index_By_Linenum(lnum) - call s:Tlist_Log_Msg('Tlist_Window_Get_File_Index_By_Linenum (' . a:lnum . ')') - - " First try to see whether the new line number is within the range - " of the last returned file - if s:tlist_file_lnum_idx_cache != -1 && - \ s:tlist_file_lnum_idx_cache < s:tlist_file_count - if a:lnum >= s:tlist_{s:tlist_file_lnum_idx_cache}_start && - \ a:lnum <= s:tlist_{s:tlist_file_lnum_idx_cache}_end - return s:tlist_file_lnum_idx_cache - endif - endif - - let fidx = -1 - - if g:Tlist_Show_One_File - " Displaying only one file in the taglist window. Check whether - " the line is within the tags displayed for that file - if s:tlist_cur_file_idx != -1 - if a:lnum >= s:tlist_{s:tlist_cur_file_idx}_start - \ && a:lnum <= s:tlist_{s:tlist_cur_file_idx}_end - let fidx = s:tlist_cur_file_idx - endif - - endif - else - " Do a binary search in the taglist - let left = 0 - let right = s:tlist_file_count - 1 - - while left < right - let mid = (left + right) / 2 - - if a:lnum >= s:tlist_{mid}_start && a:lnum <= s:tlist_{mid}_end - let s:tlist_file_lnum_idx_cache = mid - return mid - endif - - if a:lnum < s:tlist_{mid}_start - let right = mid - 1 - else - let left = mid + 1 - endif - endwhile - - if left >= 0 && left < s:tlist_file_count - \ && a:lnum >= s:tlist_{left}_start - \ && a:lnum <= s:tlist_{left}_end - let fidx = left - endif - endif - - let s:tlist_file_lnum_idx_cache = fidx - - return fidx -endfunction - -" Tlist_Exe_Cmd_No_Acmds -" Execute the specified Ex command after disabling autocommands -function! s:Tlist_Exe_Cmd_No_Acmds(cmd) - let old_eventignore = &eventignore - set eventignore=all - exe a:cmd - let &eventignore = old_eventignore -endfunction - -" Tlist_Skip_File() -" Check whether tag listing is supported for the specified file -function! s:Tlist_Skip_File(filename, ftype) - " Skip buffers with no names and buffers with filetype not set - if a:filename == '' || a:ftype == '' - return 1 - endif - - " Skip files which are not supported by exuberant ctags - " First check whether default settings for this filetype are available. - " If it is not available, then check whether user specified settings are - " available. If both are not available, then don't list the tags for this - " filetype - let var = 's:tlist_def_' . a:ftype . '_settings' - if !exists(var) - let var = 'g:tlist_' . a:ftype . '_settings' - if !exists(var) - return 1 - endif - endif - - " Skip files which are not readable or files which are not yet stored - " to the disk - if !filereadable(a:filename) - return 1 - endif - - return 0 -endfunction - -" Tlist_User_Removed_File -" Returns 1 if a file is removed by a user from the taglist -function! s:Tlist_User_Removed_File(filename) - return stridx(s:tlist_removed_flist, a:filename . "\n") != -1 -endfunction - -" Tlist_Update_Remove_List -" Update the list of user removed files from the taglist -" add == 1, add the file to the removed list -" add == 0, delete the file from the removed list -function! s:Tlist_Update_Remove_List(filename, add) - if a:add - let s:tlist_removed_flist = s:tlist_removed_flist . a:filename . "\n" - else - let idx = stridx(s:tlist_removed_flist, a:filename . "\n") - let text_before = strpart(s:tlist_removed_flist, 0, idx) - let rem_text = strpart(s:tlist_removed_flist, idx) - let next_idx = stridx(rem_text, "\n") - let text_after = strpart(rem_text, next_idx + 1) - - let s:tlist_removed_flist = text_before . text_after - endif -endfunction - -" Tlist_FileType_Init -" Initialize the ctags arguments and tag variable for the specified -" file type -function! s:Tlist_FileType_Init(ftype) - call s:Tlist_Log_Msg('Tlist_FileType_Init (' . a:ftype . ')') - " If the user didn't specify any settings, then use the default - " ctags args. Otherwise, use the settings specified by the user - let var = 'g:tlist_' . a:ftype . '_settings' - if exists(var) - " User specified ctags arguments - let settings = {var} . ';' - else - " Default ctags arguments - let var = 's:tlist_def_' . a:ftype . '_settings' - if !exists(var) - " No default settings for this file type. This filetype is - " not supported - return 0 - endif - let settings = s:tlist_def_{a:ftype}_settings . ';' - endif - - let msg = 'Taglist: Invalid ctags option setting - ' . settings - - " Format of the option that specifies the filetype and ctags arugments: - " - " <language_name>;flag1:name1;flag2:name2;flag3:name3 - " - - " Extract the file type to pass to ctags. This may be different from the - " file type detected by Vim - let pos = stridx(settings, ';') - if pos == -1 - call s:Tlist_Warning_Msg(msg) - return 0 - endif - let ctags_ftype = strpart(settings, 0, pos) - if ctags_ftype == '' - call s:Tlist_Warning_Msg(msg) - return 0 - endif - " Make sure a valid filetype is supplied. If the user didn't specify a - " valid filetype, then the ctags option settings may be treated as the - " filetype - if ctags_ftype =~ ':' - call s:Tlist_Warning_Msg(msg) - return 0 - endif - - " Remove the file type from settings - let settings = strpart(settings, pos + 1) - if settings == '' - call s:Tlist_Warning_Msg(msg) - return 0 - endif - - " Process all the specified ctags flags. The format is - " flag1:name1;flag2:name2;flag3:name3 - let ctags_flags = '' - let cnt = 0 - while settings != '' - " Extract the flag - let pos = stridx(settings, ':') - if pos == -1 - call s:Tlist_Warning_Msg(msg) - return 0 - endif - let flag = strpart(settings, 0, pos) - if flag == '' - call s:Tlist_Warning_Msg(msg) - return 0 - endif - " Remove the flag from settings - let settings = strpart(settings, pos + 1) - - " Extract the tag type name - let pos = stridx(settings, ';') - if pos == -1 - call s:Tlist_Warning_Msg(msg) - return 0 - endif - let name = strpart(settings, 0, pos) - if name == '' - call s:Tlist_Warning_Msg(msg) - return 0 - endif - let settings = strpart(settings, pos + 1) - - let cnt = cnt + 1 - - let s:tlist_{a:ftype}_{cnt}_name = flag - let s:tlist_{a:ftype}_{cnt}_fullname = name - let ctags_flags = ctags_flags . flag - endwhile - - let s:tlist_{a:ftype}_ctags_args = '--language-force=' . ctags_ftype . - \ ' --' . ctags_ftype . '-types=' . ctags_flags - let s:tlist_{a:ftype}_count = cnt - let s:tlist_{a:ftype}_ctags_flags = ctags_flags - - " Save the filetype name - let s:tlist_ftype_{s:tlist_ftype_count}_name = a:ftype - let s:tlist_ftype_count = s:tlist_ftype_count + 1 - - return 1 -endfunction - -" Tlist_Detect_Filetype -" Determine the filetype for the specified file using the filetypedetect -" autocmd. -function! s:Tlist_Detect_Filetype(fname) - " Ignore the filetype autocommands - let old_eventignore = &eventignore - set eventignore=FileType - - " Save the 'filetype', as this will be changed temporarily - let old_filetype = &filetype - - " Run the filetypedetect group of autocommands to determine - " the filetype - exe 'doautocmd filetypedetect BufRead ' . a:fname - - " Save the detected filetype - let ftype = &filetype - - " Restore the previous state - let &filetype = old_filetype - let &eventignore = old_eventignore - - return ftype -endfunction - -" Tlist_Get_Buffer_Filetype -" Get the filetype for the specified buffer -function! s:Tlist_Get_Buffer_Filetype(bnum) - let buf_ft = getbufvar(a:bnum, '&filetype') - - if bufloaded(a:bnum) - " For loaded buffers, the 'filetype' is already determined - return buf_ft - endif - - " For unloaded buffers, if the 'filetype' option is set, return it - if buf_ft != '' - return buf_ft - endif - - " Skip non-existent buffers - if !bufexists(a:bnum) - return '' - endif - - " For buffers whose filetype is not yet determined, try to determine - " the filetype - let bname = bufname(a:bnum) - - return s:Tlist_Detect_Filetype(bname) -endfunction - -" Tlist_Discard_TagInfo -" Discard the stored tag information for a file -function! s:Tlist_Discard_TagInfo(fidx) - call s:Tlist_Log_Msg('Tlist_Discard_TagInfo (' . - \ s:tlist_{a:fidx}_filename . ')') - let ftype = s:tlist_{a:fidx}_filetype - - " Discard information about the tags defined in the file - let i = 1 - while i <= s:tlist_{a:fidx}_tag_count - let fidx_i = 's:tlist_' . a:fidx . '_' . i - unlet! {fidx_i}_tag - unlet! {fidx_i}_tag_name - unlet! {fidx_i}_tag_type - unlet! {fidx_i}_ttype_idx - unlet! {fidx_i}_tag_proto - unlet! {fidx_i}_tag_searchpat - unlet! {fidx_i}_tag_linenum - let i = i + 1 - endwhile - - let s:tlist_{a:fidx}_tag_count = 0 - - " Discard information about tag type groups - let i = 1 - while i <= s:tlist_{ftype}_count - let ttype = s:tlist_{ftype}_{i}_name - if s:tlist_{a:fidx}_{ttype} != '' - let fidx_ttype = 's:tlist_' . a:fidx . '_' . ttype - let {fidx_ttype} = '' - let {fidx_ttype}_offset = 0 - let cnt = {fidx_ttype}_count - let {fidx_ttype}_count = 0 - let j = 1 - while j <= cnt - unlet! {fidx_ttype}_{j} - let j = j + 1 - endwhile - endif - let i = i + 1 - endwhile - - " Discard the stored menu command also - let s:tlist_{a:fidx}_menu_cmd = '' -endfunction - -" Tlist_Window_Update_Line_Offsets -" Update the line offsets for tags for files starting from start_idx -" and displayed in the taglist window by the specified offset -function! s:Tlist_Window_Update_Line_Offsets(start_idx, increment, offset) - let i = a:start_idx - - while i < s:tlist_file_count - if s:tlist_{i}_visible - " Update the start/end line number only if the file is visible - if a:increment - let s:tlist_{i}_start = s:tlist_{i}_start + a:offset - let s:tlist_{i}_end = s:tlist_{i}_end + a:offset - else - let s:tlist_{i}_start = s:tlist_{i}_start - a:offset - let s:tlist_{i}_end = s:tlist_{i}_end - a:offset - endif - endif - let i = i + 1 - endwhile -endfunction - -" Tlist_Discard_FileInfo -" Discard the stored information for a file -function! s:Tlist_Discard_FileInfo(fidx) - call s:Tlist_Log_Msg('Tlist_Discard_FileInfo (' . - \ s:tlist_{a:fidx}_filename . ')') - call s:Tlist_Discard_TagInfo(a:fidx) - - let ftype = s:tlist_{a:fidx}_filetype - - let i = 1 - while i <= s:tlist_{ftype}_count - let ttype = s:tlist_{ftype}_{i}_name - unlet! s:tlist_{a:fidx}_{ttype} - unlet! s:tlist_{a:fidx}_{ttype}_offset - unlet! s:tlist_{a:fidx}_{ttype}_count - let i = i + 1 - endwhile - - unlet! s:tlist_{a:fidx}_filename - unlet! s:tlist_{a:fidx}_sort_type - unlet! s:tlist_{a:fidx}_filetype - unlet! s:tlist_{a:fidx}_mtime - unlet! s:tlist_{a:fidx}_start - unlet! s:tlist_{a:fidx}_end - unlet! s:tlist_{a:fidx}_valid - unlet! s:tlist_{a:fidx}_visible - unlet! s:tlist_{a:fidx}_tag_count - unlet! s:tlist_{a:fidx}_menu_cmd -endfunction - -" Tlist_Window_Remove_File_From_Display -" Remove the specified file from display -function! s:Tlist_Window_Remove_File_From_Display(fidx) - call s:Tlist_Log_Msg('Tlist_Window_Remove_File_From_Display (' . - \ s:tlist_{a:fidx}_filename . ')') - " If the file is not visible then no need to remove it - if !s:tlist_{a:fidx}_visible - return - endif - - " Remove the tags displayed for the specified file from the window - let start = s:tlist_{a:fidx}_start - " Include the empty line after the last line also - if g:Tlist_Compact_Format - let end = s:tlist_{a:fidx}_end - else - let end = s:tlist_{a:fidx}_end + 1 - endif - - setlocal modifiable - exe 'silent! ' . start . ',' . end . 'delete _' - setlocal nomodifiable - - " Correct the start and end line offsets for all the files following - " this file, as the tags for this file are removed - call s:Tlist_Window_Update_Line_Offsets(a:fidx + 1, 0, end - start + 1) -endfunction - -" Tlist_Remove_File -" Remove the file under the cursor or the specified file index -" user_request - User requested to remove the file from taglist -function! s:Tlist_Remove_File(file_idx, user_request) - let fidx = a:file_idx - - if fidx == -1 - let fidx = s:Tlist_Window_Get_File_Index_By_Linenum(line('.')) - if fidx == -1 - return - endif - endif - call s:Tlist_Log_Msg('Tlist_Remove_File (' . - \ s:tlist_{fidx}_filename . ', ' . a:user_request . ')') - - let save_winnr = winnr() - let winnum = bufwinnr(g:TagList_title) - if winnum != -1 - " Taglist window is open, remove the file from display - - if save_winnr != winnum - let old_eventignore = &eventignore - set eventignore=all - exe winnum . 'wincmd w' - endif - - call s:Tlist_Window_Remove_File_From_Display(fidx) - - if save_winnr != winnum - exe save_winnr . 'wincmd w' - let &eventignore = old_eventignore - endif - endif - - let fname = s:tlist_{fidx}_filename - - if a:user_request - " As the user requested to remove the file from taglist, - " add it to the removed list - call s:Tlist_Update_Remove_List(fname, 1) - endif - - " Remove the file name from the taglist list of filenames - let idx = stridx(s:tlist_file_names, fname . "\n") - let text_before = strpart(s:tlist_file_names, 0, idx) - let rem_text = strpart(s:tlist_file_names, idx) - let next_idx = stridx(rem_text, "\n") - let text_after = strpart(rem_text, next_idx + 1) - let s:tlist_file_names = text_before . text_after - - call s:Tlist_Discard_FileInfo(fidx) - - " Shift all the file variables by one index - let i = fidx + 1 - - while i < s:tlist_file_count - let j = i - 1 - - let s:tlist_{j}_filename = s:tlist_{i}_filename - let s:tlist_{j}_sort_type = s:tlist_{i}_sort_type - let s:tlist_{j}_filetype = s:tlist_{i}_filetype - let s:tlist_{j}_mtime = s:tlist_{i}_mtime - let s:tlist_{j}_start = s:tlist_{i}_start - let s:tlist_{j}_end = s:tlist_{i}_end - let s:tlist_{j}_valid = s:tlist_{i}_valid - let s:tlist_{j}_visible = s:tlist_{i}_visible - let s:tlist_{j}_tag_count = s:tlist_{i}_tag_count - let s:tlist_{j}_menu_cmd = s:tlist_{i}_menu_cmd - - let k = 1 - while k <= s:tlist_{j}_tag_count - let s:tlist_{j}_{k}_tag = s:tlist_{i}_{k}_tag - let s:tlist_{j}_{k}_tag_name = s:tlist_{i}_{k}_tag_name - let s:tlist_{j}_{k}_tag_type = s:Tlist_Get_Tag_Type_By_Tag(i, k) - let s:tlist_{j}_{k}_ttype_idx = s:tlist_{i}_{k}_ttype_idx - let s:tlist_{j}_{k}_tag_proto = s:Tlist_Get_Tag_Prototype(i, k) - let s:tlist_{j}_{k}_tag_searchpat = s:Tlist_Get_Tag_SearchPat(i, k) - let s:tlist_{j}_{k}_tag_linenum = s:Tlist_Get_Tag_Linenum(i, k) - let k = k + 1 - endwhile - - let ftype = s:tlist_{i}_filetype - - let k = 1 - while k <= s:tlist_{ftype}_count - let ttype = s:tlist_{ftype}_{k}_name - let s:tlist_{j}_{ttype} = s:tlist_{i}_{ttype} - let s:tlist_{j}_{ttype}_offset = s:tlist_{i}_{ttype}_offset - let s:tlist_{j}_{ttype}_count = s:tlist_{i}_{ttype}_count - if s:tlist_{j}_{ttype} != '' - let l = 1 - while l <= s:tlist_{j}_{ttype}_count - let s:tlist_{j}_{ttype}_{l} = s:tlist_{i}_{ttype}_{l} - let l = l + 1 - endwhile - endif - let k = k + 1 - endwhile - - " As the file and tag information is copied to the new index, - " discard the previous information - call s:Tlist_Discard_FileInfo(i) - - let i = i + 1 - endwhile - - " Reduce the number of files displayed - let s:tlist_file_count = s:tlist_file_count - 1 - - if g:Tlist_Show_One_File - " If the tags for only one file is displayed and if we just - " now removed that file, then invalidate the current file idx - if s:tlist_cur_file_idx == fidx - let s:tlist_cur_file_idx = -1 - endif - endif -endfunction - -" Tlist_Window_Goto_Window -" Goto the taglist window -function! s:Tlist_Window_Goto_Window() - let winnum = bufwinnr(g:TagList_title) - if winnum != -1 - if winnr() != winnum - call s:Tlist_Exe_Cmd_No_Acmds(winnum . 'wincmd w') - endif - endif -endfunction - -" Tlist_Window_Create -" Create a new taglist window. If it is already open, jump to it -function! s:Tlist_Window_Create() - call s:Tlist_Log_Msg('Tlist_Window_Create()') - " If the window is open, jump to it - let winnum = bufwinnr(g:TagList_title) - if winnum != -1 - " Jump to the existing window - if winnr() != winnum - exe winnum . 'wincmd w' - endif - return - endif - - " If used with winmanager don't open windows. Winmanager will handle - " the window/buffer management - if s:tlist_app_name == "winmanager" - return - endif - - " Create a new window. If user prefers a horizontal window, then open - " a horizontally split window. Otherwise open a vertically split - " window - if g:Tlist_Use_Horiz_Window - " Open a horizontally split window - let win_dir = 'botright' - " Horizontal window height - let win_size = g:Tlist_WinHeight - else - if s:tlist_winsize_chgd == -1 - " Open a vertically split window. Increase the window size, if - " needed, to accomodate the new window - if g:Tlist_Inc_Winwidth && - \ &columns < (80 + g:Tlist_WinWidth) - " Save the original window position - let s:tlist_pre_winx = getwinposx() - let s:tlist_pre_winy = getwinposy() - - " one extra column is needed to include the vertical split - let &columns= &columns + g:Tlist_WinWidth + 1 - - let s:tlist_winsize_chgd = 1 - else - let s:tlist_winsize_chgd = 0 - endif - endif - - if g:Tlist_Use_Right_Window - " Open the window at the rightmost place - let win_dir = 'botright vertical' - else - " Open the window at the leftmost place - let win_dir = 'topleft vertical' - endif - let win_size = g:Tlist_WinWidth - endif - - " If the tag listing temporary buffer already exists, then reuse it. - " Otherwise create a new buffer - let bufnum = bufnr(g:TagList_title) - if bufnum == -1 - " Create a new buffer - let wcmd = g:TagList_title - else - " Edit the existing buffer - let wcmd = '+buffer' . bufnum - endif - - " Create the taglist window - exe 'silent! ' . win_dir . ' ' . win_size . 'split ' . wcmd - - " Save the new window position - let s:tlist_winx = getwinposx() - let s:tlist_winy = getwinposy() - - " Initialize the taglist window - call s:Tlist_Window_Init() -endfunction - -" Tlist_Window_Zoom -" Zoom (maximize/minimize) the taglist window -function! s:Tlist_Window_Zoom() - if s:tlist_win_maximized - " Restore the window back to the previous size - if g:Tlist_Use_Horiz_Window - exe 'resize ' . g:Tlist_WinHeight - else - exe 'vert resize ' . g:Tlist_WinWidth - endif - let s:tlist_win_maximized = 0 - else - " Set the window size to the maximum possible without closing other - " windows - if g:Tlist_Use_Horiz_Window - resize - else - vert resize - endif - let s:tlist_win_maximized = 1 - endif -endfunction - -" Tlist_Ballon_Expr -" When the mouse cursor is over a tag in the taglist window, display the -" tag prototype (balloon) -function! Tlist_Ballon_Expr() - " Get the file index - let fidx = s:Tlist_Window_Get_File_Index_By_Linenum(v:beval_lnum) - if fidx == -1 - return '' - endif - - " Get the tag output line for the current tag - let tidx = s:Tlist_Window_Get_Tag_Index(fidx, v:beval_lnum) - if tidx == 0 - return '' - endif - - " Get the tag search pattern and display it - return s:Tlist_Get_Tag_Prototype(fidx, tidx) -endfunction - -" Tlist_Window_Check_Width -" Check the width of the taglist window. For horizontally split windows, the -" 'winfixheight' option is used to fix the height of the window. For -" vertically split windows, Vim doesn't support the 'winfixwidth' option. So -" need to handle window width changes from this function. -function! s:Tlist_Window_Check_Width() - let tlist_winnr = bufwinnr(g:TagList_title) - if tlist_winnr == -1 - return - endif - - let width = winwidth(tlist_winnr) - if width != g:Tlist_WinWidth - call s:Tlist_Log_Msg("Tlist_Window_Check_Width: Changing window " . - \ "width from " . width . " to " . g:Tlist_WinWidth) - let save_winnr = winnr() - if save_winnr != tlist_winnr - call s:Tlist_Exe_Cmd_No_Acmds(tlist_winnr . 'wincmd w') - endif - exe 'vert resize ' . g:Tlist_WinWidth - if save_winnr != tlist_winnr - call s:Tlist_Exe_Cmd_No_Acmds('wincmd p') - endif - endif -endfunction - -" Tlist_Window_Exit_Only_Window -" If the 'Tlist_Exit_OnlyWindow' option is set, then exit Vim if only the -" taglist window is present. -function! s:Tlist_Window_Exit_Only_Window() - " Before quitting Vim, delete the taglist buffer so that - " the '0 mark is correctly set to the previous buffer. - if v:version < 700 - if winbufnr(2) == -1 - bdelete - quit - endif - else - if winbufnr(2) == -1 - if tabpagenr('$') == 1 - " Only one tag page is present - bdelete - quit - else - " More than one tab page is present. Close only the current - " tab page - close - endif - endif - endif -endfunction - -" Tlist_Window_Init -" Set the default options for the taglist window -function! s:Tlist_Window_Init() - call s:Tlist_Log_Msg('Tlist_Window_Init()') - - " The 'readonly' option should not be set for the taglist buffer. - " If Vim is started as "view/gview" or if the ":view" command is - " used, then the 'readonly' option is set for all the buffers. - " Unset it for the taglist buffer - setlocal noreadonly - - " Set the taglist buffer filetype to taglist - setlocal filetype=taglist - - " Define taglist window element highlighting - syntax match TagListComment '^" .*' - syntax match TagListFileName '^[^" ].*$' - syntax match TagListTitle '^ \S.*$' - syntax match TagListTagScope '\s\[.\{-\}\]$' - - " Define the highlighting only if colors are supported - if has('gui_running') || &t_Co > 2 - " Colors to highlight various taglist window elements - " If user defined highlighting group exists, then use them. - " Otherwise, use default highlight groups. - if hlexists('MyTagListTagName') - highlight link TagListTagName MyTagListTagName - else - highlight default link TagListTagName Search - endif - " Colors to highlight comments and titles - if hlexists('MyTagListComment') - highlight link TagListComment MyTagListComment - else - highlight clear TagListComment - highlight default link TagListComment Comment - endif - if hlexists('MyTagListTitle') - highlight link TagListTitle MyTagListTitle - else - highlight clear TagListTitle - highlight default link TagListTitle Title - endif - if hlexists('MyTagListFileName') - highlight link TagListFileName MyTagListFileName - else - highlight clear TagListFileName - highlight default TagListFileName guibg=Grey ctermbg=darkgray - \ guifg=white ctermfg=white - endif - if hlexists('MyTagListTagScope') - highlight link TagListTagScope MyTagListTagScope - else - highlight clear TagListTagScope - highlight default link TagListTagScope Identifier - endif - else - highlight default TagListTagName term=reverse cterm=reverse - endif - - " Folding related settings - setlocal foldenable - setlocal foldminlines=0 - setlocal foldmethod=manual - setlocal foldlevel=9999 - if g:Tlist_Enable_Fold_Column - setlocal foldcolumn=3 - else - setlocal foldcolumn=0 - endif - setlocal foldtext=v:folddashes.getline(v:foldstart) - - if s:tlist_app_name != "winmanager" - " Mark buffer as scratch - silent! setlocal buftype=nofile - if s:tlist_app_name == "none" - silent! setlocal bufhidden=delete - endif - silent! setlocal noswapfile - " Due to a bug in Vim 6.0, the winbufnr() function fails for unlisted - " buffers. So if the taglist buffer is unlisted, multiple taglist - " windows will be opened. This bug is fixed in Vim 6.1 and above - if v:version >= 601 - silent! setlocal nobuflisted - endif - endif - - silent! setlocal nowrap - - " If the 'number' option is set in the source window, it will affect the - " taglist window. So forcefully disable 'number' option for the taglist - " window - silent! setlocal nonumber - - " Use fixed height when horizontally split window is used - if g:Tlist_Use_Horiz_Window - if v:version >= 602 - set winfixheight - endif - endif - if !g:Tlist_Use_Horiz_Window && v:version >= 700 - set winfixwidth - endif - - " Setup balloon evaluation to display tag prototype - if v:version >= 700 && has('balloon_eval') - setlocal balloonexpr=Tlist_Ballon_Expr() - set ballooneval - endif - - " Setup the cpoptions properly for the maps to work - let old_cpoptions = &cpoptions - set cpoptions&vim - - " Create buffer local mappings for jumping to the tags and sorting the list - nnoremap <buffer> <silent> <CR> - \ :call <SID>Tlist_Window_Jump_To_Tag('useopen')<CR> - nnoremap <buffer> <silent> o - \ :call <SID>Tlist_Window_Jump_To_Tag('newwin')<CR> - nnoremap <buffer> <silent> p - \ :call <SID>Tlist_Window_Jump_To_Tag('preview')<CR> - nnoremap <buffer> <silent> P - \ :call <SID>Tlist_Window_Jump_To_Tag('prevwin')<CR> - if v:version >= 700 - nnoremap <buffer> <silent> t - \ :call <SID>Tlist_Window_Jump_To_Tag('checktab')<CR> - nnoremap <buffer> <silent> <C-t> - \ :call <SID>Tlist_Window_Jump_To_Tag('newtab')<CR> - endif - nnoremap <buffer> <silent> <2-LeftMouse> - \ :call <SID>Tlist_Window_Jump_To_Tag('useopen')<CR> - nnoremap <buffer> <silent> s - \ :call <SID>Tlist_Change_Sort('cmd', 'toggle', '')<CR> - nnoremap <buffer> <silent> + :silent! foldopen<CR> - nnoremap <buffer> <silent> - :silent! foldclose<CR> - nnoremap <buffer> <silent> * :silent! %foldopen!<CR> - nnoremap <buffer> <silent> = :silent! %foldclose<CR> - nnoremap <buffer> <silent> <kPlus> :silent! foldopen<CR> - nnoremap <buffer> <silent> <kMinus> :silent! foldclose<CR> - nnoremap <buffer> <silent> <kMultiply> :silent! %foldopen!<CR> - nnoremap <buffer> <silent> <Space> :call <SID>Tlist_Window_Show_Info()<CR> - nnoremap <buffer> <silent> u :call <SID>Tlist_Window_Update_File()<CR> - nnoremap <buffer> <silent> d :call <SID>Tlist_Remove_File(-1, 1)<CR> - nnoremap <buffer> <silent> x :call <SID>Tlist_Window_Zoom()<CR> - nnoremap <buffer> <silent> [[ :call <SID>Tlist_Window_Move_To_File(-1)<CR> - nnoremap <buffer> <silent> <BS> :call <SID>Tlist_Window_Move_To_File(-1)<CR> - nnoremap <buffer> <silent> ]] :call <SID>Tlist_Window_Move_To_File(1)<CR> - nnoremap <buffer> <silent> <Tab> :call <SID>Tlist_Window_Move_To_File(1)<CR> - nnoremap <buffer> <silent> <F1> :call <SID>Tlist_Window_Toggle_Help_Text()<CR> - nnoremap <buffer> <silent> q :close<CR> - - " Insert mode mappings - inoremap <buffer> <silent> <CR> - \ <C-o>:call <SID>Tlist_Window_Jump_To_Tag('useopen')<CR> - " Windows needs return - inoremap <buffer> <silent> <Return> - \ <C-o>:call <SID>Tlist_Window_Jump_To_Tag('useopen')<CR> - inoremap <buffer> <silent> o - \ <C-o>:call <SID>Tlist_Window_Jump_To_Tag('newwin')<CR> - inoremap <buffer> <silent> p - \ <C-o>:call <SID>Tlist_Window_Jump_To_Tag('preview')<CR> - inoremap <buffer> <silent> P - \ <C-o>:call <SID>Tlist_Window_Jump_To_Tag('prevwin')<CR> - if v:version >= 700 - inoremap <buffer> <silent> t - \ <C-o>:call <SID>Tlist_Window_Jump_To_Tag('checktab')<CR> - inoremap <buffer> <silent> <C-t> - \ <C-o>:call <SID>Tlist_Window_Jump_To_Tag('newtab')<CR> - endif - inoremap <buffer> <silent> <2-LeftMouse> - \ <C-o>:call <SID>Tlist_Window_Jump_To_Tag('useopen')<CR> - inoremap <buffer> <silent> s - \ <C-o>:call <SID>Tlist_Change_Sort('cmd', 'toggle', '')<CR> - inoremap <buffer> <silent> + <C-o>:silent! foldopen<CR> - inoremap <buffer> <silent> - <C-o>:silent! foldclose<CR> - inoremap <buffer> <silent> * <C-o>:silent! %foldopen!<CR> - inoremap <buffer> <silent> = <C-o>:silent! %foldclose<CR> - inoremap <buffer> <silent> <kPlus> <C-o>:silent! foldopen<CR> - inoremap <buffer> <silent> <kMinus> <C-o>:silent! foldclose<CR> - inoremap <buffer> <silent> <kMultiply> <C-o>:silent! %foldopen!<CR> - inoremap <buffer> <silent> <Space> <C-o>:call - \ <SID>Tlist_Window_Show_Info()<CR> - inoremap <buffer> <silent> u - \ <C-o>:call <SID>Tlist_Window_Update_File()<CR> - inoremap <buffer> <silent> d <C-o>:call <SID>Tlist_Remove_File(-1, 1)<CR> - inoremap <buffer> <silent> x <C-o>:call <SID>Tlist_Window_Zoom()<CR> - inoremap <buffer> <silent> [[ <C-o>:call <SID>Tlist_Window_Move_To_File(-1)<CR> - inoremap <buffer> <silent> <BS> <C-o>:call <SID>Tlist_Window_Move_To_File(-1)<CR> - inoremap <buffer> <silent> ]] <C-o>:call <SID>Tlist_Window_Move_To_File(1)<CR> - inoremap <buffer> <silent> <Tab> <C-o>:call <SID>Tlist_Window_Move_To_File(1)<CR> - inoremap <buffer> <silent> <F1> <C-o>:call <SID>Tlist_Window_Toggle_Help_Text()<CR> - inoremap <buffer> <silent> q <C-o>:close<CR> - - " Map single left mouse click if the user wants this functionality - if g:Tlist_Use_SingleClick == 1 - " Contributed by Bindu Wavell - " attempt to perform single click mapping, it would be much - " nicer if we could nnoremap <buffer> ... however vim does - " not fire the <buffer> <leftmouse> when you use the mouse - " to enter a buffer. - let clickmap = ':if bufname("%") =~ "__Tag_List__" <bar> ' . - \ 'call <SID>Tlist_Window_Jump_To_Tag("useopen") ' . - \ '<bar> endif <CR>' - if maparg('<leftmouse>', 'n') == '' - " no mapping for leftmouse - exe ':nnoremap <silent> <leftmouse> <leftmouse>' . clickmap - else - " we have a mapping - let mapcmd = ':nnoremap <silent> <leftmouse> <leftmouse>' - let mapcmd = mapcmd . substitute(substitute( - \ maparg('<leftmouse>', 'n'), '|', '<bar>', 'g'), - \ '\c^<leftmouse>', '', '') - let mapcmd = mapcmd . clickmap - exe mapcmd - endif - endif - - " Define the taglist autocommands - augroup TagListAutoCmds - autocmd! - " Display the tag prototype for the tag under the cursor. - autocmd CursorHold __Tag_List__ call s:Tlist_Window_Show_Info() - " Highlight the current tag periodically - autocmd CursorHold * silent call s:Tlist_Window_Highlight_Tag( - \ fnamemodify(bufname('%'), ':p'), line('.'), 1, 0) - - " Adjust the Vim window width when taglist window is closed - autocmd BufUnload __Tag_List__ call s:Tlist_Post_Close_Cleanup() - " Close the fold for this buffer when leaving the buffer - if g:Tlist_File_Fold_Auto_Close - autocmd BufEnter * silent - \ call s:Tlist_Window_Open_File_Fold(expand('<abuf>')) - endif - " Exit Vim itself if only the taglist window is present (optional) - if g:Tlist_Exit_OnlyWindow - autocmd BufEnter __Tag_List__ nested - \ call s:Tlist_Window_Exit_Only_Window() - endif - if s:tlist_app_name != "winmanager" && - \ !g:Tlist_Process_File_Always && - \ (!has('gui_running') || !g:Tlist_Show_Menu) - " Auto refresh the taglist window - autocmd BufEnter * call s:Tlist_Refresh() - endif - - if !g:Tlist_Use_Horiz_Window - if v:version < 700 - autocmd WinEnter * call s:Tlist_Window_Check_Width() - endif - endif - if v:version >= 700 - autocmd TabEnter * silent call s:Tlist_Refresh_Folds() - endif - augroup end - - " Restore the previous cpoptions settings - let &cpoptions = old_cpoptions -endfunction - -" Tlist_Window_Refresh -" Display the tags for all the files in the taglist window -function! s:Tlist_Window_Refresh() - call s:Tlist_Log_Msg('Tlist_Window_Refresh()') - " Set report option to a huge value to prevent informational messages - " while deleting the lines - let old_report = &report - set report=99999 - - " Mark the buffer as modifiable - setlocal modifiable - - " Delete the contents of the buffer to the black-hole register - silent! %delete _ - - " As we have cleared the taglist window, mark all the files - " as not visible - let i = 0 - while i < s:tlist_file_count - let s:tlist_{i}_visible = 0 - let i = i + 1 - endwhile - - if g:Tlist_Compact_Format == 0 - " Display help in non-compact mode - call s:Tlist_Window_Display_Help() - endif - - " Mark the buffer as not modifiable - setlocal nomodifiable - - " Restore the report option - let &report = old_report - - " If the tags for only one file should be displayed in the taglist - " window, then no need to add the tags here. The bufenter autocommand - " will add the tags for that file. - if g:Tlist_Show_One_File - return - endif - - " List all the tags for the previously processed files - " Do this only if taglist is configured to display tags for more than - " one file. Otherwise, when Tlist_Show_One_File is configured, - " tags for the wrong file will be displayed. - let i = 0 - while i < s:tlist_file_count - call s:Tlist_Window_Refresh_File(s:tlist_{i}_filename, - \ s:tlist_{i}_filetype) - let i = i + 1 - endwhile - - if g:Tlist_Auto_Update - " Add and list the tags for all buffers in the Vim buffer list - let i = 1 - let last_bufnum = bufnr('$') - while i <= last_bufnum - if buflisted(i) - let fname = fnamemodify(bufname(i), ':p') - let ftype = s:Tlist_Get_Buffer_Filetype(i) - " If the file doesn't support tag listing, skip it - if !s:Tlist_Skip_File(fname, ftype) - call s:Tlist_Window_Refresh_File(fname, ftype) - endif - endif - let i = i + 1 - endwhile - endif - - " If Tlist_File_Fold_Auto_Close option is set, then close all the folds - if g:Tlist_File_Fold_Auto_Close - " Close all the folds - silent! %foldclose - endif - - " Move the cursor to the top of the taglist window - normal! gg -endfunction - -" Tlist_Post_Close_Cleanup() -" Close the taglist window and adjust the Vim window width -function! s:Tlist_Post_Close_Cleanup() - call s:Tlist_Log_Msg('Tlist_Post_Close_Cleanup()') - " Mark all the files as not visible - let i = 0 - while i < s:tlist_file_count - let s:tlist_{i}_visible = 0 - let i = i + 1 - endwhile - - " Remove the taglist autocommands - silent! autocmd! TagListAutoCmds - - " Clear all the highlights - match none - - silent! syntax clear TagListTitle - silent! syntax clear TagListComment - silent! syntax clear TagListTagScope - - " Remove the left mouse click mapping if it was setup initially - if g:Tlist_Use_SingleClick - if hasmapto('<LeftMouse>') - nunmap <LeftMouse> - endif - endif - - if s:tlist_app_name != "winmanager" - if g:Tlist_Use_Horiz_Window || g:Tlist_Inc_Winwidth == 0 || - \ s:tlist_winsize_chgd != 1 || - \ &columns < (80 + g:Tlist_WinWidth) - " No need to adjust window width if using horizontally split taglist - " window or if columns is less than 101 or if the user chose not to - " adjust the window width - else - " If the user didn't manually move the window, then restore the window - " position to the pre-taglist position - if s:tlist_pre_winx != -1 && s:tlist_pre_winy != -1 && - \ getwinposx() == s:tlist_winx && - \ getwinposy() == s:tlist_winy - exe 'winpos ' . s:tlist_pre_winx . ' ' . s:tlist_pre_winy - endif - - " Adjust the Vim window width - let &columns= &columns - (g:Tlist_WinWidth + 1) - endif - endif - - let s:tlist_winsize_chgd = -1 - - " Reset taglist state variables - if s:tlist_app_name == "winmanager" - let s:tlist_app_name = "none" - endif - let s:tlist_window_initialized = 0 -endfunction - -" Tlist_Window_Refresh_File() -" List the tags defined in the specified file in a Vim window -function! s:Tlist_Window_Refresh_File(filename, ftype) - call s:Tlist_Log_Msg('Tlist_Window_Refresh_File (' . a:filename . ')') - " First check whether the file already exists - let fidx = s:Tlist_Get_File_Index(a:filename) - if fidx != -1 - let file_listed = 1 - else - let file_listed = 0 - endif - - if !file_listed - " Check whether this file is removed based on user request - " If it is, then don't display the tags for this file - if s:Tlist_User_Removed_File(a:filename) - return - endif - endif - - if file_listed && s:tlist_{fidx}_visible - " Check whether the file tags are currently valid - if s:tlist_{fidx}_valid - " Goto the first line in the file - exe s:tlist_{fidx}_start - - " If the line is inside a fold, open the fold - if foldclosed('.') != -1 - exe "silent! " . s:tlist_{fidx}_start . "," . - \ s:tlist_{fidx}_end . "foldopen!" - endif - return - endif - - " Discard and remove the tags for this file from display - call s:Tlist_Discard_TagInfo(fidx) - call s:Tlist_Window_Remove_File_From_Display(fidx) - endif - - " Process and generate a list of tags defined in the file - if !file_listed || !s:tlist_{fidx}_valid - let ret_fidx = s:Tlist_Process_File(a:filename, a:ftype) - if ret_fidx == -1 - return - endif - let fidx = ret_fidx - endif - - " Set report option to a huge value to prevent informational messages - " while adding lines to the taglist window - let old_report = &report - set report=99999 - - if g:Tlist_Show_One_File - " Remove the previous file - if s:tlist_cur_file_idx != -1 - call s:Tlist_Window_Remove_File_From_Display(s:tlist_cur_file_idx) - let s:tlist_{s:tlist_cur_file_idx}_visible = 0 - let s:tlist_{s:tlist_cur_file_idx}_start = 0 - let s:tlist_{s:tlist_cur_file_idx}_end = 0 - endif - let s:tlist_cur_file_idx = fidx - endif - - " Mark the buffer as modifiable - setlocal modifiable - - " Add new files to the end of the window. For existing files, add them at - " the same line where they were previously present. If the file is not - " visible, then add it at the end - if s:tlist_{fidx}_start == 0 || !s:tlist_{fidx}_visible - if g:Tlist_Compact_Format - let s:tlist_{fidx}_start = line('$') - else - let s:tlist_{fidx}_start = line('$') + 1 - endif - endif - - let s:tlist_{fidx}_visible = 1 - - " Goto the line where this file should be placed - if g:Tlist_Compact_Format - exe s:tlist_{fidx}_start - else - exe s:tlist_{fidx}_start - 1 - endif - - let txt = fnamemodify(s:tlist_{fidx}_filename, ':t') . ' (' . - \ fnamemodify(s:tlist_{fidx}_filename, ':p:h') . ')' - if g:Tlist_Compact_Format == 0 - silent! put =txt - else - silent! put! =txt - " Move to the next line - exe line('.') + 1 - endif - let file_start = s:tlist_{fidx}_start - - " Add the tag names grouped by tag type to the buffer with a title - let i = 1 - let ttype_cnt = s:tlist_{a:ftype}_count - while i <= ttype_cnt - let ttype = s:tlist_{a:ftype}_{i}_name - " Add the tag type only if there are tags for that type - let fidx_ttype = 's:tlist_' . fidx . '_' . ttype - let ttype_txt = {fidx_ttype} - if ttype_txt != '' - let txt = ' ' . s:tlist_{a:ftype}_{i}_fullname - if g:Tlist_Compact_Format == 0 - let ttype_start_lnum = line('.') + 1 - silent! put =txt - else - let ttype_start_lnum = line('.') - silent! put! =txt - endif - silent! put =ttype_txt - - let {fidx_ttype}_offset = ttype_start_lnum - file_start - - " create a fold for this tag type - let fold_start = ttype_start_lnum - let fold_end = fold_start + {fidx_ttype}_count - exe fold_start . ',' . fold_end . 'fold' - - " Adjust the cursor position - if g:Tlist_Compact_Format == 0 - exe ttype_start_lnum + {fidx_ttype}_count - else - exe ttype_start_lnum + {fidx_ttype}_count + 1 - endif - - if g:Tlist_Compact_Format == 0 - " Separate the tag types by a empty line - silent! put ='' - endif - endif - let i = i + 1 - endwhile - - if s:tlist_{fidx}_tag_count == 0 - if g:Tlist_Compact_Format == 0 - silent! put ='' - endif - endif - - let s:tlist_{fidx}_end = line('.') - 1 - - " Create a fold for the entire file - exe s:tlist_{fidx}_start . ',' . s:tlist_{fidx}_end . 'fold' - exe 'silent! ' . s:tlist_{fidx}_start . ',' . - \ s:tlist_{fidx}_end . 'foldopen!' - - " Goto the starting line for this file, - exe s:tlist_{fidx}_start - - if s:tlist_app_name == "winmanager" - " To handle a bug in the winmanager plugin, add a space at the - " last line - call setline('$', ' ') - endif - - " Mark the buffer as not modifiable - setlocal nomodifiable - - " Restore the report option - let &report = old_report - - " Update the start and end line numbers for all the files following this - " file - let start = s:tlist_{fidx}_start - " include the empty line after the last line - if g:Tlist_Compact_Format - let end = s:tlist_{fidx}_end - else - let end = s:tlist_{fidx}_end + 1 - endif - call s:Tlist_Window_Update_Line_Offsets(fidx + 1, 1, end - start + 1) - - " Now that we have updated the taglist window, update the tags - " menu (if present) - if g:Tlist_Show_Menu - call s:Tlist_Menu_Update_File(1) - endif -endfunction - -" Tlist_Init_File -" Initialize the variables for a new file -function! s:Tlist_Init_File(filename, ftype) - call s:Tlist_Log_Msg('Tlist_Init_File (' . a:filename . ')') - " Add new files at the end of the list - let fidx = s:tlist_file_count - let s:tlist_file_count = s:tlist_file_count + 1 - " Add the new file name to the taglist list of file names - let s:tlist_file_names = s:tlist_file_names . a:filename . "\n" - - " Initialize the file variables - let s:tlist_{fidx}_filename = a:filename - let s:tlist_{fidx}_sort_type = g:Tlist_Sort_Type - let s:tlist_{fidx}_filetype = a:ftype - let s:tlist_{fidx}_mtime = -1 - let s:tlist_{fidx}_start = 0 - let s:tlist_{fidx}_end = 0 - let s:tlist_{fidx}_valid = 0 - let s:tlist_{fidx}_visible = 0 - let s:tlist_{fidx}_tag_count = 0 - let s:tlist_{fidx}_menu_cmd = '' - - " Initialize the tag type variables - let i = 1 - while i <= s:tlist_{a:ftype}_count - let ttype = s:tlist_{a:ftype}_{i}_name - let s:tlist_{fidx}_{ttype} = '' - let s:tlist_{fidx}_{ttype}_offset = 0 - let s:tlist_{fidx}_{ttype}_count = 0 - let i = i + 1 - endwhile - - return fidx -endfunction - -" Tlist_Get_Tag_Type_By_Tag -" Return the tag type for the specified tag index -function! s:Tlist_Get_Tag_Type_By_Tag(fidx, tidx) - let ttype_var = 's:tlist_' . a:fidx . '_' . a:tidx . '_tag_type' - - " Already parsed and have the tag name - if exists(ttype_var) - return {ttype_var} - endif - - let tag_line = s:tlist_{a:fidx}_{a:tidx}_tag - let {ttype_var} = s:Tlist_Extract_Tagtype(tag_line) - - return {ttype_var} -endfunction - -" Tlist_Get_Tag_Prototype -function! s:Tlist_Get_Tag_Prototype(fidx, tidx) - let tproto_var = 's:tlist_' . a:fidx . '_' . a:tidx . '_tag_proto' - - " Already parsed and have the tag prototype - if exists(tproto_var) - return {tproto_var} - endif - - " Parse and extract the tag prototype - let tag_line = s:tlist_{a:fidx}_{a:tidx}_tag - let start = stridx(tag_line, '/^') + 2 - let end = stridx(tag_line, '/;"' . "\t") - if tag_line[end - 1] == '$' - let end = end -1 - endif - let tag_proto = strpart(tag_line, start, end - start) - let {tproto_var} = substitute(tag_proto, '\s*', '', '') - - return {tproto_var} -endfunction - -" Tlist_Get_Tag_SearchPat -function! s:Tlist_Get_Tag_SearchPat(fidx, tidx) - let tpat_var = 's:tlist_' . a:fidx . '_' . a:tidx . '_tag_searchpat' - - " Already parsed and have the tag search pattern - if exists(tpat_var) - return {tpat_var} - endif - - " Parse and extract the tag search pattern - let tag_line = s:tlist_{a:fidx}_{a:tidx}_tag - let start = stridx(tag_line, '/^') + 2 - let end = stridx(tag_line, '/;"' . "\t") - if tag_line[end - 1] == '$' - let end = end -1 - endif - let {tpat_var} = '\V\^' . strpart(tag_line, start, end - start) . - \ (tag_line[end] == '$' ? '\$' : '') - - return {tpat_var} -endfunction - -" Tlist_Get_Tag_Linenum -" Return the tag line number, given the tag index -function! s:Tlist_Get_Tag_Linenum(fidx, tidx) - let tline_var = 's:tlist_' . a:fidx . '_' . a:tidx . '_tag_linenum' - - " Already parsed and have the tag line number - if exists(tline_var) - return {tline_var} - endif - - " Parse and extract the tag line number - let tag_line = s:tlist_{a:fidx}_{a:tidx}_tag - let start = strridx(tag_line, 'line:') + 5 - let end = strridx(tag_line, "\t") - if end < start - let {tline_var} = strpart(tag_line, start) + 0 - else - let {tline_var} = strpart(tag_line, start, end - start) + 0 - endif - - return {tline_var} -endfunction - -" Tlist_Parse_Tagline -" Parse a tag line from the ctags output. Separate the tag output based on the -" tag type and store it in the tag type variable. -" The format of each line in the ctags output is: -" -" tag_name<TAB>file_name<TAB>ex_cmd;"<TAB>extension_fields -" -function! s:Tlist_Parse_Tagline(tag_line) - if a:tag_line == '' - " Skip empty lines - return - endif - - " Extract the tag type - let ttype = s:Tlist_Extract_Tagtype(a:tag_line) - - " Make sure the tag type is a valid and supported one - if ttype == '' || stridx(s:ctags_flags, ttype) == -1 - " Line is not in proper tags format or Tag type is not supported - return - endif - - " Update the total tag count - let s:tidx = s:tidx + 1 - - " The following variables are used to optimize this code. Vim is slow in - " using curly brace names. To reduce the amount of processing needed, the - " curly brace variables are pre-processed here - let fidx_tidx = 's:tlist_' . s:fidx . '_' . s:tidx - let fidx_ttype = 's:tlist_' . s:fidx . '_' . ttype - - " Update the count of this tag type - let ttype_idx = {fidx_ttype}_count + 1 - let {fidx_ttype}_count = ttype_idx - - " Store the ctags output for this tag - let {fidx_tidx}_tag = a:tag_line - - " Store the tag index and the tag type index (back pointers) - let {fidx_ttype}_{ttype_idx} = s:tidx - let {fidx_tidx}_ttype_idx = ttype_idx - - " Extract the tag name - let tag_name = strpart(a:tag_line, 0, stridx(a:tag_line, "\t")) - - " Extract the tag scope/prototype - if g:Tlist_Display_Prototype - let ttxt = ' ' . s:Tlist_Get_Tag_Prototype(s:fidx, s:tidx) - else - let ttxt = ' ' . tag_name - - " Add the tag scope, if it is available and is configured. Tag - " scope is the last field after the 'line:<num>\t' field - if g:Tlist_Display_Tag_Scope - let tag_scope = s:Tlist_Extract_Tag_Scope(a:tag_line) - if tag_scope != '' - let ttxt = ttxt . ' [' . tag_scope . ']' - endif - endif - endif - - " Add this tag to the tag type variable - let {fidx_ttype} = {fidx_ttype} . ttxt . "\n" - - " Save the tag name - let {fidx_tidx}_tag_name = tag_name -endfunction - -" Tlist_Process_File -" Get the list of tags defined in the specified file and store them -" in Vim variables. Returns the file index where the tags are stored. -function! s:Tlist_Process_File(filename, ftype) - call s:Tlist_Log_Msg('Tlist_Process_File (' . a:filename . ', ' . - \ a:ftype . ')') - " Check whether this file is supported - if s:Tlist_Skip_File(a:filename, a:ftype) - return -1 - endif - - " If the tag types for this filetype are not yet created, then create - " them now - let var = 's:tlist_' . a:ftype . '_count' - if !exists(var) - if s:Tlist_FileType_Init(a:ftype) == 0 - return -1 - endif - endif - - " If this file is already processed, then use the cached values - let fidx = s:Tlist_Get_File_Index(a:filename) - if fidx == -1 - " First time, this file is loaded - let fidx = s:Tlist_Init_File(a:filename, a:ftype) - else - " File was previously processed. Discard the tag information - call s:Tlist_Discard_TagInfo(fidx) - endif - - let s:tlist_{fidx}_valid = 1 - - " Exuberant ctags arguments to generate a tag list - let ctags_args = ' -f - --format=2 --excmd=pattern --fields=nks ' - - " Form the ctags argument depending on the sort type - if s:tlist_{fidx}_sort_type == 'name' - let ctags_args = ctags_args . '--sort=yes' - else - let ctags_args = ctags_args . '--sort=no' - endif - - " Add the filetype specific arguments - let ctags_args = ctags_args . ' ' . s:tlist_{a:ftype}_ctags_args - - " Ctags command to produce output with regexp for locating the tags - let ctags_cmd = g:Tlist_Ctags_Cmd . ctags_args - let ctags_cmd = ctags_cmd . ' "' . a:filename . '"' - - if &shellxquote == '"' - " Double-quotes within double-quotes will not work in the - " command-line.If the 'shellxquote' option is set to double-quotes, - " then escape the double-quotes in the ctags command-line. - let ctags_cmd = escape(ctags_cmd, '"') - endif - - " In Windows 95, if not using cygwin, disable the 'shellslash' - " option. Otherwise, this will cause problems when running the - " ctags command. - if has('win95') && !has('win32unix') - let old_shellslash = &shellslash - set noshellslash - endif - - if has('win32') && !has('win32unix') && !has('win95') - \ && (&shell =~ 'cmd.exe') - " Windows does not correctly deal with commands that have more than 1 - " set of double quotes. It will strip them all resulting in: - " 'C:\Program' is not recognized as an internal or external command - " operable program or batch file. To work around this, place the - " command inside a batch file and call the batch file. - " Do this only on Win2K, WinXP and above. - " Contributed by: David Fishburn. - let s:taglist_tempfile = fnamemodify(tempname(), ':h') . - \ '\taglist.cmd' - exe 'redir! > ' . s:taglist_tempfile - silent echo ctags_cmd - redir END - - call s:Tlist_Log_Msg('Cmd inside batch file: ' . ctags_cmd) - let ctags_cmd = '"' . s:taglist_tempfile . '"' - endif - - call s:Tlist_Log_Msg('Cmd: ' . ctags_cmd) - - " Run ctags and get the tag list - let cmd_output = system(ctags_cmd) - - " Restore the value of the 'shellslash' option. - if has('win95') && !has('win32unix') - let &shellslash = old_shellslash - endif - - if exists('s:taglist_tempfile') - " Delete the temporary cmd file created on MS-Windows - call delete(s:taglist_tempfile) - endif - - " Handle errors - if v:shell_error - let msg = "Taglist: Failed to generate tags for " . a:filename - call s:Tlist_Warning_Msg(msg) - if cmd_output != '' - call s:Tlist_Warning_Msg(cmd_output) - endif - return fidx - endif - - " Store the modification time for the file - let s:tlist_{fidx}_mtime = getftime(a:filename) - - " No tags for current file - if cmd_output == '' - call s:Tlist_Log_Msg('No tags defined in ' . a:filename) - return fidx - endif - - call s:Tlist_Log_Msg('Generated tags information for ' . a:filename) - - if v:version > 601 - " The following script local variables are used by the - " Tlist_Parse_Tagline() function. - let s:ctags_flags = s:tlist_{a:ftype}_ctags_flags - let s:fidx = fidx - let s:tidx = 0 - - " Process the ctags output one line at a time. The substitute() - " command is used to parse the tag lines instead of using the - " matchstr()/stridx()/strpart() functions for performance reason - call substitute(cmd_output, "\\([^\n]\\+\\)\n", - \ '\=s:Tlist_Parse_Tagline(submatch(1))', 'g') - - " Save the number of tags for this file - let s:tlist_{fidx}_tag_count = s:tidx - - " The following script local variables are no longer needed - unlet! s:ctags_flags - unlet! s:tidx - unlet! s:fidx - else - " Due to a bug in Vim earlier than version 6.1, - " we cannot use substitute() to parse the ctags output. - " Instead the slow str*() functions are used - let ctags_flags = s:tlist_{a:ftype}_ctags_flags - let tidx = 0 - - while cmd_output != '' - " Extract one line at a time - let idx = stridx(cmd_output, "\n") - let one_line = strpart(cmd_output, 0, idx) - " Remove the line from the tags output - let cmd_output = strpart(cmd_output, idx + 1) - - if one_line == '' - " Line is not in proper tags format - continue - endif - - " Extract the tag type - let ttype = s:Tlist_Extract_Tagtype(one_line) - - " Make sure the tag type is a valid and supported one - if ttype == '' || stridx(ctags_flags, ttype) == -1 - " Line is not in proper tags format or Tag type is not - " supported - continue - endif - - " Update the total tag count - let tidx = tidx + 1 - - " The following variables are used to optimize this code. Vim is - " slow in using curly brace names. To reduce the amount of - " processing needed, the curly brace variables are pre-processed - " here - let fidx_tidx = 's:tlist_' . fidx . '_' . tidx - let fidx_ttype = 's:tlist_' . fidx . '_' . ttype - - " Update the count of this tag type - let ttype_idx = {fidx_ttype}_count + 1 - let {fidx_ttype}_count = ttype_idx - - " Store the ctags output for this tag - let {fidx_tidx}_tag = one_line - - " Store the tag index and the tag type index (back pointers) - let {fidx_ttype}_{ttype_idx} = tidx - let {fidx_tidx}_ttype_idx = ttype_idx - - " Extract the tag name - let tag_name = strpart(one_line, 0, stridx(one_line, "\t")) - - " Extract the tag scope/prototype - if g:Tlist_Display_Prototype - let ttxt = ' ' . s:Tlist_Get_Tag_Prototype(fidx, tidx) - else - let ttxt = ' ' . tag_name - - " Add the tag scope, if it is available and is configured. Tag - " scope is the last field after the 'line:<num>\t' field - if g:Tlist_Display_Tag_Scope - let tag_scope = s:Tlist_Extract_Tag_Scope(one_line) - if tag_scope != '' - let ttxt = ttxt . ' [' . tag_scope . ']' - endif - endif - endif - - " Add this tag to the tag type variable - let {fidx_ttype} = {fidx_ttype} . ttxt . "\n" - - " Save the tag name - let {fidx_tidx}_tag_name = tag_name - endwhile - - " Save the number of tags for this file - let s:tlist_{fidx}_tag_count = tidx - endif - - call s:Tlist_Log_Msg('Processed ' . s:tlist_{fidx}_tag_count . - \ ' tags in ' . a:filename) - - return fidx -endfunction - -" Tlist_Update_File -" Update the tags for a file (if needed) -function! Tlist_Update_File(filename, ftype) - call s:Tlist_Log_Msg('Tlist_Update_File (' . a:filename . ')') - " If the file doesn't support tag listing, skip it - if s:Tlist_Skip_File(a:filename, a:ftype) - return - endif - - " Convert the file name to a full path - let fname = fnamemodify(a:filename, ':p') - - " First check whether the file already exists - let fidx = s:Tlist_Get_File_Index(fname) - - if fidx != -1 && s:tlist_{fidx}_valid - " File exists and the tags are valid - " Check whether the file was modified after the last tags update - " If it is modified, then update the tags - if s:tlist_{fidx}_mtime == getftime(fname) - return - endif - else - " If the tags were removed previously based on a user request, - " as we are going to update the tags (based on the user request), - " remove the filename from the deleted list - call s:Tlist_Update_Remove_List(fname, 0) - endif - - " If the taglist window is opened, update it - let winnum = bufwinnr(g:TagList_title) - if winnum == -1 - " Taglist window is not present. Just update the taglist - " and return - call s:Tlist_Process_File(fname, a:ftype) - else - if g:Tlist_Show_One_File && s:tlist_cur_file_idx != -1 - " If tags for only one file are displayed and we are not - " updating the tags for that file, then no need to - " refresh the taglist window. Otherwise, the taglist - " window should be updated. - if s:tlist_{s:tlist_cur_file_idx}_filename != fname - call s:Tlist_Process_File(fname, a:ftype) - return - endif - endif - - " Save the current window number - let save_winnr = winnr() - - " Goto the taglist window - call s:Tlist_Window_Goto_Window() - - " Save the cursor position - let save_line = line('.') - let save_col = col('.') - - " Update the taglist window - call s:Tlist_Window_Refresh_File(fname, a:ftype) - - " Restore the cursor position - if v:version >= 601 - call cursor(save_line, save_col) - else - exe save_line - exe 'normal! ' . save_col . '|' - endif - - if winnr() != save_winnr - " Go back to the original window - call s:Tlist_Exe_Cmd_No_Acmds(save_winnr . 'wincmd w') - endif - endif - - " Update the taglist menu - if g:Tlist_Show_Menu - call s:Tlist_Menu_Update_File(1) - endif -endfunction - -" Tlist_Window_Close -" Close the taglist window -function! s:Tlist_Window_Close() - call s:Tlist_Log_Msg('Tlist_Window_Close()') - " Make sure the taglist window exists - let winnum = bufwinnr(g:TagList_title) - if winnum == -1 - call s:Tlist_Warning_Msg('Error: Taglist window is not open') - return - endif - - if winnr() == winnum - " Already in the taglist window. Close it and return - if winbufnr(2) != -1 - " If a window other than the taglist window is open, - " then only close the taglist window. - close - endif - else - " Goto the taglist window, close it and then come back to the - " original window - let curbufnr = bufnr('%') - exe winnum . 'wincmd w' - close - " Need to jump back to the original window only if we are not - " already in that window - let winnum = bufwinnr(curbufnr) - if winnr() != winnum - exe winnum . 'wincmd w' - endif - endif -endfunction - -" Tlist_Window_Mark_File_Window -" Mark the current window as the file window to use when jumping to a tag. -" Only if the current window is a non-plugin, non-preview and non-taglist -" window -function! s:Tlist_Window_Mark_File_Window() - if getbufvar('%', '&buftype') == '' && !&previewwindow - let w:tlist_file_window = "yes" - endif -endfunction - -" Tlist_Window_Open -" Open and refresh the taglist window -function! s:Tlist_Window_Open() - call s:Tlist_Log_Msg('Tlist_Window_Open()') - " If the window is open, jump to it - let winnum = bufwinnr(g:TagList_title) - if winnum != -1 - " Jump to the existing window - if winnr() != winnum - exe winnum . 'wincmd w' - endif - return - endif - - if s:tlist_app_name == "winmanager" - " Taglist plugin is no longer part of the winmanager app - let s:tlist_app_name = "none" - endif - - " Get the filename and filetype for the specified buffer - let curbuf_name = fnamemodify(bufname('%'), ':p') - let curbuf_ftype = s:Tlist_Get_Buffer_Filetype('%') - let cur_lnum = line('.') - - " Mark the current window as the desired window to open a file when a tag - " is selected. - call s:Tlist_Window_Mark_File_Window() - - " Open the taglist window - call s:Tlist_Window_Create() - - call s:Tlist_Window_Refresh() - - if g:Tlist_Show_One_File - " Add only the current buffer and file - " - " If the file doesn't support tag listing, skip it - if !s:Tlist_Skip_File(curbuf_name, curbuf_ftype) - call s:Tlist_Window_Refresh_File(curbuf_name, curbuf_ftype) - endif - endif - - if g:Tlist_File_Fold_Auto_Close - " Open the fold for the current file, as all the folds in - " the taglist window are closed - let fidx = s:Tlist_Get_File_Index(curbuf_name) - if fidx != -1 - exe "silent! " . s:tlist_{fidx}_start . "," . - \ s:tlist_{fidx}_end . "foldopen!" - endif - endif - - " Highlight the current tag - call s:Tlist_Window_Highlight_Tag(curbuf_name, cur_lnum, 1, 1) -endfunction - -" Tlist_Window_Toggle() -" Open or close a taglist window -function! s:Tlist_Window_Toggle() - call s:Tlist_Log_Msg('Tlist_Window_Toggle()') - " If taglist window is open then close it. - let winnum = bufwinnr(g:TagList_title) - if winnum != -1 - call s:Tlist_Window_Close() - return - endif - - call s:Tlist_Window_Open() - - " Go back to the original window, if Tlist_GainFocus_On_ToggleOpen is not - " set - if !g:Tlist_GainFocus_On_ToggleOpen - call s:Tlist_Exe_Cmd_No_Acmds('wincmd p') - endif - - " Update the taglist menu - if g:Tlist_Show_Menu - call s:Tlist_Menu_Update_File(0) - endif -endfunction - -" Tlist_Process_Filelist -" Process multiple files. Each filename is separated by "\n" -" Returns the number of processed files -function! s:Tlist_Process_Filelist(file_names) - let flist = a:file_names - - " Enable lazy screen updates - let old_lazyredraw = &lazyredraw - set lazyredraw - - " Keep track of the number of processed files - let fcnt = 0 - - " Process one file at a time - while flist != '' - let nl_idx = stridx(flist, "\n") - let one_file = strpart(flist, 0, nl_idx) - - " Remove the filename from the list - let flist = strpart(flist, nl_idx + 1) - - if one_file == '' - continue - endif - - " Skip directories - if isdirectory(one_file) - continue - endif - - let ftype = s:Tlist_Detect_Filetype(one_file) - - echon "\r " - echon "\rProcessing tags for " . fnamemodify(one_file, ':p:t') - - let fcnt = fcnt + 1 - - call Tlist_Update_File(one_file, ftype) - endwhile - - " Clear the displayed informational messages - echon "\r " - - " Restore the previous state - let &lazyredraw = old_lazyredraw - - return fcnt -endfunction - -" Tlist_Process_Dir -" Process the files in a directory matching the specified pattern -function! s:Tlist_Process_Dir(dir_name, pat) - let flist = glob(a:dir_name . '/' . a:pat) . "\n" - - let fcnt = s:Tlist_Process_Filelist(flist) - - let len = strlen(a:dir_name) - if a:dir_name[len - 1] == '\' || a:dir_name[len - 1] == '/' - let glob_expr = a:dir_name . '*' - else - let glob_expr = a:dir_name . '/*' - endif - let all_files = glob(glob_expr) . "\n" - - while all_files != '' - let nl_idx = stridx(all_files, "\n") - let one_file = strpart(all_files, 0, nl_idx) - - let all_files = strpart(all_files, nl_idx + 1) - if one_file == '' - continue - endif - - " Skip non-directory names - if !isdirectory(one_file) - continue - endif - - echon "\r " - echon "\rProcessing files in directory " . fnamemodify(one_file, ':t') - let fcnt = fcnt + s:Tlist_Process_Dir(one_file, a:pat) - endwhile - - return fcnt -endfunction - -" Tlist_Add_Files_Recursive -" Add files recursively from a directory -function! s:Tlist_Add_Files_Recursive(dir, ...) - let dir_name = fnamemodify(a:dir, ':p') - if !isdirectory(dir_name) - call s:Tlist_Warning_Msg('Error: ' . dir_name . ' is not a directory') - return - endif - - if a:0 == 1 - " User specified file pattern - let pat = a:1 - else - " Default file pattern - let pat = '*' - endif - - echon "\r " - echon "\rProcessing files in directory " . fnamemodify(dir_name, ':t') - let fcnt = s:Tlist_Process_Dir(dir_name, pat) - - echon "\rAdded " . fcnt . " files to the taglist" -endfunction - -" Tlist_Add_Files -" Add the specified list of files to the taglist -function! s:Tlist_Add_Files(...) - let flist = '' - let i = 1 - - " Get all the files matching the file patterns supplied as argument - while i <= a:0 - let flist = flist . glob(a:{i}) . "\n" - let i = i + 1 - endwhile - - if flist == '' - call s:Tlist_Warning_Msg('Error: No matching files are found') - return - endif - - let fcnt = s:Tlist_Process_Filelist(flist) - echon "\rAdded " . fcnt . " files to the taglist" -endfunction - -" Tlist_Extract_Tagtype -" Extract the tag type from the tag text -function! s:Tlist_Extract_Tagtype(tag_line) - " The tag type is after the tag prototype field. The prototype field - " ends with the /;"\t string. We add 4 at the end to skip the characters - " in this special string.. - let start = strridx(a:tag_line, '/;"' . "\t") + 4 - let end = strridx(a:tag_line, 'line:') - 1 - let ttype = strpart(a:tag_line, start, end - start) - - return ttype -endfunction - -" Tlist_Extract_Tag_Scope -" Extract the tag scope from the tag text -function! s:Tlist_Extract_Tag_Scope(tag_line) - let start = strridx(a:tag_line, 'line:') - let end = strridx(a:tag_line, "\t") - if end <= start - return '' - endif - - let tag_scope = strpart(a:tag_line, end + 1) - let tag_scope = strpart(tag_scope, stridx(tag_scope, ':') + 1) - - return tag_scope -endfunction - -" Tlist_Refresh() -" Refresh the taglist -function! s:Tlist_Refresh() - call s:Tlist_Log_Msg('Tlist_Refresh (Skip_Refresh = ' . - \ s:Tlist_Skip_Refresh . ', ' . bufname('%') . ')') - " If we are entering the buffer from one of the taglist functions, then - " no need to refresh the taglist window again. - if s:Tlist_Skip_Refresh - " We still need to update the taglist menu - if g:Tlist_Show_Menu - call s:Tlist_Menu_Update_File(0) - endif - return - endif - - " If part of the winmanager plugin and not configured to process - " tags always and not configured to display the tags menu, then return - if (s:tlist_app_name == 'winmanager') && !g:Tlist_Process_File_Always - \ && !g:Tlist_Show_Menu - return - endif - - " Skip buffers with 'buftype' set to nofile, nowrite, quickfix or help - if &buftype != '' - return - endif - - let filename = fnamemodify(bufname('%'), ':p') - let ftype = s:Tlist_Get_Buffer_Filetype('%') - - " If the file doesn't support tag listing, skip it - if s:Tlist_Skip_File(filename, ftype) - return - endif - - let tlist_win = bufwinnr(g:TagList_title) - - " If the taglist window is not opened and not configured to process - " tags always and not displaying the tags menu, then return - if tlist_win == -1 && !g:Tlist_Process_File_Always && !g:Tlist_Show_Menu - return - endif - - let fidx = s:Tlist_Get_File_Index(filename) - if fidx == -1 - " Check whether this file is removed based on user request - " If it is, then don't display the tags for this file - if s:Tlist_User_Removed_File(filename) - return - endif - - " If the taglist should not be auto updated, then return - if !g:Tlist_Auto_Update - return - endif - endif - - let cur_lnum = line('.') - - if fidx == -1 - " Update the tags for the file - let fidx = s:Tlist_Process_File(filename, ftype) - else - let mtime = getftime(filename) - if s:tlist_{fidx}_mtime != mtime - " Invalidate the tags listed for this file - let s:tlist_{fidx}_valid = 0 - - " Update the taglist and the window - call Tlist_Update_File(filename, ftype) - - " Store the new file modification time - let s:tlist_{fidx}_mtime = mtime - endif - endif - - " Update the taglist window - if tlist_win != -1 - " Disable screen updates - let old_lazyredraw = &lazyredraw - set nolazyredraw - - " Save the current window number - let save_winnr = winnr() - - " Goto the taglist window - call s:Tlist_Window_Goto_Window() - - if !g:Tlist_Auto_Highlight_Tag || !g:Tlist_Highlight_Tag_On_BufEnter - " Save the cursor position - let save_line = line('.') - let save_col = col('.') - endif - - " Update the taglist window - call s:Tlist_Window_Refresh_File(filename, ftype) - - " Open the fold for the file - exe "silent! " . s:tlist_{fidx}_start . "," . - \ s:tlist_{fidx}_end . "foldopen!" - - if g:Tlist_Highlight_Tag_On_BufEnter && g:Tlist_Auto_Highlight_Tag - if g:Tlist_Show_One_File && s:tlist_cur_file_idx != fidx - " If displaying tags for only one file in the taglist - " window and about to display the tags for a new file, - " then center the current tag line for the new file - let center_tag_line = 1 - else - let center_tag_line = 0 - endif - - " Highlight the current tag - call s:Tlist_Window_Highlight_Tag(filename, cur_lnum, 1, center_tag_line) - else - " Restore the cursor position - if v:version >= 601 - call cursor(save_line, save_col) - else - exe save_line - exe 'normal! ' . save_col . '|' - endif - endif - - " Jump back to the original window - if save_winnr != winnr() - call s:Tlist_Exe_Cmd_No_Acmds(save_winnr . 'wincmd w') - endif - - " Restore screen updates - let &lazyredraw = old_lazyredraw - endif - - " Update the taglist menu - if g:Tlist_Show_Menu - call s:Tlist_Menu_Update_File(0) - endif -endfunction - -" Tlist_Change_Sort() -" Change the sort order of the tag listing -" caller == 'cmd', command used in the taglist window -" caller == 'menu', taglist menu -" action == 'toggle', toggle sort from name to order and vice versa -" action == 'set', set the sort order to sort_type -function! s:Tlist_Change_Sort(caller, action, sort_type) - call s:Tlist_Log_Msg('Tlist_Change_Sort (caller = ' . a:caller . - \ ', action = ' . a:action . ', sort_type = ' . a:sort_type . ')') - if a:caller == 'cmd' - let fidx = s:Tlist_Window_Get_File_Index_By_Linenum(line('.')) - if fidx == -1 - return - endif - - " Remove the previous highlighting - match none - elseif a:caller == 'menu' - let fidx = s:Tlist_Get_File_Index(fnamemodify(bufname('%'), ':p')) - if fidx == -1 - return - endif - endif - - if a:action == 'toggle' - let sort_type = s:tlist_{fidx}_sort_type - - " Toggle the sort order from 'name' to 'order' and vice versa - if sort_type == 'name' - let s:tlist_{fidx}_sort_type = 'order' - else - let s:tlist_{fidx}_sort_type = 'name' - endif - else - let s:tlist_{fidx}_sort_type = a:sort_type - endif - - " Invalidate the tags listed for this file - let s:tlist_{fidx}_valid = 0 - - if a:caller == 'cmd' - " Save the current line for later restoration - let curline = '\V\^' . getline('.') . '\$' - - call s:Tlist_Window_Refresh_File(s:tlist_{fidx}_filename, - \ s:tlist_{fidx}_filetype) - - exe s:tlist_{fidx}_start . ',' . s:tlist_{fidx}_end . 'foldopen!' - - " Go back to the cursor line before the tag list is sorted - call search(curline, 'w') - - call s:Tlist_Menu_Update_File(1) - else - call s:Tlist_Menu_Remove_File() - - call s:Tlist_Refresh() - endif -endfunction - -" Tlist_Update_Current_File() -" Update taglist for the current buffer by regenerating the tag list -" Contributed by WEN Guopeng. -function! s:Tlist_Update_Current_File() - call s:Tlist_Log_Msg('Tlist_Update_Current_File()') - if winnr() == bufwinnr(g:TagList_title) - " In the taglist window. Update the current file - call s:Tlist_Window_Update_File() - else - " Not in the taglist window. Update the current buffer - let filename = fnamemodify(bufname('%'), ':p') - let fidx = s:Tlist_Get_File_Index(filename) - if fidx != -1 - let s:tlist_{fidx}_valid = 0 - endif - let ft = s:Tlist_Get_Buffer_Filetype('%') - call Tlist_Update_File(filename, ft) - endif -endfunction - -" Tlist_Window_Update_File() -" Update the tags displayed in the taglist window -function! s:Tlist_Window_Update_File() - call s:Tlist_Log_Msg('Tlist_Window_Update_File()') - let fidx = s:Tlist_Window_Get_File_Index_By_Linenum(line('.')) - if fidx == -1 - return - endif - - " Remove the previous highlighting - match none - - " Save the current line for later restoration - let curline = '\V\^' . getline('.') . '\$' - - let s:tlist_{fidx}_valid = 0 - - " Update the taglist window - call s:Tlist_Window_Refresh_File(s:tlist_{fidx}_filename, - \ s:tlist_{fidx}_filetype) - - exe s:tlist_{fidx}_start . ',' . s:tlist_{fidx}_end . 'foldopen!' - - " Go back to the tag line before the list is updated - call search(curline, 'w') -endfunction - -" Tlist_Window_Get_Tag_Type_By_Linenum() -" Return the tag type index for the specified line in the taglist window -function! s:Tlist_Window_Get_Tag_Type_By_Linenum(fidx, lnum) - let ftype = s:tlist_{a:fidx}_filetype - - " Determine to which tag type the current line number belongs to using the - " tag type start line number and the number of tags in a tag type - let i = 1 - while i <= s:tlist_{ftype}_count - let ttype = s:tlist_{ftype}_{i}_name - let start_lnum = - \ s:tlist_{a:fidx}_start + s:tlist_{a:fidx}_{ttype}_offset - let end = start_lnum + s:tlist_{a:fidx}_{ttype}_count - if a:lnum >= start_lnum && a:lnum <= end - break - endif - let i = i + 1 - endwhile - - " Current line doesn't belong to any of the displayed tag types - if i > s:tlist_{ftype}_count - return '' - endif - - return ttype -endfunction - -" Tlist_Window_Get_Tag_Index() -" Return the tag index for the specified line in the taglist window -function! s:Tlist_Window_Get_Tag_Index(fidx, lnum) - let ttype = s:Tlist_Window_Get_Tag_Type_By_Linenum(a:fidx, a:lnum) - - " Current line doesn't belong to any of the displayed tag types - if ttype == '' - return 0 - endif - - " Compute the index into the displayed tags for the tag type - let ttype_lnum = s:tlist_{a:fidx}_start + s:tlist_{a:fidx}_{ttype}_offset - let tidx = a:lnum - ttype_lnum - if tidx == 0 - return 0 - endif - - " Get the corresponding tag line and return it - return s:tlist_{a:fidx}_{ttype}_{tidx} -endfunction - -" Tlist_Window_Highlight_Line -" Highlight the current line -function! s:Tlist_Window_Highlight_Line() - " Clear previously selected name - match none - - " Highlight the current line - if g:Tlist_Display_Prototype == 0 - let pat = '/\%' . line('.') . 'l\s\+\zs.*/' - else - let pat = '/\%' . line('.') . 'l.*/' - endif - - exe 'match TagListTagName ' . pat -endfunction - -" Tlist_Window_Open_File -" Open the specified file in either a new window or an existing window -" and place the cursor at the specified tag pattern -function! s:Tlist_Window_Open_File(win_ctrl, filename, tagpat) - call s:Tlist_Log_Msg('Tlist_Window_Open_File (' . a:filename . ',' . - \ a:win_ctrl . ')') - let prev_Tlist_Skip_Refresh = s:Tlist_Skip_Refresh - let s:Tlist_Skip_Refresh = 1 - - if s:tlist_app_name == "winmanager" - " Let the winmanager edit the file - call WinManagerFileEdit(a:filename, a:win_ctrl == 'newwin') - else - - if a:win_ctrl == 'newtab' - " Create a new tab - exe 'tabnew ' . escape(a:filename, ' ') - " Open the taglist window in the new tab - call s:Tlist_Window_Open() - endif - - if a:win_ctrl == 'checktab' - " Check whether the file is present in any of the tabs. - " If the file is present in the current tab, then use the - " current tab. - if bufwinnr(a:filename) != -1 - let file_present_in_tab = 1 - let i = tabpagenr() - else - let i = 1 - let bnum = bufnr(a:filename) - let file_present_in_tab = 0 - while i <= tabpagenr('$') - if index(tabpagebuflist(i), bnum) != -1 - let file_present_in_tab = 1 - break - endif - let i += 1 - endwhile - endif - - if file_present_in_tab - " Goto the tab containing the file - exe 'tabnext ' . i - else - " Open a new tab - exe 'tabnew ' . escape(a:filename, ' ') - - " Open the taglist window - call s:Tlist_Window_Open() - endif - endif - - let winnum = -1 - if a:win_ctrl == 'prevwin' - " Open the file in the previous window, if it is usable - let cur_win = winnr() - wincmd p - if &buftype == '' && !&previewwindow - exe "edit " . escape(a:filename, ' ') - let winnum = winnr() - else - " Previous window is not usable - exe cur_win . 'wincmd w' - endif - endif - - " Goto the window containing the file. If the window is not there, open a - " new window - if winnum == -1 - let winnum = bufwinnr(a:filename) - endif - - if winnum == -1 - " Locate the previously used window for opening a file - let fwin_num = 0 - let first_usable_win = 0 - - let i = 1 - let bnum = winbufnr(i) - while bnum != -1 - if getwinvar(i, 'tlist_file_window') == 'yes' - let fwin_num = i - break - endif - if first_usable_win == 0 && - \ getbufvar(bnum, '&buftype') == '' && - \ !getwinvar(i, '&previewwindow') - " First non-taglist, non-plugin and non-preview window - let first_usable_win = i - endif - let i = i + 1 - let bnum = winbufnr(i) - endwhile - - " If a previously used window is not found, then use the first - " non-taglist window - if fwin_num == 0 - let fwin_num = first_usable_win - endif - - if fwin_num != 0 - " Jump to the file window - exe fwin_num . "wincmd w" - - " If the user asked to jump to the tag in a new window, then split - " the existing window into two. - if a:win_ctrl == 'newwin' - split - endif - exe "edit " . escape(a:filename, ' ') - else - " Open a new window - if g:Tlist_Use_Horiz_Window - exe 'leftabove split ' . escape(a:filename, ' ') - else - if winbufnr(2) == -1 - " Only the taglist window is present - if g:Tlist_Use_Right_Window - exe 'leftabove vertical split ' . - \ escape(a:filename, ' ') - else - exe 'rightbelow vertical split ' . - \ escape(a:filename, ' ') - endif - - " Go to the taglist window to change the window size to - " the user configured value - call s:Tlist_Exe_Cmd_No_Acmds('wincmd p') - if g:Tlist_Use_Horiz_Window - exe 'resize ' . g:Tlist_WinHeight - else - exe 'vertical resize ' . g:Tlist_WinWidth - endif - " Go back to the file window - call s:Tlist_Exe_Cmd_No_Acmds('wincmd p') - else - " A plugin or help window is also present - wincmd w - exe 'leftabove split ' . escape(a:filename, ' ') - endif - endif - endif - " Mark the window, so that it can be reused. - call s:Tlist_Window_Mark_File_Window() - else - if v:version >= 700 - " If the file is opened in more than one window, then check - " whether the last accessed window has the selected file. - " If it does, then use that window. - let lastwin_bufnum = winbufnr(winnr('#')) - if bufnr(a:filename) == lastwin_bufnum - let winnum = winnr('#') - endif - endif - exe winnum . 'wincmd w' - - " If the user asked to jump to the tag in a new window, then split the - " existing window into two. - if a:win_ctrl == 'newwin' - split - endif - endif - endif - - " Jump to the tag - if a:tagpat != '' - " Add the current cursor position to the jump list, so that user can - " jump back using the ' and ` marks. - mark ' - silent call search(a:tagpat, 'w') - - " Bring the line to the middle of the window - normal! z. - - " If the line is inside a fold, open the fold - if foldclosed('.') != -1 - .foldopen - endif - endif - - " If the user selects to preview the tag then jump back to the - " taglist window - if a:win_ctrl == 'preview' - " Go back to the taglist window - let winnum = bufwinnr(g:TagList_title) - exe winnum . 'wincmd w' - else - " If the user has selected to close the taglist window, when a - " tag is selected, close the taglist window - if g:Tlist_Close_On_Select - call s:Tlist_Window_Goto_Window() - close - - " Go back to the window displaying the selected file - let wnum = bufwinnr(a:filename) - if wnum != -1 && wnum != winnr() - call s:Tlist_Exe_Cmd_No_Acmds(wnum . 'wincmd w') - endif - endif - endif - - let s:Tlist_Skip_Refresh = prev_Tlist_Skip_Refresh -endfunction - -" Tlist_Window_Jump_To_Tag() -" Jump to the location of the current tag -" win_ctrl == useopen - Reuse the existing file window -" win_ctrl == newwin - Open a new window -" win_ctrl == preview - Preview the tag -" win_ctrl == prevwin - Open in previous window -" win_ctrl == newtab - Open in new tab -function! s:Tlist_Window_Jump_To_Tag(win_ctrl) - call s:Tlist_Log_Msg('Tlist_Window_Jump_To_Tag(' . a:win_ctrl . ')') - " Do not process comment lines and empty lines - let curline = getline('.') - if curline =~ '^\s*$' || curline[0] == '"' - return - endif - - " If inside a closed fold, then use the first line of the fold - " and jump to the file. - let lnum = foldclosed('.') - if lnum == -1 - " Jump to the selected tag or file - let lnum = line('.') - else - " Open the closed fold - .foldopen! - endif - - let fidx = s:Tlist_Window_Get_File_Index_By_Linenum(lnum) - if fidx == -1 - return - endif - - " Get the tag output for the current tag - let tidx = s:Tlist_Window_Get_Tag_Index(fidx, lnum) - if tidx != 0 - let tagpat = s:Tlist_Get_Tag_SearchPat(fidx, tidx) - - " Highlight the tagline - call s:Tlist_Window_Highlight_Line() - else - " Selected a line which is not a tag name. Just edit the file - let tagpat = '' - endif - - call s:Tlist_Window_Open_File(a:win_ctrl, s:tlist_{fidx}_filename, tagpat) -endfunction - -" Tlist_Window_Show_Info() -" Display information about the entry under the cursor -function! s:Tlist_Window_Show_Info() - call s:Tlist_Log_Msg('Tlist_Window_Show_Info()') - - " Clear the previously displayed line - echo - - " Do not process comment lines and empty lines - let curline = getline('.') - if curline =~ '^\s*$' || curline[0] == '"' - return - endif - - " If inside a fold, then don't display the prototype - if foldclosed('.') != -1 - return - endif - - let lnum = line('.') - - " Get the file index - let fidx = s:Tlist_Window_Get_File_Index_By_Linenum(lnum) - if fidx == -1 - return - endif - - if lnum == s:tlist_{fidx}_start - " Cursor is on a file name - let fname = s:tlist_{fidx}_filename - if strlen(fname) > 50 - let fname = fnamemodify(fname, ':t') - endif - echo fname . ', Filetype=' . s:tlist_{fidx}_filetype . - \ ', Tag count=' . s:tlist_{fidx}_tag_count - return - endif - - " Get the tag output line for the current tag - let tidx = s:Tlist_Window_Get_Tag_Index(fidx, lnum) - if tidx == 0 - " Cursor is on a tag type - let ttype = s:Tlist_Window_Get_Tag_Type_By_Linenum(fidx, lnum) - if ttype == '' - return - endif - - let ttype_name = '' - - let ftype = s:tlist_{fidx}_filetype - let i = 1 - while i <= s:tlist_{ftype}_count - if ttype == s:tlist_{ftype}_{i}_name - let ttype_name = s:tlist_{ftype}_{i}_fullname - break - endif - let i = i + 1 - endwhile - - echo 'Tag type=' . ttype_name . - \ ', Tag count=' . s:tlist_{fidx}_{ttype}_count - return - endif - - " Get the tag search pattern and display it - echo s:Tlist_Get_Tag_Prototype(fidx, tidx) -endfunction - -" Tlist_Find_Nearest_Tag_Idx -" Find the tag idx nearest to the supplied line number -" Returns -1, if a tag couldn't be found for the specified line number -function! s:Tlist_Find_Nearest_Tag_Idx(fidx, linenum) - let sort_type = s:tlist_{a:fidx}_sort_type - - let left = 1 - let right = s:tlist_{a:fidx}_tag_count - - if sort_type == 'order' - " Tags sorted by order, use a binary search. - " The idea behind this function is taken from the ctags.vim script (by - " Alexey Marinichev) available at the Vim online website. - - " If the current line is the less than the first tag, then no need to - " search - let first_lnum = s:Tlist_Get_Tag_Linenum(a:fidx, 1) - - if a:linenum < first_lnum - return -1 - endif - - while left < right - let middle = (right + left + 1) / 2 - let middle_lnum = s:Tlist_Get_Tag_Linenum(a:fidx, middle) - - if middle_lnum == a:linenum - let left = middle - break - endif - - if middle_lnum > a:linenum - let right = middle - 1 - else - let left = middle - endif - endwhile - else - " Tags sorted by name, use a linear search. (contributed by Dave - " Eggum). - " Look for a tag with a line number less than or equal to the supplied - " line number. If multiple tags are found, then use the tag with the - " line number closest to the supplied line number. IOW, use the tag - " with the highest line number. - let closest_lnum = 0 - let final_left = 0 - while left <= right - let lnum = s:Tlist_Get_Tag_Linenum(a:fidx, left) - - if lnum < a:linenum && lnum > closest_lnum - let closest_lnum = lnum - let final_left = left - elseif lnum == a:linenum - let closest_lnum = lnum - let final_left = left - break - else - let left = left + 1 - endif - endwhile - if closest_lnum == 0 - return -1 - endif - if left >= right - let left = final_left - endif - endif - - return left -endfunction - -" Tlist_Window_Highlight_Tag() -" Highlight the current tag -" cntx == 1, Called by the taglist plugin itself -" cntx == 2, Forced by the user through the TlistHighlightTag command -" center = 1, move the tag line to the center of the taglist window -function! s:Tlist_Window_Highlight_Tag(filename, cur_lnum, cntx, center) - " Highlight the current tag only if the user configured the - " taglist plugin to do so or if the user explictly invoked the - " command to highlight the current tag. - if !g:Tlist_Auto_Highlight_Tag && a:cntx == 1 - return - endif - - if a:filename == '' - return - endif - - " Make sure the taglist window is present - let winnum = bufwinnr(g:TagList_title) - if winnum == -1 - call s:Tlist_Warning_Msg('Error: Taglist window is not open') - return - endif - - let fidx = s:Tlist_Get_File_Index(a:filename) - if fidx == -1 - return - endif - - " If the file is currently not displayed in the taglist window, then retrn - if !s:tlist_{fidx}_visible - return - endif - - " If there are no tags for this file, then no need to proceed further - if s:tlist_{fidx}_tag_count == 0 - return - endif - - " Ignore all autocommands - let old_ei = &eventignore - set eventignore=all - - " Save the original window number - let org_winnr = winnr() - - if org_winnr == winnum - let in_taglist_window = 1 - else - let in_taglist_window = 0 - endif - - " Go to the taglist window - if !in_taglist_window - exe winnum . 'wincmd w' - endif - - " Clear previously selected name - match none - - let tidx = s:Tlist_Find_Nearest_Tag_Idx(fidx, a:cur_lnum) - if tidx == -1 - " Make sure the current tag line is visible in the taglist window. - " Calling the winline() function makes the line visible. Don't know - " of a better way to achieve this. - let lnum = line('.') - - if lnum < s:tlist_{fidx}_start || lnum > s:tlist_{fidx}_end - " Move the cursor to the beginning of the file - exe s:tlist_{fidx}_start - endif - - if foldclosed('.') != -1 - .foldopen - endif - - call winline() - - if !in_taglist_window - exe org_winnr . 'wincmd w' - endif - - " Restore the autocommands - let &eventignore = old_ei - return - endif - - " Extract the tag type - let ttype = s:Tlist_Get_Tag_Type_By_Tag(fidx, tidx) - - " Compute the line number - " Start of file + Start of tag type + offset - let lnum = s:tlist_{fidx}_start + s:tlist_{fidx}_{ttype}_offset + - \ s:tlist_{fidx}_{tidx}_ttype_idx - - " Goto the line containing the tag - exe lnum - - " Open the fold - if foldclosed('.') != -1 - .foldopen - endif - - if a:center - " Move the tag line to the center of the taglist window - normal! z. - else - " Make sure the current tag line is visible in the taglist window. - " Calling the winline() function makes the line visible. Don't know - " of a better way to achieve this. - call winline() - endif - - " Highlight the tag name - call s:Tlist_Window_Highlight_Line() - - " Go back to the original window - if !in_taglist_window - exe org_winnr . 'wincmd w' - endif - - " Restore the autocommands - let &eventignore = old_ei - return -endfunction - -" Tlist_Get_Tag_Prototype_By_Line -" Get the prototype for the tag on or before the specified line number in the -" current buffer -function! Tlist_Get_Tag_Prototype_By_Line(...) - if a:0 == 0 - " Arguments are not supplied. Use the current buffer name - " and line number - let filename = bufname('%') - let linenr = line('.') - elseif a:0 == 2 - " Filename and line number are specified - let filename = a:1 - let linenr = a:2 - if linenr !~ '\d\+' - " Invalid line number - return "" - endif - else - " Sufficient arguments are not supplied - let msg = 'Usage: Tlist_Get_Tag_Prototype_By_Line <filename> ' . - \ '<line_number>' - call s:Tlist_Warning_Msg(msg) - return "" - endif - - " Expand the file to a fully qualified name - let filename = fnamemodify(filename, ':p') - if filename == '' - return "" - endif - - let fidx = s:Tlist_Get_File_Index(filename) - if fidx == -1 - return "" - endif - - " If there are no tags for this file, then no need to proceed further - if s:tlist_{fidx}_tag_count == 0 - return "" - endif - - " Get the tag text using the line number - let tidx = s:Tlist_Find_Nearest_Tag_Idx(fidx, linenr) - if tidx == -1 - return "" - endif - - return s:Tlist_Get_Tag_Prototype(fidx, tidx) -endfunction - -" Tlist_Get_Tagname_By_Line -" Get the tag name on or before the specified line number in the -" current buffer -function! Tlist_Get_Tagname_By_Line(...) - if a:0 == 0 - " Arguments are not supplied. Use the current buffer name - " and line number - let filename = bufname('%') - let linenr = line('.') - elseif a:0 == 2 - " Filename and line number are specified - let filename = a:1 - let linenr = a:2 - if linenr !~ '\d\+' - " Invalid line number - return "" - endif - else - " Sufficient arguments are not supplied - let msg = 'Usage: Tlist_Get_Tagname_By_Line <filename> <line_number>' - call s:Tlist_Warning_Msg(msg) - return "" - endif - - " Make sure the current file has a name - let filename = fnamemodify(filename, ':p') - if filename == '' - return "" - endif - - let fidx = s:Tlist_Get_File_Index(filename) - if fidx == -1 - return "" - endif - - " If there are no tags for this file, then no need to proceed further - if s:tlist_{fidx}_tag_count == 0 - return "" - endif - - " Get the tag name using the line number - let tidx = s:Tlist_Find_Nearest_Tag_Idx(fidx, linenr) - if tidx == -1 - return "" - endif - - return s:tlist_{fidx}_{tidx}_tag_name -endfunction - -" Tlist_Window_Move_To_File -" Move the cursor to the beginning of the current file or the next file -" or the previous file in the taglist window -" dir == -1, move to start of current or previous function -" dir == 1, move to start of next function -function! s:Tlist_Window_Move_To_File(dir) - if foldlevel('.') == 0 - " Cursor is on a non-folded line (it is not in any of the files) - " Move it to a folded line - if a:dir == -1 - normal! zk - else - " While moving down to the start of the next fold, - " no need to do go to the start of the next file. - normal! zj - return - endif - endif - - let fidx = s:Tlist_Window_Get_File_Index_By_Linenum(line('.')) - if fidx == -1 - return - endif - - let cur_lnum = line('.') - - if a:dir == -1 - if cur_lnum > s:tlist_{fidx}_start - " Move to the beginning of the current file - exe s:tlist_{fidx}_start - return - endif - - if fidx != 0 - " Move to the beginning of the previous file - let fidx = fidx - 1 - else - " Cursor is at the first file, wrap around to the last file - let fidx = s:tlist_file_count - 1 - endif - - exe s:tlist_{fidx}_start - return - else - " Move to the beginning of the next file - let fidx = fidx + 1 - - if fidx >= s:tlist_file_count - " Cursor is at the last file, wrap around to the first file - let fidx = 0 - endif - - if s:tlist_{fidx}_start != 0 - exe s:tlist_{fidx}_start - endif - return - endif -endfunction - -" Tlist_Session_Load -" Load a taglist session (information about all the displayed files -" and the tags) from the specified file -function! s:Tlist_Session_Load(...) - if a:0 == 0 || a:1 == '' - call s:Tlist_Warning_Msg('Usage: TlistSessionLoad <filename>') - return - endif - - let sessionfile = a:1 - - if !filereadable(sessionfile) - let msg = 'Taglist: Error - Unable to open file ' . sessionfile - call s:Tlist_Warning_Msg(msg) - return - endif - - " Mark the current window as the file window - call s:Tlist_Window_Mark_File_Window() - - " Source the session file - exe 'source ' . sessionfile - - let new_file_count = g:tlist_file_count - unlet! g:tlist_file_count - - let i = 0 - while i < new_file_count - let ftype = g:tlist_{i}_filetype - unlet! g:tlist_{i}_filetype - - if !exists('s:tlist_' . ftype . '_count') - if s:Tlist_FileType_Init(ftype) == 0 - let i = i + 1 - continue - endif - endif - - let fname = g:tlist_{i}_filename - unlet! g:tlist_{i}_filename - - let fidx = s:Tlist_Get_File_Index(fname) - if fidx != -1 - let s:tlist_{fidx}_visible = 0 - let i = i + 1 - continue - else - " As we are loading the tags from the session file, if this - " file was previously deleted by the user, now we need to - " add it back. So remove the file from the deleted list. - call s:Tlist_Update_Remove_List(fname, 0) - endif - - let fidx = s:Tlist_Init_File(fname, ftype) - - let s:tlist_{fidx}_filename = fname - - let s:tlist_{fidx}_sort_type = g:tlist_{i}_sort_type - unlet! g:tlist_{i}_sort_type - - let s:tlist_{fidx}_filetype = ftype - let s:tlist_{fidx}_mtime = getftime(fname) - - let s:tlist_{fidx}_start = 0 - let s:tlist_{fidx}_end = 0 - - let s:tlist_{fidx}_valid = 1 - - let s:tlist_{fidx}_tag_count = g:tlist_{i}_tag_count - unlet! g:tlist_{i}_tag_count - - let j = 1 - while j <= s:tlist_{fidx}_tag_count - let s:tlist_{fidx}_{j}_tag = g:tlist_{i}_{j}_tag - let s:tlist_{fidx}_{j}_tag_name = g:tlist_{i}_{j}_tag_name - let s:tlist_{fidx}_{j}_ttype_idx = g:tlist_{i}_{j}_ttype_idx - unlet! g:tlist_{i}_{j}_tag - unlet! g:tlist_{i}_{j}_tag_name - unlet! g:tlist_{i}_{j}_ttype_idx - let j = j + 1 - endwhile - - let j = 1 - while j <= s:tlist_{ftype}_count - let ttype = s:tlist_{ftype}_{j}_name - - if exists('g:tlist_' . i . '_' . ttype) - let s:tlist_{fidx}_{ttype} = g:tlist_{i}_{ttype} - unlet! g:tlist_{i}_{ttype} - let s:tlist_{fidx}_{ttype}_offset = 0 - let s:tlist_{fidx}_{ttype}_count = g:tlist_{i}_{ttype}_count - unlet! g:tlist_{i}_{ttype}_count - - let k = 1 - while k <= s:tlist_{fidx}_{ttype}_count - let s:tlist_{fidx}_{ttype}_{k} = g:tlist_{i}_{ttype}_{k} - unlet! g:tlist_{i}_{ttype}_{k} - let k = k + 1 - endwhile - else - let s:tlist_{fidx}_{ttype} = '' - let s:tlist_{fidx}_{ttype}_offset = 0 - let s:tlist_{fidx}_{ttype}_count = 0 - endif - - let j = j + 1 - endwhile - - let i = i + 1 - endwhile - - " If the taglist window is open, then update it - let winnum = bufwinnr(g:TagList_title) - if winnum != -1 - let save_winnr = winnr() - - " Goto the taglist window - call s:Tlist_Window_Goto_Window() - - " Refresh the taglist window - call s:Tlist_Window_Refresh() - - " Go back to the original window - if save_winnr != winnr() - call s:Tlist_Exe_Cmd_No_Acmds('wincmd p') - endif - endif -endfunction - -" Tlist_Session_Save -" Save a taglist session (information about all the displayed files -" and the tags) into the specified file -function! s:Tlist_Session_Save(...) - if a:0 == 0 || a:1 == '' - call s:Tlist_Warning_Msg('Usage: TlistSessionSave <filename>') - return - endif - - let sessionfile = a:1 - - if s:tlist_file_count == 0 - " There is nothing to save - call s:Tlist_Warning_Msg('Warning: Taglist is empty. Nothing to save.') - return - endif - - if filereadable(sessionfile) - let ans = input('Do you want to overwrite ' . sessionfile . ' (Y/N)?') - if ans !=? 'y' - return - endif - - echo "\n" - endif - - let old_verbose = &verbose - set verbose&vim - - exe 'redir! > ' . sessionfile - - silent! echo '" Taglist session file. This file is auto-generated.' - silent! echo '" File information' - silent! echo 'let tlist_file_count = ' . s:tlist_file_count - - let i = 0 - - while i < s:tlist_file_count - " Store information about the file - silent! echo 'let tlist_' . i . "_filename = '" . - \ s:tlist_{i}_filename . "'" - silent! echo 'let tlist_' . i . '_sort_type = "' . - \ s:tlist_{i}_sort_type . '"' - silent! echo 'let tlist_' . i . '_filetype = "' . - \ s:tlist_{i}_filetype . '"' - silent! echo 'let tlist_' . i . '_tag_count = ' . - \ s:tlist_{i}_tag_count - " Store information about all the tags - let j = 1 - while j <= s:tlist_{i}_tag_count - let txt = escape(s:tlist_{i}_{j}_tag, '"\\') - silent! echo 'let tlist_' . i . '_' . j . '_tag = "' . txt . '"' - silent! echo 'let tlist_' . i . '_' . j . '_tag_name = "' . - \ s:tlist_{i}_{j}_tag_name . '"' - silent! echo 'let tlist_' . i . '_' . j . '_ttype_idx' . ' = ' . - \ s:tlist_{i}_{j}_ttype_idx - let j = j + 1 - endwhile - - " Store information about all the tags grouped by their type - let ftype = s:tlist_{i}_filetype - let j = 1 - while j <= s:tlist_{ftype}_count - let ttype = s:tlist_{ftype}_{j}_name - if s:tlist_{i}_{ttype}_count != 0 - let txt = escape(s:tlist_{i}_{ttype}, '"\') - let txt = substitute(txt, "\n", "\\\\n", 'g') - silent! echo 'let tlist_' . i . '_' . ttype . ' = "' . - \ txt . '"' - silent! echo 'let tlist_' . i . '_' . ttype . '_count = ' . - \ s:tlist_{i}_{ttype}_count - let k = 1 - while k <= s:tlist_{i}_{ttype}_count - silent! echo 'let tlist_' . i . '_' . ttype . '_' . k . - \ ' = ' . s:tlist_{i}_{ttype}_{k} - let k = k + 1 - endwhile - endif - let j = j + 1 - endwhile - - silent! echo - - let i = i + 1 - endwhile - - redir END - - let &verbose = old_verbose -endfunction - -" Tlist_Buffer_Removed -" A buffer is removed from the Vim buffer list. Remove the tags defined -" for that file -function! s:Tlist_Buffer_Removed(filename) - call s:Tlist_Log_Msg('Tlist_Buffer_Removed (' . a:filename . ')') - - " Make sure a valid filename is supplied - if a:filename == '' - return - endif - - " Get tag list index of the specified file - let fidx = s:Tlist_Get_File_Index(a:filename) - if fidx == -1 - " File not present in the taglist - return - endif - - " Remove the file from the list - call s:Tlist_Remove_File(fidx, 0) -endfunction - -" When a buffer is deleted, remove the file from the taglist -autocmd BufDelete * silent call s:Tlist_Buffer_Removed(expand('<afile>:p')) - -" Tlist_Window_Open_File_Fold -" Open the fold for the specified file and close the fold for all the -" other files -function! s:Tlist_Window_Open_File_Fold(acmd_bufnr) - call s:Tlist_Log_Msg('Tlist_Window_Open_File_Fold (' . a:acmd_bufnr . ')') - - " Make sure the taglist window is present - let winnum = bufwinnr(g:TagList_title) - if winnum == -1 - call s:Tlist_Warning_Msg('Taglist: Error - Taglist window is not open') - return - endif - - " Save the original window number - let org_winnr = winnr() - if org_winnr == winnum - let in_taglist_window = 1 - else - let in_taglist_window = 0 - endif - - if in_taglist_window - " When entering the taglist window, no need to update the folds - return - endif - - " Go to the taglist window - if !in_taglist_window - call s:Tlist_Exe_Cmd_No_Acmds(winnum . 'wincmd w') - endif - - " Close all the folds - silent! %foldclose - - " Get tag list index of the specified file - let fname = fnamemodify(bufname(a:acmd_bufnr + 0), ':p') - if filereadable(fname) - let fidx = s:Tlist_Get_File_Index(fname) - if fidx != -1 - " Open the fold for the file - exe "silent! " . s:tlist_{fidx}_start . "," . - \ s:tlist_{fidx}_end . "foldopen" - endif - endif - - " Go back to the original window - if !in_taglist_window - call s:Tlist_Exe_Cmd_No_Acmds(org_winnr . 'wincmd w') - endif -endfunction - -" Tlist_Window_Check_Auto_Open -" Open the taglist window automatically on Vim startup. -" Open the window only when files present in any of the Vim windows support -" tags. -function! s:Tlist_Window_Check_Auto_Open() - let open_window = 0 - - let i = 1 - let buf_num = winbufnr(i) - while buf_num != -1 - let filename = fnamemodify(bufname(buf_num), ':p') - let ft = s:Tlist_Get_Buffer_Filetype(buf_num) - if !s:Tlist_Skip_File(filename, ft) - let open_window = 1 - break - endif - let i = i + 1 - let buf_num = winbufnr(i) - endwhile - - if open_window - call s:Tlist_Window_Toggle() - endif -endfunction - -" Tlist_Refresh_Folds -" Remove and create the folds for all the files displayed in the taglist -" window. Used after entering a tab. If this is not done, then the folds -" are not properly created for taglist windows displayed in multiple tabs. -function! s:Tlist_Refresh_Folds() - let winnum = bufwinnr(g:TagList_title) - if winnum == -1 - return - endif - - let save_wnum = winnr() - exe winnum . 'wincmd w' - - " First remove all the existing folds - normal! zE - - " Create the folds for each in the tag list - let fidx = 0 - while fidx < s:tlist_file_count - let ftype = s:tlist_{fidx}_filetype - - " Create the folds for each tag type in a file - let j = 1 - while j <= s:tlist_{ftype}_count - let ttype = s:tlist_{ftype}_{j}_name - if s:tlist_{fidx}_{ttype}_count - let s = s:tlist_{fidx}_start + s:tlist_{fidx}_{ttype}_offset - let e = s + s:tlist_{fidx}_{ttype}_count - exe s . ',' . e . 'fold' - endif - let j = j + 1 - endwhile - - exe s:tlist_{fidx}_start . ',' . s:tlist_{fidx}_end . 'fold' - exe 'silent! ' . s:tlist_{fidx}_start . ',' . - \ s:tlist_{fidx}_end . 'foldopen!' - let fidx = fidx + 1 - endwhile - - exe save_wnum . 'wincmd w' -endfunction - -function! s:Tlist_Menu_Add_Base_Menu() - call s:Tlist_Log_Msg('Adding the base menu') - - " Add the menu - anoremenu <silent> T&ags.Refresh\ menu :call <SID>Tlist_Menu_Refresh()<CR> - anoremenu <silent> T&ags.Sort\ menu\ by.Name - \ :call <SID>Tlist_Change_Sort('menu', 'set', 'name')<CR> - anoremenu <silent> T&ags.Sort\ menu\ by.Order - \ :call <SID>Tlist_Change_Sort('menu', 'set', 'order')<CR> - anoremenu T&ags.-SEP1- : - - if &mousemodel =~ 'popup' - anoremenu <silent> PopUp.T&ags.Refresh\ menu - \ :call <SID>Tlist_Menu_Refresh()<CR> - anoremenu <silent> PopUp.T&ags.Sort\ menu\ by.Name - \ :call <SID>Tlist_Change_Sort('menu', 'set', 'name')<CR> - anoremenu <silent> PopUp.T&ags.Sort\ menu\ by.Order - \ :call <SID>Tlist_Change_Sort('menu', 'set', 'order')<CR> - anoremenu PopUp.T&ags.-SEP1- : - endif -endfunction - -let s:menu_char_prefix = - \ '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' - -" Tlist_Menu_Get_Tag_Type_Cmd -" Get the menu command for the specified tag type -" fidx - File type index -" ftype - File Type -" add_ttype_name - To add or not to add the tag type name to the menu entries -" ttype_idx - Tag type index -function! s:Tlist_Menu_Get_Tag_Type_Cmd(fidx, ftype, add_ttype_name, ttype_idx) - " Curly brace variable name optimization - let ftype_ttype_idx = a:ftype . '_' . a:ttype_idx - - let ttype = s:tlist_{ftype_ttype_idx}_name - if a:add_ttype_name - " If the tag type name contains space characters, escape it. This - " will be used to create the menu entries. - let ttype_fullname = escape(s:tlist_{ftype_ttype_idx}_fullname, ' ') - endif - - " Curly brace variable name optimization - let fidx_ttype = a:fidx . '_' . ttype - - " Number of tag entries for this tag type - let tcnt = s:tlist_{fidx_ttype}_count - if tcnt == 0 " No entries for this tag type - return '' - endif - - let mcmd = '' - - " Create the menu items for the tags. - " Depending on the number of tags of this type, split the menu into - " multiple sub-menus, if needed. - if tcnt > g:Tlist_Max_Submenu_Items - let j = 1 - while j <= tcnt - let final_index = j + g:Tlist_Max_Submenu_Items - 1 - if final_index > tcnt - let final_index = tcnt - endif - - " Extract the first and last tag name and form the - " sub-menu name - let tidx = s:tlist_{fidx_ttype}_{j} - let first_tag = s:tlist_{a:fidx}_{tidx}_tag_name - - let tidx = s:tlist_{fidx_ttype}_{final_index} - let last_tag = s:tlist_{a:fidx}_{tidx}_tag_name - - " Truncate the names, if they are greater than the - " max length - let first_tag = strpart(first_tag, 0, g:Tlist_Max_Tag_Length) - let last_tag = strpart(last_tag, 0, g:Tlist_Max_Tag_Length) - - " Form the menu command prefix - let m_prefix = 'anoremenu <silent> T\&ags.' - if a:add_ttype_name - let m_prefix = m_prefix . ttype_fullname . '.' - endif - let m_prefix = m_prefix . first_tag . '\.\.\.' . last_tag . '.' - - " Character prefix used to number the menu items (hotkey) - let m_prefix_idx = 0 - - while j <= final_index - let tidx = s:tlist_{fidx_ttype}_{j} - - let tname = s:tlist_{a:fidx}_{tidx}_tag_name - - let mcmd = mcmd . m_prefix . '\&' . - \ s:menu_char_prefix[m_prefix_idx] . '\.' . - \ tname . ' :call <SID>Tlist_Menu_Jump_To_Tag(' . - \ tidx . ')<CR>|' - - let m_prefix_idx = m_prefix_idx + 1 - let j = j + 1 - endwhile - endwhile - else - " Character prefix used to number the menu items (hotkey) - let m_prefix_idx = 0 - - let m_prefix = 'anoremenu <silent> T\&ags.' - if a:add_ttype_name - let m_prefix = m_prefix . ttype_fullname . '.' - endif - let j = 1 - while j <= tcnt - let tidx = s:tlist_{fidx_ttype}_{j} - - let tname = s:tlist_{a:fidx}_{tidx}_tag_name - - let mcmd = mcmd . m_prefix . '\&' . - \ s:menu_char_prefix[m_prefix_idx] . '\.' . - \ tname . ' :call <SID>Tlist_Menu_Jump_To_Tag(' . tidx - \ . ')<CR>|' - - let m_prefix_idx = m_prefix_idx + 1 - let j = j + 1 - endwhile - endif - - return mcmd -endfunction - -" Update the taglist menu with the tags for the specified file -function! s:Tlist_Menu_File_Refresh(fidx) - call s:Tlist_Log_Msg('Refreshing the tag menu for ' . s:tlist_{a:fidx}_filename) - " The 'B' flag is needed in the 'cpoptions' option - let old_cpoptions = &cpoptions - set cpoptions&vim - - exe s:tlist_{a:fidx}_menu_cmd - - " Update the popup menu (if enabled) - if &mousemodel =~ 'popup' - let cmd = substitute(s:tlist_{a:fidx}_menu_cmd, ' T\\&ags\.', - \ ' PopUp.T\\\&ags.', "g") - exe cmd - endif - - " The taglist menu is not empty now - let s:tlist_menu_empty = 0 - - " Restore the 'cpoptions' settings - let &cpoptions = old_cpoptions -endfunction - -" Tlist_Menu_Update_File -" Add the taglist menu -function! s:Tlist_Menu_Update_File(clear_menu) - if !has('gui_running') - " Not running in GUI mode - return - endif - - call s:Tlist_Log_Msg('Updating the tag menu, clear_menu = ' . a:clear_menu) - - " Remove the tags menu - if a:clear_menu - call s:Tlist_Menu_Remove_File() - - endif - - " Skip buffers with 'buftype' set to nofile, nowrite, quickfix or help - if &buftype != '' - return - endif - - let filename = fnamemodify(bufname('%'), ':p') - let ftype = s:Tlist_Get_Buffer_Filetype('%') - - " If the file doesn't support tag listing, skip it - if s:Tlist_Skip_File(filename, ftype) - return - endif - - let fidx = s:Tlist_Get_File_Index(filename) - if fidx == -1 || !s:tlist_{fidx}_valid - " Check whether this file is removed based on user request - " If it is, then don't display the tags for this file - if s:Tlist_User_Removed_File(filename) - return - endif - - " Process the tags for the file - let fidx = s:Tlist_Process_File(filename, ftype) - if fidx == -1 - return - endif - endif - - let fname = escape(fnamemodify(bufname('%'), ':t'), '.') - if fname != '' - exe 'anoremenu T&ags.' . fname . ' <Nop>' - anoremenu T&ags.-SEP2- : - endif - - if !s:tlist_{fidx}_tag_count - return - endif - - if s:tlist_{fidx}_menu_cmd != '' - " Update the menu with the cached command - call s:Tlist_Menu_File_Refresh(fidx) - - return - endif - - " We are going to add entries to the tags menu, so the menu won't be - " empty - let s:tlist_menu_empty = 0 - - let cmd = '' - - " Determine whether the tag type name needs to be added to the menu - " If more than one tag type is present in the taglisting for a file, - " then the tag type name needs to be present - let add_ttype_name = -1 - let i = 1 - while i <= s:tlist_{ftype}_count && add_ttype_name < 1 - let ttype = s:tlist_{ftype}_{i}_name - if s:tlist_{fidx}_{ttype}_count - let add_ttype_name = add_ttype_name + 1 - endif - let i = i + 1 - endwhile - - " Process the tags by the tag type and get the menu command - let i = 1 - while i <= s:tlist_{ftype}_count - let mcmd = s:Tlist_Menu_Get_Tag_Type_Cmd(fidx, ftype, add_ttype_name, i) - if mcmd != '' - let cmd = cmd . mcmd - endif - - let i = i + 1 - endwhile - - " Cache the menu command for reuse - let s:tlist_{fidx}_menu_cmd = cmd - - " Update the menu - call s:Tlist_Menu_File_Refresh(fidx) -endfunction - -" Tlist_Menu_Remove_File -" Remove the tags displayed in the tags menu -function! s:Tlist_Menu_Remove_File() - if !has('gui_running') || s:tlist_menu_empty - return - endif - - call s:Tlist_Log_Msg('Removing the tags menu for a file') - - " Cleanup the Tags menu - silent! unmenu T&ags - if &mousemodel =~ 'popup' - silent! unmenu PopUp.T&ags - endif - - " Add a dummy menu item to retain teared off menu - noremenu T&ags.Dummy l - - silent! unmenu! T&ags - if &mousemodel =~ 'popup' - silent! unmenu! PopUp.T&ags - endif - - call s:Tlist_Menu_Add_Base_Menu() - - " Remove the dummy menu item - unmenu T&ags.Dummy - - let s:tlist_menu_empty = 1 -endfunction - -" Tlist_Menu_Refresh -" Refresh the taglist menu -function! s:Tlist_Menu_Refresh() - call s:Tlist_Log_Msg('Refreshing the tags menu') - let fidx = s:Tlist_Get_File_Index(fnamemodify(bufname('%'), ':p')) - if fidx != -1 - " Invalidate the cached menu command - let s:tlist_{fidx}_menu_cmd = '' - endif - - " Update the taglist, menu and window - call s:Tlist_Update_Current_File() -endfunction - -" Tlist_Menu_Jump_To_Tag -" Jump to the selected tag -function! s:Tlist_Menu_Jump_To_Tag(tidx) - let fidx = s:Tlist_Get_File_Index(fnamemodify(bufname('%'), ':p')) - if fidx == -1 - return - endif - - let tagpat = s:Tlist_Get_Tag_SearchPat(fidx, a:tidx) - if tagpat == '' - return - endif - - " Add the current cursor position to the jump list, so that user can - " jump back using the ' and ` marks. - mark ' - - silent call search(tagpat, 'w') - - " Bring the line to the middle of the window - normal! z. - - " If the line is inside a fold, open the fold - if foldclosed('.') != -1 - .foldopen - endif -endfunction - -" Tlist_Menu_Init -" Initialize the taglist menu -function! s:Tlist_Menu_Init() - call s:Tlist_Menu_Add_Base_Menu() - - " Automatically add the tags defined in the current file to the menu - augroup TagListMenuCmds - autocmd! - - if !g:Tlist_Process_File_Always - autocmd BufEnter * call s:Tlist_Refresh() - endif - autocmd BufLeave * call s:Tlist_Menu_Remove_File() - augroup end - - call s:Tlist_Menu_Update_File(0) -endfunction - -" Tlist_Vim_Session_Load -" Initialize the taglist window/buffer, which is created when loading -" a Vim session file. -function! s:Tlist_Vim_Session_Load() - call s:Tlist_Log_Msg('Tlist_Vim_Session_Load') - - " Initialize the taglist window - call s:Tlist_Window_Init() - - " Refresh the taglist window - call s:Tlist_Window_Refresh() -endfunction - -" Tlist_Set_App -" Set the name of the external plugin/application to which taglist -" belongs. -" Taglist plugin is part of another plugin like cream or winmanager. -function! Tlist_Set_App(name) - if a:name == "" - return - endif - - let s:tlist_app_name = a:name -endfunction - -" Winmanager integration - -" Initialization required for integration with winmanager -function! TagList_Start() - " If current buffer is not taglist buffer, then don't proceed - if bufname('%') != '__Tag_List__' - return - endif - - call Tlist_Set_App('winmanager') - - " Get the current filename from the winmanager plugin - let bufnum = WinManagerGetLastEditedFile() - if bufnum != -1 - let filename = fnamemodify(bufname(bufnum), ':p') - let ftype = s:Tlist_Get_Buffer_Filetype(bufnum) - endif - - " Initialize the taglist window, if it is not already initialized - if !exists('s:tlist_window_initialized') || !s:tlist_window_initialized - call s:Tlist_Window_Init() - call s:Tlist_Window_Refresh() - let s:tlist_window_initialized = 1 - endif - - " Update the taglist window - if bufnum != -1 - if !s:Tlist_Skip_File(filename, ftype) && g:Tlist_Auto_Update - call s:Tlist_Window_Refresh_File(filename, ftype) - endif - endif -endfunction - -function! TagList_IsValid() - return 0 -endfunction - -function! TagList_WrapUp() - return 0 -endfunction - -" restore 'cpo' -let &cpo = s:cpo_save -unlet s:cpo_save - diff --git a/.vim/syntax/beluga.vim b/.vim/syntax/beluga.vim deleted file mode 100644 index e12ba8d..0000000 --- a/.vim/syntax/beluga.vim +++ /dev/null @@ -1,121 +0,0 @@ -" Vim syntax file -" Language: bel -" Filenames: *.bel -" Maintainers: Vincent Aravantinos <vincent.aravantinos@gmail.com> -" Last Change: 2012 Jun 28 - Added new syntax -" TODO see what the Twelf vim file does - -" For version 5.x: Clear all syntax items -" For version 6.x: Quit when a syntax file was already loaded -if version < 600 - syntax clear -elseif exists("b:current_syntax") && b:current_syntax == "beluga" - finish -endif - -" bel is not case sensitive. -"syn case match - -"syn match belError "\S" -syn match belComment containedin=ALL "%.*" extend - -syn match belId contained "[[:lower:]][[:lower:][:digit:]']*" -syn keyword belTermOp contained "\(type\|ctype\|datatype\)" -syn match belTermOp contained "\(->\|<-\|\\\|\.\|_\|:\)" -syn region belTerm contained contains=@belTermClu matchgroup=belTermOp start="(" end=")" -syn region belTerm contained contains=belId,belColonType,@belTermClu matchgroup=belTermOp start="{" end="}" -syn match belColType contained ":" -syn cluster belTermClu contains=belTerm,belTermOp -syn region belLf_decl contains=belColType,@belTermClu start="[[:lower:]&][[:lower:][:digit:]']*\_s*:" matchgroup=belDot end="\." -syn region belLf_decl matchgroup=belStmt start="%name\>" matchgroup=belDot end="\." -syn match belEq contained "=" -syn match belColDecl contained ":" -syn region belDecl contained contains=@belCTermClu,belColDecl matchgroup=belBlockBraces start="{" end="}" -syn region belBlock contained contains=belDecl matchgroup=belStmt start="\<block\>" end=";" -syn region belSomeCtnt contained contains=belS_decl matchgroup=belSomeBrackets start="\[" end="]" -syn region belCTermPar contained contains=@belCTermClu matchgroup=belCTerm start="(" end=")" -syn match belCTerm contained "\.\s*[[:digit:]]\+" -syn match belCTerm contained "\(#\|\.\.\|\<_\>\)" -syn keyword belCTerm contained sigma -syn match belS_decl contained "\(:\|,\)" -syn region belCTermBck contained contains=belS_decl matchgroup=belCTerm start="\<block\>" end="\." -syn cluster belCTermClu contains=belCTerm,belCTermBck,belCTermPar -syn region belSome contained contains=belBlock,belSomeCtnt matchgroup=belC_typOp start="\<some\>" end=";" -syn region belSchDef contained contains=belSome,@belCTermClu matchgroup=belEq start="=" end=";" -syn region belC_decl contains=belSchDef matchgroup=belStmt start="\<schema\>" matchgroup=belDot end=";" keepend -syn region belExp contained contains=@belExpClu matchgroup=belExpOp start="(" end=")" -syn match belCtx contained "\(:\|,\|\<block\>\)" -syn match belCtxExp contained "\(:\|,\|\<block\>\|\.\)" -syn region belExp contained contains=belCtxExp,@belCTermClu matchgroup=belExpOp start="\[" end="]" -syn keyword belExpOp contained FN fn mlam let in case of -syn match belBindDot contained "\." -syn region belDepApp contained contains=belCtxExp,belBindDot,@belCTermClu matchgroup=belExpOp start="<" end=">" -syn match belExpOp contained "\(=>\||\|:\|=\|\\\|\.\|<<\)" -syn region belLetDef contained contains=@belExpClu matchgroup=belEq start="=" end=";" -syn cluster belExpClu contains=belExp,@belC_typExp,belExpOp,@belCTermClu,belDepApp -syn match belC_typOp contained "->" -syn match belCols contained ":" -"syn region belCtypCtx contained contains=belCtx,@belCTermClu matchgroup=belC_typOp start="\[" end="]" -syn region belCtypCtx contained contains=belCtx matchgroup=belC_typOp start="\[" end="]" -syn region belC_typBr contained contains=belCols,@belCTermClu,belCtypCtx,belKleeneGr matchgroup=belC_typOp start="{" end="}" -syn region belKleeneGr contained contains=@belC_typ matchgroup=belKleene start="(" end=")\*\?" -"syn cluster belC_typ contains=belC_typOp,belC_typBr,belSome,belKleeneGr,belCtypCtx,@belCTermClu -syn cluster belC_typ contains=belC_typOp,belC_typBr,belSome,belKleeneGr,belCtypCtx - -syn region belCtypCtxExp contained contains=belCtxExp,@belCTermClu matchgroup=belC_typOpExp start="\[" end="]" -syn match belColsExp contained ":" -syn region belKleeneExpGr contained contains=@belC_typExp matchgroup=belKleeneExp start="(" end=")\*\?" -syn region belCtypCtxExp contained contains=belCtxExp,@belCTermClu matchgroup=belC_typOpExp start="\[" end="]" -syn region belC_typBrExp contained contains=belColsExp,@belCTermClu,belCtypCtxExp matchgroup=belC_typOpExp start="{" end="}" -syn match belC_typOpExp contained "->" -syn cluster belC_typExp contains=@belCTermClu,belC_typOpExp,belC_typBrExp,belSome,belCtypCtxExp - -syn region belLetSpec contained contains=belLetDef,@belC_typ matchgroup=belEq start=":" end=";" -syn region belC_decl contains=belLetDef,belLetSpec matchgroup=belStmt start="\<let\>" matchgroup=belDot end=";" keepend -syn region belRecDef contained contains=@belExpClu matchgroup=belEq start="=" end="\(;\|and\)" -syn region belRecSpec contained contains=belRecDef,@belC_typ matchgroup=belEq start=":" end="\(;\|and\)" -syn region belC_decl contains=belRecDef,belRecSpec matchgroup=belStmt start="\<rec\>" matchgroup=belDot end=";" keepend - - -" Define the default highlighting. -" For version 5.7 and earlier: only when not done already -" For version 5.8 and later: only when an item doesn't have highlighting yet -if version >= 508 || !exists("did_bel_syntax_inits") - if version < 508 - let did_beluga_syntax_inits = 1 - command -nargs=+ HiLink hi link <args> - else - command -nargs=+ HiLink hi def link <args> - endif - - HiLink belError Error - HiLink belComment Comment - HiLink belKwd PreProc - HiLink belCtxt Type - HiLink belTypeKwd Keyword - HiLink belOperators Constant - HiLink belTermOp Type - HiLink belStmt PreProc - HiLink belDot belStmt - HiLink belEq belStmt - HiLink belColType belStmt - HiLink belSomeBrackets belC_typOp - HiLink belCTerm belExpOp - HiLink belS_decl belC_typOp - HiLink belBlockBraces belSomeBrackets - HiLink belColDecl belBlockBraces - HiLink belExpOp Keyword - HiLink belBindDot belExpOp - HiLink belC_typOp Type - HiLink belC_typOpExp belExpOp - HiLink belKleene belC_typOp - HiLink belKleeneExp belExpOp - HiLink belCols belC_typOp - HiLink belColsExp belExpOp - HiLink belCtx belC_typOp - HiLink belCtxExp belExpOp - - delcommand HiLink -endif - -let b:current_syntax = "belgua" diff --git a/.vim/syntax/daylog.vim b/.vim/syntax/daylog.vim deleted file mode 100644 index 693a8ba..0000000 --- a/.vim/syntax/daylog.vim +++ /dev/null @@ -1,60 +0,0 @@ -" Vim syntax file -" Language: Daylog (Debian Changelogs) -" Maintainer: Ryan Kavanagh <rak@debian.org> -" Former Maintainers: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org> -" Gerfried Fuchs <alfie@ist.org> -" Wichert Akkerman <wakkerma@debian.org> -" Last Change: 2011 June 01 -" URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debchangelog.vim - -" Standard syntax initialization -if version < 600 - syntax clear -elseif exists("b:current_syntax") - finish -endif - -" Case doesn't matter for us -syn case ignore - -" Define some common expressions we can use later on -syn match debchangelogName contained "^[[:alnum:]][[:alnum:].+-]\+ " -syn match debchangelogUrgency contained "; urgency=\(low\|medium\|high\|critical\|emergency\)\( \S.*\)\=" -syn match debchangelogTarget contained "\v %(summer20.*|fall20.*|winter20.*|spring20.*)=" -syn match debchangelogVersion contained "(.\{-})" -syn match debchangelogCloses contained "closes:\_s*\(bug\)\=#\=\_s\=\d\+\(,\_s*\(bug\)\=#\=\_s\=\d\+\)*" -syn match debchangelogLP contained "\clp:\s\+#\d\+\(,\s*#\d\+\)*" -syn match debchangelogEmail contained "[_=[:alnum:].+-]\+@[[:alnum:]./\-]\+" -syn match debchangelogEmail contained "<.\{-}>" - -" Define the entries that make up the changelog -syn region debchangelogHeader start="^[^ ]" end="$" contains=debchangelogName,debchangelogUrgency,debchangelogTarget,debchangelogVersion oneline -syn region debchangelogFooter start="^ [^ ]" end="$" contains=debchangelogEmail oneline -syn region debchangelogEntry start="^ " end="$" contains=debchangelogCloses,debchangelogLP oneline - -" Associate our matches and regions with pretty colours -if version >= 508 || !exists("did_debchangelog_syn_inits") - if version < 508 - let did_debchangelog_syn_inits = 1 - command -nargs=+ HiLink hi link <args> - else - command -nargs=+ HiLink hi def link <args> - endif - - HiLink debchangelogHeader Error - HiLink debchangelogFooter Identifier - HiLink debchangelogEntry Normal - HiLink debchangelogCloses Statement - HiLink debchangelogLP Statement - HiLink debchangelogUrgency Identifier - HiLink debchangelogName Comment - HiLink debchangelogVersion Identifier - HiLink debchangelogTarget Identifier - HiLink debchangelogEmail Special - - delcommand HiLink -endif - -let b:current_syntax = "debchangelog" - -" vim: ts=8 sw=2 diff --git a/.vim/syntax/django.vim b/.vim/syntax/django.vim deleted file mode 100644 index 3ad4816..0000000 --- a/.vim/syntax/django.vim +++ /dev/null @@ -1,93 +0,0 @@ -" Vim syntax file -" Language: Django template -" Maintainer: Dave Hodder <dmh@dmh.org.uk> -" Last Change: 2007 Apr 21 - -" For version 5.x: Clear all syntax items -" For version 6.x: Quit when a syntax file was already loaded -if version < 600 - syntax clear -elseif exists("b:current_syntax") - finish -endif - -syntax case match - -" Mark illegal characters -syn match djangoError "%}\|}}\|#}" - -" Django template built-in tags and parameters -" 'comment' doesn't appear here because it gets special treatment -syn keyword djangoStatement contained and as block endblock by cycle debug else -syn keyword djangoStatement contained extends filter endfilter firstof for -syn keyword djangoStatement contained endfor if endif ifchanged endifchanged -syn keyword djangoStatement contained ifequal endifequal ifnotequal -syn keyword djangoStatement contained endifnotequal in include load not now or -syn keyword djangoStatement contained parsed regroup reversed spaceless -syn keyword djangoStatement contained endspaceless ssi templatetag openblock -syn keyword djangoStatement contained closeblock openvariable closevariable -syn keyword djangoStatement contained openbrace closebrace opencomment -syn keyword djangoStatement contained closecomment widthratio url with endwith -syn keyword djangoStatement contained get_current_language trans noop blocktrans -syn keyword djangoStatement contained endblocktrans get_available_languages -syn keyword djangoStatement contained get_current_language_bidi plural - -" Django templete built-in filters -syn keyword djangoFilter contained add addslashes capfirst center cut date -syn keyword djangoFilter contained default default_if_none dictsort -syn keyword djangoFilter contained dictsortreversed divisibleby escape -syn keyword djangoFilter contained filesizeformat first fix_ampersands -syn keyword djangoFilter contained floatformat get_digit join length length_is -syn keyword djangoFilter contained linebreaks linebreaksbr linenumbers ljust -syn keyword djangoFilter contained lower make_list phone2numeric pluralize -syn keyword djangoFilter contained pprint random removetags rjust slice slugify -syn keyword djangoFilter contained stringformat striptags -syn keyword djangoFilter contained time timesince timeuntil title -syn keyword djangoFilter contained truncatewords unordered_list upper urlencode -syn keyword djangoFilter contained urlize urlizetrunc wordcount wordwrap yesno - -" Keywords to highlight within comments -syn keyword djangoTodo contained TODO FIXME XXX - -" Django template constants (always surrounded by double quotes) -syn region djangoArgument contained start=/"/ skip=/\\"/ end=/"/ - -" Mark illegal characters within tag and variables blocks -syn match djangoTagError contained "#}\|{{\|[^%]}}\|[<>!&#]" -syn match djangoVarError contained "#}\|{%\|%}\|[<>!&#%]" - -" Django template tag and variable blocks -syn region djangoTagBlock start="{%" end="%}" contains=djangoStatement,djangoFilter,djangoArgument,djangoTagError display -syn region djangoVarBlock start="{{" end="}}" contains=djangoFilter,djangoArgument,djangoVarError display - -" Django template 'comment' tag and comment block -syn region djangoComment start="{%\s*comment\s*%}" end="{%\s*endcomment\s*%}" contains=djangoTodo -syn region djangoComBlock start="{#" end="#}" contains=djangoTodo - -" Define the default highlighting. -" For version 5.7 and earlier: only when not done already -" For version 5.8 and later: only when an item doesn't have highlighting yet -if version >= 508 || !exists("did_django_syn_inits") - if version < 508 - let did_django_syn_inits = 1 - command -nargs=+ HiLink hi link <args> - else - command -nargs=+ HiLink hi def link <args> - endif - - HiLink djangoTagBlock PreProc - HiLink djangoVarBlock PreProc - HiLink djangoStatement Statement - HiLink djangoFilter Identifier - HiLink djangoArgument Constant - HiLink djangoTagError Error - HiLink djangoVarError Error - HiLink djangoError Error - HiLink djangoComment Comment - HiLink djangoComBlock Comment - HiLink djangoTodo Todo - - delcommand HiLink -endif - -let b:current_syntax = "django" diff --git a/.vim/syntax/htmldjango.vim b/.vim/syntax/htmldjango.vim deleted file mode 100644 index 4b13863..0000000 --- a/.vim/syntax/htmldjango.vim +++ /dev/null @@ -1,34 +0,0 @@ -" Vim syntax file -" Language: Django HTML template -" Maintainer: Dave Hodder <dmh@dmh.org.uk> -" Last Change: 2007 Jan 26 - -" For version 5.x: Clear all syntax items -" For version 6.x: Quit when a syntax file was already loaded -if version < 600 - syntax clear -elseif exists("b:current_syntax") - finish -endif - -if !exists("main_syntax") - let main_syntax = 'html' -endif - -if version < 600 - so <sfile>:p:h/django.vim - so <sfile>:p:h/html.vim -else - runtime! syntax/django.vim - runtime! syntax/html.vim - unlet b:current_syntax -endif - -syn cluster djangoBlocks add=djangoTagBlock,djangoVarBlock,djangoComment,djangoComBlock - -syn region djangoTagBlock start="{%" end="%}" contains=djangoStatement,djangoFilter,djangoArgument,djangoTagError display containedin=ALLBUT,@djangoBlocks -syn region djangoVarBlock start="{{" end="}}" contains=djangoFilter,djangoArgument,djangoVarError display containedin=ALLBUT,@djangoBlocks -syn region djangoComment start="{%\s*comment\s*%}" end="{%\s*endcomment\s*%}" contains=djangoTodo containedin=ALLBUT,@djangoBlocks -syn region djangoComBlock start="{#" end="#}" contains=djangoTodo containedin=ALLBUT,@djangoBlocks - -let b:current_syntax = "htmldjango" diff --git a/.vim/syntax/prolog.vim b/.vim/syntax/prolog.vim deleted file mode 100644 index 58de71f..0000000 --- a/.vim/syntax/prolog.vim +++ /dev/null @@ -1,119 +0,0 @@ -" Vim syntax file -" Language: PROLOG -" Maintainers: Thomas Koehler <jean-luc@picard.franken.de> -" Last Change: 2009 Dec 04 -" URL: http://gott-gehabt.de/800_wer_wir_sind/thomas/Homepage/Computer/vim/syntax/prolog.vim - -" There are two sets of highlighting in here: -" If the "prolog_highlighting_clean" variable exists, it is rather sparse. -" Otherwise you get more highlighting. - -" Quit when a syntax file was already loaded -if version < 600 - syntax clear -elseif exists("b:current_syntax") - finish -endif - -" Prolog is case sensitive. -syn case match - -" Very simple highlighting for comments, clause heads and -" character codes. It respects prolog strings and atoms. - -syn region prologCComment start=+/\*+ end=+\*/+ -syn match prologComment +%.*+ - -syn keyword prologKeyword module meta_predicate multifile dynamic -syn match prologCharCode +0'\\\=.+ -syn region prologString start=+"+ skip=+\\\\\|\\"+ end=+"+ -syn region prologAtom start=+'+ skip=+\\\\\|\\'+ end=+'+ -syn region prologClauseHead start=+^[a-z][^(]*(+ skip=+\.[^ ]+ end=+:-\|\.$\|\.[ ]\|-->+ contains=prologComment,prologCComment,prologString - -if !exists("prolog_highlighting_clean") - - " some keywords - " some common predicates are also highlighted as keywords - " is there a better solution? - syn keyword prologKeyword abolish current_output peek_code - syn keyword prologKeyword append current_predicate put_byte - syn keyword prologKeyword arg current_prolog_flag put_char - syn keyword prologKeyword asserta fail put_code - syn keyword prologKeyword assertz findall read - syn keyword prologKeyword at_end_of_stream float read_term - syn keyword prologKeyword atom flush_output repeat - syn keyword prologKeyword atom_chars functor retract - syn keyword prologKeyword atom_codes get_byte set_input - syn keyword prologKeyword atom_concat get_char set_output - syn keyword prologKeyword atom_length get_code set_prolog_flag - syn keyword prologKeyword atomic halt set_stream_position - syn keyword prologKeyword bagof integer setof - syn keyword prologKeyword call is stream_property - syn keyword prologKeyword catch nl sub_atom - syn keyword prologKeyword char_code nonvar throw - syn keyword prologKeyword char_conversion number true - syn keyword prologKeyword clause number_chars unify_with_occurs_check - syn keyword prologKeyword close number_codes var - syn keyword prologKeyword compound once write - syn keyword prologKeyword copy_term op write_canonical - syn keyword prologKeyword current_char_conversion open write_term - syn keyword prologKeyword current_input peek_byte writeq - syn keyword prologKeyword current_op peek_char - - syn match prologOperator "=\\=\|=:=\|\\==\|=<\|==\|>=\|\\=\|\\+\|<\|>\|=" - syn match prologAsIs "===\|\\===\|<=\|=>" - - syn match prologNumber "\<[0123456789]*\>'\@!" - syn match prologCommentError "\*/" - syn match prologSpecialCharacter ";" - syn match prologSpecialCharacter "!" - syn match prologQuestion "?-.*\." contains=prologNumber - - -endif - -syn sync maxlines=50 - - -" Define the default highlighting. -" For version 5.7 and earlier: only when not done already -" For version 5.8 and later: only when an item doesn't have highlighting yet -if version >= 508 || !exists("did_prolog_syn_inits") - if version < 508 - let did_prolog_syn_inits = 1 - command -nargs=+ HiLink hi link <args> - else - command -nargs=+ HiLink hi def link <args> - endif - - " The default highlighting. - HiLink prologComment Comment - HiLink prologCComment Comment - HiLink prologCharCode Special - - if exists ("prolog_highlighting_clean") - - HiLink prologKeyword Statement - HiLink prologClauseHead Statement - - else - - HiLink prologKeyword Keyword - HiLink prologClauseHead Constant - HiLink prologQuestion PreProc - HiLink prologSpecialCharacter Special - HiLink prologNumber Number - HiLink prologAsIs Normal - HiLink prologCommentError Error - HiLink prologAtom String - HiLink prologString String - HiLink prologOperator Operator - - endif - - delcommand HiLink -endif - -let b:current_syntax = "prolog" - -" vim: ts=8 diff --git a/.vim/syntax/rnc.vim b/.vim/syntax/rnc.vim deleted file mode 100644 index 411046f..0000000 --- a/.vim/syntax/rnc.vim +++ /dev/null @@ -1,59 +0,0 @@ -" Vim syntax file -" Language: RELAX NG Compact Syntax -" Maintainer: Hans Fugal <hans@fugal.net> -" Last Change: $Date: 2003/06/22 03:32:14 $ -" $Id: rnc.vim,v 1.7 2003/06/22 03:32:14 fugalh Exp $ - -if version < 600 - syntax clear -elseif exists ("b:current_syntax") - finish -endif - -" add the character '-' and '.' to iskeyword. -set iskeyword+=45,46 - -" Comments -syn match Comment /^\s*#[^#].*$/ -syn match Documentation /^\s*##.*$/ - -" Literals -syn region literalSegment start=/"/ end=/"/ - -syn match patternSpecial /[,&|?*+\\]/ -syn match Identifier /\k\+\s*\(&=\|=\||=\)\@=/ nextgroup=assignMethod -syn match assignMethod /&=\|=\||=/ -syn match namespace /\k\+\(:\(\k\|\*\)\)\@=/ -syn region Annotation excludenl start=/\[/ end=/\]/ contains=ALLBUT,Identifier,patternName - -" named patterns (element and attribute) -syn keyword patternKeyword element attribute nextgroup=patternName skipwhite skipempty -syn match patternName /\k\+/ contained - -" Keywords -syn keyword patternKeyword list mixed parent empty text notAllowed externalRef grammar -syn keyword grammarContentKeyword div include -syn keyword startKeyword start -syn keyword datatypeNameKeyword string token -syn keyword namespaceUriKeyword inherit -syn keyword inheritKeyword inherit -syn keyword declKeyword namespace default datatypes - -" Links -hi link patternKeyword keyword -hi link patternName Identifier -hi link grammarContentKeyword keyword -hi link startKeyword keyword -hi link datatypeNameKeyword keyword -hi link namespaceUriKeyword keyword -hi link inheritKeyword keyword -hi link declKeyword keyword - -hi link literalSegment String -hi link Documentation Comment - -hi link patternSpecial Special -hi link namespace Type - -let b:current_syntax = "rnc" -" vim: ts=8 sw=4 smarttab diff --git a/.vim/syntax/syntax-r.vim b/.vim/syntax/syntax-r.vim deleted file mode 100644 index a4548a4..0000000 --- a/.vim/syntax/syntax-r.vim +++ /dev/null @@ -1,621 +0,0 @@ -" Vim syntax file -" Language: R (GNU S) -" Maintainer: Tom Payne <tom@tompayne.org> -" Last Change: 2003 May 11 -" Filenames: *.r -" URL: http://www.tompayne.org/vim/syntax/r.vim -" -" Modified by Jeremy Stephens and Will Gray. -" -" Options: -" You can set these options in your vimrc file. -" -" For set option do: let OPTION_NAME = 1 -" For clear option do: let OPTION_NAME = 0 -" -" For highlighting internal/primitive functions: -" r_package_internal -" -" For highlighting package 'base' functions: -" r_package_base -" -" For highlighting package 'graphics' functions: -" r_package_graphics -" -" For highlighting package 'stats' functions: -" r_package_stats -" -" For highlighting package 'tools' functions: -" r_package_tools -" -" For highlighting package 'methods' functions: -" r_package_methods -" -" For highlighting package 'utils' functions: -" r_package_utils -" -" If you want all possible R package highlighting: -" r_package_all - -" For version 5.x: Clear all syntax items -" For version 6.x: Quit when a syntax file was already loaded -if version < 600 - syntax clear -elseif exists("b:current_syntax") - finish -endif - -if version >= 600 - setlocal iskeyword=@,48-57,_,. -else - set iskeyword=@,48-57,_,. -endif - -if !exists("r_package_all") - let r_package_all = 1 -endif -if exists("r_package_all") && r_package_all != 0 - if !exists("r_package_internal") - let r_package_internal = 1 - endif - if !exists("r_package_base") - let r_package_base = 1 - endif - if !exists("r_package_methods") - let r_package_methods = 1 - endif - if !exists("r_package_graphics") - let r_package_graphics = 1 - endif - if !exists("r_package_stats") - let r_package_stats = 1 - endif - if !exists("r_package_utils") - let r_package_utils = 1 - endif - if !exists("r_package_tools") - let r_package_tools = 1 - endif -endif - -syn case match - -" Comment -syn match rComment /\#.*/ - -" Constant -" string enclosed in double quotes -syn region rString matchgroup=rStringDelimiter start=/"/ skip=/\\\\\|\\"/ end=/"/ -" string enclosed in single quotes -syn region rString matchgroup=rStringDelimiter start=/'/ skip=/\\\\\|\\'/ end=/'/ -" number with no fractional part or exponent -syn match rNumber /\d\+/ -" floating point number with integer and fractional parts and optional exponent -syn match rFloat /\d\+\.\d*\([Ee][-+]\=\d\+\)\=/ -" floating point number with no integer part and optional exponent -syn match rFloat /\.\d\+\([Ee][-+]\=\d\+\)\=/ -" floating point number with no fractional part and optional exponent -syn match rFloat /\d\+[Ee][-+]\=\d\+/ - -" Identifier -" identifier with leading letter and optional following keyword characters -syn match rIdentifier /\a\k*/ -" identifier with leading period, one or more digits, and at least one non-digit keyword character -syn match rIdentifier /\.\d*\K\k*/ - -syn match rFunction /\a\k*(/me=e-1 nextgroup=rParenRegion - -" Statement -syn keyword rStatement break next return -syn keyword rConditional if else -syn keyword rRepeat for in repeat while - -" Constant -syn keyword rConstant LETTERS letters month.ab month.name pi -syn keyword rConstant NULL -syn keyword rBoolean FALSE TRUE -syn keyword rNumber NA - -syn match rArrow /<\{1,2}-/ -syn match rArrow /->\{1,2}/ - -" Type -syn keyword rType array category character complex double function integer list logical matrix numeric vector data.frame - -" internal/primitive functions (probably has some duplicates) -if exists("r_package_internal") && r_package_internal != 0 - syn keyword rPrimitiveStatement stop warning gettext ngettext bindtextdomain .addCondHands - syn keyword rPrimitiveStatement .resetCondHands .signalCondition .dfltStop .dfltWarn .addRestart - syn keyword rPrimitiveStatement .getRestart .invokeRestart .addTryHandlers geterrmessage restart - syn keyword rPrimitiveStatement function as.function.default .subset switch browser debug undebug - syn keyword rPrimitiveStatement .primTrace .primUntrace .Internal on.exit Recall delay delayedAssign - syn keyword rPrimitiveStatement .Primitive identical crossprod all any vector complex matrix length row - syn keyword rPrimitiveStatement col c unlist cbind rbind drop oldClass class unclass names dimnames - syn keyword rPrimitiveStatement all.names dim attributes attr comment get mget exists assign remove - syn keyword rPrimitiveStatement duplicated unique which.min which.max match pmatch charmatch match.call - syn keyword rPrimitiveStatement complete.cases attach detach search round atan log signif abs floor - syn keyword rPrimitiveStatement ceiling sqrt sign trunc exp cos sin tan acos asin cosh sinh tanh acosh - syn keyword rPrimitiveStatement asinh atanh lgamma gamma digamma trigamma pentagamma gammaCody lbeta - syn keyword rPrimitiveStatement beta lchoose choose dchisq pchisq qchisq dexp pexp qexp dgeom pgeom - syn keyword rPrimitiveStatement qgeom dpois ppois qpois dt pt qt dsignrank psignrank qsignrank besselJ - syn keyword rPrimitiveStatement besselY psigamma Re Im Mod Arg Conj dbeta pbeta qbeta dbinom pbinom - syn keyword rPrimitiveStatement qbinom dcauchy pcauchy qcauchy df pf qf dgamma pgamma qgamma dlnorm - syn keyword rPrimitiveStatement plnorm qlnorm dlogis plogis qlogis dnbinom pnbinom qnbinom dnorm pnorm - syn keyword rPrimitiveStatement qnorm dunif punif qunif dweibull pweibull qweibull dnchisq pnchisq - syn keyword rPrimitiveStatement qnchisq dnt pnt qnt dwilcox pwilcox qwilcox besselI besselK dhyper - syn keyword rPrimitiveStatement phyper qhyper dnbeta pnbeta qnbeta dnf pnf qnf dtukey ptukey qtukey - syn keyword rPrimitiveStatement rchisq rexp rgeom rpois rt rsignrank rbeta rbinom rcauchy rf rgamma - syn keyword rPrimitiveStatement rlnorm rlogis rnbinom rnchisq rnorm runif rweibull rwilcox rhyper - syn keyword rPrimitiveStatement rmultinom sample RNGkind set.seed sum min max prod range cov cor cumsum - syn keyword rPrimitiveStatement cumprod cummax cummin as.character as.vector paste format format.info - syn keyword rPrimitiveStatement cat call do.call as.call type.convert as.environment nchar substr - syn keyword rPrimitiveStatement substrgets strsplit abbreviate make.names grep sub gsub regexpr - syn keyword rPrimitiveStatement grep.perl sub.perl gsub.perl regexpr.perl agrep tolower toupper chartr - syn keyword rPrimitiveStatement sprintf make.unique charToRaw rawToChar rawShift intToBits rawToBits - syn keyword rPrimitiveStatement packBits encodeString iconv strtrim is.null is.logical is.integer - syn keyword rPrimitiveStatement is.real is.double is.complex is.character is.symbol is.environment - syn keyword rPrimitiveStatement is.list is.pairlist is.expression is.object is.numeric is.matrix - syn keyword rPrimitiveStatement is.array is.atomic is.recursive is.call is.language is.function - syn keyword rPrimitiveStatement is.single is.vector is.na is.nan is.finite is.infinite proc.time gc.time - syn keyword rPrimitiveStatement Version machine commandArgs int.unzip system system unlink help.start - syn keyword rPrimitiveStatement show.help.item flush.console win.version shell.exec winDialog - syn keyword rPrimitiveStatement winDialogString winMenuNames winMenuItems winMenuAdd winMenuDel - syn keyword rPrimitiveStatement memory.size DLL.version bringToTop select.list readClipboard - syn keyword rPrimitiveStatement writeClipboard chooseFiles getIdentification getWindowHandle - syn keyword rPrimitiveStatement getWindowTitle setWindowTitle wsbrowser pkgbrowser data.manager - syn keyword rPrimitiveStatement package.manager flush.console hsbrowser select.list aqua.custom.print - syn keyword rPrimitiveStatement parse save saveToConn load loadFromConn serializeToConn - syn keyword rPrimitiveStatement unserializeFromConn deparse dput dump substitute quote quit interactive - syn keyword rPrimitiveStatement readline menu print.default prmatrix invisible gc gcinfo gctorture - syn keyword rPrimitiveStatement memory.profile rep list split symbol.C symbol.For is.loaded .C .Fortran - syn keyword rPrimitiveStatement .External .Call .External.graphics .Call.graphics recordGraphics - syn keyword rPrimitiveStatement dyn.load dyn.unload ls typeof eval eval.with.vis expression sys.parent - syn keyword rPrimitiveStatement sys.call sys.frame sys.nframe sys.calls sys.frames sys.on.exit - syn keyword rPrimitiveStatement sys.parents sys.function parent.frame sort is.unsorted psort qsort - syn keyword rPrimitiveStatement radixsort order rank missing nargs scan count.fields readTableHead - syn keyword rPrimitiveStatement t.default aperm builtins edit dataentry args formals body bodyCode - syn keyword rPrimitiveStatement globalenv environment reg.finalizer options sink sink.number lib.fixup - syn keyword rPrimitiveStatement pos.to.env eapply lapply apply colSums colMeans rowSums rowMeans Rprof - syn keyword rPrimitiveStatement object.size mem.limits merge capabilities new.env parent.env visibleflag - syn keyword rPrimitiveStatement file.show file.edit file.create file.remove file.rename file.append - syn keyword rPrimitiveStatement codeFiles.append file.symlink list.files file.exists file.choose - syn keyword rPrimitiveStatement file.info file.access dir.create tempfile tempdir R.home date - syn keyword rPrimitiveStatement index.search getenv putenv getwd setwd basename dirname Sys.info - syn keyword rPrimitiveStatement Sys.sleep getlocale setlocale localeconv path.expand getpid - syn keyword rPrimitiveStatement normalizePath fft mvfft nextn polyroot dev.control dev.copy dev.cur - syn keyword rPrimitiveStatement device dev.next dev.off dev.prev dev.set rgb hsv hcl gray colors palette - syn keyword rPrimitiveStatement plot.new plot.window axis plot.xy text mtext title abline box rect - syn keyword rPrimitiveStatement polygon par readonly.pars segments arrows layout locator identify - syn keyword rPrimitiveStatement strheight strwidth contour contourLines image dend dend.window replay - syn keyword rPrimitiveStatement erase persp filledcontour getGPar playDL setGPar getSnapshot - syn keyword rPrimitiveStatement playSnapshot symbols getGraphicsEvent inherits UseMethod NextMethod - syn keyword rPrimitiveStatement standardGeneric nlm fmin zeroin optim optimhess terms.formula - syn keyword rPrimitiveStatement update.formula model.frame model.matrix D deriv.default loadhistory - syn keyword rPrimitiveStatement savehistory Sys.time as.POSIXct as.POSIXlt format.POSIXlt strptime - syn keyword rPrimitiveStatement mkCode bcClose is.builtin.internal disassemble bcVersion load.from.file - syn keyword rPrimitiveStatement save.to.file putconst stdin stdout stderr readLines writeLines readBin - syn keyword rPrimitiveStatement writeBin readChar writeChar open isOpen isIncomplete isSeekable close - syn keyword rPrimitiveStatement flush file url pipe fifo gzfile unz bzfile seek truncate pushBack - syn keyword rPrimitiveStatement clearPushBackLength pushBackLength textConnection socketConnection - syn keyword rPrimitiveStatement sockSelect getAllConnections summary.connection download nsl gzcon - syn keyword rPrimitiveStatement readDCF getNumRtoCConverters getRtoCConverterDescriptions - syn keyword rPrimitiveStatement getRtoCConverterStatus setToCConverterActiveStatus - syn keyword rPrimitiveStatement removeToCConverterActiveStatus lockEnvironment environmentIsLocked - syn keyword rPrimitiveStatement lockBinding unlockBinding bindingIsLocked makeActiveBinding - syn keyword rPrimitiveStatement bindingIsActive mkUnbound isNamespaceEnv registerNamespace - syn keyword rPrimitiveStatement unregisterNamespace getRegisteredNamespace getNamespaceRegistry - syn keyword rPrimitiveStatement importIntoEnv write.table -endif - -" base functions -if exists("r_package_base") && r_package_base != 0 - syn keyword rBaseStatement gammaCody besselI besselK besselJ besselY .Defunct Version provide getenv - syn keyword rBaseStatement read.table.url scan.url source.url httpclient parse.dcf .Alias reshapeWide - syn keyword rBaseStatement reshapeLong piechart machine Machine Platform restart printNoClass print.coefmat - syn keyword rBaseStatement codes codes.factor codes.ordered anovalist.lm lm.fit.null lm.wfit.null glm.fit.null - syn keyword rBaseStatement print.atomic La.eigen tetragamma pentagamma package.description .Deprecated loadURL - syn keyword rBaseStatement delay La.svd La.chol geterrmessage try comment round signif logb beta lbeta gamma - syn keyword rBaseStatement lgamma digamma trigamma psigamma factorial lfactorial choose lchoose R.Version - syn keyword rBaseStatement commandArgs args cbind rbind .deparseOpts deparse do.call drop format.info gc gcinfo - syn keyword rBaseStatement gctorture is.unsorted mem.limits nchar polyroot readline search searchpaths sprintf - syn keyword rBaseStatement t.default typeof memory.profile capabilities inherits NextMethod data.class - syn keyword rBaseStatement is.numeric.factor is.integer.factor encodeString RNGkind set.seed RNGversion .Script - syn keyword rBaseStatement all.equal all.equal.default all.equal.numeric all.equal.character all.equal.factor - syn keyword rBaseStatement all.equal.formula all.equal.language all.equal.list attr.all.equal all.names all.vars - syn keyword rBaseStatement aperm append apply array slice.index as.logical as.logical.default as.integer - syn keyword rBaseStatement as.integer.default as.double as.double.default as.complex as.complex.default - syn keyword rBaseStatement as.single as.single.default as.character.default as.expression as.expression.default - syn keyword rBaseStatement as.list as.list.default as.list.data.frame as.list.environment as.vector as.matrix - syn keyword rBaseStatement as.matrix.default as.null as.null.default as.function as.function.default as.array - syn keyword rBaseStatement as.symbol as.numeric assign attach detach ls autoload autoloader bquote forwardsolve - syn keyword rBaseStatement backsolve lockEnvironment environmentIsLocked lockBinding bindingIsLocked - syn keyword rBaseStatement makeActiveBinding bindingIsActive unlockBinding builtins by by.default by.data.frame - syn keyword rBaseStatement print.by cat strsplit substr substring abbreviate make.names make.unique chartr - syn keyword rBaseStatement tolower toupper casefold sQuote dQuote chol colSums colMeans rowSums rowMeans - syn keyword rBaseStatement tryCatch withCallingHandlers suppressWarnings simpleCondition simpleError - syn keyword rBaseStatement simpleWarning conditionMessage conditionCall conditionMessage.condition - syn keyword rBaseStatement conditionCall.condition print.condition as.character.condition as.character.error - syn keyword rBaseStatement signalCondition restartDescription restartFormals print.restart isRestart findRestart - syn keyword rBaseStatement computeRestarts invokeRestart invokeRestartInteractively withRestarts - syn keyword rBaseStatement .signalSimpleWarning .handleSimpleError conflicts stdin stdout stderr readLines - syn keyword rBaseStatement writeLines open open.connection isOpen isIncomplete isSeekable close close.connection - syn keyword rBaseStatement flush flush.connection file pipe fifo url gzfile unz bzfile socketConnection - syn keyword rBaseStatement textConnection seek seek.connection truncate truncate.connection pushBack - syn keyword rBaseStatement pushBackLength print.connection summary.connection showConnections getAllConnections - syn keyword rBaseStatement getConnection closeAllConnections readBin writeBin readChar writeChar gzcon - syn keyword rBaseStatement socketSelect contributors getNumCConverters getCConverterDescriptions - syn keyword rBaseStatement getCConverterStatus setCConverterStatus removeCConverter cut cut.default data.matrix - syn keyword rBaseStatement row.names row.names.data.frame row.names.default is.na.data.frame is.data.frame I - syn keyword rBaseStatement print.AsIs t.data.frame dim.data.frame dimnames.data.frame as.data.frame - syn keyword rBaseStatement as.data.frame.default as.data.frame.data.frame as.data.frame.list - syn keyword rBaseStatement as.data.frame.vector as.data.frame.ts as.data.frame.character as.data.frame.matrix - syn keyword rBaseStatement as.data.frame.model.matrix as.data.frame.array as.data.frame.AsIs data.frame - syn keyword rBaseStatement xpdrows.data.frame cbind.data.frame rbind.data.frame print.data.frame - syn keyword rBaseStatement as.matrix.data.frame Math.data.frame Ops.data.frame Summary.data.frame Sys.Date - syn keyword rBaseStatement as.Date as.Date.POSIXct as.Date.POSIXlt as.Date.factor as.Date.character - syn keyword rBaseStatement as.Date.default as.Date.date as.Date.dates format.Date print.Date summary.Date - syn keyword rBaseStatement Ops.Date Math.Date Summary.Date as.character.Date c.Date mean.Date seq.Date cut.Date - syn keyword rBaseStatement julian.Date weekdays.Date months.Date quarters.Date round.Date trunc.Date rep.Date - syn keyword rBaseStatement diff.Date Sys.time Sys.timezone as.POSIXlt as.POSIXct as.POSIXct.Date as.POSIXct.date - syn keyword rBaseStatement as.POSIXct.dates as.POSIXct.POSIXlt as.POSIXct.default format.POSIXlt strptime - syn keyword rBaseStatement format.POSIXct print.POSIXct print.POSIXlt summary.POSIXct summary.POSIXlt Ops.POSIXt - syn keyword rBaseStatement Math.POSIXt Summary.POSIXct Summary.POSIXlt as.character.POSIXt str.POSIXt - syn keyword rBaseStatement is.na.POSIXlt c.POSIXct c.POSIXlt all.equal.POSIXct ISOdatetime ISOdate - syn keyword rBaseStatement as.matrix.POSIXlt mean.POSIXct mean.POSIXlt difftime as.difftime print.difftime - syn keyword rBaseStatement round.difftime Ops.difftime Math.difftime mean.difftime Summary.difftime seq.POSIXt - syn keyword rBaseStatement cut.POSIXt julian julian.POSIXt weekdays weekdays.POSIXt months months.POSIXt - syn keyword rBaseStatement quarters quarters.POSIXt trunc.POSIXt round.POSIXt as.data.frame.POSIXlt rep.POSIXct - syn keyword rBaseStatement rep.POSIXlt diff.POSIXt read.dcf write.dcf delayedAssign diag diff diff.default dput - syn keyword rBaseStatement dget dump duplicated duplicated.default duplicated.data.frame duplicated.matrix - syn keyword rBaseStatement unique unique.default unique.data.frame unique.matrix dyn.load dyn.unload - syn keyword rBaseStatement getNativeSymbolInfo getLoadedDLLs getDLLRegisteredRoutines - syn keyword rBaseStatement getDLLRegisteredRoutines.character getDLLRegisteredRoutines.DLLInfo - syn keyword rBaseStatement print.NativeRoutineList print.DLLRegisteredRoutines getCallingDLL print.DLLInfo - syn keyword rBaseStatement print.DLLInfoList eapply eigen environment .GlobalEnv eval eval.parent evalq new.env - syn keyword rBaseStatement parent.env local Recall with with.default force exists expand.grid factor is.factor - syn keyword rBaseStatement as.factor category levels nlevels as.vector.factor as.character.factor print.factor - syn keyword rBaseStatement Math.factor Summary.factor Ops.factor ordered is.ordered as.ordered Ops.ordered - syn keyword rBaseStatement R.home file.show file.append file.remove file.rename list.files file.path file.exists - syn keyword rBaseStatement file.create file.choose file.copy file.symlink file.info file.access dir.create - syn keyword rBaseStatement format.octmode print.octmode system.file getwd setwd basename dirname Sys.info - syn keyword rBaseStatement Sys.sleep path.expand findInterval formals body alist format format.default - syn keyword rBaseStatement format.char format.pval formatC format.factor format.data.frame format.AsIs prettyNum - syn keyword rBaseStatement subset.data.frame subset subset.default subset.matrix transform.data.frame transform - syn keyword rBaseStatement transform.default stack.data.frame stack stack.default unstack.data.frame unstack - syn keyword rBaseStatement unstack.default get mget Sys.getenv Sys.putenv Sys.getpid gl grep sub gsub regexpr - syn keyword rBaseStatement agrep identical isTRUE ifelse interaction is.vector is.primitive jitter kappa - syn keyword rBaseStatement kappa.lm kappa.default kappa.qr kappa.tri kronecker labels labels.default lapply - syn keyword rBaseStatement lapply lazyLoad testPlatformEquivalence library print.libraryIQR library.dynam - syn keyword rBaseStatement library.dynam.unload require .packages .path.package .find.package print.packageInfo - syn keyword rBaseStatement manglePackageName .getRequiredPackages licence load save save.image sys.load.image - syn keyword rBaseStatement sys.save.image Sys.getlocale Sys.setlocale Sys.localeconv lower.tri mapply match - syn keyword rBaseStatement match match.call pmatch match.arg charmatch char.expand match.fun matrix nrow ncol - syn keyword rBaseStatement NROW NCOL rownames colnames row col crossprod t t.data.frame max.col mean - syn keyword rBaseStatement mean.default mean.data.frame merge merge.default merge.data.frame simpleMessage - syn keyword rBaseStatement suppressMessages message trace untrace .isMethodsDispatchOn tracingState mode - syn keyword rBaseStatement storage.mode names names.default getNamespace loadedNamespaces getNamespaceName - syn keyword rBaseStatement getNamespaceVersion getNamespaceExports getNamespaceImports getNamespaceUsers - syn keyword rBaseStatement getExportedValue attachNamespace loadNamespace loadingNamespaceInfo - syn keyword rBaseStatement saveNamespaceImage topenv unloadNamespace .Import .ImportFrom .Export isNamespace - syn keyword rBaseStatement isBaseNamespace getNamespaceInfo setNamespaceInfo asNamespace namespaceImport - syn keyword rBaseStatement namespaceImportFrom namespaceImportClasses namespaceImportMethods importIntoEnv - syn keyword rBaseStatement namespaceExport .mergeExportMethods packageHasNamespace parseNamespaceFile - syn keyword rBaseStatement .NotYetImplemented .NotYetUsed options getOption outer getRversion as.pairlist - syn keyword rBaseStatement pairlist parse paste pmax pmin pretty print print.default prmatrix noquote - syn keyword rBaseStatement as.matrix.noquote c.noquote print.noquote print.listof print.simple.list is.qr qr - syn keyword rBaseStatement qr.coef qr.qy qr.qty qr.resid qr.fitted qr.Q qr.R qr.X quit q range.default rank raw - syn keyword rBaseStatement as.raw charToRaw rawToChar rawShift rawToBits intToBits packBits count.fields - syn keyword rBaseStatement type.convert read.table read.csv read.delim rep rep.default rep.int replace replicate - syn keyword rBaseStatement rev rev.default rle print.rle inverse.rle rm remove rowsum.default rowsum.data.frame - syn keyword rBaseStatement sample sapply scale scale.default scan seq seq.default sequence .saveRDS .readRDS - syn keyword rBaseStatement serialize unserialize union intersect setdiff setequal is.element sink sink.number - syn keyword rBaseStatement solve.qr solve.default solve qr.solve sort order sort.list source sys.source split - syn keyword rBaseStatement split.default split.data.frame unsplit stop stopifnot warning gettext bindtextdomain - syn keyword rBaseStatement ngettext gettextf strtrim strwrap formatDL sum min max prod all any summary - syn keyword rBaseStatement summary.default summary.factor summary.matrix summary.data.frame svd sweep switch - syn keyword rBaseStatement sys.call sys.calls sys.frame sys.function sys.frames sys.nframe sys.parent - syn keyword rBaseStatement sys.parents sys.status sys.on.exit table print.table summary.table - syn keyword rBaseStatement print.summary.table as.data.frame.table is.table as.table as.table.default prop.table - syn keyword rBaseStatement margin.table tabulate tapply addTaskCallback removeTaskCallback getTaskCallbackNames - syn keyword rBaseStatement taskCallbackManager tempfile tempdir system.time date toString toString.default - syn keyword rBaseStatement traceback system unix unlink zip.file.extract unlist unname upper.tri packageEvent - syn keyword rBaseStatement getHook setHook mat.or.vec is.R shQuote vector logical character integer double - syn keyword rBaseStatement complex single warnings which which.min which.max write write.table write.csv xor - syn keyword rBaseStatement zapsmall is.na c -endif - -" graphics functions -if exists("r_package_graphics") && r_package_graphics != 0 - syn keyword rGraphicsStatement abline arrows assocplot axis axTicks barplot barplot.default box boxplot - syn keyword rGraphicsStatement boxplot.default boxplot.formula boxplot.stats bxp chull contourLines contour - syn keyword rGraphicsStatement contour.default co.intervals panel.smooth coplot curve axis.POSIXct plot.POSIXct - syn keyword rGraphicsStatement plot.POSIXlt hist.POSIXt axis.Date plot.Date hist.Date dotchart filled.contour - syn keyword rGraphicsStatement fourfoldplot grid hist hist.default plot.histogram lines.histogram nclass.Sturges - syn keyword rGraphicsStatement nclass.scott nclass.FD identify identify.default image image.default lcm layout - syn keyword rGraphicsStatement layout.show legend lines lines.default locator matpoints matlines matplot mosaicplot - syn keyword rGraphicsStatement mosaicplot.default mosaicplot.formula mtext pairs pairs.formula pairs.default par - syn keyword rGraphicsStatement persp persp.default pie xy.coords plot plot.function plot.default plot.factor - syn keyword rGraphicsStatement plot.table plot.formula lines.formula points.formula plot.xy plot.new plot.window - syn keyword rGraphicsStatement plot.data.frame .newplot.hook plot.design points points.default polygon rect rug - syn keyword rGraphicsStatement .SSget .SSexists .SSassign split.screen screen erase.screen close.screen segments - syn keyword rGraphicsStatement stars stem stripchart strwidth strheight sunflowerplot symbols text text.default - syn keyword rGraphicsStatement title xinch yinch xyinch xyz.coords -endif - -" stats functions -if exists("r_package_stats") && r_package_stats != 0 - syn keyword rStatsStatement AIC AIC.logLik AIC.default ARMAacf ARMAtoMA C HoltWinters predict.HoltWinters - syn keyword rStatsStatement residuals.HoltWinters plot.HoltWinters print.HoltWinters decompose plot.decomposed.ts - syn keyword rStatsStatement KalmanLike KalmanRun KalmanForecast KalmanSmooth StructTS print.StructTS - syn keyword rStatsStatement predict.StructTS tsdiag.StructTS tsSmooth tsSmooth.StructTS TukeyHSD TukeyHSD.aov - syn keyword rStatsStatement print.TukeyHSD plot.TukeyHSD acf pacf pacf.default plot.acf ccf print.acf add.scope - syn keyword rStatsStatement drop.scope factor.scope step extractAIC extractAIC.coxph extractAIC.survreg - syn keyword rStatsStatement extractAIC.glm extractAIC.lm extractAIC.negbin addmargins aggregate aggregate.default - syn keyword rStatsStatement aggregate.data.frame aggregate.ts printCoefmat print.anova ansari.test - syn keyword rStatsStatement ansari.test.default ansari.test.formula aov print.aov summary.aov print.summary.aov - syn keyword rStatsStatement coef.aov alias alias.formula alias.lm print.aovlist summary.aovlist - syn keyword rStatsStatement print.summary.aovlist coef.listof se.contrast se.contrast.aov se.contrast.aovlist - syn keyword rStatsStatement approx approxfun findInterval ar ar.yw ar.yw.default print.ar predict.ar ar.burg - syn keyword rStatsStatement ar.burg.default ar.mle ar.ols arima print.Arima predict.Arima makeARIMA coef.Arima - syn keyword rStatsStatement vcov.Arima logLik.Arima tsdiag.Arima tsdiag ave bw.nrd bw.SJ bw.ucv bw.bcv - syn keyword rStatsStatement bartlett.test bartlett.test.default bartlett.test.formula binom.test biplot - syn keyword rStatsStatement biplot.default biplot.princomp biplot.prcomp qbirthday pbirthday cancor chisq.test - syn keyword rStatsStatement cmdscale complete.cases confint confint.lm confint.glm confint.nls confint.default - syn keyword rStatsStatement constrOptim contr.poly poly predict.poly makepredictcall.poly polym contrasts - syn keyword rStatsStatement contr.helmert contr.treatment contr.sum contr.SAS cor cov var cor.test - syn keyword rStatsStatement cor.test.default cor.test.formula cov.wt cpgram cutree as.dendrogram - syn keyword rStatsStatement as.dendrogram.hclust .memberDend .midDend midcache.dendrogram print.dendrogram - syn keyword rStatsStatement str.dendrogram plot.dendrogram plotNode plotNodeLimit cut.dendrogram is.leaf - syn keyword rStatsStatement order.dendrogram reorder reorder.dendrogram rev.dendrogram labels.dendrogram - syn keyword rStatsStatement dendrapply heatmap density plot.density print.density D deriv deriv.formula - syn keyword rStatsStatement deriv.default diffinv diffinv.vector diffinv.default diffinv.ts toeplitz dist - syn keyword rStatsStatement format.dist as.matrix.dist as.dist as.dist.default print.dist dexp pexp qexp rexp - syn keyword rStatsStatement dunif punif qunif runif dnorm pnorm qnorm rnorm dcauchy pcauchy qcauchy rcauchy - syn keyword rStatsStatement dgamma pgamma qgamma rgamma dlnorm plnorm qlnorm rlnorm dlogis plogis qlogis rlogis - syn keyword rStatsStatement dweibull pweibull qweibull rweibull dbeta pbeta qbeta rbeta dbinom pbinom qbinom - syn keyword rStatsStatement rbinom dmultinom rmultinom dchisq pchisq qchisq rchisq df pf qf rf dgeom pgeom qgeom - syn keyword rStatsStatement rgeom dhyper phyper qhyper rhyper dnbinom pnbinom qnbinom rnbinom dpois ppois qpois - syn keyword rStatsStatement rpois dt pt qt rt ptukey qtukey dwilcox pwilcox qwilcox rwilcox dsignrank psignrank - syn keyword rStatsStatement qsignrank rsignrank dummy.coef dummy.coef.lm dummy.coef.aovlist ecdf print.ecdf - syn keyword rStatsStatement summary.ecdf plot.ecdf embed expand.model.frame factanal factanal.fit.mle - syn keyword rStatsStatement print.loadings print.factanal varimax promax family print.family power make.link - syn keyword rStatsStatement poisson quasipoisson gaussian binomial quasibinomial Gamma inverse.gaussian quasi fft - syn keyword rStatsStatement mvfft nextn convolve filter fisher.test fivenum fligner.test fligner.test.default - syn keyword rStatsStatement fligner.test.formula friedman.test friedman.test.default friedman.test.formula ftable - syn keyword rStatsStatement ftable.default ftable.formula as.table.ftable write.ftable print.ftable read.ftable - syn keyword rStatsStatement glm glm.control glm.fit print.glm anova.glm anova.glmlist stat.anova summary.glm - syn keyword rStatsStatement print.summary.glm deviance.glm effects.glm family.glm residuals.glm model.frame.glm - syn keyword rStatsStatement weights.glm formula.glm hclust plot.hclust plclust as.hclust as.hclust.default - syn keyword rStatsStatement as.hclust.twins print.hclust cophenetic cophenetic.default cophenetic.dendrogram - syn keyword rStatsStatement print.htest rect.hclust identify.hclust integrate print.integrate interaction.plot - syn keyword rStatsStatement isoreg fitted.isoreg residuals.isoreg print.isoreg plot.isoreg kernel print.tskernel - syn keyword rStatsStatement plot.tskernel df.kernel bandwidth.kernel is.tskernel kernapply kernapply.vector - syn keyword rStatsStatement kernapply.default kernapply.ts kernapply.tskernel kmeans print.kmeans kruskal.test - syn keyword rStatsStatement kruskal.test.default kruskal.test.formula ks.test ksmooth lag lag.default lag.plot lm - syn keyword rStatsStatement lm.fit lm.wfit print.lm summary.lm print.summary.lm residuals.lm weights.default - syn keyword rStatsStatement deviance.lm formula.lm family.lm model.frame.lm variable.names.lm case.names.lm - syn keyword rStatsStatement anova.lm anova.lmlist predict.lm effects.lm model.matrix.lm predict.mlm labels.lm hat - syn keyword rStatsStatement weighted.residuals lm.influence influence influence.lm influence.glm hatvalues - syn keyword rStatsStatement hatvalues.lm rstandard rstandard.lm rstandard.glm rstudent rstudent.lm rstudent.glm - syn keyword rStatsStatement dffits dfbeta dfbeta.lm dfbetas dfbetas.lm covratio cooks.distance cooks.distance.lm - syn keyword rStatsStatement cooks.distance.glm influence.measures print.infl summary.infl loess loess.control - syn keyword rStatsStatement simpleLoess predict.loess predLoess pointwise print.loess summary.loess - syn keyword rStatsStatement print.summary.loess scatter.smooth loess.smooth anova.loess logLik print.logLik - syn keyword rStatsStatement str.logLik as.data.frame.logLik logLik.glm logLik.lm loglin lowess lsfit ls.diag - syn keyword rStatsStatement ls.print mad mahalanobis manova summary.manova print.summary.manova mantelhaen.test - syn keyword rStatsStatement mcnemar.test median medpolish print.medpolish plot.medpolish summary.mlm SSD estVar - syn keyword rStatsStatement SSD.mlm estVar.SSD estVar.mlm Tr proj.matrix Rank Thin.row Thin.col mauchley.test - syn keyword rStatsStatement mauchley.test.mlm mauchley.test.SSD sphericity anova.mlm Pillai Wilks HL Roy - syn keyword rStatsStatement anova.mlmlist deviance.mlm plot.mlm model.tables model.tables.aov se.aov - syn keyword rStatsStatement model.tables.aovlist se.aovlist make.tables.aovproj make.tables.aovprojlist - syn keyword rStatsStatement replications eff.aovlist model.frame.aovlist print.mtable formula formula.default - syn keyword rStatsStatement formula.formula formula.terms formula.data.frame print.formula as.formula terms - syn keyword rStatsStatement terms.default terms.terms print.terms labels.terms delete.response reformulate - syn keyword rStatsStatement drop.terms terms.formula coef coef.default residuals residuals.default deviance - syn keyword rStatsStatement deviance.default fitted fitted.default anova effects weights df.residual - syn keyword rStatsStatement df.residual.default variable.names variable.names.default case.names - syn keyword rStatsStatement case.names.default offset .checkMFClasses .MFclass model.frame model.frame.default - syn keyword rStatsStatement model.weights model.offset model.matrix model.matrix.default model.response - syn keyword rStatsStatement model.extract preplot update is.empty.model makepredictcall makepredictcall.default - syn keyword rStatsStatement .getXlevels monthplot monthplot.StructTS monthplot.stl monthplot.ts monthplot.default - syn keyword rStatsStatement mood.test mood.test.default mood.test.formula na.contiguous na.contiguous.default - syn keyword rStatsStatement na.pass na.action na.action.default na.fail na.fail.default na.omit na.omit.default - syn keyword rStatsStatement na.omit.data.frame na.exclude na.exclude.default na.exclude.data.frame naresid - syn keyword rStatsStatement naresid.default naresid.exclude naprint naprint.default naprint.exclude napredict - syn keyword rStatsStatement napredict.default napredict.exclude nlm optimize uniroot profiler profiler.nls - syn keyword rStatsStatement profile.nls plot.profile.nls numericDeriv nlsModel.plinear nlsModel nls.control nls - syn keyword rStatsStatement coef.nls print.nls summary.nls print.summary.nls coef.summary.nls weights.nls - syn keyword rStatsStatement predict.nls fitted.nls formula.nls residuals.nls logLik.nls df.residual.nls - syn keyword rStatsStatement deviance.nls vcov.nls anova.nls anovalist.nls asOneSidedFormula setNames clearNames - syn keyword rStatsStatement oneway.test optim p.adjust pairwise.t.test pairwise.wilcox.test pairwise.prop.test - syn keyword rStatsStatement pairwise.table print.pairwise.htest plot.lm power.t.test power.prop.test - syn keyword rStatsStatement print.power.htest power.anova.test ppoints ppr ppr.formula ppr.default print.ppr - syn keyword rStatsStatement summary.ppr print.summary.ppr plot.ppr predict.ppr prcomp prcomp.default - syn keyword rStatsStatement prcomp.formula plot.prcomp print.prcomp summary.prcomp print.summary.prcomp - syn keyword rStatsStatement predict.prcomp predict predict.default predict.glm predict.princomp summary.princomp - syn keyword rStatsStatement print.summary.princomp plot.princomp screeplot loadings princomp princomp.formula - syn keyword rStatsStatement princomp.default print.princomp profile proj proj.default proj.lm proj.aov - syn keyword rStatsStatement proj.aovlist terms.aovlist prop.test prop.trend.test qqnorm qqnorm.default qqline - syn keyword rStatsStatement qqplot quade.test quade.test.default quade.test.formula quantile quantile.default IQR - syn keyword rStatsStatement relevel relevel.default relevel.ordered relevel.factor reorder.factor reshape runmed - syn keyword rStatsStatement smoothEnds sd selfStart selfStart.default selfStart.formula getInitial - syn keyword rStatsStatement getInitial.formula getInitial.selfStart getInitial.default sortedXyData - syn keyword rStatsStatement sortedXyData.default NLSstClosestX NLSstClosestX.sortedXyData NLSstRtAsymptote - syn keyword rStatsStatement NLSstRtAsymptote.sortedXyData NLSstLfAsymptote NLSstLfAsymptote.sortedXyData - syn keyword rStatsStatement NLSstAsymptotic NLSstAsymptotic.sortedXyData shapiro.test smooth print.tukeysmooth - syn keyword rStatsStatement summary.tukeysmooth smooth.spline print.smooth.spline predict.smooth.spline - syn keyword rStatsStatement predict.smooth.spline.fit supsmu spectrum spec.taper spec.ar spec.pgram plot.spec - syn keyword rStatsStatement plot.spec.coherency plot.spec.phase spline splinefun stepfun is.stepfun as.stepfun - syn keyword rStatsStatement as.stepfun.default knots knots.stepfun print.stepfun summary.stepfun plot.stepfun - syn keyword rStatsStatement lines.stepfun as.stepfun.isoreg stl print.stl summary.stl plot.stl symnum t.test - syn keyword rStatsStatement t.test.default t.test.formula termplot Box.test PP.test start end frequency time - syn keyword rStatsStatement window cycle deltat ts tsp hasTsp is.ts as.ts as.ts.default .cbind.ts .makeNamesTs - syn keyword rStatsStatement Ops.ts cbind.ts ts.union ts.intersect diff.ts na.omit.ts is.mts start.default - syn keyword rStatsStatement end.default frequency.default deltat.default time.default time.ts cycle.default - syn keyword rStatsStatement cycle.ts print.ts plot.ts lines.ts window.default window.ts t.ts ts.plot arima.sim - syn keyword rStatsStatement line update.default update.formula var.test var.test.default var.test.formula vcov - syn keyword rStatsStatement vcov.glm vcov.lm vcov.mlm vcov.gls vcov.lme weighted.mean wilcox.test - syn keyword rStatsStatement wilcox.test.default wilcox.test.formula xtabs print.xtabs SSasymp SSgompertz - syn keyword rStatsStatement SSweibull .onLoad .onUnload -endif - -" tools functions -if exists("r_package_tools") && r_package_tools != 0 - syn keyword rToolsStatement undoc print.undoc codoc print.codoc codocClasses print.codocClasses codocData - syn keyword rToolsStatement print.codocData checkDocFiles print.checkDocFiles checkDocStyle print.checkDocStyle - syn keyword rToolsStatement checkFF print.checkFF checkReplaceFuns print.checkReplaceFuns checkTnF print.checkTnF - syn keyword rToolsStatement as.alist.call as.alist.symbol Rdinfo Rdcontents Rdindex checkVignettes - syn keyword rToolsStatement print.checkVignettes pkgVignettes buildVignettes vignetteMetaRE vignetteInfo - syn keyword rToolsStatement .writeVignetteHtmlIndex vignetteDepends getVigDepMtrx makeLazyLoadDB makeLazyLoading - syn keyword rToolsStatement package.dependencies pkgDepends getDepList isSatisfied buildDepList getDepMtrx - syn keyword rToolsStatement getRemotePkgDepends installedDepends foundDepends compareDependsPkgVersion - syn keyword rToolsStatement reduceDepends depMtrxToStrings installFoundDepends filePathAsAbsolute filePathSansExt - syn keyword rToolsStatement fileTest listFilesWithExts listFilesWithType delimMatch .OStype xgettext - syn keyword rToolsStatement print.xgettext print.xngettext xngettext .onUnload -endif - -" methods functions -if exists("r_package_methods") && r_package_methods != 0 - syn keyword rMethodsStatement .InitBasicClassMethods .BasicFunsList .addBasicGeneric genericForPrimitive - syn keyword rMethodsStatement setGenericForPrimitive .findBasicFuns .InitExtensions .simpleExtCoerce - syn keyword rMethodsStatement .simpleIsCoerce .simpleExtTest .simpleExtReplace .InhSlotNames .dataPartReplace - syn keyword rMethodsStatement .ErrorReplace .objectSlotNames makeExtends .findAll .InitClassUnion setClassUnion - syn keyword rMethodsStatement isClassUnion setGeneric isGeneric removeGeneric getMethods getMethodsForDispatch - syn keyword rMethodsStatement .setIfBase .getMethodsForDispatch .setMethodsForDispatch cacheMethod setMethod - syn keyword rMethodsStatement removeMethod findMethod getMethod dumpMethod selectMethod hasMethod existsMethod - syn keyword rMethodsStatement dumpMethods signature showMethods removeMethodsObject removeMethods resetGeneric - syn keyword rMethodsStatement setReplaceMethod setGroupGeneric isGroup callGeneric initMethodDispatch - syn keyword rMethodsStatement isSealedMethod .lockedForMethods MethodsList makeMethodsList SignatureMethod - syn keyword rMethodsStatement insertMethod MethodsListSelect emptyMethodsList insertMethodInEmptyList - syn keyword rMethodsStatement finalDefaultMethod inheritedSubMethodLists matchSignature showMlist promptMethods - syn keyword rMethodsStatement linearizeMlist print.MethodsList listFromMlist .insertCachedMethods .addMethodFrom - syn keyword rMethodsStatement asMethodDefinition .InitMethodsListClass .InitMethodDefinitions .MakeSignature - syn keyword rMethodsStatement .findNextMethod .hasCallNextMethod callNextMethod loadMethod .doSubNextCall - syn keyword rMethodsStatement testVirtual makePrototypeFromClassDef newEmptyObject completeClassDefinition - syn keyword rMethodsStatement .completeClassSlots .uncompleteClassDefinition .isIndirectExtension .mergeSlots - syn keyword rMethodsStatement getAllSuperClasses superClassDepth isVirtualClass assignClassDef .InitClassDefinition - syn keyword rMethodsStatement .initClassSupport newBasic defaultPrototype reconcilePropertiesAndPrototype tryNew - syn keyword rMethodsStatement empty.dump isClassDef showClass showExtends print.classRepresentation possibleExtends - syn keyword rMethodsStatement .possibleExtends completeExtends completeSubclasses .walkClassGraph classMetaName - syn keyword rMethodsStatement methodsPackageMetaName requireMethods .missingMethod getSlots validSlotNames - syn keyword rMethodsStatement getDataPart setDataPart .validDataPartClass .mergeAttrs .newExternalptr - syn keyword rMethodsStatement .transitiveExtends .transitiveSubclasses .combineExtends .simpleCoerceExpr - syn keyword rMethodsStatement .simpleReplaceExpr newClassRepresentation .tempClassDef .newClassRepresentation - syn keyword rMethodsStatement .insertExpr substituteFunctionArgs .makeValidityMethod .mergeClassDefSlots - syn keyword rMethodsStatement ..mergeClassDefSlots .gblEnv ..isPrototype .isPrototype .className .requirePackage - syn keyword rMethodsStatement ..requirePackage .classDefEnv .asEnvironmentPackage .classEnv ..classEnv .genEnv - syn keyword rMethodsStatement .makeGeneric makeGeneric makeStandardGeneric generic.skeleton defaultDumpName - syn keyword rMethodsStatement getAllMethods mergeMethods doPrimitiveMethod conformMethod rematchDefinition - syn keyword rMethodsStatement unRematchDefinition getGeneric .getGeneric getGroup getMethodsMetaData - syn keyword rMethodsStatement assignMethodsMetaData mlistMetaName getGenerics .getGenerics cacheMetaData - syn keyword rMethodsStatement cacheGenericsMetaData setPrimitiveMethods findUnique MethodAddCoerce missingArg - syn keyword rMethodsStatement balanceMethodsList sigToEnv .methodSignatureMatrix .valueClassTest - syn keyword rMethodsStatement .getOrMakeMethodsList .makeCallString .ValidateValueClass .asGroupArgument - syn keyword rMethodsStatement metaNameUndo .recursiveCallTest .NonstandardGenericTest .GenericInPrimitiveMethods - syn keyword rMethodsStatement .signatureString .ChangeFormals .envSearch .genericName .genericEnv - syn keyword rMethodsStatement .externalCallerEnv .parentEnvList .genericAssign .derivedDefaultMethod .identC - syn keyword rMethodsStatement .matchBasic matchDefaults getGroupMembers deletePrimMethods setClass representation - syn keyword rMethodsStatement prototype .prototype makeClassRepresentation getClassDef getClass slot - syn keyword rMethodsStatement checkSlotAssignment slotNames .slotNames removeClass isClass new getClasses - syn keyword rMethodsStatement validObject setValidity resetClass initialize findClass isSealedClass sealClass - syn keyword rMethodsStatement sessionData traceOn traceOff browseAll functionBody .ff allNames getFunction el - syn keyword rMethodsStatement elNamed formalArgs findFunction existsFunction Quote .message hasArg as - syn keyword rMethodsStatement .quickCoerceSelect .asFromReplace setAs .setCoerceGeneric .basicCoerceMethod - syn keyword rMethodsStatement .makeAsMethod .removePreviousCoerce is extends setIs .validExtends languageEl - syn keyword rMethodsStatement isGrammarSymbol .makeBasicFuns .InitSubsetMethods setOldClass .oldTestFun - syn keyword rMethodsStatement .oldCoerceFun .oldReplaceFun .setOldIs getPackageName setPackageName packageSlot - syn keyword rMethodsStatement .makeCallString showDefault show .InitShowMethods classLabel substituteDirect - syn keyword rMethodsStatement .TraceWithMethods .makeTracedFunction .untracedFunction .InitTraceFunctions - syn keyword rMethodsStatement .doTracePrint .traceClassName trySilent .assignOverBinding .setMethodOverBinding - syn keyword rMethodsStatement .searchNamespaceNames .findFunEnvAndName ..First.lib .onLoad .onUnload .onAttach - syn keyword rMethodsStatement .Last.lib .Last.lib -endif - -" utils functions -if exists("r_package_utils") && r_package_utils != 0 - syn keyword rUtilsStatement RSiteSearch Rprof Sweave SweaveReadFile SweaveGetSyntax SweaveSyntConv - syn keyword rUtilsStatement SweaveParseOptions SweaveHooks RweaveLatex RweaveLatexSetup RweaveLatexRuncode - syn keyword rUtilsStatement RweaveLatexWritedoc RweaveLatexFinish RweaveLatexOptions RweaveChunkPrefix - syn keyword rUtilsStatement RweaveEvalWithOpt RweaveTryStop Stangle Rtangle RtangleSetup RtangleRuncode - syn keyword rUtilsStatement RtangleWritedoc RtangleFinish alarm apropos find citEntry citHeader citFooter - syn keyword rUtilsStatement readCitationFile print.citation print.citationList person as.person as.person.default - syn keyword rUtilsStatement personList as.personList as.personList.person as.personList.default - syn keyword rUtilsStatement as.character.person as.character.personList toBibtex.person toBibtex.personList - syn keyword rUtilsStatement toBibtex.citation toBibtex.citationList citation data browseEnv wsbrowser de.ncols - syn keyword rUtilsStatement de.setup de.restore de data.entry dump.frames debugger limitedLabels recover demo - syn keyword rUtilsStatement dataentry edit edit.default edit.data.frame edit.matrix file.edit vi emacs xemacs - syn keyword rUtilsStatement xedit pico example head head.default head.data.frame head.function tail tail.default - syn keyword rUtilsStatement tail.data.frame tail.matrix tail.function help help.search print.hsearch - syn keyword rUtilsStatement printhsearchInternal loadhistory savehistory history iconv iconvlist localeToCharset - syn keyword rUtilsStatement packageDescription print.packageDescription index.search print.packageIQR menu - syn keyword rUtilsStatement getCRANmirrors checkCRAN object.size findGeneric methods print.MethodsFunction - syn keyword rUtilsStatement getFromNamespace assignInNamespace fixInNamespace getAnywhere print.getAnywhere - syn keyword rUtilsStatement package.skeleton packageStatus summary.packageStatus print.packageStatus - syn keyword rUtilsStatement update.packageStatus upgrade upgrade.packageStatus available.packages CRAN.packages - syn keyword rUtilsStatement simplifyRepos update.packages old.packages new.packages installed.packages - syn keyword rUtilsStatement remove.packages download.packages contrib.url chooseCRANmirror setRepositories - syn keyword rUtilsStatement normalizePath compareVersion install.packages page prompt prompt.default - syn keyword rUtilsStatement prompt.data.frame promptData topicName .helpForCall .tryHelp read.fortran read.fwf - syn keyword rUtilsStatement url.show sessionInfo print.sessionInfo toLatex.sessionInfo print.socket make.socket - syn keyword rUtilsStatement close.socket read.socket write.socket str str.data.frame str.default ls.str lsf.str - syn keyword rUtilsStatement summaryRprof toBibtex print.Bibtex toLatex print.Latex bug.report download.file nsl - syn keyword rUtilsStatement help.start browseURL make.packages.html link.html.help package.contents vignette - syn keyword rUtilsStatement print.vignette edit.vignette select.list flush.console -endif - -" Special -syn match rDelimiter /[,;:]/ - -" Error -syn region rParenRegion matchgroup=rParenDelimiter start=/(/ end=/)/ transparent contains=ALLBUT,rError,rBraceError,rCurlyError -syn region rCurlyRegion matchgroup=rCurlyDelimiter start=/{/ end=/}/ transparent contains=ALLBUT,rError,rBraceError,rParenError fold -syn region rBraceRegion matchgroup=rBraceDelimiter start=/\[/ end=/]/ transparent contains=ALLBUT,rError,rCurlyError,rParenError -syn match rError /[)\]}]/ -syn match rBraceError /[)}]/ contained -syn match rCurlyError /[)\]]/ contained -syn match rParenError /[\]}]/ contained - -" Define the default highlighting. -" For version 5.7 and earlier: only when not done already -" For version 5.8 and later: only when an item doesn't have highlighting yet -if version >= 508 || !exists("did_r_syn_inits") - if version < 508 - let did_r_syn_inits = 1 - command -nargs=+ HiLink hi link <args> - else - command -nargs=+ HiLink hi def link <args> - endif - HiLink rComment Comment - HiLink rConstant Constant - HiLink rString String - HiLink rNumber Number - HiLink rBoolean Boolean - HiLink rFloat Float - HiLink rStatement Statement - HiLink rBaseStatement Statement - HiLink rStatsStatement Statement - HiLink rGraphicsStatement Statement - HiLink rToolsStatement Statement - HiLink rMethodsStatement Statement - HiLink rUtilsStatement Statement - HiLink rPrimitiveStatement Statement - HiLink rConditional Conditional - HiLink rRepeat Repeat - HiLink rIdentifier Identifier - HiLink rFunction Function - HiLink rArrow Statement - HiLink rType Type - HiLink rDelimiter Delimiter - HiLink rStringDelimiter Delimiter - HiLink rParenDelimiter Delimiter - HiLink rCurlyDelimiter Delimiter - HiLink rBraceDelimiter Delimiter - HiLink rError Error - HiLink rParenError Error - HiLink rCurlyError Error - HiLink rBraceError Error - delcommand HiLink -endif - -let b:current_syntax="r" -" vim: ts=8 sw=2 diff --git a/.vim/syntax/tex.vim b/.vim/syntax/tex.vim deleted file mode 100644 index 675a390..0000000 --- a/.vim/syntax/tex.vim +++ /dev/null @@ -1 +0,0 @@ -set textwidth=80 |