version 6.0
if &cp | set nocp | endif
let s:cpo_save=&cpo
set cpo&vim
nmap gx <Plug>NetrwBrowseX
nnoremap <silent> <Plug>NetrwBrowseX :call netrw#NetrwBrowseX(expand("^V<cWORD>"),0)^V^M
let &cpo=s:cpo_save
unlet s:cpo_save
" vim: set ft=vim :
"=====[ Personalización ]===============================
" set verbose=3
" set autoindent " Activar la indentación automática
set background=dark " Fondo de pantalla en negro
set backspace=indent,eol,start " Permitir backspace sobre esto en modo inserción
set backup " Archivos Backup~
set backupdir=$HOME/.backup/,. " Directorio donde hacer los backup
set colorcolumn=120 " Marcar columna margen derecho
set copyindent " Copia la estructura de indentación al autoindentar
set endofline " La última línea debe tener un fin de línea
set errorbells " Toca la campana cuando error
set esckeys " Asigna secuencias de escape inexistentes (activa las teclas del keypad)
set fileencodings=ucs-bom,utf-8,default,latin1 " Codificaciones de los ficheros
set fileformat=unix " Modo de fichero es unix
" set fileformats=unix,dos " Detecta formatos de fin de líneas en el fichero
set helplang=es " Mensajes de ayuda
set hidden " Recuerda el contenido del undo después de salir
set history=50 " Número de líneas que se almacenan en el histórico de comandos
set hlsearch " Ilumina los patrones encontrados
set ignorecase " Búsqueda insensible a las mayúsculas/minúsculas
set isfname=@,48-57,/,.,-,_,+,,,#,$,%,~,=,: " Caracteres permitidos en los nombres de los ficheros
set listchars=tab:▸\ ,eol:¬ " Caracteres invisibles al ser visibles
set laststatus=2 " 0: no línea de estado. 1: solo si hay más de un fichero. 2: siempre
" set magic " Cambia la forma en que los backslashes son usados en los patrones de búsqueda
set matchpairs+=<:> " Agrega los ángulos como caracteres emparejados
set modeline " Muestra la línea indicador de modo
set mouse=a " Usa el ratón (a=todos, n=normal, v=visual, i=insert, c=comando, h=ayuda)
set number " Muestra números de línea
set printoptions=paper:a4 " Tamaño del papel en la impresora
set ruler " Muestra la posición del cursor en la barra de estado
" set runtimepath=~/.vim,/var/lib/vim/addons,/usr/share/vim/vimfiles,/usr/share/vim/current,/var/lib/vim/addons/after,~/.vim/after
set scrolloff=3 " Líneas por arriba/abajo cuando se desplace
set showcmd " Muestra el comando en la barra de estado
set showmatch " Muestra el carácter emparejado (saltando brevemente)
set showmode " Muestra el modo en la barra de estado (insert/replace/...)
set smartcase " Sensible al tamño de caja si se usan mayúsculas en las búsquedas
" Ficheros menos interesantes en las búsquedas
set suffixes=.bak,~,.swp,.o,.info,.aux,.log,.dvi,.bbl,.blg,.brf,.cb,.ind,.idx,.ilg,.inx,.out,.toc
set termencoding=utf-8 " Codificación usada por la terminal
set textwidth=0 " Ancho máximo del texto. 0: desactivado
set title " Muestra el nombre del fichero en la barra del título
set viminfo='20,\"500 " Recuerda registros de copia después de salir, en el fichero .viminfo -- 20 ficheros, 500 líneas
set window=39 " Altura de la ventana de desplazamiento
set wildmenu " Completado con menú
set nowrap " No partir las líneas
"=====[ Definición de lo que son palabras clave ]===============================
set iskeyword+=$
set iskeyword+=%
set iskeyword+=@
set iskeyword-=,
"=====[ Add or subtract comments ]===============================
function! ToggleComment ()
let currline = getline(".")
if currline =~ '^#'
s/^#//
else "if currline =~ '\S'
s/^/#/
endif
endfunction
function! ToggleBlock () range
let currline = getline(a:firstline)
if currline =~ '^#'
execute ":" . a:firstline . "," . a:lastline . "s/^#//"
else "if currline =~ '\S'
execute ":" . a:firstline . "," . a:lastline . "s/^/#/"
endif
endfunction
map <silent> # :call ToggleComment()<CR>j0
vmap <silent> # :call ToggleBlock()<CR>
"=====[ Programming support ]===================================
" Insert shebang lines...
" iab hbc #! /bin/csh
" iab hbs #! /bin/sh
iab plperl #! /usr/bin/perl<CR>
\use common::sense; <TAB><TAB># Hay que tener sentido común<CR><CR>
\use Modern::Perl; <TAB><TAB># Somos modernos<CR>
\use utf8; <TAB><TAB><TAB># este programa está escrito en utf8<CR><CR>
\use autodie; <TAB><TAB><TAB># es mejor morir que regresar con deshonor (proverbio Klingon)<CR>
\use open qw(:utf8 :std); <TAB># la salida y la entrada estándar serán en utf8<CR><CR>
\use File::Slurp;<CR><BS><CR><CR><CR>__END__<CR>
" iab hbp #! /opt/local/bin/perl5.10.0<CR>use 5.010;<CR>use warnings;
" iab hbr #! /Users/damian/bin/rakudo<CR>use v6;
" Insert common Perl code structures...
iab udd use Data::Dumper::Simple;<CR>warn Dumper [];<ESC>hi
iab ubm use Benchmark qw( cmpthese );<CR><CR>cmpthese -10, {<CR>};<ESC>O
iab usc use Smart::Comments;<CR>###
iab uts use Test::Simple 'no_plan';
iab utm use Test::More 'no_plan';
iab dbs $DB::single = 1;<ESC>
" Add new highlight combinations...
highlight YELLOW_ON_BLACK ctermfg=yellow ctermbg=black
highlight WHITE_ON_RED ctermfg=white ctermbg=red
" Track "faux" references...
function! BadRefs ()
match WHITE_ON_RED /_ref[ ]*[[{(]\|_ref[ ]*-[^>]/
endfunction
call BadRefs()
"=====[ Highlight cursor column on request ]===================
highlight CursorColumn term=bold ctermfg=black ctermbg=DarkGrey cterm=bold
highlight CursorLine term=bold ctermfg=white ctermbg=DarkGrey cterm=bold
map <silent> ;c :set cursorcolumn!<CR>
map <silent> ;r :set cursorline!<CR>
set cursorcolumn
set cursorline
"=====[ Tab handling ]======================================
set tabstop=8 " Número de espacios que aparenta un carácter tabulador
set softtabstop=8 " Número de espacios cuando se inserta un tabulador
set noexpandtab " No convertir los caracteres tabulador a espacios
set shiftwidth=4 " Número de espacios a usar en la indentación
set shiftround " Siempre indentar al más cercano punto de parada del tabulado
set smarttab " Usa shiftwidths a la izquierda, tabstops en el resto
set smartindent " Activa el indentado inteligente
" Make the completion popup look menu-ish on a Mac...
highlight Pmenu ctermbg=white ctermfg=black
highlight PmenuSel ctermbg=blue ctermfg=white cterm=bold
highlight PmenuSbar ctermbg=grey ctermfg=grey
highlight PmenuThumb ctermbg=blue ctermfg=blue
" Execute Perl file...
map W :!clear;perl %;echo<CR>
" Debug Perl file...
map Q :!perl -d %<CR>
" Format file with perltidy...
map ;t 1G!Gperltidy<CR>
" Activar el modo de completado omnifunc
if has("autocmd") && exists("+omnifunc")
autocmd Filetype *
\ if &omnifunc == "" |
\ setlocal omnifunc=syntaxcomplete#Complete |
\ endif
endif