Editores de texto
Taller de introducción
¿Por qué es tan importante un editor de texto?
Tip 22
Use a Single Editor Well
-- The Pragmatic Programmer
Características deseables de un editor
- Configurable
- Extensible
- Programable
Características de programación
- Syntax highlighting
- Auto-completado
- Auto-indentación
- Código inicial (boiler plate)
- Ayuda en línea
- IDE (compilación, tests, etc)
Editores
- Vim
- Emacs
- Sublime Text
Eclipse/IntelliJ
Comparison of text editors
-- Wikipedia
Puntos fuertes de Vim
- Ubicuo (multiplataforma y similitudes vi)
- Ideal para línea de órdenes
- Afín a cultura DevOps
- Cumple las premisas de Power Editing (Pragmatic Programmer)
Características especiales de Vim I
- Modes (normal, insert, visual, command, etc)
- Operator + Motion
- Regex engine (search and replace)
- Registers
Características especiales de Vim II
- Macros
- Buffers
- Autocompletion
- Extensible (plugins, scripting)
¿Qué veremos de Vim en el taller?
- Introducción básica
- Trabajaremos con los distintos modos
- Aprenderemos operadores y movimientos
- Realizaremos búsquedas y substituciones
- Usaremos macros para recordar acciones
- Autocompletado, y no solo de código
- Instalaremos plugins (pathogen o vundle) y veremos como retocarlos
Emacs
the extensible, customizable, self-documenting, real-time display editor
- GNU Emacs
- Licencia: GNU GPL v.3
- Versión estable: 24.4
Puntos fuertes de Emacs
- Multiplataforma (Win, Mac, POSIX, emacs...)
- Herramienta todoterreno
- Línea de órdenes, X local, tramp, ...
- Usos distintos (leng. prog., edición textos, IRC, org., ...)
- Hiperextensible
Características especiales de Emacs
Características especiales de Emacs II
puede (y suele) copiar lo bueno :)
términos (y opciones por defecto) anticuadas :(
no hay privilegio para lib. básicas :)
¿Qué veremos de Emacs en el taller?
- Tutorial básico (movernos, cerrar, cambiar buffer...)
- Algo de nomenclatura
- Sistema de ayuda
- Sistema de paquetes
- Configuración básica y avanzada
- Macros
- ...
Puntos fuertes de Sublime Text
- Simplicidad
- Multiplataforma (Linux, Windows, MacOSX)
- Extensible mediante plugins escritos en Python normalmente
- Potentísimo sistema de plantillas de código
Características especiales de Sublime Text I
- Mapa del fichero
- Paleta de comandos
- Búsqueda global (Go to Anything)
- Búsqueda y reemplazo usando expresiones regulares
Características especiales de Sublime Text II
- Selección múltiple de texto
- Múltiples cursores para edición en bloque
- Definición de múltiples ventanas de edición
- Modo "Sin distracciones"
¿Qué veremos de Sublime Text en el taller?
- Partes básicas de la interfaz
- La paleta de comandos
- Selecciones múltiples y en bloque
- Gestión de un proyecto
- Búsqueda global y con expresiones regulares
- Package manager y plugins
- Lo que dé tiempo a probar
Puntos fuertes de IntelliJ
Características especiales de IntelliJ
- Aistencia de código y refactorización.
- Corrección de ortografía (Inglés)
- Configura lo que se ejecuta y lo que se despliega
¿Qué vamos a hacer en el taller de IntelliJ?
- Como se usa
- Como se configura
- Como aplicar a la versión Ultimate