Vim

 Javier Rojas


Preliminares

Funcionalidad
general

Programaci´n
          o

Automatizaci´n
- Vim Scripts
         ...
Vim

 Javier Rojas                                            Agenda
Preliminares
                 1 Preliminares
Funciona...
Vim

 Javier Rojas                          Vim
Preliminares

Funcionalidad
general

Programaci´n
          o      Histori...
Vim

 Javier Rojas                          Vim
Preliminares

Funcionalidad
general

Programaci´n
          o      Histori...
Vim

 Javier Rojas                         Respecto a esta charla
Preliminares

Funcionalidad
general

Programaci´n
      ...
Vim

 Javier Rojas                         Respecto a esta charla
Preliminares

Funcionalidad
general

Programaci´n
      ...
Vim

 Javier Rojas                         Respecto a esta charla
Preliminares

Funcionalidad
general

Programaci´n
      ...
Vim

 Javier Rojas                                            Agenda
Preliminares
                 1 Preliminares
Funciona...
Vim

 Javier Rojas                                            Agenda
Preliminares
                 1 Preliminares
Funciona...
Vim

 Javier Rojas                                           Modalidad
Preliminares

Funcionalidad
general
Operaciones
b´s...
Vim

 Javier Rojas                                           Modalidad
Preliminares

Funcionalidad
general
Operaciones
b´s...
Vim

 Javier Rojas                       Movimiento
Preliminares

Funcionalidad
general
Operaciones
b´sicas
 a
Buffers,
ven...
Vim

 Javier Rojas         insertar, modificar, eliminar texto
Preliminares

Funcionalidad
general
Operaciones
b´sicas
 a
B...
Vim

 Javier Rojas                                cortar, copiar, pegar
Preliminares

Funcionalidad
general
Operaciones
b´...
Vim

 Javier Rojas                                           Operadores
Preliminares

Funcionalidad
general
Operaciones
b´...
Vim

 Javier Rojas                                         Modo visual
Preliminares

Funcionalidad
general
Operaciones
b´s...
Vim

 Javier Rojas                                          Conceptos
Preliminares

Funcionalidad
general
Operaciones
b´si...
Vim

 Javier Rojas                                          Conceptos
Preliminares

Funcionalidad
general
Operaciones
b´si...
Vim

 Javier Rojas                                          Conceptos
Preliminares

Funcionalidad
general
Operaciones
b´si...
Vim

 Javier Rojas                                         Buffers
Preliminares

Funcionalidad
general
Operaciones
b´sicas
...
Vim

 Javier Rojas                                           Ventanas
Preliminares

Funcionalidad
general
Operaciones
b´si...
Vim

 Javier Rojas                                          Pesta˜as
                                                     ...
Vim

 Javier Rojas                                          Pesta˜as
                                                     ...
Vim

 Javier Rojas                                            Agenda
Preliminares
                 1 Preliminares
Funciona...
Vim

 Javier Rojas                  Navegaci´n de archivos de texto
                                       o
Preliminares
...
Vim

 Javier Rojas                    Navegaci´n en un archivo
                                         o
Preliminares

Fu...
Vim

 Javier Rojas                Navegaci´n a trav´s de archivos
                                     o        e
Prelimin...
Vim

 Javier Rojas                Navegaci´n a trav´s de archivos
                                     o        e
Prelimin...
Vim

 Javier Rojas             Navegaci´n a trav´s de programas
                                  o        e
Preliminares ...
Vim

 Javier Rojas                                    Ventana quickfix
Preliminares

Funcionalidad
general

Programaci´n
  ...
Vim

 Javier Rojas                               Auto-completado
Preliminares

Funcionalidad
general

Programaci´n
       ...
Vim

 Javier Rojas        M´s movimientos/objetos de texto
                      a
Preliminares

Funcionalidad
general

Pr...
Vim

 Javier Rojas                                         SnipMate
