title: Taller de editores author: name: Carlos López twitter: morrizon url: https://github.com/morrizon output: editores.html controls: true
--
--
Tip 22
--
- Configurable
- Extensible
- Programable
--
- Syntax highlighting
- Auto-completado
- Auto-indentación
- Código inicial (boiler plate)
- Ayuda en línea
- IDE (compilación, tests, etc)
--
- Vim
- Emacs
- Sublime Text
- Eclipse/IntelliJIDEA (IDEs)
--
- Ubicuo
- Ideal para línea de órdenes
- Afín a cultura DevOps
- Cumple las premisas de Power Editing (Pragmatic Programmer)
--
- Historia
- Modos
- Movimientos
- Órdenes
--
- 1976 Bill Joy desarrolla Vi como mejora a ex
- 1991 Bram Moolenaar desarrolla Vim ("Vi iMitated"/"Vi iMproved")
- 1998 Versión 5.0 (syntax highlighting, basic scripting)
--
- 2006 Versión 7.0 (spell check, tabs, autocompletion)
- 2013 Versión 7.4 (nuevo motor regex)
- Why vim uses hjkl as arrow keys
--
- Normal
- Insert
- Visual
--
Diagrama modos simplificado
--
--
h # izquierda
j # abajo
k # arriba
l # derecha
--
^,0 # principio de línea
$ # fin de línea
gg # Arriba del todo
G # abajo del todo
--
w,W # siguiente palabra, Palabra
b,B # anterior palabra, Palabra
e,E # siguiente fin de palabra, Palabra
ge,gE # anterior fin de palabra, Palabra
--
f{char} # siguiente carácter {char} en la línea
F{char} # anterior carácter {char} en la línea
t{char} # antes de siguiente carácter {char} en la línea
T{char} # antes de anterior carácter {char} en la línea
--
<CTRL-f> # avance página
<CTRL-b> # retrocede página
{num}G # va a la línea {num}
{,} # avanza, retrocede párrafo
--
- Búsquedas y sustituciones
- text objects
- Plugins
- Vimscript
--
--
--
vimtutor
--
- Escribir "Hello World" insertando como máximo un carácter en modo inserción de cada vez.
- No repetir acciones de cambio de modo excepto a modo normal. Usar a,A,i,I,r,R,x,p.
--
- Escribir las 10 primeras líneas tal que la primera línea tenga 1, la segunda 2, etc.
- Mínimo número de pulsaciones (como en vimgolf).
--
- Editar Vagrantfile.
- Eliminar todos los comentarios excepto la configuración de red.
- Modificar la configuración de red.
- Script para renombrar ficheros *.src con su correspondiente *.avi.
--
- Refactoring.
- Substitución en varios ficheros.
--
- Autoidentar código puppet.
- Plugin https://github.com/rodjek/vim-puppet
- Instalar vía pathogen https://github.com/tpope/vim-pathogen
--
- Preparar entorno de desarrollo TDD para PHP.
- Realizar un programa de prueba.
- Plugins https://github.com/joonty/vim-phpqa y https://github.com/joonty/vim-phpunitqf
- Instalar vía Vunddle https://github.com/gmarik/Vundle.vim