martes, 25 de abril de 2017

Vim - mínimo

Search & replace: 
:11,15s/old/new/gc         with c_onfirmation in a range
:%s/old/new                    all
:21,$
:.,$                                    current line
:.,+100

Ciertos caracteres especiales (/ & ! . ^ * $ \ ?) tienen un significado particular en el proceso de búsqueda, y por lo tanto deben especificarse de un modo especial cuando están incluidos en el string a buscar, precediéndolos por la barra hacia atrás (\).

Read  oother file:
:r  ~/home/ric/file.txt
:r! sed -n 7,15p ~/home/ric/file.txt              (block)

Indent/ Unindent:
gg=G                all
in mode insert   CTRL-T   indent
                          CTRL-D   unindent
in mode normal  >>    <<     line current

Indent bloques:
v    marcar bloque - visual mode
<    indenta izq,   > derecha


Borrar/copiar/pegar:
dgg      del cursor al principio
dG                        al final
3dd      3 líneas

3yy      copiar 3 líneas
p           debajo de la línea  P arriba

Modo columna:
CTRL-V

Bloques - copiar/pegar
mb    - en inicio de bloque marca con el nombre b (ejm)
y'b     - al final de bloque   (d para borrar)
luego con p  ó  P en la ubicación deseada

Bloques - copiar/pegar con número de línea
:7,10y           (marca para copiar de la línea 7 a la 10, con d para borrar)
luego con p ó P en la ubicación deseada

Desactivar autoindent temporalmente para copiar
:set paste
:set nopaste    (set noai?)

Install plugin EMMET:

## install emmet
cd Downloads
git clone https://github.com/mattn/emmet-vim.git
cd ~/.vim
cp -r ~/Downloads/emmet-vim/plugin/ .
cp -r ~/Downloads/emmet-vim/autoload/ .

## redefine trigger key <c-y>  ->  ,,
## add a .vimrc
let g:user_emmet_leader_key=','

Refs.:
https://medium.com/vim-drops/be-a-html-ninja-with-emmet-for-vim-feee15447ef1
https://raw.githubusercontent.com/mattn/emmet-vim/master/TUTORIAL

Insert new line without entering mode insert:
nmap <F8> o<Esc>
nmap <F9> O<Esc>

Registers:


"ry5w                 # register yank 5 palabras,  para copiar: "p"
:reg                    # lista los registros realizados, para copiar:  "Cp 
                            # donde C es el caracter asignado automáticamente por register