Mi vimrc a octubre de 2010

" Lista de plugins que hay que poner en el directorio plugins.
" ($HOME/.vim/plugins en Linux, $VIMRUNTIME/plugins en Windows)
"
" Los plugins se pueden bajar casi todos de:
" http://www.vim.org/scripts
"
" yankring para copypegar entre ventanas de vim y ver el clipboard con ,y
" project.vim, gestor de proyectos (F12, \C para añadir, \R para refrescar)
" pythoncomplete => si tenemos modo Python
" taglist => lista de tags (miembros, funciones, etc) con F5
" tohtml => convierte un fichero vim en HTML coloreado (comando :tohtml)
" vimballPlugin => lo usan otros plugins
" zipPlugin => para ver el contenido de zips
" ack => para usar ack como buscador de ficheros en lugar de grep (http://github.com/mileszs/ack.vim))
" NERD_commenter => ,cc comentar ,cu descomentar
" NERD_tree => arbol de ficheros (F3)
" mru => most recently used files (:MRU)
" bufexplorer => explorador de buffers (F4)
" gzip => abrir ficheros gzip
" matchparen => concordar parentesis
" netrwplugin => abrir ficheros de red (SSH, FTP, http, etc)
" spellfile => no se muy bien que es...
"
" spellchecking: bajar ficheros de idioma de ftp://ftp.vim.org/pub/vim/runtime/spell/ e instalar en spell/
"                · Para poner idioma: set spelllang=en|es
"                · Para activar/quitar: set spell/set nospell
"                · Para ver sugerencias: "z=" cuando estamos sobre la palabra
"                · Para añadir palabra a diccionario: "zg"
"

" no quiero compatibilidad con Vi
set nocompatible

" Activar estas dos en Windows:
source $VIMRUNTIME/mswin.vim
behave mswin

" cargar syntax y demás según el tipo de fichero
filetype plugin on
imap <f2> <c-x><c-o>

" Mi modificador leader es la coma
let mapleader = ","

" Mis settigns de tabs: con 4 carácteres de espacio
set expandtab
"set textwidth=79 => obsoleto
set tabstop=8
set softtabstop=4
set shiftwidth=4
set autoindent

" Atajos para pestañas como los de Firefox/Chrome/Opera/etc
" Control N nueva pestaña (la cerramos con :q o :bd)
map <c-n> <esc>:tabnew<cr>

" Control PageUp/PageDown cambiar de pestaña
map <c-pageup> :tabp<cr>
map <c-pagedown> :tabn<cr>

map <f10> :set paste<cr>
map <f11> :set nopaste<cr>


" Colores que no te dejan ciego (al gusto del consumidor, se puede escribir
" :color e ir dando a tab para ver las combinaciones existentes, hay más en
" vim.org)
colors torte

" Que no haga la ventana de gvim demasiado pequeña
au GUIEnter * set lines=80 columns=160

" Encoding UTF8
set encoding=utf-8

" Mostrar numeros de linea de distancia con respecto a la actual; muy útil
" para salta a una línea (15+fecha abajo para bajar 15) o para borrar cierto 
" número de líneas
set relativenumber

" empezar a hacer scroll cuando nos acercamos estas líneas a los bordes
set scrolloff=5

" mostrar el comando
set showcmd

" mostrar barra
set ruler

" muestra barra con completados de linea de comandos
set wildmenu

" no backups (ficheritos con ~)
set nobackup

" buscar nocase salvo que tenga mayusculas
set ignorecase
set smartcase

" sustitucion global siempre (para no tener que escribir la "g" de
" :%s/polompos/pok/g
set gdefault

" leader + space limpia los resultados de busqueda
nnoremap <leader><space> :noh<cr>

" desactivar la ayuda con F1 para no darle cuando nos confundimos con ESC
" (podemos sacarla con :help)
inoremap <F1> <ESC>
nnoremap <F1> <ESC>
vnoremap <F1> <ESC>

" Justificar parrafos con leader-j
nnoremap <leader>j gqip

" leader + y muestra los buffers de YankRing
nnoremap <leader>y :YRShow<CR> 

" raton
if has('mouse')
    set mouse=a
endif

  " When editing a file, always jump to the last known cursor position.
  " Don't do it when the position is invalid or when inside an event handler
  " (happens when dropping a file on gvim).
  " Also don't do it when the mark is in the first line, that is the default
  " position when opening a file.
  autocmd BufReadPost *
    \ if line("'\"") > 1 && line("'\"") <= line("$") |
    \   exe "normal! g`\"" |
    \ endif


" ===============================
" Shortcuts y opciones de plugins
" ===============================

" Taglist: F5 muestra el frame de tags
map <f5> :TlistToggle<cr>

" Taglist: Poner el frame en la derecha que el Project ya lo pone a la izquierda
let Tlist_Use_Right_Window = 1

" Taglist: Tamaño mínimo de frame de tags
let Tlist_WinWidth = 40

" Project: Nuestros valores por defecto para el plugin Project
:let g:proj_flags="imstvg"

" Buffer explorer con F4
map <f4> :BufExplorer<cr>

" Nerdtree (navegador de ficheros) con F3
map <F3> :NERDTreeToggle<cr>

" Python
" autocmd FileType python set omnifunc=pythoncomplete#Complete

tags: [ software libre · linux · programacion · vim ]
comments powered by Disqus