Archivos por Etiqueta: Vim

Hace tiempo que probé este plugin para Vim que permite publicar y editar posts de tu blog mediante Vim. Funciona con cualquier sistema que utilice el XML-RPC, como este blog :D

La causa de que lo dejara, fue que no permitía añadir etiquetas a las notas publicadas, y esto me tiró para atrás. Afortunadamente hoy he caído de casualidad en el blog de MbpFernand0 y me he encontrado con esta joyita.

Ahora mismo tengo todo lo que necesito dentro de mi editor favorito. El tema de la edición es igual que con MarsEdit, hay que poner a mano los enlaces y demás, pero con un par de macros todo solucionado; la verdad es que no me gusta mucho el editor wysiwyg de WordPress, y prefiero hacer las cosas a mano que es como siempre salen bien. Obviamente no me es ningún sobresfuerzo añadir las etiquetas a, p… para escribir el artículo, me acostumbré con los primeros editores de WordPress, y después con Mars Edit.

Los principales comandos para usarlo son estos:

  • :Blog rp 10 Obtienes una lista de las últimas 10 notas publicadas
  • :Blog np Creas un nuevo artículo
  • :Blog draft Guardas el artículo como borrador
  • :Blog gp [id] Abres la nota con esa id
  • :Blog publish Publicas / actualizas la nota que estés editando
  • :Blog del [id] Borras la nota con esa id
  • :Blog gc Obtienes la lista de categorías

This evening I’ve learned to use regular expressions in sql code, and I’m loving it. Talking with GoLo about this, he showed me how to use regular expressions on the Vim´s search and replace tool (Instead he doesn’t like Vim :P ). E.g. If you want to comment some lines of code, you may want to use:


:4,9 s/^/\/\/ /g

Where 4 and 9 are the lines between which you want to comment on the code, ^ is what you must use to go to the begin of the lines and \ allow us to insert the /. This would be more efficient if you record it into a macro.

This is a very extensive topic, and this is only a minimal part of it. If you want to learn more about it, you can  read this tutorial.

It had to exist. For a few years I’ve have been using both Vim and Eclipse to edit code. Actually, I only use Eclipse for Java, because it’s really a powerful tool. Vim, on the other hand makes me much more efficient when typing, but it isn’t an IDE, so, I’m forced to use Eclipse too (or another IDE, obviously). My attemps to become Vim into an IDE had failed, so, I abandoned, and I only use Vim to type, but not to compile, or stuff like that. That’s why I use Vim with PHP or Python, but not with Java.

The problem using two editors is easy: you have to learn two different ways of editing text, and that isn’t cool, e.g. I have an error on my Java app, and when I look the mistaken line, I found “:wq”.

So I started searching a solution for integrating Vim into Eclipse. All the plugins I found, perfectly integrate Vim into the Eclipse editor, but, all the Eclipse features broke. And I don’t want to program without the code assist. But finally I found Vrapper, witch is a plugin that emulate some Vim commands in Eclipse, and, despite it´s not a totally Vim experience, it makes me much more efficient.

Vrapper turns Eclipse into a modal editor, with the 3 Vim modes: normal, insert and visual. Today the visual mode only allows to select a few lines, and operate with y, d and c, but the author is working hard on it.

Some things I can do now with Eclipse are:

- browse the code using h,j,k,l
- search with / and * (the Vim find and replace tool will be soon add :D )
- use :noremap in my configuration file to make my own mappings

I´m using it since a couple of hours, so, I don’t have a complete opinion yet, but for now It’s really comfortable :D

How I install it in my Eclipse?

It´s really simple: add a new location on your “find and install” menu, and paste this url: http://vrapper.sourceforge.net/eclipse-update-site

Pese a que en mi paso a Mac, intenté darle una oportunidad a Textmate, no he podido. Y es que tras unas cuantas semanas me he dado cuenta de que mis líneas de código tenían lindezas como :wq y cosas así. Tuve que volver a Vim. Por varios motivos:

  • Me he hecho a él
  • Aún no conozco sus límites
  • Lo puedo ejecutar en cualquier máquina: hoy he tenido que picar código en un Windows, y Vim y el vimrc que llevo siempre conmigo, me han salvado la vida.