Preliminares

Funcionalidad
general

Programaci´n
    ...
Vim

 Javier Rojas                                      vcscommand
Preliminares

Funcionalidad
general

Programaci´n
     ...
Vim

 Javier Rojas                      Control de versiones - vim
Preliminares

Funcionalidad
general

Programaci´n
     ...
Vim

 Javier Rojas                                       Hacks para Git
Preliminares

Funcionalidad
general

Programaci´n
...
Vim

 Javier Rojas                                       Hacks para Git
Preliminares

Funcionalidad
general

Programaci´n
...
Vim

 Javier Rojas           Soporte espec´
                                     ıfico para lenguajes
Preliminares

Funcion...
Vim

 Javier Rojas                                     HTML/XML
Preliminares

Funcionalidad
general

Programaci´n
        ...
Vim

 Javier Rojas                                            Agenda
Preliminares
                 1 Preliminares
Funciona...
Vim

 Javier Rojas                                         :abbr - :map
Preliminares

Funcionalidad
general

Programaci´n
...
Vim

 Javier Rojas                                         :abbr - :map
Preliminares

Funcionalidad
general

Programaci´n
...
Vim

 Javier Rojas                            Buscar y reemplazar
Preliminares

Funcionalidad
general

Programaci´n
      ...
Vim

 Javier Rojas                            Buscar y reemplazar
Preliminares

Funcionalidad
general

Programaci´n
      ...
Vim

 Javier Rojas                                              Macros
Preliminares

Funcionalidad
general          Secuen...
Vim

 Javier Rojas               vimscript - Acerca del lenguaje
Preliminares

Funcionalidad
general

Programaci´n
       ...
Vim

 Javier Rojas             Qu´ pueden hacer las funciones
                            e
Preliminares

Funcionalidad
ge...
Vim

 Javier Rojas                                               Variables
Preliminares

Funcionalidad
general

Programaci...
Vim

 Javier Rojas                                 Variables
Preliminares

Funcionalidad
general

Programaci´n
          o...
Vim

 Javier Rojas                                 Tips de desarrollo
Preliminares
                 Documentaci´n b´sica
 ...
Vim

 Javier Rojas                                            Agenda
Preliminares
                 1 Preliminares
Funciona...
Vim

 Javier Rojas                             Porqu´ no un IDE?
                                               e
Prelimin...
Vim

 Javier Rojas                                       Ergonom´
                                                        ...
Vim

 Javier Rojas                                  Interfaces similares
Preliminares

Funcionalidad
general

Programaci´n...
Vim

 Javier Rojas                 Problemas/Defectos/Quejas
Preliminares

Funcionalidad
general

Programaci´n
          o...
Vim

 Javier Rojas                           Soporte - Comunidad
Preliminares

Funcionalidad
general

Programaci´n
       ...
Vim

 Javier Rojas                                         Consejos
Preliminares

Funcionalidad
general

Programaci´n
    ...
Vim

 Javier Rojas                                        Moralejas
Preliminares

Funcionalidad
general

Programaci´n
    ...
Upcoming SlideShare
Loading in …5
×

Vim slides

