October 22nd, 2008 Category: linux
5 Comments »
En los articulos anteriores sobre esta herramienta, di mi punto de vista sobre vim, el otro dia navegando un poco para perder el tiempo me encontre con un blog nuevito pero con una seria de articulos muy interesantes, que enseñan a usar vim como el IDE para PHP. Por ahora hay escrito 4 articulos, y seguramente tenga material para algun otro mas.
Aca les paso los links, para que puedan tener otro punto de vista.
-
Vim el IDE para PHP (Parte 1)
-
Vim el IDE para PHP (Parte 2)
-
Vim el IDE para PHP (Parte 3)
-
Vim el IDE para PHP: Xdebug (parte 4)
De paso aprovecho para tirar algunos tips que fui incorporando.
- Si quieren ver mas de un archivo a la vez, pueden hacer desde el modo consola ctrl + w + n para ver dividr la pantalla en dos en forma horizontal, con ctrl + w + v, la dividen en forma vertical. Se pueden mover por las divisiones con ctrl + w + w.
- Si quieren abrir un archivo desde la consola :e nombre del archivo, lo pueden buscar con “tab”
- Si lo que buscan es agregar el contenido de un archivo a uno abierto :r nombre del archivo.
- Si quieren pasar a minuscula o mayuscula todas las letras de una linea desde la consola guu, o gUU para generar el efecto contrario.
- Si lo que quieren es cambiar el case de una sola palabra con ~
- Si tienen mas de un archivo abierto, con :qall cerramos todo

