Jan 122012
The very first blog entry!
What should it be about?
Linux, device drivers, Lego Mindstorms NXT, Arduino, Raspberry Pi, or ...?
No!
Let's start with the tool I use daily, both at work and at home.
That would be VIM (VI iMproved).
My first encounter with Vim was when a collegue showed it, and then sent me this link.
http://www.derekwyatt.org/vim/vim-tutorial-videos/
It has been a real kick-starter for me in the introduction to Vim.
To be honest it was not easy in the beginning, but after using it constantly for several months, I would not like to switch it for any other editor.
Anyhow, here is my .vimrc, which I use both at work and at home.
" " not compatible with original vi set nocompatible " Status bar -------------------------------------------------------------- " Make command line two lines high set ch=2 " show current mode in status bar set showmode " Set the status line the way I like it set stl=%f\ %m\ %r\ Line:\ %l/%L[%p%%]\ Col:\ %c\ Buf:\ #%n\ [%b][0x%B] "set stl=%f\ %m\ %r\ Line:\ %l/%L[%p%%]\ Col:\ %c\ Buf:\ #%n\ " Show statusline in single window set laststatus=2 " Color, layout etc ------------------------------------------------------ " background color set background=dark " color scheme colorscheme darkgreen " Enable syntax highlightning syntax on " text width set tw=120 " highlight column after textwidth set cc=+1 " wrap text set nowrap " tab/backspace are smart " set smarttab " Tab length, nbr spaces set tabstop=8 " indent according to tabstop set cindent " help me with indenting set smartindent " autoindent set autoindent " scrollbar width set sw=2 " show line numbers set number " watch for file changes set autoread " nbr undo levels set undolevels=1000 " Show trailing spaces and tabs set list set listchars=trail:+,tab:>- " Folding "set foldmethod=syntax " Folding lines shown set foldminlines=5 " Folding level set foldnestmax=3 " Search ------------------------------------------------------------------ " ignore case in pattern set ignorecase " override ignorecase set smartcase " show pattern in text as it is written set incsearch " highlight all matches set hlsearch " Set the search scan to wrap around the file set wrapscan " search directories set path+=** " Copy -------------------------------------------------------------------- " add a $ at end of 'copy/change' set cpoptions+=$ " Buffer ------------------------------------------------------------------ " change buffer without saving set hidden " Switch to first buffer noremap:bfirst " Switch to next buffer noremap :bnext " Switch to previous buffer noremap :bprevious " Switch to last buffer noremap :blast " Windows ----------------------------------------------------------------- " Move the cursor to the window left of the current one noremap :wincmd h " Move the cursor to the window below the current one noremap :wincmd j " Move the cursor to the window above the current one noremap :wincmd k " Move the cursor to the window right of the current one noremap :wincmd l " Cscope---------------------------------------------------------------- if has("cscope") set csprg=/usr/bin/cscope set csto=0 set cst set nocsverb " add any database in current directory if filereadable("cscope.out") cs add cscope.out " else add database pointed to by environment elseif $CSCOPE_DB != "" cs add $CSCOPE_DB endif set csverb map g :cs find c =expand(" ") map g :cs find s =expand(" ") endif " Specials ---------------------------------------------------------------- " 'Ctrl s' to save file in both command and insert mode. map :w imap :w i " Plugins ----------------------------------------------------------------- :filetype plugin on " Taglist, need ctags map :TlistToggle " NERDtree map :NERDTreeToggle " Buflist (buflist.vim defines F4 as toggle window "map " CScope. Find this definition - :cs f g map :cs f g =expand(" ") " CScope. Find functions called by this function - :cs f d map :cs f d =expand(" ") " CScope. Find functions calling this function - :cs f c map :cs f c =expand(" ") " CScope. Find symbol - :cs f s map :cs f s =expand(" ") " Search for this word in this file map :/ =expand(" ") " Remove MS-DOS carriage returns "map :1,$s/ // " Cscope " Matchit " ColorSamplePack " SearchComplete " VcsCommand " Folding " Filetype specifics ------------------------------------------------------ " file type detection :filetype on " autocmd FileType make set noexpandtab sw=4 autocmd FileType c set tw=80 autocmd FileType h set tw=80 " Text width -------------------------------------------------------------- "autocmd BufEnter *.c,*.h let w:m1=matchadd('Search', '/\%<81v.\%77v', -1) "autocmd BufEnter *.c,*.h let w:m2=matchadd('ErrorMsg', '/\%>80v.\+', -1)
Sorry, the comment form is closed at this time.