El caso es que GoLo pese a que suele usar Vim para modificar cosas del sistema, a la hora de la verdad abre el Eclipse, y para según que cosas es normal (yo soy el primero que lo hace) pero para programar en Python, Perl o Php, me parece una burrada. Desde que empecé a usar Vim de verdad, suelo llevar encima una pequeña Moleskine donde voy apuntando truquillos que me van haciendo más y más rápido a la hora de picar código. De este cuadernito he hecho una selección que le vendrá a GoLo que ni pintada :D Si no eres GoLo, también puedes usarla :D ¡Y hasta comentar!

Inserciones (en modo normal)

  • i : empiezas a escribir a la izquierda de la letra sobre la que tienes el cursor
  • I : empiezas a escribir al principio de la línea en la que estás
  • a : empiezas a escribir a la derecha de la letra donde tienes el cursor
  • A : empiezas a escribir al final de la línea en la que estás
  • o : empiezas a escribir en la linea de abajo. Importantísimo.
  • O: empiezas a escribir en la línea de arriba

Moverse por el texto (en modo normal)

  • e : pone el cursor al final de la línea
  • b: pone el cursor al principio de la línea
  • yy : copia la línea actual
  • dd : corta la línea actual
  • y3y o d3d: copia o corta 3 líneas, hacia abajo desde la que está el cursor. Esto es genial para mover grandes bloques de texto de un lugar a otro. (Si GoLo, si, como me dijiste que hace el Eclipse :P )

Otros, pero no menos importantes

  • :1,$ s/hola/mundo/g : reemplaza de la línea 1 hasta el final todas las palabras “hola” por “mundo”. Si cambiamos $ por un 5, lo hará en las 5 primeras líneas, y si cambiamos el 1 por un 5 lo hará de la línea 5 hasta el final. Si solo lo queremos para un pequeño bloque de texto, pues, tan sencillo como poner las dos líneas entre las que quieres acotar. En que le coges el tranquillo, lo echas de menos en todas las
  • :set nu : activa la numeración
  • :tabnew : abre nueva pestaña
  • gt : para moverse entre las pestañas. Comodísimo.
  • :tab sba : abre todos los buffers activos en pestañas. Utilísimo.

Me dejo muchos en el tintero, pero estos son imprescindibles :D Seguiré añadiendo más poco a poco para la sección de Vím :D GoLo, espero haberte convencido :P

Cuando llevas algún tiempo utilizando el editor de textos Vim, te das cuenta de que el fichero vimrc de configuración se va llenando de más y más líneas. Esto puede que haga mas difícil la navegación por el fichero y sea un poco mas incómodo. Así que buscando una solución, he encontrado el comando source, que lo que hace es buscar y ejecutar archivos de configuración en el directorio que le indiquemos.

Para que os hagáis una idea, mi archivo de configuración de Vim tiene esta pinta:

source $HOME/.vim/interfaz.vim
source $HOME/.vim/mapeos.vim
source $HOME/.vim/programacion.vim
source $HOME/.vim/ficheros.vim
source $HOME/.vim/abreviaciones.vim

Y en cada uno de esos ficheros de Vim, tengo las configuraciones relacionadas con el nombre del propio archivo: en interfaz tengo las configuraciones de interfaz, en mapeos tengo todos los mapeos que configuré en su día (ya expliqué cómo hacer mapeos), etc.

PCNo se si por la tarjeta gráfica o por mi monitor, pero ninguna distribución de Linux me pilla la resolución adecuada, y configura el monitor a 800×600, lo que no hace, precisamente, cómodo el trabajo.

Como no tengo tiempo (ni tampoco ganas) de ponerme a arreglarlo en este momento, me he instalado una Windows XP (aunque no se qué es mas incómodo, la verdad) para pasar estos días entre que lo intento arreglar y no.

