SlideShare una empresa de Scribd logo
Vim + Python-mode
Carlos Gustavo Ruiz
@atmantree
Agenda
● IDEs vs Editores
● Vi → Vim
● Vim
● Personalización,
Scripts y Plugins
● Python-Mode
● Recursos
IDEs vs Editores de Texto
IDEs
● Integrado (todo incluido)
● Alto consumo de
recursos
● Uso de Entorno Gráfico
es indispensable
● Generalmente definen un
estilo de hacer las cosas.
Editores de Texto
● Extensibles
● Bajo consumo de
recursos
● Uso de Entorno Gráfico
es opcional
● Normalmente no
interviene en el estilo
del hacer las cosas.
IDEs vs Editores de Texto
IDEs
● Eclipse
● NetBeans
● VisualStudio
● Xcode
● Qt Creator
● Anjuta
Editores de Texto
● Vim
● Emacs
● Notepad++
● SublimeText
● Atom
● nano
IDEs vs Editores de Texto
IDEs vs Editores de Texto
IDEs vs Editores de Texto
¿Una charla para
un simple editor
de texto?
IDEs vs Editores de Texto
Las apariencias
engañan
IDEs vs Editores de Texto
¿Por qué Vim?
● Vim no solo es un editor, es una herramienta.
● Es rápido.
● Muy flexible y altamente personalizable.
● Se ejecuta prácticamente en cualquier
plataforma.
● Trabaja con muchísimos lenguajes de
programación.
● Extensible (Macros, Scripts y Plugins).
● Es Código Abierto (Charityware)
Vi → Vim
● vi → 1976 (modo visual para editor ex, incluye el concepto de edición modal)
● STEVIE → 1987 (primer clon de vi, ofrecía un grupo limitado de opciones de vi,
diseñado para Atari ST, luego portado a OS/2) 10% compatible
● Elvis → 1997 (corregía errores de STEVIE, incluyo resaltado de sintaxis, multiples
ventanas y una gui, era el vi estándar de Slackware y Minix en el 2003) 80%
compatible
● nvi → 2001 (Derivado de Elvis, multiples buffers, historial ilimitado, expresiones
regulares, scripting con Perl y Tcl/tk, distribuido con los Unix BSD) 95% compatible
● Vim → 1991 (Edición de multiples archivos en multiples buffers, ventanas y pestañas,
lenguaje de scripting, soporte de Perl y Python, resaltado de código de más de 200
lenguajes de programación, historial ilimitado, expresiones regulares, completado de
palabras de acuerdo al contexto, integración con multiples compiladores) 99%
compatible
● Vile → 1990 (Intento por crear un editor con lo mejor de vi y emacs, edición modal,
lenguaje procedimental, soporte para perl – experimental, funciones pueden mapearse
a teclas) 10% compatible
Vim
● Edición Modal
– Modo Normal (desplazamiento y manipulación de
texto)
– Modo Insert (modifica el texto)
– Modo Visual (resalta una porción del archivo y la
modifica en bloque)
– Modo Comandos (ejecuta acciones en forma de
comandos)
– Modo Ex (comandos)
Vim
Modo normal
● Desplazamiento (h, j, k, l) (izquierda, arriba, abajo, derecha)
Vim
Modo normal
● Desplazamiento (h, j, k, l) (izquierda, abajo, arriba, derecha)
https://en.wikipedia.org/wiki/ADM-3A (un estándar de 1974)
http://xahlee.info/kbd/keyboard_hardware_and_key_choices.html
Vim
Modo normal
● Otros desplazamientos (algunos de los más comunes)
– w → Avanzar palabra
– W → Avanzar hasta el próximo carácter en blanco
– b → Retroceder al inicio de la palabra
– B → Retroceder hasta el carácter en blanco previo
– e → Avanzar hasta el final de palabra
– ^ → Inicio de línea
– $ → Final de línea
– /texto → ir a la vez que aparezca textotexto
– J → Quitar salto de línea
Vim
Modo normal
● Otros desplazamientos (algunos de los más comunes)
– ^E → Mover la ventana hacia abajo
– ^Y → Mover la ventana hacia arriba
– ^F → Bajar una página
– ^B → Subir una página
– H → Mover el cursor al tope de la ventana
– M → Mover el cursor al medio de la ventana
– L → Mover el cursor al fondo de la ventana
– gg →Ir al inicio del archivo
– G → Ir al final del archivo
http://www.sitepoint.com/getting-started-vim/
Vim
Objetos de texto
● w → palabras
● s → sentencias (oraciones)
● p → parrafos
● t → tags (etiquetas – xml/html)
Movimientos
● a→all (todos)
● i → in (dentro)
● t →until (hasta)
● f →buscar hacia adelante
● F →buscar en reversa
Comandos
● d→delete (borrar y/o cortar)
● c → change (borrar y
cambiar a modo insert)
● y →yank (copiar)
● v →selección visual
Vim
Ahora juntemos lo anterior con esta formula
● [numero]{comando}{objeto o movimiento}
Ejemplos de acciones:
● diw → delete in word (borrar en palabra)
● ciw → change in word (igual que el anterior pero te cambia a
modo insert)
● caw → cambiar toda la palabra
● yi) → copiar el contenido dentro de paréntesis
● di) → borrar el contenido dentro del paréntesis
● da) → igual que el anterior pero elimina el paréntesis inclusive
Vim
● Otros comandos:
– dd→ borrar línea
– yy → copiar línea
– p→ pegar en la línea siguiente
– P → pegar en la línea previa
– D → borrar hasta el final de la
línea
– C → cambiar hasta el final de la
línea
– o → insertar linea después de la
actual
– O → insertar linea después de la
actual
– I → mover al inicio y pasar a modo
edición
– A → mover al final y pasar a modo
edición
● Para que averiguar:
– ¿De lo visto que hace va”?
– ¿Qué hace el comando . (punto)?
Vim
Modo Insert
● Se usa para modificar texto
como haría con un editor
común y corriente
Modo visual
● Permite seleccionar un
bloque y aplicar comandos y
modificaciones por lote
Modo ex
● Parecido al modo comando,
permite ejecutar
instrucciones del comando
ex:
Modo Comando
● Es todo lo que escribimos en
los comandos con la fórmula
:comando.
● Ejemplo:
– :help
– :vimtutor
vim -E -s Makefile <<-EOF
:%substitute/CFLAGS = -g$/CFLAGS =-fPIC -DPIC -g/
:%substitute/CFLAGS =$/CFLAGS =-fPIC -DPIC/
:%substitute/ADAFLAGS =$/ADAFLAGS =-fPIC -DPIC/
:update
:quit
EOF
Personalización, Scripts y Plugins
● Una vez que se ha personalizado Vim, este
queda como su chaqueta o el jean favorito.
– Para personalizar Vim principalmente nos valemos
de modificar el archivo .vimrc
– En el se hace mapeado de atajos de teclado,
cambiamos de esquema de colores, se corre
rutinas y se define condiciones y sintaxis para
diferentes tipos de archivos y un montón de cosas
más.
Personalización, Scripts y Plugins
Vim es extensible vía Macros, Scripts y Plugins
● Las macros permiten simplificar rutinas simples
durante la edición
● Los scripts en VimL permiten automatizar
tareas más complejas y eventualmente
escribir..
● Plugins, que es de lo más genial una vez que
se comprenden los conceptos básicos.
Personalización, Scripts y Plugins
Plugins
● Instalación:
– Instalarlos a mano en la carpeta .vim/ con algo de
trabajo sobre el archivo .vimrc (ejemplo http://stackoverflow.com/a/1639654)
– Usar gestor de plugins:
● Vundle
● Pathogen
● Neobundle Dein
Plugins Útiles
● NerdTree
Plugins Útiles
● Syntastic
Plugins Útiles
● Figitive
https://github.com/pyve/awesome-pyve
Plugins Útiles
● YouCompleteMe
Python Mode
Python Mode es un plugin para facilitar el trabajo con Python dentro de
VIM, incluye un grupo de herramientas entre las que se cuentan:
● Pylint → Analizador de código fuente
● Rope → Herramienta de refactorización. Ayuda a buscar las
definiciones de objetos y funciones.
● PyDoc → Herramienta para obtener la documentación de los módulos
utilizados.
● PyFlakes →Validaciones dentro del código.
● Pep8 → Para estándares de codificación.
● Pep257 → Alerta de Docstrings faltantes.
● mccabe → Análisis de complejidad ciclomática
Python Mode
Entre las bondades de python-mode se cuentan:
●
Soporte para Python 2 y Python 3
● Resaltado de sintaxis mejorado
●
Soporte para virtualenv
● Ejecutar código python
● Agregar y quitar puntos de parada (breakpoints)
●
Indentación mejorada
● Folding (compactación)
●
Movimientos definidos para Python
● Revisión de código
● Autoarreglo de errores de PEP 8
●
Busqueda en documentación de Python
● Ir a definición
●
Y más..
Python Mode
Demo
Recursos
● http://www.vim.org/
● Para aprender
– vimtutor
– http://www.openvim.com/
– http://vim-adventures.com/
– http://www.vimgenius.com/
● Para Plugins
– http://vimawesome.com/
Recursos
● Para consultas rápidas
– :help
– http://vim.wikia.com/
● Configuraciones “llave en mano”
– http://vim-bootstrap.com/
– http://vim.spf13.com/
● Comunidad Vim de Venezuela
– https://telegram.me/vimvnzla
Referencias
● https://en.wikibooks.org/wiki/Learning_the_vi_E
ditor/Vim
● https://youtu.be/5r6yzFEXajQ
● https://youtu.be/YhqsjUUHj6g
● http://www.vim.org/6k/features.es.txt
● http://vim.wikia.com/wiki/Vim_Tips_Wiki

Más contenido relacionado

Destacado

Desarrollando a la velocidad de la luz con vim
Desarrollando a la velocidad de la luz con vimDesarrollando a la velocidad de la luz con vim
Desarrollando a la velocidad de la luz con vim
Paolo Carrasco Mori
 
Programación Segura en python. Owasp Venezuela
Programación Segura en python. Owasp  VenezuelaProgramación Segura en python. Owasp  Venezuela
Programación Segura en python. Owasp Venezuela
Eliezer Jose Romero Carrasquero
 
Integrando mis librerías C++ con Python
Integrando mis librerías C++ con PythonIntegrando mis librerías C++ con Python
Integrando mis librerías C++ con Python
Carlos Gustavo Ruiz
 
Introduction to the rapid prototyping with python and linux for embedded systems
Introduction to the rapid prototyping with python and linux for embedded systemsIntroduction to the rapid prototyping with python and linux for embedded systems
Introduction to the rapid prototyping with python and linux for embedded systems
Naohiko Shimizu
 
Python and sysadmin I
Python and sysadmin IPython and sysadmin I
Python and sysadmin I
Guixing Bai
 
Programming Under Linux In Python
Programming Under Linux In PythonProgramming Under Linux In Python
Programming Under Linux In Python
Marwan Osman
 
Python en Android,Charla del FUDcon Latam 2012
Python en Android,Charla del FUDcon Latam 2012Python en Android,Charla del FUDcon Latam 2012
Python en Android,Charla del FUDcon Latam 2012
Ernesto Crespo
 
Python for Linux System Administration
Python for Linux System AdministrationPython for Linux System Administration
Python for Linux System Administration
vceder
 
TDC2016SP - Trilha Linux Embarcado
TDC2016SP - Trilha Linux EmbarcadoTDC2016SP - Trilha Linux Embarcado
TDC2016SP - Trilha Linux Embarcado
tdc-globalcode
 
Python for-unix-and-linux-system-administration
Python for-unix-and-linux-system-administrationPython for-unix-and-linux-system-administration
Python for-unix-and-linux-system-administration
Victor Marcelino
 
A Ouvidoria como instrumento de participao cidada
A Ouvidoria como instrumento de participao cidadaA Ouvidoria como instrumento de participao cidada
A Ouvidoria como instrumento de participao cidada
COLUFRAS
 
Business Assurance en el sector IT
Business Assurance en el sector ITBusiness Assurance en el sector IT
Business Assurance en el sector IT
AGESTIC - Asociación Gallega Empresas TIC
 
Youth mode
Youth modeYouth mode
Youth mode
Renato Pessetto
 
ALFA TRALL Quality Assurance
ALFA TRALL Quality Assurance ALFA TRALL Quality Assurance
ALFA TRALL Quality Assurance
ALFA-TRALL
 
Séance d'information Puma cmuc acs ame 31 janvier 2017
Séance d'information Puma cmuc acs ame 31 janvier 2017Séance d'information Puma cmuc acs ame 31 janvier 2017
Séance d'information Puma cmuc acs ame 31 janvier 2017
Paul Daval
 
Ideas 4 Change - entendendo o mercado
Ideas 4 Change - entendendo o mercadoIdeas 4 Change - entendendo o mercado
Ideas 4 Change - entendendo o mercado
Troposlab
 
Políticas e estratégias internacionais em segurança cibernética
Políticas e estratégias internacionais em segurança cibernéticaPolíticas e estratégias internacionais em segurança cibernética
Políticas e estratégias internacionais em segurança cibernética
SAE - Secretaria de Assuntos Estratégicos da Presidência da República
 
DREES : la solidarité dans les complémentaires santé
DREES : la solidarité dans les complémentaires santéDREES : la solidarité dans les complémentaires santé
DREES : la solidarité dans les complémentaires santé
Société Tripalio
 
Windows XP Mode
Windows XP ModeWindows XP Mode
Windows XP Mode
Fabio Hara
 
Prueba de Presentacion1
Prueba de Presentacion1Prueba de Presentacion1
Prueba de Presentacion1
rubychavez
 

Destacado (20)

Desarrollando a la velocidad de la luz con vim
Desarrollando a la velocidad de la luz con vimDesarrollando a la velocidad de la luz con vim
Desarrollando a la velocidad de la luz con vim
 
Programación Segura en python. Owasp Venezuela
Programación Segura en python. Owasp  VenezuelaProgramación Segura en python. Owasp  Venezuela
Programación Segura en python. Owasp Venezuela
 
Integrando mis librerías C++ con Python
Integrando mis librerías C++ con PythonIntegrando mis librerías C++ con Python
Integrando mis librerías C++ con Python
 
Introduction to the rapid prototyping with python and linux for embedded systems
Introduction to the rapid prototyping with python and linux for embedded systemsIntroduction to the rapid prototyping with python and linux for embedded systems
Introduction to the rapid prototyping with python and linux for embedded systems
 
Python and sysadmin I
Python and sysadmin IPython and sysadmin I
Python and sysadmin I
 
Programming Under Linux In Python
Programming Under Linux In PythonProgramming Under Linux In Python
Programming Under Linux In Python
 
Python en Android,Charla del FUDcon Latam 2012
Python en Android,Charla del FUDcon Latam 2012Python en Android,Charla del FUDcon Latam 2012
Python en Android,Charla del FUDcon Latam 2012
 
Python for Linux System Administration
Python for Linux System AdministrationPython for Linux System Administration
Python for Linux System Administration
 
TDC2016SP - Trilha Linux Embarcado
TDC2016SP - Trilha Linux EmbarcadoTDC2016SP - Trilha Linux Embarcado
TDC2016SP - Trilha Linux Embarcado
 
Python for-unix-and-linux-system-administration
Python for-unix-and-linux-system-administrationPython for-unix-and-linux-system-administration
Python for-unix-and-linux-system-administration
 
A Ouvidoria como instrumento de participao cidada
A Ouvidoria como instrumento de participao cidadaA Ouvidoria como instrumento de participao cidada
A Ouvidoria como instrumento de participao cidada
 
Business Assurance en el sector IT
Business Assurance en el sector ITBusiness Assurance en el sector IT
Business Assurance en el sector IT
 
Youth mode
Youth modeYouth mode
Youth mode
 
ALFA TRALL Quality Assurance
ALFA TRALL Quality Assurance ALFA TRALL Quality Assurance
ALFA TRALL Quality Assurance
 
Séance d'information Puma cmuc acs ame 31 janvier 2017
Séance d'information Puma cmuc acs ame 31 janvier 2017Séance d'information Puma cmuc acs ame 31 janvier 2017
Séance d'information Puma cmuc acs ame 31 janvier 2017
 
Ideas 4 Change - entendendo o mercado
Ideas 4 Change - entendendo o mercadoIdeas 4 Change - entendendo o mercado
Ideas 4 Change - entendendo o mercado
 
Políticas e estratégias internacionais em segurança cibernética
Políticas e estratégias internacionais em segurança cibernéticaPolíticas e estratégias internacionais em segurança cibernética
Políticas e estratégias internacionais em segurança cibernética
 
DREES : la solidarité dans les complémentaires santé
DREES : la solidarité dans les complémentaires santéDREES : la solidarité dans les complémentaires santé
DREES : la solidarité dans les complémentaires santé
 
Windows XP Mode
Windows XP ModeWindows XP Mode
Windows XP Mode
 
Prueba de Presentacion1
Prueba de Presentacion1Prueba de Presentacion1
Prueba de Presentacion1
 

Similar a Vim python-mode

Programador Jr. para Python Primera Parte
Programador Jr. para Python Primera ParteProgramador Jr. para Python Primera Parte
Programador Jr. para Python Primera Parte
José Luis Chiquete Valdivieso
 
Curso: Publicando mi proyecto web en Github
Curso: Publicando mi proyecto web en GithubCurso: Publicando mi proyecto web en Github
Curso: Publicando mi proyecto web en Github
Carlos Huamaní
 
Screencast aprende python - anexo python en winshit
Screencast   aprende python - anexo python en winshitScreencast   aprende python - anexo python en winshit
Screencast aprende python - anexo python en winshit
Noe Nieto
 
El Ferrocarril Contra Los Arboles Muertos2
El Ferrocarril Contra Los Arboles Muertos2El Ferrocarril Contra Los Arboles Muertos2
El Ferrocarril Contra Los Arboles Muertos2
ferdinand13
 
Curso Php
Curso PhpCurso Php
Curso Php
larasaregune
 
Introducción al desarrollo de software en comunidad con forja de software y git
Introducción al desarrollo de software en comunidad con forja de software y gitIntroducción al desarrollo de software en comunidad con forja de software y git
Introducción al desarrollo de software en comunidad con forja de software y git
DrPantera
 
1 intro php
1 intro php1 intro php
1 intro php
Carlos A. Iglesias
 
Symfony2 Formacion y primeros pasos
Symfony2  Formacion y primeros pasosSymfony2  Formacion y primeros pasos
Symfony2 Formacion y primeros pasos
Soni BM
 
Herramientas de lanzamiento. Nuestra web
Herramientas de lanzamiento. Nuestra webHerramientas de lanzamiento. Nuestra web
Herramientas de lanzamiento. Nuestra web
Lorena Fernández
 
Lo que tienes que saber de Dart para Backend, frontend y Mobile..pptx
Lo que tienes que saber de Dart para Backend, frontend y Mobile..pptxLo que tienes que saber de Dart para Backend, frontend y Mobile..pptx
Lo que tienes que saber de Dart para Backend, frontend y Mobile..pptx
Sergio Antonio Ochoa Martinez
 
Semana 2 Configuración entorno de desarrollo
Semana 2   Configuración entorno de desarrolloSemana 2   Configuración entorno de desarrollo
Semana 2 Configuración entorno de desarrollo
Richard Eliseo Mendoza Gafaro
 
Kubuntu - Aplicaciones
Kubuntu - AplicacionesKubuntu - Aplicaciones
Kubuntu - Aplicaciones
Dani Gutiérrez Porset
 
Gnome - un vistazo a su arquitectura
Gnome - un vistazo a su arquitecturaGnome - un vistazo a su arquitectura
Gnome - un vistazo a su arquitectura
Mauro Parra-Miranda
 
MuleSoft Buenos Aires Meetup Introducción Dataweave
MuleSoft Buenos Aires Meetup Introducción DataweaveMuleSoft Buenos Aires Meetup Introducción Dataweave
MuleSoft Buenos Aires Meetup Introducción Dataweave
FlorenciaCattelani
 
This is Drupal! (Basics)
This is Drupal! (Basics)This is Drupal! (Basics)
This is Drupal! (Basics)
Maria del Carmen Garcia
 
Administra tu código con Git y Github
Administra tu código con Git y GithubAdministra tu código con Git y Github
Administra tu código con Git y Github
Javier Novoa Cataño
 
[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10
[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10
[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10
Keopx
 
Programación de módulos para Drupal 7
Programación de módulos para Drupal 7Programación de módulos para Drupal 7
Programación de módulos para Drupal 7
Cristian Mamani
 
Git y Github basico.pptx
Git y Github basico.pptxGit y Github basico.pptx
Git y Github basico.pptx
ssuser36d4d3
 
Pucela testingdays testing_en_php
Pucela testingdays testing_en_phpPucela testingdays testing_en_php
Pucela testingdays testing_en_php
Isidro Merayo Castellano
 

Similar a Vim python-mode (20)

Programador Jr. para Python Primera Parte
Programador Jr. para Python Primera ParteProgramador Jr. para Python Primera Parte
Programador Jr. para Python Primera Parte
 
Curso: Publicando mi proyecto web en Github
Curso: Publicando mi proyecto web en GithubCurso: Publicando mi proyecto web en Github
Curso: Publicando mi proyecto web en Github
 
Screencast aprende python - anexo python en winshit
Screencast   aprende python - anexo python en winshitScreencast   aprende python - anexo python en winshit
Screencast aprende python - anexo python en winshit
 
El Ferrocarril Contra Los Arboles Muertos2
El Ferrocarril Contra Los Arboles Muertos2El Ferrocarril Contra Los Arboles Muertos2
El Ferrocarril Contra Los Arboles Muertos2
 
Curso Php
Curso PhpCurso Php
Curso Php
 
Introducción al desarrollo de software en comunidad con forja de software y git
Introducción al desarrollo de software en comunidad con forja de software y gitIntroducción al desarrollo de software en comunidad con forja de software y git
Introducción al desarrollo de software en comunidad con forja de software y git
 
1 intro php
1 intro php1 intro php
1 intro php
 
Symfony2 Formacion y primeros pasos
Symfony2  Formacion y primeros pasosSymfony2  Formacion y primeros pasos
Symfony2 Formacion y primeros pasos
 
Herramientas de lanzamiento. Nuestra web
Herramientas de lanzamiento. Nuestra webHerramientas de lanzamiento. Nuestra web
Herramientas de lanzamiento. Nuestra web
 
Lo que tienes que saber de Dart para Backend, frontend y Mobile..pptx
Lo que tienes que saber de Dart para Backend, frontend y Mobile..pptxLo que tienes que saber de Dart para Backend, frontend y Mobile..pptx
Lo que tienes que saber de Dart para Backend, frontend y Mobile..pptx
 
Semana 2 Configuración entorno de desarrollo
Semana 2   Configuración entorno de desarrolloSemana 2   Configuración entorno de desarrollo
Semana 2 Configuración entorno de desarrollo
 
Kubuntu - Aplicaciones
Kubuntu - AplicacionesKubuntu - Aplicaciones
Kubuntu - Aplicaciones
 
Gnome - un vistazo a su arquitectura
Gnome - un vistazo a su arquitecturaGnome - un vistazo a su arquitectura
Gnome - un vistazo a su arquitectura
 
MuleSoft Buenos Aires Meetup Introducción Dataweave
MuleSoft Buenos Aires Meetup Introducción DataweaveMuleSoft Buenos Aires Meetup Introducción Dataweave
MuleSoft Buenos Aires Meetup Introducción Dataweave
 
This is Drupal! (Basics)
This is Drupal! (Basics)This is Drupal! (Basics)
This is Drupal! (Basics)
 
Administra tu código con Git y Github
Administra tu código con Git y GithubAdministra tu código con Git y Github
Administra tu código con Git y Github
 
[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10
[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10
[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10
 
Programación de módulos para Drupal 7
Programación de módulos para Drupal 7Programación de módulos para Drupal 7
Programación de módulos para Drupal 7
 
Git y Github basico.pptx
Git y Github basico.pptxGit y Github basico.pptx
Git y Github basico.pptx
 
Pucela testingdays testing_en_php
Pucela testingdays testing_en_phpPucela testingdays testing_en_php
Pucela testingdays testing_en_php
 

Más de Carlos Gustavo Ruiz

Bases de Datos Libres desde 40.000 pies de altura
Bases de Datos Libres desde 40.000 pies de alturaBases de Datos Libres desde 40.000 pies de altura
Bases de Datos Libres desde 40.000 pies de altura
Carlos Gustavo Ruiz
 
Por qué hacemos persistencia de datos
Por qué hacemos persistencia de datosPor qué hacemos persistencia de datos
Por qué hacemos persistencia de datos
Carlos Gustavo Ruiz
 
Geomática Libre en Venezuela - Presentación a José Sosa (CNTI)
Geomática Libre en Venezuela - Presentación a José Sosa (CNTI)Geomática Libre en Venezuela - Presentación a José Sosa (CNTI)
Geomática Libre en Venezuela - Presentación a José Sosa (CNTI)
Carlos Gustavo Ruiz
 
mini-taller de Base de Datos y PostgreSQL
mini-taller de Base de Datos y PostgreSQLmini-taller de Base de Datos y PostgreSQL
mini-taller de Base de Datos y PostgreSQL
Carlos Gustavo Ruiz
 
Web Mapping con Django
Web Mapping con DjangoWeb Mapping con Django
Web Mapping con Django
Carlos Gustavo Ruiz
 
Requerimientos de PostgreSQL
Requerimientos de PostgreSQLRequerimientos de PostgreSQL
Requerimientos de PostgreSQL
Carlos Gustavo Ruiz
 
Alta Disponibilidad con PostgreSQL
Alta Disponibilidad con PostgreSQLAlta Disponibilidad con PostgreSQL
Alta Disponibilidad con PostgreSQL
Carlos Gustavo Ruiz
 
Guía de pgpool Paso a Paso
Guía de pgpool Paso a PasoGuía de pgpool Paso a Paso
Guía de pgpool Paso a Paso
Carlos Gustavo Ruiz
 
Mejores prácticas para migración de Bases de Datos
Mejores prácticas para migración de Bases de DatosMejores prácticas para migración de Bases de Datos
Mejores prácticas para migración de Bases de Datos
Carlos Gustavo Ruiz
 
Mapa Colaborativo con OpenStreetMap
Mapa Colaborativo con OpenStreetMapMapa Colaborativo con OpenStreetMap
Mapa Colaborativo con OpenStreetMap
Carlos Gustavo Ruiz
 
Python vs El Mundo
Python vs El MundoPython vs El Mundo
Python vs El Mundo
Carlos Gustavo Ruiz
 
GeoEtiquetas (2das Jornadas Latinoamérica y Caribe gvSIG)
GeoEtiquetas (2das Jornadas Latinoamérica y Caribe gvSIG)GeoEtiquetas (2das Jornadas Latinoamérica y Caribe gvSIG)
GeoEtiquetas (2das Jornadas Latinoamérica y Caribe gvSIG)
Carlos Gustavo Ruiz
 

Más de Carlos Gustavo Ruiz (12)

Bases de Datos Libres desde 40.000 pies de altura
Bases de Datos Libres desde 40.000 pies de alturaBases de Datos Libres desde 40.000 pies de altura
Bases de Datos Libres desde 40.000 pies de altura
 
Por qué hacemos persistencia de datos
Por qué hacemos persistencia de datosPor qué hacemos persistencia de datos
Por qué hacemos persistencia de datos
 
Geomática Libre en Venezuela - Presentación a José Sosa (CNTI)
Geomática Libre en Venezuela - Presentación a José Sosa (CNTI)Geomática Libre en Venezuela - Presentación a José Sosa (CNTI)
Geomática Libre en Venezuela - Presentación a José Sosa (CNTI)
 
mini-taller de Base de Datos y PostgreSQL
mini-taller de Base de Datos y PostgreSQLmini-taller de Base de Datos y PostgreSQL
mini-taller de Base de Datos y PostgreSQL
 
Web Mapping con Django
Web Mapping con DjangoWeb Mapping con Django
Web Mapping con Django
 
Requerimientos de PostgreSQL
Requerimientos de PostgreSQLRequerimientos de PostgreSQL
Requerimientos de PostgreSQL
 
Alta Disponibilidad con PostgreSQL
Alta Disponibilidad con PostgreSQLAlta Disponibilidad con PostgreSQL
Alta Disponibilidad con PostgreSQL
 
Guía de pgpool Paso a Paso
Guía de pgpool Paso a PasoGuía de pgpool Paso a Paso
Guía de pgpool Paso a Paso
 
Mejores prácticas para migración de Bases de Datos
Mejores prácticas para migración de Bases de DatosMejores prácticas para migración de Bases de Datos
Mejores prácticas para migración de Bases de Datos
 
Mapa Colaborativo con OpenStreetMap
Mapa Colaborativo con OpenStreetMapMapa Colaborativo con OpenStreetMap
Mapa Colaborativo con OpenStreetMap
 
Python vs El Mundo
Python vs El MundoPython vs El Mundo
Python vs El Mundo
 
GeoEtiquetas (2das Jornadas Latinoamérica y Caribe gvSIG)
GeoEtiquetas (2das Jornadas Latinoamérica y Caribe gvSIG)GeoEtiquetas (2das Jornadas Latinoamérica y Caribe gvSIG)
GeoEtiquetas (2das Jornadas Latinoamérica y Caribe gvSIG)
 

Último

modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
evelinglilibethpeafi
 
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
AMADO SALVADOR
 
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
AMADO SALVADOR
 
computacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADOcomputacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADO
YaniEscobar2
 
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANOREVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
gisellearanguren1
 
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor OficialCatalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
AMADO SALVADOR
 
Informació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdfInformació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdf
Festibity
 
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
bendezuperezjimena
 
Manual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computoManual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computo
mantenimientocarbra6
 
IA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticulturaIA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticultura
Miguel Rebollo
 
herramientas de sitio web 3.0 2024
herramientas de sitio web 3.0  2024herramientas de sitio web 3.0  2024
herramientas de sitio web 3.0 2024
julio05042006
 
SISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsxSISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsx
tamarita881
 
Manual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputoManual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputo
doctorsoluciones34
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
YashiraPaye
 
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdfProjecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Festibity
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
sofiahuarancabellido
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
NajwaNimri1
 
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdfProjecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Festibity
 
Nuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsadNuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsad
larapalaciosmonzon28
 
TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
KukiiSanchez
 

Último (20)

modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
 
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
 
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
 
computacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADOcomputacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADO
 
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANOREVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
 
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor OficialCatalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
 
Informació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdfInformació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdf
 
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
 
Manual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computoManual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computo
 
IA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticulturaIA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticultura
 
herramientas de sitio web 3.0 2024
herramientas de sitio web 3.0  2024herramientas de sitio web 3.0  2024
herramientas de sitio web 3.0 2024
 
SISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsxSISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsx
 
Manual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputoManual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputo
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
 
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdfProjecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
 
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdfProjecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
 
Nuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsadNuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsad
 
TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
 

Vim python-mode

  • 1. Vim + Python-mode Carlos Gustavo Ruiz @atmantree
  • 2. Agenda ● IDEs vs Editores ● Vi → Vim ● Vim ● Personalización, Scripts y Plugins ● Python-Mode ● Recursos
  • 3. IDEs vs Editores de Texto IDEs ● Integrado (todo incluido) ● Alto consumo de recursos ● Uso de Entorno Gráfico es indispensable ● Generalmente definen un estilo de hacer las cosas. Editores de Texto ● Extensibles ● Bajo consumo de recursos ● Uso de Entorno Gráfico es opcional ● Normalmente no interviene en el estilo del hacer las cosas.
  • 4. IDEs vs Editores de Texto IDEs ● Eclipse ● NetBeans ● VisualStudio ● Xcode ● Qt Creator ● Anjuta Editores de Texto ● Vim ● Emacs ● Notepad++ ● SublimeText ● Atom ● nano
  • 5. IDEs vs Editores de Texto
  • 6. IDEs vs Editores de Texto
  • 7. IDEs vs Editores de Texto ¿Una charla para un simple editor de texto?
  • 8. IDEs vs Editores de Texto Las apariencias engañan
  • 9. IDEs vs Editores de Texto
  • 10. ¿Por qué Vim? ● Vim no solo es un editor, es una herramienta. ● Es rápido. ● Muy flexible y altamente personalizable. ● Se ejecuta prácticamente en cualquier plataforma. ● Trabaja con muchísimos lenguajes de programación. ● Extensible (Macros, Scripts y Plugins). ● Es Código Abierto (Charityware)
  • 11. Vi → Vim ● vi → 1976 (modo visual para editor ex, incluye el concepto de edición modal) ● STEVIE → 1987 (primer clon de vi, ofrecía un grupo limitado de opciones de vi, diseñado para Atari ST, luego portado a OS/2) 10% compatible ● Elvis → 1997 (corregía errores de STEVIE, incluyo resaltado de sintaxis, multiples ventanas y una gui, era el vi estándar de Slackware y Minix en el 2003) 80% compatible ● nvi → 2001 (Derivado de Elvis, multiples buffers, historial ilimitado, expresiones regulares, scripting con Perl y Tcl/tk, distribuido con los Unix BSD) 95% compatible ● Vim → 1991 (Edición de multiples archivos en multiples buffers, ventanas y pestañas, lenguaje de scripting, soporte de Perl y Python, resaltado de código de más de 200 lenguajes de programación, historial ilimitado, expresiones regulares, completado de palabras de acuerdo al contexto, integración con multiples compiladores) 99% compatible ● Vile → 1990 (Intento por crear un editor con lo mejor de vi y emacs, edición modal, lenguaje procedimental, soporte para perl – experimental, funciones pueden mapearse a teclas) 10% compatible
  • 12. Vim ● Edición Modal – Modo Normal (desplazamiento y manipulación de texto) – Modo Insert (modifica el texto) – Modo Visual (resalta una porción del archivo y la modifica en bloque) – Modo Comandos (ejecuta acciones en forma de comandos) – Modo Ex (comandos)
  • 13. Vim Modo normal ● Desplazamiento (h, j, k, l) (izquierda, arriba, abajo, derecha)
  • 14. Vim Modo normal ● Desplazamiento (h, j, k, l) (izquierda, abajo, arriba, derecha) https://en.wikipedia.org/wiki/ADM-3A (un estándar de 1974) http://xahlee.info/kbd/keyboard_hardware_and_key_choices.html
  • 15. Vim Modo normal ● Otros desplazamientos (algunos de los más comunes) – w → Avanzar palabra – W → Avanzar hasta el próximo carácter en blanco – b → Retroceder al inicio de la palabra – B → Retroceder hasta el carácter en blanco previo – e → Avanzar hasta el final de palabra – ^ → Inicio de línea – $ → Final de línea – /texto → ir a la vez que aparezca textotexto – J → Quitar salto de línea
  • 16. Vim Modo normal ● Otros desplazamientos (algunos de los más comunes) – ^E → Mover la ventana hacia abajo – ^Y → Mover la ventana hacia arriba – ^F → Bajar una página – ^B → Subir una página – H → Mover el cursor al tope de la ventana – M → Mover el cursor al medio de la ventana – L → Mover el cursor al fondo de la ventana – gg →Ir al inicio del archivo – G → Ir al final del archivo
  • 18. Vim Objetos de texto ● w → palabras ● s → sentencias (oraciones) ● p → parrafos ● t → tags (etiquetas – xml/html) Movimientos ● a→all (todos) ● i → in (dentro) ● t →until (hasta) ● f →buscar hacia adelante ● F →buscar en reversa Comandos ● d→delete (borrar y/o cortar) ● c → change (borrar y cambiar a modo insert) ● y →yank (copiar) ● v →selección visual
  • 19. Vim Ahora juntemos lo anterior con esta formula ● [numero]{comando}{objeto o movimiento} Ejemplos de acciones: ● diw → delete in word (borrar en palabra) ● ciw → change in word (igual que el anterior pero te cambia a modo insert) ● caw → cambiar toda la palabra ● yi) → copiar el contenido dentro de paréntesis ● di) → borrar el contenido dentro del paréntesis ● da) → igual que el anterior pero elimina el paréntesis inclusive
  • 20. Vim ● Otros comandos: – dd→ borrar línea – yy → copiar línea – p→ pegar en la línea siguiente – P → pegar en la línea previa – D → borrar hasta el final de la línea – C → cambiar hasta el final de la línea – o → insertar linea después de la actual – O → insertar linea después de la actual – I → mover al inicio y pasar a modo edición – A → mover al final y pasar a modo edición ● Para que averiguar: – ¿De lo visto que hace va”? – ¿Qué hace el comando . (punto)?
  • 21. Vim Modo Insert ● Se usa para modificar texto como haría con un editor común y corriente Modo visual ● Permite seleccionar un bloque y aplicar comandos y modificaciones por lote Modo ex ● Parecido al modo comando, permite ejecutar instrucciones del comando ex: Modo Comando ● Es todo lo que escribimos en los comandos con la fórmula :comando. ● Ejemplo: – :help – :vimtutor vim -E -s Makefile <<-EOF :%substitute/CFLAGS = -g$/CFLAGS =-fPIC -DPIC -g/ :%substitute/CFLAGS =$/CFLAGS =-fPIC -DPIC/ :%substitute/ADAFLAGS =$/ADAFLAGS =-fPIC -DPIC/ :update :quit EOF
  • 22. Personalización, Scripts y Plugins ● Una vez que se ha personalizado Vim, este queda como su chaqueta o el jean favorito. – Para personalizar Vim principalmente nos valemos de modificar el archivo .vimrc – En el se hace mapeado de atajos de teclado, cambiamos de esquema de colores, se corre rutinas y se define condiciones y sintaxis para diferentes tipos de archivos y un montón de cosas más.
  • 23. Personalización, Scripts y Plugins Vim es extensible vía Macros, Scripts y Plugins ● Las macros permiten simplificar rutinas simples durante la edición ● Los scripts en VimL permiten automatizar tareas más complejas y eventualmente escribir.. ● Plugins, que es de lo más genial una vez que se comprenden los conceptos básicos.
  • 24. Personalización, Scripts y Plugins Plugins ● Instalación: – Instalarlos a mano en la carpeta .vim/ con algo de trabajo sobre el archivo .vimrc (ejemplo http://stackoverflow.com/a/1639654) – Usar gestor de plugins: ● Vundle ● Pathogen ● Neobundle Dein
  • 29. Python Mode Python Mode es un plugin para facilitar el trabajo con Python dentro de VIM, incluye un grupo de herramientas entre las que se cuentan: ● Pylint → Analizador de código fuente ● Rope → Herramienta de refactorización. Ayuda a buscar las definiciones de objetos y funciones. ● PyDoc → Herramienta para obtener la documentación de los módulos utilizados. ● PyFlakes →Validaciones dentro del código. ● Pep8 → Para estándares de codificación. ● Pep257 → Alerta de Docstrings faltantes. ● mccabe → Análisis de complejidad ciclomática
  • 30. Python Mode Entre las bondades de python-mode se cuentan: ● Soporte para Python 2 y Python 3 ● Resaltado de sintaxis mejorado ● Soporte para virtualenv ● Ejecutar código python ● Agregar y quitar puntos de parada (breakpoints) ● Indentación mejorada ● Folding (compactación) ● Movimientos definidos para Python ● Revisión de código ● Autoarreglo de errores de PEP 8 ● Busqueda en documentación de Python ● Ir a definición ● Y más..
  • 32. Recursos ● http://www.vim.org/ ● Para aprender – vimtutor – http://www.openvim.com/ – http://vim-adventures.com/ – http://www.vimgenius.com/ ● Para Plugins – http://vimawesome.com/
  • 33. Recursos ● Para consultas rápidas – :help – http://vim.wikia.com/ ● Configuraciones “llave en mano” – http://vim-bootstrap.com/ – http://vim.spf13.com/ ● Comunidad Vim de Venezuela – https://telegram.me/vimvnzla
  • 34. Referencias ● https://en.wikibooks.org/wiki/Learning_the_vi_E ditor/Vim ● https://youtu.be/5r6yzFEXajQ ● https://youtu.be/YhqsjUUHj6g ● http://www.vim.org/6k/features.es.txt ● http://vim.wikia.com/wiki/Vim_Tips_Wiki