Tue Jun 9 01:56:22 PM MDT 2026 I tend to wonder what this life is all about at times. I’m not sure I quite understand everything that happens in life? But that’s okay. Maybe if I had an inkling of what this life was about, I could answer my own question regarding it. But I doubt that will ever happen or take place. Life has a tendency to hide when certain things come out of nowhere. If I had my own way of doing things? I would figure it all out in one fail swoop. That way it would be understood without question. Naturally that isn’t the case, no such method exists for anyone out there. Life is tricky that way. It can foul you up long before you know it’s doing it. Perhaps I can try and figure something else out about this life. Something I haven’t thought about yet? Now there’s a thought. I…I don’t know exactly what the purpose of this life is meant to be. Some say it’s so we can be happy. Others believe it’s so we can grow from the experiences we have. I don’t know what any of that...
So, I added the following to my vimrc:
" Change Leader Key to a comma, that '\' is so hard to reach
let mapleader = ","
" Set the maximum width of text to 80 characters
set textwidth=80
" Optional visual indicator for the 80th column
set colorcolumn=80
" Show line numbers
set number
" File type detection, plugins, and smart indentation
filetype plugin indent on
" formatoptions settings:
" t: Auto-wrap text using textwidth
" c: Auto-wrap comments using textwidth
" q: Allow formatting of comments with "gq"
set formatoptions+=tcq
" Tabs and Spaces Setup
set expandtab " Use spaces instead of tabs
set tabstop=4 " Number of spaces that a tab counts for
set shiftwidth=4 " Number of spaces to use for each step of autoindent
set softtabstop=4 " Number of spaces that a tab counts for while editing
" Enable syntax highlighting
syntax enable
" Always show the status line
set laststatus=2
" Define the format (File path, Modified flag, Type, Line/Col, Percentage)
set statusline=%f\ %m\ %y\ %=%l:%c\ %p%%
set statusline+=\ %{wordcount().words}\ words
" Enable spell check
set spell
" Spell check look and feel
hi clear SpellBad
hi SpellBad cterm=underline ctermfg=red ctermbg=NONE
hi SpellBad gui=undercurl
" ==============================================================================
" KEY MAPPINGS
" ==============================================================================
" Insert date with comment tag in INSERT mode
inoremap <C-d> <C-R>=strftime("# %a %b %d %I:%M:%S %p %Z %Y")<CR>
" Save file with Ctrl+S in INSERT mode
inoremap <C-s> <Esc>:w<CR>a
" Comment out a line of code with //
nnoremap <Leader>/ I// <Esc>
" Uncomment a single line in NORMAL mode
nnoremap <Leader>u :s/^\/\/ //e<CR>
" ==============================================================================
" LANGUAGE SPECIFIC SETTINGS & ABBREVIATIONS
" ==============================================================================
" Java specific rules
augroup java_settings
autocmd!
" Turn on C-indenting ONLY for Java files
autocmd FileType java setlocal cindent
autocmd FileType java iabbrev <buffer> pvm public static void main(String[] args) {<CR>}<Esc>O
" Auto-close curly braces and drop to a new line
autocmd FileType java inoremap {<CR> {<CR>}<Esc>O
augroup END
" Perl specific rules
augroup perl_settings
autocmd!
" Perl Header Template
autocmd FileType perl iabbrev <buffer> perlheader #!/usr/bin/perl<CR>use strict;<CR>use warnings;<CR><CR>
" Perl MySQL Connection Template (with safety paste toggle)
autocmd FileType perl iabbrev <buffer> dbconnect <C-O>:set paste<CR>use DBI;<CR><CR>my $dsn = "DBI:mysql:database=dbname;host=localhost";<CR>my $user = "username";<CR>my $password = "password";<CR><CR>my $dbh = DBI->connect($dsn, $user, $password, { RaiseError => 1, AutoCommit => 1 })<CR>or die "Connection failed: " . DBI->errstr;<CR><C-O>:set nopaste<CR>
augroup END
Comments
Post a Comment