1,589 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,589
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Vim slides

  1. 1. Vim Javier Rojas Preliminares Funcionalidad general Programaci´n o Automatizaci´n - Vim Scripts o Vim Notas finales Javier Rojas 30 de junio de 2010
  2. 2. Vim Javier Rojas Agenda Preliminares 1 Preliminares Funcionalidad general 2 Funcionalidad general Programaci´n o Operaciones b´sicas a Automatizaci´n o - Vim Scripts Buffers, ventanas, pesta˜as n Notas finales 3 Programaci´n o Navegaci´n o Ayudas para digitado Control de versiones Soporte espec´ıfico para lenguajes 4 Automatizaci´n - Vim Scripts o Ayudas b´sicas a Macros Scripting 5 Notas finales
  3. 3. Vim Javier Rojas Vim Preliminares Funcionalidad general Programaci´n o Historia Automatizaci´n o - Vim Scripts Clon de vi Notas finales Bram Molenaar Charityware Caracter´ ısticas Multiplataforma Extensible Modal
  4. 4. Vim Javier Rojas Vim Preliminares Funcionalidad general Programaci´n o Historia Automatizaci´n o - Vim Scripts Clon de vi Notas finales Bram Molenaar Charityware Caracter´ ısticas Multiplataforma Extensible Modal
  5. 5. Vim Javier Rojas Respecto a esta charla Preliminares Funcionalidad general Programaci´n o Automatizaci´n o - Vim Scripts Notas finales El qu´, no el c´mo e o (Necesariamente) mi Las posibilidades de vim experiencia personal No Ruby, no PHP, no (python, C/C++, SQL, .NET LaTeX, HTML, Git) En el sentido matem´tico a La base del uso de vim
  6. 6. Vim Javier Rojas Respecto a esta charla Preliminares Funcionalidad general Programaci´n o Automatizaci´n o - Vim Scripts Notas finales El qu´, no el c´mo e o (Necesariamente) mi Las posibilidades de vim experiencia personal No Ruby, no PHP, no (python, C/C++, SQL, .NET LaTeX, HTML, Git) En el sentido matem´tico a La base del uso de vim
  7. 7. Vim Javier Rojas Respecto a esta charla Preliminares Funcionalidad general Programaci´n o Automatizaci´n o - Vim Scripts Notas finales El qu´, no el c´mo e o (Necesariamente) mi Las posibilidades de vim experiencia personal No Ruby, no PHP, no (python, C/C++, SQL, .NET LaTeX, HTML, Git) En el sentido matem´tico a La base del uso de vim
  8. 8. Vim Javier Rojas Agenda Preliminares 1 Preliminares Funcionalidad general 2 Funcionalidad general Programaci´n o Operaciones b´sicas a Automatizaci´n o - Vim Scripts Buffers, ventanas, pesta˜as n Notas finales 3 Programaci´n o Navegaci´n o Ayudas para digitado Control de versiones Soporte espec´ıfico para lenguajes 4 Automatizaci´n - Vim Scripts o Ayudas b´sicas a Macros Scripting 5 Notas finales
  9. 9. Vim Javier Rojas Agenda Preliminares 1 Preliminares Funcionalidad general 2 Funcionalidad general Operaciones b´sicas a Operaciones b´sicas a Buffers, ventanas, Buffers, ventanas, pesta˜as n pesta˜as n Programaci´n o 3 Programaci´n o Automatizaci´n o Navegaci´n o - Vim Scripts Ayudas para digitado Notas finales Control de versiones Soporte espec´ıfico para lenguajes 4 Automatizaci´n - Vim Scripts o Ayudas b´sicas a Macros Scripting 5 Notas finales
  10. 10. Vim Javier Rojas Modalidad Preliminares Funcionalidad general Operaciones b´sicas a Modo normal: comandos, operaciones sobre texto, Buffers, ventanas, movimiento pesta˜as n Modo de inserci´n: escribir texto o Programaci´n o Automatizaci´n o Modo de comandos: comandos Ex - Vim Scripts Notas finales Porqu´? e Todo el teclado permite ingresar comandos Menos Escape-Meta-Alt-Control-Shift Razones hist´ricas - teclados no est´ndar o a
  11. 11. Vim Javier Rojas Modalidad Preliminares Funcionalidad general Operaciones b´sicas a Modo normal: comandos, operaciones sobre texto, Buffers, ventanas, movimiento pesta˜as n Modo de inserci´n: escribir texto o Programaci´n o Automatizaci´n o Modo de comandos: comandos Ex - Vim Scripts Notas finales Porqu´? e Todo el teclado permite ingresar comandos Menos Escape-Meta-Alt-Control-Shift Razones hist´ricas - teclados no est´ndar o a
  12. 12. Vim Javier Rojas Movimiento Preliminares Funcionalidad general Operaciones b´sicas a Buffers, ventanas, pesta˜as n Programaci´n o h, j, k, l Automatizaci´n o w, W, b, B - Vim Scripts Notas finales t, T, f, F, ;, , <n><movimiento>
  13. 13. Vim Javier Rojas insertar, modificar, eliminar texto Preliminares Funcionalidad general Operaciones b´sicas a Buffers, ventanas, pesta˜as n Programaci´n o Automatizaci´n o i, a, I, A, o, O - Vim Scripts d, c, D, C, dd, cc, x Notas finales
  14. 14. Vim Javier Rojas cortar, copiar, pegar Preliminares Funcionalidad general Operaciones b´sicas a Buffers, ventanas, Poner texto en un registro (portapapeles), pegarlo en alg´n u pesta˜as n sitio Programaci´n o Automatizaci´n o Cortar: d, dd - Vim Scripts Notas finales Copiar: y, yy Pegar: p Registros: "
  15. 15. Vim Javier Rojas Operadores Preliminares Funcionalidad general Operaciones b´sicas a Buffers, ventanas, pesta˜as n Transforman el texto indicado de alguna forma Programaci´n o Cambiar, borrar, copiar: c, d, y Automatizaci´n o - Vim Scripts May´sculas, min´sculas: g~ , gu, gU u u Notas finales Indentado, formateo: >, <, gq Otros: !, g?, =
  16. 16. Vim Javier Rojas Modo visual Preliminares Funcionalidad general Operaciones b´sicas a Buffers, ventanas, pesta˜as n Seleccionar texto, extender selecci´n mediante movimientos, o Programaci´n o operar sobre el texto Automatizaci´n o - Vim Scripts v, V, CTRL-V Notas finales Operador gv, o
  17. 17. Vim Javier Rojas Conceptos Preliminares Funcionalidad general Operaciones b´sicas a Buffers, ventanas, pesta˜as n Programaci´n o Archivos en edici´n: buffers o Automatizaci´n o - Vim Scripts Ventanas: visualizaci´n de un buffer o Notas finales Pesta˜as: grupos de ventanas n
  18. 18. Vim Javier Rojas Conceptos Preliminares Funcionalidad general Operaciones b´sicas a Buffers, ventanas, pesta˜as n Programaci´n o Archivos en edici´n: buffers o Automatizaci´n o - Vim Scripts Ventanas: visualizaci´n de un buffer o Notas finales Pesta˜as: grupos de ventanas n
  19. 19. Vim Javier Rojas Conceptos Preliminares Funcionalidad general Operaciones b´sicas a Buffers, ventanas, pesta˜as n Programaci´n o Archivos en edici´n: buffers o Automatizaci´n o - Vim Scripts Ventanas: visualizaci´n de un buffer o Notas finales Pesta˜as: grupos de ventanas n
  20. 20. Vim Javier Rojas Buffers Preliminares Funcionalidad general Operaciones b´sicas a Buffers, ventanas, pesta˜as n Programaci´n o Automatizaci´n o Representaci´n de un archivo en memoria o - Vim Scripts Un archivo = un buffer Notas finales
  21. 21. Vim Javier Rojas Ventanas Preliminares Funcionalidad general Operaciones b´sicas a Buffers, ventanas, pesta˜as n Programaci´n o Dividir ventana, vertical u horizontalmente Automatizaci´n o - Vim Scripts Cualquier buffer en cualquier ventana Notas finales Redimensionar
  22. 22. Vim Javier Rojas Pesta˜as n Preliminares Funcionalidad general Operaciones b´sicas a Buffers, ventanas, pesta˜as n Grupos de ventanas relacionadas Programaci´n o Automatizaci´n o No use una pesta˜a por buffer n - Vim Scripts Notas finales Uso de pesta˜as n Grupo de vistas relacionadas
  23. 23. Vim Javier Rojas Pesta˜as n Preliminares Funcionalidad general Operaciones b´sicas a Buffers, ventanas, pesta˜as n Grupos de ventanas relacionadas Programaci´n o Automatizaci´n o No use una pesta˜a por buffer n - Vim Scripts Notas finales Uso de pesta˜as n Grupo de vistas relacionadas
  24. 24. Vim Javier Rojas Agenda Preliminares 1 Preliminares Funcionalidad general 2 Funcionalidad general Programaci´n o Navegaci´n o Operaciones b´sicas a Ayudas para Buffers, ventanas, pesta˜as n digitado Control de 3 Programaci´n o versiones Soporte Navegaci´n o espec´ ıfico para Ayudas para digitado lenguajes Control de versiones Automatizaci´n o - Vim Scripts Soporte espec´ıfico para lenguajes Notas finales 4 Automatizaci´n - Vim Scripts o Ayudas b´sicas a Macros Scripting 5 Notas finales
  25. 25. Vim Javier Rojas Navegaci´n de archivos de texto o Preliminares Funcionalidad general Programaci´n o Navegaci´n o Ayudas para digitado Control de A trav´s de e versiones Soporte Partes de un archivo espec´ ıfico para lenguajes Archivos Automatizaci´n o Elementos de un programa/proyecto - Vim Scripts Notas finales
  26. 26. Vim Javier Rojas Navegaci´n en un archivo o Preliminares Funcionalidad general Programaci´n o Navegaci´n o Ayudas para digitado Control de versiones Folding Soporte espec´ ıfico scripts: TagList, BufGrep para lenguajes Marcas (bookmarks) Automatizaci´n o - Vim Scripts Notas finales
  27. 27. Vim Javier Rojas Navegaci´n a trav´s de archivos o e Preliminares Funcionalidad general Programaci´n o Navegaci´n o por nombre: FuzzyFinder Ayudas para digitado Control de B´squeda difusa de archivos, por nombre u versiones Soporte M´ltiples especificadores u espec´ ıfico para Recursivo lenguajes Automatizaci´n o - Vim Scripts por contenido: grep - vimgrep Notas finales B´squeda de un patr´n de texto (regexp) dentro de un grupo u o de archivos
  28. 28. Vim Javier Rojas Navegaci´n a trav´s de archivos o e Preliminares Funcionalidad general Programaci´n o Navegaci´n o por nombre: FuzzyFinder Ayudas para digitado Control de B´squeda difusa de archivos, por nombre u versiones Soporte M´ltiples especificadores u espec´ ıfico para Recursivo lenguajes Automatizaci´n o - Vim Scripts por contenido: grep - vimgrep Notas finales B´squeda de un patr´n de texto (regexp) dentro de un grupo u o de archivos
  29. 29. Vim Javier Rojas Navegaci´n a trav´s de programas o e Preliminares - funciones Funcionalidad general Programaci´n o Navegaci´n o Ayudas para digitado Control de versiones Tags Soporte espec´ ıfico Construye una base de datos de las funciones en un grupo de para lenguajes archivos Automatizaci´n o Saltar a definici´n o - Vim Scripts Notas finales Ver par´metros de una funci´n a o
  30. 30. Vim Javier Rojas Ventana quickfix Preliminares Funcionalidad general Programaci´n o Navegaci´n o Ayudas para digitado Lista navegable de posiciones en uno o m´s archivos a Control de versiones Errores de compilaci´n o Soporte espec´ ıfico Resultados de b´squedas u para lenguajes Definiciones de funciones Automatizaci´n o - Vim Scripts Cualquier lista definida por el usuario Notas finales
  31. 31. Vim Javier Rojas Auto-completado Preliminares Funcionalidad general Programaci´n o Navegaci´n o Ayudas para digitado Palabras en el archivo actual Control de versiones Nombres de archivo Soporte espec´ para ıfico Tags lenguajes Listados generados mediante una funci´n o Automatizaci´n o - Vim Scripts (omnicompletion) Notas finales
  32. 32. Vim Javier Rojas M´s movimientos/objetos de texto a Preliminares Funcionalidad general Programaci´n o Navegaci´n o Ayudas para digitado Control de versiones Bloques: (), [], {}, ’’, Soporte espec´ ıfico % para lenguajes surround.vim Automatizaci´n o - Vim Scripts Notas finales
  33. 33. Vim Javier Rojas SnipMate Preliminares Funcionalidad general Programaci´n o Navegaci´n o Ayudas para digitado Control de versiones Plantillas parametrizables para tipos de archivo espec´ ıficos Soporte espec´ ıfico Similar a snippets de TextMate para lenguajes Es posible definir nuevos snippets f´cilmente a Automatizaci´n o - Vim Scripts Notas finales
  34. 34. Vim Javier Rojas vcscommand Preliminares Funcionalidad general Programaci´n o Navegaci´n o Ayudas para digitado Control de versiones Commit Soporte espec´ ıfico Ver diffs respecto a una revisi´n particular o para lenguajes Subversion, Git, Mercurial, Bzr, CVS. . . Automatizaci´n o - Vim Scripts Notas finales
  35. 35. Vim Javier Rojas Control de versiones - vim Preliminares Funcionalidad general Programaci´n o Navegaci´n o Ayudas para digitado Control de versiones Ver diferencias entre 2-4 archivos Soporte espec´ ıfico Aplicar parches para lenguajes Escoger y aplicar cambios Automatizaci´n o - Vim Scripts Notas finales
  36. 36. Vim Javier Rojas Hacks para Git Preliminares Funcionalidad general Programaci´n o Navegaci´n o Ayudas para hist-brow digitado Control de Diferencias entre la versi´n actual de un archivo y sus o versiones Soporte versiones previas espec´ ıfico para Avanzar hacia atr´s o hacia adelante en el historial del a lenguajes archivo Automatizaci´n o - Vim Scripts Notas finales diffbr Diferencias entre un archivo en distintas ramas de desarrollo
  37. 37. Vim Javier Rojas Hacks para Git Preliminares Funcionalidad general Programaci´n o Navegaci´n o Ayudas para hist-brow digitado Control de Diferencias entre la versi´n actual de un archivo y sus o versiones Soporte versiones previas espec´ ıfico para Avanzar hacia atr´s o hacia adelante en el historial del a lenguajes archivo Automatizaci´n o - Vim Scripts Notas finales diffbr Diferencias entre un archivo en distintas ramas de desarrollo
  38. 38. Vim Javier Rojas Soporte espec´ ıfico para lenguajes Preliminares Funcionalidad general Programaci´n o Navegaci´n o Ayudas para digitado C/C++ Saltar a definici´n, Ver valor de constante, o Control de versiones cscope, compilaci´n, completado o Soporte espec´ ıfico Java Eclim para lenguajes Python Completado Automatizaci´n o - Vim Scripts SQL Omni completion de nombres de tablas y campos Notas finales
  39. 39. Vim Javier Rojas HTML/XML Preliminares Funcionalidad general Programaci´n o Navegaci´n o Ayudas para digitado Control de Tag: objeto de texto versiones Soporte M´ltiples plugins para: completar tags, atributos, folding, u espec´ ıfico para renombrar tags, copiar, pegar lenguajes Automatizaci´n o ZenCoding - Vim Scripts Notas finales
  40. 40. Vim Javier Rojas Agenda Preliminares 1 Preliminares Funcionalidad general 2 Funcionalidad general Programaci´n o Operaciones b´sicas a Automatizaci´n o - Vim Scripts Buffers, ventanas, pesta˜as n Ayudas b´sicas a 3 Programaci´n o Macros Scripting Navegaci´n o Notas finales Ayudas para digitado Control de versiones Soporte espec´ıfico para lenguajes 4 Automatizaci´n - Vim Scripts o Ayudas b´sicas a Macros Scripting 5 Notas finales
  41. 41. Vim Javier Rojas :abbr - :map Preliminares Funcionalidad general Programaci´n o Automatizaci´n o :abbr - Vim Scripts Ayudas Cambiar un texto por otro, en modo inserci´n o b´sicas a Macros Digitado r´pido a Scripting Notas finales :map Shortcuts, para cualquier modo Convierte un shortcut/hotkey en una secuencia de letras Cambio de modos
  42. 42. Vim Javier Rojas :abbr - :map Preliminares Funcionalidad general Programaci´n o Automatizaci´n o :abbr - Vim Scripts Ayudas Cambiar un texto por otro, en modo inserci´n o b´sicas a Macros Digitado r´pido a Scripting Notas finales :map Shortcuts, para cualquier modo Convierte un shortcut/hotkey en una secuencia de letras Cambio de modos
  43. 43. Vim Javier Rojas Buscar y reemplazar Preliminares Funcionalidad general Programaci´n o Automatizaci´n o - Vim Scripts Uso b´sico a Ayudas b´sicas a s/<patron>/<texto reemplazo>/ Macros Scripting Uso avanzado Notas finales Backreferences: s/(<patron1>)...(<patron2>)/12 Expresiones: s/<patron>/=<expresion>
  44. 44. Vim Javier Rojas Buscar y reemplazar Preliminares Funcionalidad general Programaci´n o Automatizaci´n o - Vim Scripts Uso b´sico a Ayudas b´sicas a s/<patron>/<texto reemplazo>/ Macros Scripting Uso avanzado Notas finales Backreferences: s/(<patron1>)...(<patron2>)/12 Expresiones: s/<patron>/=<expresion>
  45. 45. Vim Javier Rojas Macros Preliminares Funcionalidad general Secuencia de comandos, construida a partir de los comandos Programaci´n o ingresados por el usuario Automatizaci´n o - Vim Scripts Uso b´sico a Ayudas b´sicas a Grabar la macro: q<nombre-macro><comandos>q Macros Scripting Ejecutar la macro: @<nombre-macro>, @@, Notas finales <numero>@<nombre-macro> Sugerencias Terminar la macro pensando en la pr´xima ejecuci´n o o Moverse en el archivo usando marcas Macros recursivas
  46. 46. Vim Javier Rojas vimscript - Acerca del lenguaje Preliminares Funcionalidad general Programaci´n o Automatizaci´n o - Vim Scripts Enteros, flotantes, cadenas de texto Ayudas b´sicas a Arrays, Diccionarios (Hash tables, maps). Macros Scripting if, for, while, try Notas finales Din´mico, recolecci´n de basura a o Procedimental, funcional, OO Mono Hilo
  47. 47. Vim Javier Rojas Qu´ pueden hacer las funciones e Preliminares Funcionalidad general Programaci´n o Automatizaci´n o - Vim Scripts C´mputo o Ayudas b´sicas a Modificar texto de buffers abiertos Macros Scripting Abrir buffers, ventanas, pesta˜as n Notas finales Interacci´n con el sistema de archivos o Invocar programas externos, enviar/recibir texto Llamar cualquier comando (:comando)
  48. 48. Vim Javier Rojas Variables Preliminares Funcionalidad general Programaci´n o Las variables est´n asociadas a objetos, y existen mientras el a Automatizaci´n o objeto exista - Vim Scripts Ayudas b: Buffer b´sicas a Macros w: Ventana (Window) Scripting t: Pesta˜a (Tab) n Notas finales t: Local a la funci´n o s: Local respecto al script a: Argumento de la funci´n (s´lo lectura) o o v: Definida por Vim g: Global
  49. 49. Vim Javier Rojas Variables Preliminares Funcionalidad general Programaci´n o Automatizaci´n o - Vim Scripts Ayudas b´sicas a Macros Variables de entorno: $VAR Scripting Opciones Vim: &VAR Notas finales Registros: @r
  50. 50. Vim Javier Rojas Tips de desarrollo Preliminares Documentaci´n b´sica o a Funcionalidad general :help script Programaci´n o Automatizaci´n o :help function-list - Vim Scripts Ayudas :help holy-grail b´sicas a Macros Scripting Depurado b´sico a Notas finales :echo MiFuncion(), :call MiFuncion() Ejecutar comandos Construya una cadena con el comando que desea, y ejec´tela u let miarchivo = ’cosa.txt’ let cmd = ’:edit ’ . miarchivo execute cmd
  51. 51. Vim Javier Rojas Agenda Preliminares 1 Preliminares Funcionalidad general 2 Funcionalidad general Programaci´n o Operaciones b´sicas a Automatizaci´n o - Vim Scripts Buffers, ventanas, pesta˜as n Notas finales 3 Programaci´n o Navegaci´n o Ayudas para digitado Control de versiones Soporte espec´ıfico para lenguajes 4 Automatizaci´n - Vim Scripts o Ayudas b´sicas a Macros Scripting 5 Notas finales
  52. 52. Vim Javier Rojas Porqu´ no un IDE? e Preliminares Funcionalidad general Programaci´n o Automatizaci´n o - Vim Scripts Exceso de formalismos Notas finales Velocidad (or lack of thereof ) Componentes de edici´n apestan o Inconsistencia de interfaz Portabilidad de configuraci´n o Ergonom´ ıa
  53. 53. Vim Javier Rojas Ergonom´ ıa Preliminares Funcionalidad general Programaci´n o Automatizaci´n o - Vim Scripts Notas finales Modalidad. Movimiento (laptops.) Ortogonalidad - operadores, movimiento, objetos de texto Automatizaci´n o
  54. 54. Vim Javier Rojas Interfaces similares Preliminares Funcionalidad general Programaci´n o Automatizaci´n o - Vim Scripts Navegadores Vimperator, elinks-keys, Vimium, Konqueror Notas finales PIM Mutt, abook, wyrd WManagers Ion3, awesome, xmonad, . . . FileManagers lfm, vifm, vim audio cmus, xmms2, MPD/MPC Util. UNIX less, sed, screen, bash (readline) IDEs* Eclipse, Visual Studio
  55. 55. Vim Javier Rojas Problemas/Defectos/Quejas Preliminares Funcionalidad general Programaci´n o Automatizaci´n o - Vim Scripts Notas finales Config. inicial es p´sima e Interacci´n con procesos externos o Depuradores Shells IDEs, refactoring Proceso de desarrollo lento
  56. 56. Vim Javier Rojas Soporte - Comunidad Preliminares Funcionalidad general Programaci´n o Ayuda interna Automatizaci´n o - Vim Scripts :help Notas finales Lista de correo vim_use@googlegroups.com Canal IRC #vim, en Freenode (irc.freenode.net) Wiki http://vim.wikia.com
  57. 57. Vim Javier Rojas Consejos Preliminares Funcionalidad general Programaci´n o Automatizaci´n o - Vim Scripts Notas finales vimtutor problema → soluci´n → crear h´bito o a revisar el wiki leer; no tema preguntar
  58. 58. Vim Javier Rojas Moralejas Preliminares Funcionalidad general Programaci´n o Automatizaci´n o - Vim Scripts F´cil de usar = f´cil de aprender a a Notas finales Objetos de texto. Operadores ortogonales sobre los objetos de texto La cantidad de caracter´ ısticas no es importante Lo importante es extensibilidad (para copiar/implementar buenas ideas) Vim, Emacs, TextMate

×