From 64f9edf4881d69081c4458bbb2ae73ae20a40e87 Mon Sep 17 00:00:00 2001 From: ADAM David Alan Martin Date: Sun, 26 Jan 2014 15:31:58 -0500 Subject: [PATCH] Initial import of the vim bits from classic. --- vim/vimrc | 24 ++++++++++++++++++++ vim/vimrc.colors | 21 +++++++++++++++++ vim/vimrc.defkeymaps | 38 +++++++++++++++++++++++++++++++ vim/vimrc.fileprefs | 27 ++++++++++++++++++++++ vim/vimrc.functions | 17 ++++++++++++++ vim/vimrc.globalprefs | 43 +++++++++++++++++++++++++++++++++++ vim/vimrc.keymaps | 10 +++++++++ vim/vimrc.statusline | 51 ++++++++++++++++++++++++++++++++++++++++++ vim/vimrc.syntaxcolors | 24 ++++++++++++++++++++ 9 files changed, 255 insertions(+) create mode 100644 vim/vimrc create mode 100644 vim/vimrc.colors create mode 100644 vim/vimrc.defkeymaps create mode 100644 vim/vimrc.fileprefs create mode 100644 vim/vimrc.functions create mode 100644 vim/vimrc.globalprefs create mode 100644 vim/vimrc.keymaps create mode 100644 vim/vimrc.statusline create mode 100644 vim/vimrc.syntaxcolors diff --git a/vim/vimrc b/vim/vimrc new file mode 100644 index 0000000..ed5c683 --- /dev/null +++ b/vim/vimrc @@ -0,0 +1,24 @@ +"ADAM David Alan Martin's updated vimrc +"source ~/.vim/default.vim + +"setf oopcpp + +source ~/.vim/vimrc.colors + +source ~/.vim/vimrc.globalprefs + + +source ~/.vim/vimrc.defkeymaps + + +source ~/.vim/vimrc.keymaps + +source ~/.vim/vimrc.functions + +source ~/.vim/vimrc.fileprefs +source ~/.vim/vimrc.syntaxcolors +source ~/.vim/vimrc.statusline + +"compiler msvc +"set makeprg=wmake +"set errorformat=\ %#%f(%l\\\,%c):\ %m diff --git a/vim/vimrc.colors b/vim/vimrc.colors new file mode 100644 index 0000000..0e42093 --- /dev/null +++ b/vim/vimrc.colors @@ -0,0 +1,21 @@ +" Vim status line colors +" hi User0 ctermfg=black ctermbg=white cterm=bold +" hi User1 ctermfg=red ctermbg=white cterm=bold +" hi User2 ctermfg=darkmagenta ctermbg=white cterm=bold +" hi User3 ctermfg=blue ctermbg=white cterm=bold +" hi User4 ctermfg=cyan ctermbg=white cterm=bold +" hi User5 ctermfg=darkyellow ctermbg=white cterm=bold +" hi User6 ctermfg=darkgreen ctermbg=white cterm=bold +" hi User8 ctermfg=magenta ctermbg=black cterm=bold +" hi User9 ctermfg=white ctermbg=black cterm=bold + +"hi User0 ctermfg=green ctermbg=green term=bold +hi statusline ctermfg=lightgrey ctermbg=black +hi User1 ctermfg=red ctermbg=white term=standout +hi User2 ctermfg=darkmagenta ctermbg=white term=standout +hi User3 ctermfg=blue ctermbg=white term=standout +hi User4 ctermfg=cyan ctermbg=white term=standout +hi User5 ctermfg=brown ctermbg=white term=standout +hi User6 ctermfg=darkgreen ctermbg=white term=standout +hi User8 ctermfg=magenta ctermbg=black term=bold +hi User9 ctermfg=white ctermbg=black term=bold diff --git a/vim/vimrc.defkeymaps b/vim/vimrc.defkeymaps new file mode 100644 index 0000000..d167eb2 --- /dev/null +++ b/vim/vimrc.defkeymaps @@ -0,0 +1,38 @@ +" Key Mappings +map +map + +" "insert" +map [2~ i +map [2~ + +" "home" +map [1~ ^ +map [1~ 0 +map [1~ + +" "pgup" +map [5~ +map [5~ + +" "delete" +map [3~ x +map [3~ +" "end" +map [4~ $ +map [4~ + +" "pgdn" +map [6~ +map [6~ + +" "UP", "Down", "LEFT", and "RIGHT" arrow keys +map [A +map [B +map [C +map [D + +imap [A +imap [B +imap [C +imap [D diff --git a/vim/vimrc.fileprefs b/vim/vimrc.fileprefs new file mode 100644 index 0000000..ee03f5d --- /dev/null +++ b/vim/vimrc.fileprefs @@ -0,0 +1,27 @@ +"au BufNewFile,BufRead *.i,*.l setf c +au BufNewFile,BufRead mk* setf make +"au BufNewFile,BufRead *.slogo setf c +au BufNewFile,BufRead *.tex map _ {!}fmt -p -s -w 70 +au BufNewFile,BufRead *.tex set textwidth=78 +au BufNewFile,BufRead *.java set tabstop=4 +au BufNewFile,BufRead *.java set shiftwidth=4 +au BufNewFile,BufRead *.cpp,*.hpp,*.cc,*.h setf cpp + +" Alephaish +au BufNewFile,BufRead *.cpp,*.hpp,*.cc,*.h set sw=4 +au BufNewFile,BufRead *.cpp,*.hpp,*.cc,*.h set ts=4 +au BufNewFile,BufRead *.cpp,*.hpp,*.cc,*.h set noet + +au BufNewFile,BufRead */cshenv/tcshrc.* setf tcsh + +" falcish +"au BufNewFile,BufRead *.cpp,*.hpp,*.cc,*.h set ts=3 +"au BufNewFile,BufRead *.cpp,*.hpp,*.cc,*.h set sts=3 +"au BufNewFile,BufRead *.cpp,*.hpp,*.cc,*.h set sw=3 +"au BufNewFile,BufRead *.cpp,*.hpp,*.cc,*.h set et + +au FileType * setlocal formatoptions=tcq + +if has("syntax") + syntax on +endif diff --git a/vim/vimrc.functions b/vim/vimrc.functions new file mode 100644 index 0000000..54c1329 --- /dev/null +++ b/vim/vimrc.functions @@ -0,0 +1,17 @@ +function! MyFoldText() + + " This function attempts to fetch out a definition line + " for correct foldtext + + let line = getline( v:foldstart ) + let typeline = getline( 1 + v:foldstart ) + let defline = " ".getline( 2 + v:foldstart )." {".typeline."} " + let sub = substitute( line, '/\*\|\*/\|{{{\d\=', '', 'g' ) + let nm= substitute( sub, ' *\| *', '', 'g' ) + + if ( nm == "func" ) + return v:folddashes . defline + else + return v:folddashes . sub + endif +endfunction diff --git a/vim/vimrc.globalprefs b/vim/vimrc.globalprefs new file mode 100644 index 0000000..392ba26 --- /dev/null +++ b/vim/vimrc.globalprefs @@ -0,0 +1,43 @@ +"Color settings +set background=dark + +"Smart indentation settings +set noautoindent +set nosmartindent +set nocindent +set indentexpr= + +"Global editor settings +set tabstop=4 +set shiftwidth=4 +set sts=4 +set sta +set expandtab +set showmatch +let loaded_matchparen= 1 +set textwidth=200 + +"Environment look-and-feel settings +set showmode +set statusline=%1*[%02n]%8*Pos:\ %4*%3l/%3L%8*,\ %2*%c%2V%8*\ %5*@%8*\ %6*%P\ %8*File:\ %3*%-08.24f%8*%=%4*%(\ (%M%R%H)%)%=%9*\ASCII=%03b\ HEX=%02B%8* +set laststatus=2 + +"set ruler + + +set path=.,$VIM_PATH,, +set foldmethod=marker +set foldtext=MyFoldText() +set nohlsearch + +set mouse=a + +set modeline +set modelines=16 + +"Wildcard expansion menu from command-colon line +set wildmenu + +if &term =~ "rxvt" + set t_Co=16 +endif diff --git a/vim/vimrc.keymaps b/vim/vimrc.keymaps new file mode 100644 index 0000000..0092843 --- /dev/null +++ b/vim/vimrc.keymaps @@ -0,0 +1,10 @@ +"Adam Keymaps +map _ {!}fmt -p -s -w 78 + +map - ddkP +map + ddp + +"Properly map Y to yank to end of line, instead of yank line. +map Y y$ + +map zz zM diff --git a/vim/vimrc.statusline b/vim/vimrc.statusline new file mode 100644 index 0000000..1ef5ddf --- /dev/null +++ b/vim/vimrc.statusline @@ -0,0 +1,51 @@ +function! GetYearGlyph() + " TODO Write a full parser which adjusts for some "second centry" + " point generates: + " 00 - 09 as \`0 - \`9 + " 10 - 19 as \'0 - \'9 + " 20 - 29 as \"0 - \"9 + " 30 - 39 as \^0 - \^9 + " 40 - 49 as \~0 - \~9 + " 50 - 59 as \*0 - \*9 + " return %{strftime('%y')}[1] + + let year= strftime('%Y') + let decade= year / 10 % 10 + let glyph= + \ ( year % 1000 ) > 100 ? decade : + \ decade == 0 ? "`" : + \ decade == 1 ? "'" : + \ decade == 2 ? '"' : + \ decade == 3 ? "^" : + \ decade == 4 ? "~" : + \ decade == 4 ? "~" : + \ decade == 5 ? "+" : + \ decade == 6 ? "*" : + \ decade == 7 ? "/" : + \ decade == 7 ? "%" : + \ decade == 7 ? "&" : + \ "?" + + let year= year % 10 + + return glyph . year +endfunction + +" This is a rebuild of the original vim status line. I'll put the original +" one here from globalprefs. We also have to get vim to reset its environment +" when I start. + + +set statusline= " reset the status line, for ADAM's colorful status line +set statusline+=%1*[%02.03n]%0* " max/min for buf #, in [] +set statusline+=Pos:\ %4*%3l/%3L%0* " Pos: '.'/'$', +set statusline+=\ %2*%c%2V%0* " Column # and tab detect +set statusline+=\ %5*@%0* " Colored @ for percent +set statusline+=\ %6*%P%0* " Percent thru file +set statusline+=\ File:\ %3*%<%-f%0* " File: Path left trim and align +set statusline+=%4*%(\ (%M%R%H)%)%0* " File editing mode (+/-,RO,HLP) +set statusline+=%= " Divider between left & right align +set statusline+=\ %9*X=%02B " Current char byte val in hex + +"Lastly put the time in classic Magenta, like my TCSH prompt: +set statusline+=\ %8*%{GetYearGlyph()}-%{strftime('%m-%d\ %H:%M')} diff --git a/vim/vimrc.syntaxcolors b/vim/vimrc.syntaxcolors new file mode 100644 index 0000000..1e8cb3c --- /dev/null +++ b/vim/vimrc.syntaxcolors @@ -0,0 +1,24 @@ +"hi PreProc ctermfg=green +hi Comment ctermfg=darkgrey cterm=bold +hi Identifier ctermfg=cyan +hi Object ctermfg=red +hi Exception ctermfg=brown +hi Error ctermbg=red ctermfg=white cterm=bold +hi Caller ctermfg=cyan +hi Target ctermfg=green ctermbg=red +hi Sync ctermfg=green ctermbg=red +hi Debug ctermfg=darkgreen +hi Type ctermfg=lightgreen +hi CommentSpecial ctermfg=Magenta guifg=Magenta +hi SpecialComment ctermfg=Magenta guifg=Magenta +hi doxygenSpecial ctermfg=Magenta guifg=Magenta +hi doxygenCommentSpecial ctermfg=Magenta guifg=Magenta +hi doxygenBriefSpecial ctermfg=Magenta guifg=Magenta +hi doxygenBrief ctermfg=cyan +hi doxygenComment ctermfg=Blue guifg=Blue +"hi doxygenSpecialTypeOnelineDesc cterm=bold ctermfg=LightMagenta guifg=firebrick3 gui=bold +"hi doxygenParam ctermfg=cyan +"hi doxygenOther ctermfg=cyan +hi doxygenBody ctermfg=cyan +hi doxygenSpecialMultilineDesc ctermfg=cyan +hi NamedConstant ctermfg=lightblue