Lo primero que hice después de pegarme cuarenta minutos larguísimos de instalación, fue meterle unas cuantas aplicaciones para hacerme la convivencia con Windows menos tediosa. Se me ha ocurrido hacer una lista con todas las aplicaciones que uso a diario, y una alternativa. No se si es un meme o no, pero puede resultar útil a quién como yo, se vea obligado por una razón u otra a usar Windows. Menos mal que me queda mi fiel portátil, que si no…

  • Mozilla Firefox (¿hay alguna alternativa :P ?)
  • Pidgin: Cliente de messenger multiprotocolo bastante conocido, bonito y estable. Antes se llama Gaim.
  • IntelliJ Idea: Entorno de desarrollo de Java. Me enamoré de él nada mas usarlo. También se puede usar Eclipse, de código abierto, y también muy, muy potente.
  • Vim. ¿Qué puedo decir del que en mi opinión es el mejor editor de texto que hay?. Lo uso para tomar apuntes en Java, editar código PHP, Ruby on Rails, e incluso LaTEX, ganando una barbaridad de tiempo gracias a sus macros y scripts, con lo que me evito repetir siempre las mismas acciones. Se puede hacer todo y mas, y además lo complemento con los siguientes scripts:
    • NERDTree: Un explorador de textos muy simple de usar, que permite abrir los archivos en pestañas, y muchas cosas mas.
    • NERDCommenter: mediante unos simples comandos, permite comentar y descomentar bloques de código en una infinidad de lenguajes.
    • Vim-Latex: Entorno de desarrollo en LaTEX.
    • VJDE: Entorno de desarrollo en Java.
    • SnippetsEmu: El plugin que mas me gusta de todos los que tengo. Arma nuestro Vim con unos Snippets muy similares a los de Textmate o E Text Editor. hace, por ejemplo, que si ponemos en un archivo de código java, “main” y pulsamos la tecla de tabulador, obtendremos automáticamente:
      public static void main (String args [])
      {
      }

      Ya os imaginaréis la cantidad de tiempo que nos ahorra este pequeño plugin.

    ¿Alternativas a Vim? JEdit es una buena aplicación: potente, extensible, eficiente, multiplataforma…Pero está hecho en Java, y la Máquina Virtual consume bastantes recursos, así que si tenéis una máquina antigua, no es una buena idea. SciTE también es multiplataforma y se puede extender bastante, pero es mas limitado que los dos anteriores. Otra posibilidad sería Editra, un editor, también multiplataforma bastante reciente y que está bastante verde, pero tiene muy buena pinta. Espero que sigan desarrollándolo.

  • VLC: de lo mejorcito para reproducir archivos multimedia. Libre y multiplataforma.
  • OpenOffice.org: Suite ofimática compatible con los archivos de Microsoft Office. Libre,
    multiplataforma y potentísimo. Me encanta.
  • Audacity: El famosísimo editor de audio opensource y multiplataforma que tanta gente utiliza para grabar y editar podcasts. ¡¡Ostras mi podcast!! Qué cabeza la mía…debería ponerlo al día.

Bueno, pues así son las cosas y así se las hemos contado. Espero aumentar mi ritmo de actualización en estos próximos días :-)

Vim es mi editor de texto favorito. Es ligero, potente, y, una vez que te haces con él, es muy cómodo de manejar. Pero como ya comenté una vez, introducir comandos puede volverse a veces algo tedioso.

Por ejemplo: si queremos abrir una nueva pestaña, deberíamos introducir el comando :tabnew y pulsar la tecla de enter. Si tuviéramos que hacer esto cada vez, y usáramos muchas pestañas, perderíamos mucho tiempo tecleando el comando. Hay dos formas de solucionar esto. Una es utilizando el comando ., que repite el último comando que hemos utilizado, o crear una combinación de teclas que abra una nueva pestaña con la opción map en nuestro fichero de configuración (.vimrc, .gvimrc, _vimrc…o como sea). Es muy sencillo: aquí va un ejemplo de algunos mapeos.

map <c-t><CR> :tabnew  (haciendo Control + t, abriremos una nueva pestaña)
map <c-Tab><CR> :tabnext (Control + tabulador, nos moverá entre las pestañas)