October 7th, 2008 Category: linux Programacion
6 Comments »
Vi es editor de texto por excelencia en linux, cualquier servidor del mundo con algun linux tiene el vi instalado.
Muchos programadores (generalmente los viejos, cof cof Cesar cof cof), usan vi como IDE, pero como vimos en otro post, no es algo que merezca mi reconocimiento.
Para entender vi tenemos que saber que hay 3 modos, insertar/reemplazar, consola y visual. Para poder editar el texto como en cualquier editor, tenemos que ingresar en este modo, y lo hacemos con la tecla insert o la tecla i.
Modo Insert
En este modo podemos movernos igual que lo hacemos con el notepad, nano, gedit y otros editores. Con las flechas nos desplazamos, para un lado, en este modo voy a destacar el uso de ctrl +d y ctrl + i, para tabular para un lado o para el otro, hay otras combinaciones que se pueden ver en el manual que se pueden descargar abajo, y en la chuleta.
Modo Consola
Cuando queremos acceder al modo consola lo hacemos con la tecla “esc”.Aca podemos salir ingresando la combinacion “:q”, guardar con “:w”, guardar y salir con “:x”, tambien podemos forzar los comandos con el simbolo !, si hicimos algun cambio en el archivo y no queremos guardarlo al salir, forzamos esta salida con “:q!”, los camandos van sin las comillas (“).
En este modo tenemos mil opciones, pero voy a destacar las comunes.
/palabra a buscar
con la tecla n (siempre en modo consola), buscamos el siguiente resultado de la busqueda.
* Buscar y reemplazar un texto.
:1,$ s/palabra_a_buscar/palabra_a_reemplazar/g
Cuidado que aca le estamos diciendo que busque de la linea uno hasta la ultima, si quieren pueden decirle que lo haga desde la linea 23, hasta la 48.
* Copiar pegar, y borrar una linea
Para copiar una linea usamos la tecla “y” dos veces, y para pegarla la tecla “p”.
* Para borrar una linea dos veces la tecla “d”.
Si nos equivocamos y queremos volver atras apretamos la tecla “u”.
Hay otras combinaciones mas pero estas son las que por lo menos yo mas uso.
Modo Visual
Este modo es util cuando queres seleccionar una porcion de texto, copiarla y pegarla o en la misma instancia del vi, o abrir otro archivo, y pegarla en otro vi.
nota: El modo copiar y pegar de Vi, es solo para vi, no sirve para copiarlo en otros editores.
La forma de hacerlo es desde el modo consola apretar la tecla “v”, con las flechitas seleccionamos el texto que queremos copiar, apretamos solo una vez la tecla “y”, volvemos a entrar en el modo de consola y apretamos la tecla “p”, si todo salio bien tiene que pegarse el texto que seleccionamos. Podemos probar copiar algo desde el modo visual, cerrar el vi, y volver a abrir otro archivo y pegar el texto que copiamos en el otro archivo.
Por ahora es el unico uso que le doy, por ahi se le puede dar otro, con vi nunca se sabe los limites.
Tip: Para pegar un texto , y que al pegarlo no se desindente, desde el modo consola escribimos “:se paste”.
Vi y PHP
Hay una version mejorada de vi, que es Vim (el paquete es vim-full, en .deb, y .rpm), desde vim podemos decirle que nos coloree el texto, que nos indente el texto automaticamente, que tabule con espacios y mil cosas mas, podemos decirles que nos busque si la funcion esta en el archivo y la autocomplete, etc.
Si nosotros abrimos un archivo con extension diferente a .php, y no lo colorea automatiamente como archivo php podemos decirle que lo interprete como tal muy facilmente ejecutando desde el modo consola del vim “:se ft=php”, no solo para los php, sino para casi cualquier lenguaje. Al ejecutar este comando automaticamente se nos colorea el texto.
Vim usa un archivo de configuracion que se encuentra en el home de cada usuario, ese archivo se va a ejecutar cada vez que se ejecute el vim, ahi podemos decirle, que nos indente por cuatro espacios, que reemplaze las tabulaciones por espacios, que nos muestre el numero de lineas, etc. Para editar este archivo desde el shell ingresamos el siguiente comando.
$ vim ~/.vimrc
o
$vim /home/nobre_usuario/.vimrc
En mi archivo de configuracion tengo las siguientes configuraciones
set ts=4 “tabstops are 4 (for all code)
set sw=4 “shiftwidth is 4
set expandtab “Reemplaza los tabs por espacios
set showmatch “briefly jump to matching brackets
set showmode “the mode we’re in
Desde este archivo se puede hacer infinidad de cosas, realmente de todo, pero con esto creo que es suficiente.
Para complementar la info voy a dejarles un manual para descargar de vim, y una chuleta para el uso.
Descarga | Manual de vim
Descarga | Chuleta de vim
October 2nd, 2008 Category: linux Programacion Zend
8 Comments »
Toda mi vida desarrolle sobre editores tipo editplus, notepad ++, también use algo un poco mas avanzado como dreamweaver que te auto completaba las funciones, y alguno que otro mas. Pero hace dos años que uso Eclipse, y la cosa cambio mucho para mi, tengo todo, lo que necesito en una sola aplicacion, no tengo que switchear nada con ctrl + tab tengo todo integrado, svn, auto completado, formateador de código, funciones para renombrar una variable, debuger, el maravilloso outline que me muestra todas las propiedades, metodos de una clase, el explorador de archivo y hasta un navegador web para probarlo (aunque sigo usando Firefox), y muchas cosas mas que al tenerlas automatizadas ni me acuerdo. Pero lo importante, es que tengo todo lo que necesito para desarrollar, y esto es importante porque no pierdo tiempo en buscar el nombre de la función de otro archivo o que parámetros recibe el método de una clase porque automaticamente me sugiere todo, con la opción de seleccionar con las flechitas cual quiero, y auto completarme todo. O el fantástico ctrl + shift + f, el cual después de escribir código a lo loco me corrige todo los errores de indentacion en milisegundos, sin que necesite revisarlo.
La idea de escribir este articulo me surgió después de leer el articulo con la compilacion de 10 recomendaciones hechas por “especialistas” y en el punto 5 recomendaba usar algún IDE para acelerar los procesos de desarrollo de software, y no solo acelerar sino para unificar, como conté en otro articulo con una combinacion de teclas todos podemos tener el mismo estándar de indentacion, sin tener que chequear el código. Además se facilita mucho el uso del svn, y para una persona sin conocimientos de subversión,, se hace muy fácil, hacer un commit, agregar archivos al repositorio, actualizar, etc. Voy mas allá y digo que podes usar svn sin tener idea de lo que es.
Pero no quiero quedarme solo en eso, sino que además es extensible, podemos agregarle plugins, para javascripts, para css, para html, porque no para ruby, o python, o cualquier otro lenguaje que se nos ocurra.
Yo uso Zend Studio for Eclipse que si bien es pago, solo unos u$s 300, es un producto completisimo, pero también esta la alternativa libre, Eclipse PDT. Los dos son productos excelentes y cumplen la mayoría de las funciones.
Por otro lado tenemos el famoso y potente VI, que en definitiva es un editor de texto, pero realmente poderoso, se pueden hacer cosas que en Eclipse no. Es 100% configurable, y muchas de las funcionalidades de los IDE actuales, se pueden implementar para VI. Estamos en contacto directo con la consola que nos da mas control y poder a la hora de programar, pero a que costo?
Digo esto porque si el VI tiene cosas buenas, la amigabilidad no es una de esas cosas.
En un articulo escrito por un compañero de trabajo, menciona que el VI tiene una curva de aprendizaje muy grande, y acá es donde no me cierra.
Todo desarrollador web debería saber usar básicamente el VI, me refiero a poder copiar, pegar, buscar, buscar y reemplazar cadenas. Pero no es algo simple esto es totalmente distinto a cualquier otro editor de texto gráfico, pero tiene que ser una necesidad ya que muchas veces vamos a tener que meter las manos en servidores remotos, que no tienen entorno gráfico y otra de las características de VI, es que en cualquier servidor Linux del mundo escribís VI, y lo encontras.
Recomiendo la lectura del articulo VIM com IDE, porque muchas de las cosas que mencione arriba que se podían hacer con un IDE, muestra como hacerlas para VIM.
Pero, si bien en VIM se puede hacer lo mismo que se hace con un IDE (hasta lei que se puede integrar el svn), para hacer un search and replace, en vim tendriamos que hacer
:1,$ s/cadena_original/cadena_nueva/g
Esto con Eclipse es mucho mas intuitivo y facil, solo tenmos que apretar ctr + f completar los campos y ctr + a para que haga un reemplazo generl.
Por ahí soy todavía soy un chico windows y soy reacio a lo no amigable, pero mas allá de eso tengo en claro que cada herramienta cumple su propósito, y para desarrollar no hay nada como un IDE.
Obviamente nadie desarrolla en bash con Eclipse, pero aoca hablamos de programacion web. Tampoco creo que muchos locos anden usando VIM para programar en JAVA, y ni hablar de .net.
Los linuxeros de alma no van a estar muy deacuerdo conmigo, pero es una realidad, la consola te da poder pero no es comoda y mucho menos amigable, y no hablo solo por mi o por un usuario avanzado, sino tambien de los programadores recien iniciados que ya bastante problemas tienen aprendiendo a usar el lenguaje, como para agregarle la carga de aprender a usar algo tan exigente como VI.




