Colaboradores

Mostrando entradas con la etiqueta Emacs. Mostrar todas las entradas
Mostrando entradas con la etiqueta Emacs. Mostrar todas las entradas

miércoles, 15 de diciembre de 2010

Iniciando a programar (Emacs)

Bien ya que tenemos una pequeña introducción sobre los editores de texto más utilizados para programar, entonces daré una pequeña reseña sobre lo que es Emacs y porque lo considero uno de los mejores editores de texto. Emacs es un editor de texto avanzado, con un amplia gama de funciones orientada para desarrolladores de software y otros usuarios técnicos. Emacs tiene varias versiones, entre las que destacan Emacs en modo consola y GNU Emacs.
GNU Emacs es la que yo utilizo de manera más frecuente dentro de mi SO, y lo utilizo más que los IDE's (Netbeans, Eclipse, Adjunta, etc.), esto es por que cuando tiendo a escribir me mejora el tiempo de escritura, además de adaptarse al lenguaje de programación en el que estoy escribiendo mostrando un resaltado de sintaxis, y otra de las características por las que me gusta es por la capacidad de definir "macros de teclado" que contienen lotes de comandos de edición definidos por el usuario.
Emacs es uno de los editores de texto más populares usados por los programadores y se encuentra ampliamente distribuido entre casi todos los sistemas operativos (Sistemas tipo UNIX (Mac, Linux, Solaris, BSD, etc.), Windows, Ms-Dos, etc.).
Emacs proveé la capacidad de ser personalizable por el usuario. Hay tres formas principales de personalizarlo:
  • Utilizando la opción customize que se encuentra en Options, de ésta forma podemos personalizarlo de manera gráfica.
  • La segunda opción es definir macros para tener opciones complejas que no se tienen por default en Emacs.
  • Y la tercera opción es modificar .emacs que se encuentra en el /home/usuario/.emacs, se personaliza con Emacs Lisp.

Emacs tiene entre sus principales comandos los siguientes:

  • forward-word     M-f     Avanzar una palabra.
  • search-word     C-s     Buscar una palabra en el buffer.
  • undo     C-/ ó C-_     Deshacer el último cambio, y cambios anteriores si se pulsa repetidamente.
  • keyboard-quit     C-g     Abortar el comando actual.
  • fill-paragraph     M-q     Wrap text in ("fill") a paragraph.
  • find-file     C-x C-f     Visitar un fichero (del cual se especifica el nombre) en su propio buffer de edición.
  • save-buffer     C-x C-s     Guardar el buffer de edición actual en su fichero visitado.
  • save-with-newname     C-x C-w     Guardar el buffer de edición actual como fichero cuyo nombre se ha de especificar.
  • save-buffers-kill-emacs     C-x C-c     Preguntar al usuario si se quieren guardar los cambios, y después salir de Emacs.
  • set-marker     C-[space]/C-@     Colocar un marcador en el lugar donde se quiere cortar o copiar.
  • cut     C-w     Cortar todo el texto entre el marcador y el cursor.
  • copy     M-w     Copiar todo el texto entre el marcador y el cursor.
  • paste     C-y     Pegar texto del portapapeles de Emacs.
  • kill buffer     C-x k     Cerrar el buffer actual.

Estos son los principales comandos de Emacs, además de los mostrados en el post anterior. Esto es con lo que se puede iniciar con Emacs, si quieren saber más sobre Emacs pueden visitar las siguientes direcciones:

martes, 14 de diciembre de 2010

Iniciando a programar (editores de texto)

Lo primero que necesitamos para programar es disponer de un sistema operativo (obvio), un editor de texto para escribir nuestros programas y muchas ganas para iniciar a programar. El sistema operativo que utilizo es Ubuntu, que como sabrán es una distribución Linux, pero lo importante es tener un editor de texto para comenzar a escribir código, aquí mostraré los que más uso cuando me dedico a escribir código:
  • Vi
  • Emacs
y entornos de desarrollo integrado para el desarrollo de proyectos medianos a grandes que utilizo se encuentran los siguientes:
  • Netbeans
  • Eclipse
  • Adjunta
Netbeans y eclipse los utilizo principalmente para desarrollo con Java o desarrollo en web y Adjunta para proyectos en C/C++, pero tiendo a utilizar en mayor medida Emacs y Vi para escribir rápidamente y tener comandos para escribir más código en menor tiempo, el que recomiendo para iniciar a aprender su uso es Emacs y Vi, dedicaré un post completo para Emacs y otro para Vi en un futuro cercano, por lo pronto dejaré unos cuantos comandos para usarlo sin despegar las manos del teclado:
  • Ctrl-x Ctrl-s -- Salvar el archivo que se está editando
  • Ctrl-x Ctrl-f -- Crear o abrir un archivo nuevo
  • Ctrl-x 2 -- Dividir la pantalla de edición actual en 2 de manera horizontal
  • Ctrl-x 3 -- Dividir la pantalla de edición actual en 2 de manera vertical
  • Ctrl-x 1 -- Regresar a una sola pantalla (se muestra el archivo actual que se esta editando
  • Ctrl-x Ctrl-c -- Cerrar emacs
  • Ctrl-a -- moverse al principio de la línea
  • Ctrl-e -- moverse al final de la línea
  • Ctrl-f -- moverse un caracter a la derecha
  • Ctrl-b -- moverse un caracter a la izquierda
  • Alt-f (o Meta-f) -- moverse una palabra a la derecha
  • Alt-b (o Meta-b) -- moverse una palabra a la izquierda
Y para vi en modo consola los comandos más comunes se encuentran:
  • vi cod -- abrir el archivo cod en modo consola
  • :w -- Guardar el archivo
  • :q -- cerrar el archivo
  • :q! --cerrar el archivo sin guardar cambios 
  • i -- insertar texto inmediatamente a la izquierda del cursor
  • a -- insertar texto inmediatamente a la derecha del cursor
  • x -- eliminar texto inmediatamente después del cursor
  • ESC -- regresar a modo consola (esto es no añadir texto en el archivo, pero continuar visualizándolo)
  • dd -- elimina una linea desde modo consola
  • h o flecha izquierda -- mueve el cursor un caracter a la izquierda
  • j o flecha abajo -- mueve el cursor una linea hacia abajo
  • k o flecha arriba -- mueve el cursor una linea hacia arriba
  • l o flecha derecha -- mueve el cursor un caracter a la derecha
Con esto ya tenemos de manera inicial como operar con los editores de texto más usados para programar dentro de un entorno Linux y utilizarlos en cualquier lenguaje para desarrollar nuestro código que realicemos.