Como podréis ver en el :help key-notation, estas son algunas de las combinaciones que se pueden utilizar:

<BS> Tecla backspace
<Tab>Tabulador
<CR> Tecla enter
<Esc>Escape
<Space>Tecla de espacio
<del> Suprimir
<S-Up>Shift-cursor-arriba
<S-Down>Shift-cursor-abajo
<S-Left>Shift-cursor-izquierda
<S-Right>Shift-cursor-derecha
<C-Left>Control-cursor-izquierda
<C-Right>Control-cursor-derecha
<F1> -<F12> Teclas de función
<S-F1>-<S-F12> Shift- teclas de función
<Insert>Tecla de insertar
<End>Tecla de fin

<S- …>Shift + …

<C- …>Control + …


<A- …>Meta / Alt + …

Esto puede ser muy útil para comandos complicados que tengáis que manejar amenudo, como el de imprimir. Si incluís en vuestro archivo de configuración map :%w !lp , cada vez que uséis la combinación Control + p, os imprimirá en papel el archivo que estéis utilizando. Y así con cualquier cosa.


CreamEn el artículo anterior comenté las incontables maravillas de Vim, el editor mas potente que conozco. En este artículo me he propuesto comentar las funcionalidades, ventajas y desventajas de Cream, una configuración para Vim que hace mas usable este completo editor. Detrás de la simple aparencia de la imagen de la izquierda, se esconde (casi) todo el potencial de Vim, pero mediante un manejo mas común, con los atajos de teclado estándar.

Cream puede (al igual que Vim) adaptarse a tus necesidades, y es que es fácilmente configurable a golpe de ratón: Puedes cambiar el esquema de colores y elegir entre varios, quitar y poner la barra de tareas (normalmente no hace falta, así que la tengo desactivada), activar la funcionalidad de pestañas para navegar entre varios archivos…

Por defecto, tan solo es un editor normal y corriente, sin los comandos de Vim, pero es posible habilitar la opción expert para poder insertar comandos, así que si, como yo, te sientes más cómodo con estos comandos tendrás un editor hecho a tu medida. Aunque, sigo prefiriendo GVim para el entorno gráfico, porque no es mucho menos atractivo visualmente y recordemos que los comandos pueden usarse en cualquier plataforma, tenga entorno gráfico o no, y esta es posiblemente la gran desventaja de Cream, que no sirve para consola. Claro, que si no tienes que trabajar en un terminal de texto, es, casi sin duda, tu editor.

Además, al igual que en Vim (hay que recalcar que Cream es Vim) puede ampliarse con todos los scripts que comentaba en el post anterior.

Hace no mucho hablé de Vim (entre otro software) como mi editor de textos favorito por muchas razones. Es flexible a mis necesidades, puede ser simple o complejo y hace casi cualquier cosa, desde (obviamente) visualizar y editar un archivo txt hasta compilar y ejecutar código, ayudándote además con una interfaz agradable, con resaltado de sintaxis en colores y autocompletado.

