User since: |
Aug 06, 2002 at 21:57 UTC
(22 years ago) |
Last here: |
Aug 05, 2014 at 13:47 UTC
(10 years ago) |
Experience: |
571
|
Level: | Monk (7) |
Writeups: |
68
|
Location: | Oregon | User Button: | |
User's localtime: |
Dec 13, 2024 at 17:50 PST
|
Scratchpad: |
View
|
For this user: | Search nodes |
|
Bio
I have quite a bit of experince with php, c++, java, and a multitude of other languages. Currently my summer job requires me to do some work in perl, and that's why I'm here.
I speak geek fairly fluently, along with user (very fluently thanks to my parents.) I'm always willing to learn something new.
Quotes
People are much easier to kill before they've had their coffee.
Tune fur sleep
Laugh O' Minute Links
Ford Testifies to Stop Ride Sharing
God vs Perl Gods
99.9% of Highschool Seniors Can't Read Perl
Student Suspended Over Suspected Use of PHP
Linux Kernel Delayed By Microsoft's Army of Evil Monkeys (Read Microsoft Purchases Evil From Satan first)
Microsoft Purchases Evil From Satan
God Angrily Clarifies 'Don't Kill' Rule
Jesus' Email Campaign Fails
Other Stuff
Stats
Old Rank: | Old Date: | New Date: |
1) | Initiate: | 08/06/2002 | ??? |
2) | Novice: | 08/07/2002 | ??? |
3) | Acolyte: | 08/10/2002 | ??? |
4) | Scribe: | 08/15/2002 | ??? |
5) | Monk: |
08/31/2002
| 8/7/2007 |
6) | Friar: |
10/16/2004
| Not there Yet |
7) | Abbot: |
Not there Yet
| Not there Yet |
8) | Bishop: |
Not there Yet
| Not there Yet |
9) | Pontiff: |
Not there Yet
| Not there Yet |
10) | Saint: |
Not there Yet
| Not there Yet |
<image height=350 width=800 src="http://tinymicros.com/pm/index.php?goto=PlotChartImage_VH&nodeid=188181">
My Useful VIM Stuff |
File: $VIM/_vimrc |
"*****************************************************************
" Title : .vimrc
" Date : 1/9/2001
" Version : 2.0
"
" History :
" 1/9/2001 - Added header comment.
" 1/9/2001 - Made backspace= line use vim 5.4 and earlier syntax
" 1/9/2001 - Set noexpandtab when editing makefiles
" 1/15/2001 - Correctly set expandtab when leaving makefiles
"******************************************************************
"** Turn syntax highlighting on (must be after terminfo stuff above)
syntax on
set ff=unix
"** Attempt to use 16 color terminal **
if has("terminfo")
set t_Co=16
set t_AB=^[[%?%p1%{8}%<%t%p1%{40}%+%e%p1%{92}%+%;%dm
set t_AF=^[[%?%p1%{8}%<%t%p1%{30}%+%e%p1%{82}%+%;%dm
else
set t_Co=16
set t_AB=^[[3%dm
set t_AF=^[[4%dm
endif
"** Make the color used for comments readable on a black background
"highlight Comment ctermfg=Cyan
highlight Comment ctermfg=Cyan
"** Turn on line numbers in status bar
set ruler
"** Tell vim to set the title on xterms (needed for imwheel to detect vim)
set title
"** Tabstops should be two spaces, expand by default
set tabstop=4
set shiftwidth=4
set noexpandtab
"** Don't do "C" smart indenting by default, but do auto indent.
set nocindent
set si
set autoindent
"** Allow backspacing before start of indent, back around eol, etc
set backspace=2
"** More generous tags file location
set tags=./tags,tags,../tags
if !exists("autocommands_loaded")
let autocommands_loaded=1
"** C/C++
autocmd BufNewFile,BufRead *.c,*.cpp,*.C,*.cxx,*.h set cindent
autocmd BufLeave *.c,*.cpp,*.C,*.cxx,*.h set nocindent
"** Perl
autocmd BufNewFile,BufRead *.pl,*.pm set cindent
autocmd BufLeave *.pl,*.pm set nocindent
endif
if has('syntax')
let perl_include_pod=1
let java_highlight_java_lang_ids=1
let java_highlight_debug=1
let java_allow_cpp_keywords=1
let is_bash=1
syntax on
if v:version >= 600
filetype plugin indent on
endif
endif
let g:initals="KIN"
let g:myname="Scott Atkins"
let g:email1="kin@cypress.com"
let g:email2=""
let g:email3=""
" load my personal settings
so $VIM/kin/personal.vim
|
$VIM/kin/personal.vim |
"########################################
" File - personal.vim
" Author - Scott Atkins
" Date - Wednesday, September 11, 2002
" E-Mail - kin@cypress.com
"
"
" Description - VIM Personal Settings File
"########################################
" load tab complete
so $VIM/kin/tabcomplete.vim
" load new windows file
so $VIM/kin/mswin2.vim
" load comments
so $VIM/kin/comments.vim
" load matchMe
so $VIM/kin/matchMe.vim
" Set colors
colors murphy
" Other config options
" set vim to wrap the cursor
" at the end of a line (in
" insert mode)
set whichwrap=>,<,b,s,h,l,~,[,]
" No more hit enter to continue
set shortmess=a
" 1 line command line
set cmdheight=1
" Set line numbering, visual bell
" and other such options
set nu
set vb
set esckeys
set showcmd
set sm
set mousehide
set guioptions+=a
" Set PHP to c++ syntax
if !exists("autocommands_loaded")
let autocommands_loaded=1
"** Php
autocmd BufNewFile,BufRead *.php,*.php4 set cindent
autocmd BufLeave *.php,*.php4 set nocindent
endif
" Windows Help
if has("win32")
let winhelpfile='windows.hlp'
map K :execute "!start winhlp32 -k <cword> " . winhelpfile
endif
if has("gui_running")
" If the current buffer has never been saved, it will have no name,
" call the file browser to save it, otherwise just save it.
:map <silent> <C-S> :if expand("%") == ""<CR>:browse confirm w<CR>:else<CR>:confirm w<CR>:endif<CR>
endif
imap <c-s> <c-o><c-s><cr>
map <F2> ma][%0"xy$`a:echo @x<cr>
imap <F2> <esc>ma][%0"xy$`ai<c-o>:echo @x<cr>
" make up and down work correctly
imap <silent> <Down> <C-o>gj
imap <silent> <Up> <C-o>gk
nmap <silent> <Down> gj
nmap <silent> <Up> gk
" Status Bar
function VarSet(var,ret1,ret2)
if a:var != ''
return a:ret1
else
return a:ret2
endif
endfunction
function FileInfo()
return CompVar().VarSet(&ft,'['.&ft.'-','[').&ff.'] '
endfunction
set ls=2
set statusline=%<%f%h%m%r%=%b\ 0x%B\ %{FileInfo()}%l,%c%V\ %P
hi StatusLine term=bold cterm=bold ctermfg=lightblue guifg=lightblue gui=none guibg=#333333
hi StatusLineNC term=NONE cterm=NONE ctermfg=Black guifg=#666666 gui=None guibg=#333333
" Set the window size
" win 100 45
" wrap at word
set lbr!
" fullscreen
" au GUIEnter * simalt ~x
nmap ,s :so $VIM/_vimrc<cr>
nmap ,v :e $VIM/_vimrc<cr>
" Escape Toggle
map <esc> :startinsert<cr>
" Start in insert mode
:startinsert
|
$VIM/kin/tabcomplete.vim |
"########################################
" File - tabcomplete.vim
" Author - Scott Atkins
" Date - Monday, August 05, 2002
" E-Mail - kin@cypress.com
"
"
" Description - fixes small things
" with vim such as using
" tab to complete words
" starting in insert mode
" and escape switches
" modes. Plus there are
" file headers and comment
" functions for most file
" types.
"########################################
" This code is from vim.org in the tips
" section.
function! InsertTabWrapper(direction)
let col = col('.') - 1
if !col || getline('.')[col - 1] !~ '\k'
return "\<tab>"
elseif "backward" == a:direction
return "\<c-p>"
else
return "\<c-n>"
endif
endfunction
" Bind the tab-complete
inoremap <tab> <c-r>=InsertTabWrapper ("forward")<cr>
inoremap <s-tab> <c-r>=InsertTabWrapper ("backward")<cr>
|
$VIM/kin/mswin2.vim |
" Set options and add mapping such that Vim behaves a lot like MS-Windows
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last change: 2002 Mar 05
" set the 'cpoptions' to its Vim default
if 1 " only do this when compiled with expression evaluation
let s:save_cpo = &cpoptions
endif
set cpo&vim
" backspace in Visual mode deletes selection
vnoremap <BS> d
" CTRL-X and SHIFT-Del are Cut
vnoremap <C-X> "+x
" CTRL-C and CTRL-Insert are Copy
vnoremap <C-C> "+y
" CTRL-V and SHIFT-Insert are Paste
map <C-V> "+gP
cmap <C-V> <C-R>+
imap <C-V> <ESC><C-V><ESC>
" Use CTRL-Q to do what CTRL-V used to do
noremap <C-Q> <C-V>
" CTRL-Z is Undo; not in cmdline though
noremap <C-Z> u
inoremap <C-Z> <C-O>u
" CTRL-Y is Redo (although not repeat); not in cmdline though
noremap <C-Y> <C-R>
inoremap <C-Y> <C-O><C-R>
" CTRL-A is Select all
noremap <C-A> gggH<C-O>G
inoremap <C-A> <C-O>gg<C-O>gH<C-O>G
cnoremap <C-A> <C-C>gggH<C-O>G
" restore 'cpoptions'
set cpo&
if 1
let &cpoptions = s:save_cpo
unlet s:save_cpo
endif
|
$VIM/kin/matchMe.vim |
"########################################
" File - matchMe.vim
" Author - Scott Atkins
" Date - Wednesday, August 21, 2002
" E-Mail - kin@cypress.com
"########################################
" This code fixes my problem with
" does the one format for perl, and acts
" correctly with hashes.
function! InsertBrackets()
let fileType = &ft
if fileType == 'perl'
let col = col('.') - 1
if !col || getline('.')[col - 1] !~ '\k' && getline('.')[col - 1] !~ '\$' && getline('.')[col - 1] !~ '@' && getline('.')[col - 1] !~ '%' && getline('.')[col - 1] !~ '#'
return "{\<cr>\<bs>}\<esc>ko"
else
return "{}\<esc>i\<c-o>:echo \<cr>"
endif
else
return "{\<cr>\<bs>}\<esc>ko"
endif
endfunction
" This code jumps out of the brackets
function! JumpNext(startChar, endChar,oneItem)
let ret1 = "\<esc>:if \"0\"==searchpair('".a:startChar."','','".a:endChar."','W','synIDattr(synID(line(\".\"), col(\".\"), 0), \"name\") =~? \"string\"')\<cr>exec(\"normal i\\<right>".a:oneItem."\")\<cr>endif\<cr>i\<right>"
return ret1
endfunction
" Added toggle.
" Date: Thursday, August 29, 2002 @ 07:57 AM
" Thanks to: Alex A. Naanou <alex_nanou@yahoo.com>
fun! s:Toggle_Edit2()
if exists('b:edithelpers_on') && b:edithelpers_on == 1
if (!exists('b:edithelpers2_on') || b:edithelpers2_on == 0)
let b:edithelpers2_on=1
" mappings
inoremap > <c-r>=JumpNext("<",">","\<m-.>")<cr>
inoremap ) <c-r>=JumpNext("(",")","\<m-0>")<cr>
inoremap ] <c-r>=JumpNext("[","]","\<m-=>")<cr>
inoremap } <c-r>=JumpNext("{","}","\<m-]>")<cr>
inoremap <m-=> ]
inoremap <m-]> }
inoremap <m-.> >
inoremap <m-0> )
else
unlet b:edithelpers2_on
iunmap >
iunmap )
iunmap ]
iunmap }
iunmap <m-=>
iunmap <m-]>
iunmap <m-.>
iunmap <m-0>
endif
endif
endfun
" Added toggle.
" Date: Thursday, August 29, 2002 @ 07:57 AM
" Thanks to: Alex A. Naanou <alex_nanou@yahoo.com>
fun! s:Toggle_Edit()
if !exists('b:edithelpers_on') || b:edithelpers_on == 0
let b:edithelpers_on=1
" mappings
inoremap " ""<esc>i<c-o>:echo <cr>
inoremap ' ''<esc>i<c-o>:echo <cr>
inoremap < <><esc>i<c-o>:echo <cr>
inoremap ( ()<esc>i<c-o>:echo <cr>
inoremap [ []<esc>i<c-o>:echo <cr>
inoremap { <c-r>=InsertBrackets ()<cr>
inoremap <m--> [
inoremap <m-/> "
inoremap <m-[> {
inoremap <m-,> <
inoremap <m-9> (
inoremap <m-'> '
if !exists('b:edithelpers2_on') || b:edithelpers2_on == 0
call <SID>Toggle_Edit2()
endif
else
iunmap "
iunmap '
iunmap <
iunmap (
iunmap [
iunmap {
iunmap <m-->
iunmap <m-/>
iunmap <m-[>
iunmap <m-,>
iunmap <m-9>
iunmap <m-'>
if exists('b:edithelpers2_on') && b:edithelpers2_on == 1
call <SID>Toggle_Edit2()
endif
unlet b:edithelpers_on
endif
endfun
function VarExists(var, val1, val2)
if exists(a:var) | return a:val1 | else | return a:val2 | endif
endfunction
function CompVar()
return VarExists('b:edithelpers_on',VarExists('b:edithelpers2_on','[BC-J] ','[BC] '),'')
endfunction
nnoremap <silent><F9> :call <SID>Toggle_Edit()<CR>
inoremap <silent><F9> <C-O>:call <SID>Toggle_Edit()<CR>
call <SID>Toggle_Edit()
nnoremap <silent><F8> :call <SID>Toggle_Edit2()<CR>
inoremap <silent><F8> <C-O>:call <SID>Toggle_Edit2()<CR>
" F-8 toggles the jump
" F-9 toggles the bracketing feature and overrides F-8
|
$VIM/kin/comments.vim |
"########################################
" File - comments.vim
" Author - Scott Atkins
" Date - Wednesday, August 21, 2002
" E-Mail - kin@cypress.com
"
"
"########################################
" This code is from vim.org from the
" enhanced commentify script (v. 1.8)
"
" it is used in a diffrent way here.
function s:getFileType()
let fileType = &ft
if fileType == 'ox' || fileType == 'cpp' || fileType == 'php' || fileType == 'java'
let commentSy = '//'
elseif fileType == 'ftf'
let commentSy = '//'
elseif fileType == 'vim'
let commentSy = '"'
elseif fileType == 'lisp' || fileType == 'scheme' || fileType == 'dosini'
let commentSy = ';'
elseif fileType == 'tex'
let commentSy = '%'
elseif fileType == 'caos'
let commentSy = '*'
elseif fileType == 'm4' || fileType == 'config' || fileType == 'automake'
let commentSy = 'dnl '
elseif fileType == 'python' || fileType == 'perl' || fileType == 'make' || fileType =~ '[^w]sh$' || fileType == 'tcl' || fileType == 'jproperties'
let commentSy = '#'
elseif fileType == 'vb' || fileType == 'aspvbs'
let commentSy == "'"
elseif fileType == 'plsql' || fileType == 'lua'
let commentSy = '--'
else
execute 'echo "File not supported"'
let commentSy = ''
endif
unlet fileType
return commentSy
endfunction
" This code just adds my initials and the
" date/time for any changes I make to
" other people's scripts/source files
function MyComment()
let commentSy = s:getFileType()
let s:line=line(".")
call append(s:line,commentSy." Added/Changed by ".g:initals)
call append(s:line+1,commentSy." Date: ".strftime("%A, %B %d, %Y @ %I:%M %p"))
unlet s:line
unlet commentSy
endfunction
" This code is for adding function
" headers as I'm writing functions.
function! FunctionHeading()
let commentSy = s:getFileType()
let fun = input("Function Name? ")
let s:line=line(".")
let retaa = commentSy."########################################\<cr> Function - ".fun."\<cr>Author - ".g:myname."\<cr>Date - ".strftime("%A, %B %d, %Y")."\<cr>Input - \<esc>mzA\<cr>ReturnVal - \<cr>Description - \<cr>\<bs>########################################\<cr>\<bs>"
let fileType = &ft
if fileType == 'perl'
let retb = "sub ".fun."{\<cr> \<esc>mzi\<cr>}"
let retc = retaa . retb
let retaa = retc
unlet retb
unlet retc
endif
return retaa . "\<esc>`zA"
unlet retaa
unlet fun
unlet s:line
unlet commentSy
endfunction
" This code writes my standard header
" to a script or source file.
function! FileHeading()
if has("gui_running")
if expand("%") == ""
browse confirm w
endif
endif
let commentSy = s:getFileType()
let name = expand("%:t")
let s:line=line(".")
let fileType = &ft
let retA = ""
let retI = ""
if s:line == 1 && fileType == 'perl'
let retA = "#!/usr/local/bin/perl -w\<cr>\<bs>"
let retI = "use strict;\<cr>"
endif
let retB = commentSy."########################################\<cr>"
let retC = " File - ".name."\<cr>Author - ".g:myname."\<cr>Date -"
let retD = " ".strftime("%A, %B %d, %Y")."\<cr>E-Mail - "
let retE = g:email1."\<cr> ".g:email2."\<cr>"
let retF = g:email3."\<cr>\<bs>\<bs>\<bs>\<bs>Description - \<esc>"
let retG = "mzi\<cr>Flags - \<cr>Notes - \<cr>\<bs>"
let retH = "########################################\<cr>\<bs>"
let retJ = "\<esc>`zA "
let retK = retA . retB . retC . retD . retE . retF . retG . retH . retI . retJ
unlet retA
unlet retB
unlet retC
unlet retD
unlet retE
unlet retF
unlet retG
unlet retH
unlet retI
unlet retJ
return retK
unlet s:line
unlet commentSy
endfunction
" Bind all the comment keys
inoremap <F3> <c-r>=FileHeading()<cr>
inoremap <F4> <c-r>=FunctionHeading()<cr>
imap <F5> <esc>mz:execute MyComment()<cr>`zjjA
|
|
|