Era um vez: quando eu usava vim...

Este era meu vimrc. Tem uns comentários explicativos e outros nem tanto.

"imap <C-a> <C-k><C-l>
"autocmd VimEnter * Vexplore

set vb
set vb t_vb=""

" Melhor tema sem sombra de dúvidas
colorscheme desert

" Exibe número das linhas
set number

" Arruma o del
fixdel
" Fechamento automatico de parenteses
"imap { {}<left>
"imap ( ()<left>
"imap [ []<left>

"Cria folds dependendo da syntax
"set foldmethod=syntax

"Troca o autocompletar padrao por tab
function InsertTabWrapper()
let col = col('.') - 1
if !col || getline('.')[col - 1] !~ '\k'
return "\<tab>"
else
return "\<c-p>"
endif
endfunction
inoremap <tab> <c-r>=InsertTabWrapper()<cr>

"Pano de fundo dark
set background=dark

"Ativa syntax
syntax on

"allows backspacing over autoindents and line breaks, allows deletion
"from before"the point where the current insertion started
"set backspace=indent,eol,start
"Permite o uso do mouse na linha de comando
"set mouse=a

"Vim se torna mais amigável, se compatible ele se torna mais compativel com vi
set nocompatible

"Coloca a linha e coluna disponiveis no canto da tela
set ruler

"Pergunta se o usuario quer salvar ou nao quando sai com :q por exemplo
set confirm

"Nao deixa o buffer ser descarregado quando o arquivo é fechado
set hidden

"O mouse é escondido quando se está digitando (nao ta funcionando)
set mousehide

set nowrap

"Muda o titulo da janela (nao funciona com alguns terms)
set title

"Mostra o o fecha chaves, colchete etc quando se passa o mouse em cima do
"abre
set showmatch

"mostra em que modo esta o editor
set showmode

"Mostra alguma palavra que atende ao padrao digitado na busca à medida que
"ela é digitada
set incsearch

"nao escreve o arquivo quando um comando que muda para outro arquivo e utilizado
set noautowrite

"coloca a proxima janela abaixo da atual
set splitbelow

"coloca a proxima janela à  direita da atual
set splitright

"ignora 'cases' na busca
set ignorecase

"substitui ignorecase aceitando as maiusculas na busca
set smartcase

"nao procura wraps no final do arquivo
"set nowrapscan

"autocompleta os nomes de arquivos e diretorios
"set wildmenu

"Stop the highlighting for the 'hlsearch' option.
set nohlsearch

"Name of the terminal type for which mouse codes are to be recognized
"set ttymouse=xterm2

"Salva o que esta nos parametros
set sessionoptions=buffers,winpos,blank,winsize,globals

"seta o diretorio como o corrente
"set browsedir=current

"determina o tamanho maximo da coluna
set textwidth=80

"determina o tamanho do tab
set tabstop=4

"Usa o numero apropriado de espacos para um tab (bom para haskell)
"set expandtab

"numero de espacos usados por cada autoindent
"set shiftwidth=4

"com unnamed vim usa o que fica nos registradores * para colar, com
"autoselect quando vai para visual mode vim tenta usar a selecao global do
"sistemnas de janelas
set clipboard=unnamed,autoselect

"Number of screen lines to use for the command-line
set cmdheight=1

"Number of screen lines to use for the command-line window.
set cmdwinheight=2

"A sequence of single character flags.  When a character is present
"this indicates vi-compatible behavior.  This is used for things where
"not being vi-compatible is mostly or sometimes preferred.
set cpoptions+=B

"Determina como o autocomplete vai se comportar - olhar documentacao do vim
"para saber sobre os parametros
set complete=.,w,u,b,i,d,t

"Tenths of a second to show the matching paren, when 'showmatch' is set
set matchtime=2

"Especifica os pares que devem ser reconhecidos
set matchpairs=(:),{:},[:],<:>,":",':'

"Make messages fit into one line
set shortmess=a

"Quantidade de caracteres a serem escritos antes do .swp ser reescrito
set updatecount=200

"Number of lines to scroll with CTRL-U and CTRL-D commands.
set scroll=15

"Salva o informacos no .viminfo para uso mais tarde - fiquei com preguica de
"entender os parametros
set viminfo='0,\"0,:40,n~/.viminfo

"Determina tipos de arquivo que o wildmenu vai ignorar
"set wildignore=*.bak,*.~,*.obj,*.tmp,*.001,*.~mp,*.hlp,*.swp,*.def

"Arquivos com esse sufixo tem menor prioridade no wildcard
"set suffixes+=\.zip,\.gz

"Allow specified keys that move the cursor left/right to move to the
"previous/next line when the cursor is on the first/last character in
"the line.
set whichwrap+=<,>,[,]

"When nonempty, this option determines the content of the status line.
set statusline=%<%F%m%=#%n\ %([%R]%)\ %([%Y]%)\ %P\ <%l,%c%V>

"Determina o formato da regua
set rulerformat=%25(#%n\ %m%r%y\ %P\ <%l,%c%V>%)

"Gives the percentage of 'columns' to use for the length of the window
"title.
"set titlelen=100

"When this option is not empty, it will be used for the title of the
"window.
set titlestring=%<%F%m%r%=\ [\ %{getcwd()}\ ]\ -on-\ %{hostname()}

"This adds to the list of directories which will be searched for runtime
set runtimepath+=$MYVIM/after

"This option only has an effect in the GUI version of Vim.  It is a
"sequence of letters which describes what components and options of the
"GUI should be used.
"set guioptions=ia

"Some GUI versions allow the access to menu entries by using the ALT
"key in combination with a character that appears underlined in the
"menu.  This conflicts with the use of the ALT key for mappings and
"entering special characters.
set winaltkeys=menu

"This is a list of fonts which will be used for the GUI version of Vim.
"In its simplest form the value is just one font name.
set guifont=HyperFont_Lt.:h8,Screen15,\ 7x13,font\\,with\\,commas,fixed

"Vim can detect the type of file that is edited.  This is done by checking the
"file name and sometimes by inspecting the contents of the file for specific
"text.
filetype on

"Enable loading the plugin files for specific file types with:
filetype plugin on

"Corrige del
"set t_kD=^H

"Corrige backspace
"set t_kb=^?

"fixdel

"identa a proxima linha como a ultima automaticamente
"set autoindent

"Is like 'autoindent' but also recognizes some C syntax to
"increase/reduce the indent where appropriate.
set smartindent

"Works more cleverly than the other two and is configurable to
"different indenting styles.
"set cindent

"The most flexible of all: Evaluates an expression to compute
"the indent of a line.  When non-empty this method overrides
"the other ones.
"set indentexpr
comments powered by Disqus