Vim tiene muchas ventajas, y es una herramienta potente y muy útil, pero tiene una desventaja: que puede echar por tierra sus cientos de virtudes, y es que es muy complicado de manejar. Es un editor que se maneja con una serie de comandos, que no son los habituales (por ejemplo, guardar fichero no es control + s, si no :w. Sinceramente estos comandos se aprenden en dos patadas haciendo el “curso de aprendizaje” que trae Vim (ejecuta vimtutor y empezará a enseñarte sus innumerables maravillas).

La eficiencia de los comandos es simple: una vez que te acostumbras a ellos (me hice a los básicos en apenas 10 minutos) trabajas muy rápido con cualquier fichero, y como sirven tanto en el Vim de consola, como en el que tiene intetfaz gráfica (GVim) pues te es indiferente dónde estés trabajando.

Otra ventaja que tiene es que es multiplataforma, con lo que se puede trabajar con él en cualquier sitio. Esto parece una tontada, pero hace tiempo, yo usaba Gedit (el editor de Gnome) y me encantaba, pero si en la universidad tenía que usar windows, pues no podía trabajar con Gedit. Desde que uso Vim esto no me pasa, además consume mucha menos memoria y hace muchas mas cosas.

Otra cosa que me encanta de Vim es que es tan extensible como quieras, ya que tienes a tu disposición decenas de scripts para adaptarlo a tus necesidades. Yo, por ejemplo, le he añadido plugins para poder trabajar en Java, Perl y Ruby, pero hay muchas mas cosas. Estos plugins me han hecho la vida más fácil, ya que ahora puedo programar en Perl y Ruby cómodamente, así como editar código Java evitándome tener que ejecutar Jidea o Eclipse para editar y ejecutar un pequeño fragmento de código.

Lo pintas muy bonito pero es demasiado complicado para mí. ¿Me recomiendas otro editor parecido pero fácil?

Si no te haces a los comandos, o te resulta mas cómodo trabajar con menos atajos de teclado y del tipo control+ S o control+ Z, mi recomendación es Cream, una configuración para Vim que lo hace usable para todo el mundo y que comentaré en el próximo post.

Hoy voy a escribir acerca de algo que me ha encantado hacer, volver a hacer usable un pentium II con 64Mb de RAM.

Antes de nada, pongámonos en antecedentes: Mucha gente tiene un ordenador con unos cuantos años, en el altillo de su terraza, o en algún desván o sitio parecido, porque ya no tiene utilidad para ellos. ¿Por qué? pues seguramente por que no corre el windows xp, y, si lo corre es mas lento que el caballo del malo. Entonces, si no corre windows, ¿tenemos que tirar el ordenador o guardarlo en una caja para que se llene de polvo?.

La respuesta es muy sencilla. NO. Si hace 7 años ese ordenador era moderno y podías trabajar con él, hoy en día también se puede trabajar con él. Es lógico. Una opción podría ser instalarle una windows de aquella época (9x, 2000…), pero esto sería bastante desacertado, dado que son versiones desactializadas y ya no ofrecen actualizaciones de seguridad. Así que la mejor opción será instalarle GNU/Linux.

La pregunta del millón es ¿Qué Linux le instalo a mi viejo ordenador? Pues hay muchas posibilidades, muchas versiones que podemos instalar: Debian, Puppy Linux,…Pero yo voy a recomendar una en concreto: Ubuntu, particularmente Ubuntu Server, que ocupa muy poco espacio de disco duro y en un principio, al estar pensada para servidores, solo dispone de una consola. Pero claro, trabajar en modo consola, aunque posible, es muy tedioso, entonces lo suyo sería instalar un entorno gráfico ligero. Yo voy a recomendar LXDE, que se instala “encima” de IceWM (sudo apt-get install icewm), de una manera muy sencilla: se bajan los .deb de la página enlazada en la línea de arriba y listo. Lo que me encanta de LXDE es que utiliza la fluidez de IceWM, pero lo hace mas bonito y usable, añadiéndole un menú que hace que se parezca ligeramente a Gnome.

Una vez que tenemos nuestro entorno gráfico funcionando hay mucho freeware ligero que podemos utilizar: aquí van algunas de mis recomendaciones:

  • Gvim (sudo apt-get install gvim): un editor de textos potentísimo que se puede utilizar para mil cosas. Tiene resaltado de sintaxis, autocompletado y plugins para casi cualquier lenguaje. La única desventaja es que se necesita bastante tiempo para adaptarse a su sintaxis pero una vez que te haces a la idea es comodísimo, y poder hacer prácticas en cualquier ordenador gastando 6Mb de RAM, en vez de los 150 que emplean algunos IDEs…
  • Epiphany (sudo apt-get install epiphany-browser), un navegador web con el mismo motor que Firefox, muy ligero y cómo de utilizar. Me gusta mucho.
  • Abiword (sudo apt-get install abiword) un procesador de textos bastante completo y ligero que soporta gran variedad de formatos.

Esto son solo algunos, podemos encontrar muchas mas posibilidades si buscamos un poco por Google. Aunque siempre podemos utilizar aplicaciones web (aquí tenéis unas cuantas :P ) como Google Docs, Meebo, Gmail

Descarga Ubuntu Server: