<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3164598999689591328</id><updated>2011-12-27T04:27:44.944-08:00</updated><category term='linux'/><category term='Python'/><category term='servidores'/><category term='NetBeans'/><category term='Zend'/><category term='IDE'/><category term='XAMPP'/><category term='Zend Studio'/><category term='estacion de trabajo'/><category term='xaraxtreme'/><category term='NetBeans Early Access for PHP'/><category term='Gvim'/><category term='Umbrello'/><category term='JDK'/><category term='Firefox'/><category term='BOUML'/><category term='sistema operativo'/><category term='herramienta CASE'/><category term='IDE para PHP'/><category term='estandar'/><category term='Xdebug'/><category term='gimp'/><category term='windows'/><category term='Internet Explorer'/><category term='Inkscape'/><category term='Depurar PHP'/><category term='Ubuntu'/><category term='VIM'/><category term='Eclipse PDT'/><category term='plugins VIM'/><title type='text'>Desarrollo de aplicaciones web</title><subtitle type='html'>Todo lo relacionado con el desarrollo de aplicaciones web lo encontraras aca.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://codigobajolupa.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3164598999689591328/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://codigobajolupa.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Robert</name><uri>http://www.blogger.com/profile/04678886338231106867</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>7</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3164598999689591328.post-2225010993218961409</id><published>2008-10-14T09:43:00.000-07:00</published><updated>2008-10-15T10:52:44.465-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='plugins VIM'/><category scheme='http://www.blogger.com/atom/ns#' term='Xdebug'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='XAMPP'/><category scheme='http://www.blogger.com/atom/ns#' term='Depurar PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='VIM'/><title type='text'>Vim el IDE para PHP: Xdebug (parte 4)</title><content type='html'>Depurar código es la tarea cotidiana de todo programador y una buena herramienta de depuración es lo que se necesita para hacer este trabajo.&lt;br /&gt;&lt;br /&gt;Para depurar código &lt;a href="http://php.net/"&gt;PHP&lt;/a&gt; en &lt;a href="http://www.vim.org/"&gt;VIM&lt;/a&gt;, simplemente hay que seguir tres pasos:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Configurar el servidor&lt;/li&gt;&lt;li&gt;Configurar VIM&lt;/li&gt;&lt;li&gt;Chequear la conexión entre el servidor y VIM&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Configurar el servidor:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Primero lo que debemos hacer es bajar el paquete &lt;a href="http://www.apachefriends.org/es/xampp.html"&gt;XAMPP&lt;/a&gt; development en su ultima versión.&lt;br /&gt;Lo bajamos desde acá&lt;br /&gt;&lt;ul style="font-weight: bold;"&gt;&lt;li&gt;&lt;div&gt;    &lt;p&gt;&lt;a href="http://www.apachefriends.org/en/xampp-linux.html"&gt;http://www.apachefriends.org/en/xampp-linux.html&lt;/a&gt;&lt;/p&gt;   &lt;/div&gt;  &lt;/li&gt;&lt;/ul&gt;Después lo que hacemos es descomprimirlo en modo consola apuntando a la carpeta /opt&lt;br /&gt;&lt;ul&gt;&lt;li&gt;     &lt;div&gt;    &lt;p&gt;s&lt;span style="font-weight: bold;"&gt;udo tar -zxvf xampp-linux-devel-1.6.8.tar.gz -C /opt&lt;/span&gt;&lt;/p&gt;   &lt;/div&gt;  &lt;/li&gt;&lt;/ul&gt;Ahora vamos a instalar unos paquetes en nuestro sistema que necesitamos para compilar el xdebug:&lt;br /&gt;&lt;ul style="font-weight: bold;"&gt;&lt;li&gt;      &lt;div&gt;    &lt;p&gt;sudo apt-get install gcc autoconf make automake bison flex g++ libtool re2c&lt;/p&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;Bajamos &lt;a href="http://www.xdebug.org/"&gt;Xdebug&lt;/a&gt; en su ultima versión desde la página oficial:&lt;br /&gt;&lt;ul style="font-weight: bold;"&gt;&lt;li&gt;&lt;div&gt;&lt;p&gt;http://xdebug.org/install.php&lt;/p&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;Y procedemos a compilarlo:&lt;br /&gt;&lt;ul style="font-weight: bold;"&gt;&lt;li&gt;&lt;div&gt;&lt;p&gt;tar -zxvf xdebug-2.0.0RC4.tgz&lt;/p&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;    &lt;p&gt;cd xdebug-2.0.0RC4&lt;/p&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;&lt;p&gt;phpize&lt;/p&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;&lt;p&gt;./configure --with-php-config=/opt/lampp/bin/php-config --enable-xdebug&lt;/p&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;&lt;p&gt;make&lt;/p&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;&lt;p&gt;sudo make install&lt;/p&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;Ahora vamos a habilitar Xdebug en el php.ini y agregamos las siguientes líneas:&lt;br /&gt;&lt;ul style="font-weight: bold;"&gt;&lt;li&gt;&lt;div&gt;    &lt;p dir="ltr" style="text-align: left;"&gt;zend_extension="/opt/lampp/lib/php/extensions/no-debug-non-zts-20060613/xdebug.so"&lt;/p&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;&lt;p dir="ltr" style="text-align: left;"&gt;xdebug.remote_enable = 1&lt;/p&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;xdebug.remote_port = 9000&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;    &lt;p dir="ltr" style="text-align: left;"&gt;xdebug.remote_host = localhost&lt;/p&gt;   &lt;/div&gt;  &lt;/li&gt;&lt;/ul&gt;Nota: Para habilitar el Xdebug en php.ini simplemente deben descomentar la línea donde se encuentra el Xdebug.&lt;br /&gt;&lt;br /&gt;Ahora vamos a reiniciar XAMPP:&lt;br /&gt;&lt;ul style="font-weight: bold;"&gt;&lt;li&gt;sudo /opt/lampp/lampp restart&lt;/li&gt;&lt;/ul&gt;Y verificamos que Xdebug se halla instalado correctamente, para eso abrimos en nuestro explorador la dirección:&lt;br /&gt;&lt;ul style="font-weight: bold;"&gt;&lt;li&gt;&lt;div&gt;&lt;p&gt;http://localhost/xampp/phpinfo.php&lt;/p&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;Buscamos la sección correspondiente a Xdebug:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://robert.techera.googlepages.com/XdebugXampp.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 379px; height: 264px;" src="http://robert.techera.googlepages.com/XdebugXampp.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://robert.techera.googlepages.com/XdebugXampp2.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 380px; height: 265px;" src="http://robert.techera.googlepages.com/XdebugXampp2.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Configurando VIM:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Debemos verificar que nuestro VIM esté configurado correctamente para trabajar con Xdebug y el plugin para VIM.&lt;br /&gt;Para eso abrimos nuestro VIM y en modo visual tipeamos:&lt;br /&gt;&lt;ul style="font-weight: bold;"&gt;&lt;li&gt;:version&lt;/li&gt;&lt;/ul&gt;Y verificamos que estén las siguientes características: +python y +signs.&lt;br /&gt;Podría decirte que las veces que he instalado VIM siempre estaban habilitadas estas características, la única excepción es que no esté +python, si es tu caso simplemente debes de instalar el paquete en modo consola:&lt;br /&gt;&lt;ul style="font-weight: bold;"&gt;&lt;li&gt;sudo apt-get install vim-python&lt;/li&gt;&lt;/ul&gt;Con eso quedaría solucionado.&lt;br /&gt;Ahora bajamos el plugin Xdebug de &lt;a href="http://www.vim.org/scripts/script.php?script_id=1929"&gt;acá&lt;/a&gt;.&lt;br /&gt;Y procedemos a descomprimirlo y guardarlo en la carpeta &lt;span style="font-weight: bold;"&gt;/home/usuario/.vim/plugin&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Chequeando que todo este correctamente instalado:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Bueno con esto tendríamos configurado nuestro VIM, ahora veremos como depurar un archivo PHP a modo de ejemplo:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Abrimos nuestro archivoPrueba.php en VIM.&lt;/li&gt;&lt;li&gt;Abrimos nuestro navegador web.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;En la barra de direcciones tipeamos: localhost/carpeta/archivoPrueba.php&lt;/li&gt;&lt;li&gt;Y agregamos al final: &lt;span style="font-weight: bold;"&gt;?XDEBUG_SESSION_START=1&lt;/span&gt;.&lt;/li&gt;&lt;/ul&gt;Sería así:&lt;br /&gt;&lt;ul style="font-weight: bold;"&gt;&lt;li&gt;localhost/carpeta/archivoPrueba.php?XDEBUG_SESSION_START=1&lt;/li&gt;&lt;/ul&gt;Mientras carga nuestra página, vamos a nuestro VIM y apretamos rápidamente &lt;span style="font-weight: bold;"&gt;F5&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Aquí vemos nuestro VIM, depurando:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://robert.techera.googlepages.com/VIMdepurando.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 381px; height: 266px;" src="http://robert.techera.googlepages.com/VIMdepurando.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Como podemos ver VIM es una opción muy tentadora a la hora de programar, ya que a parte de ser un excelente editor con muchas características, trae integrado su propio lenguaje para que los usuarios puedan crear scripts para todo tipo de tareas.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;NOTA:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Si quieres configurar tu VIM en Windows y no sabes como simplemente mandame un mail y escribiré un tutorial de VIM para la plataforma Windows lo más rápido que pueda.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3164598999689591328-2225010993218961409?l=codigobajolupa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigobajolupa.blogspot.com/feeds/2225010993218961409/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3164598999689591328&amp;postID=2225010993218961409' title='4 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3164598999689591328/posts/default/2225010993218961409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3164598999689591328/posts/default/2225010993218961409'/><link rel='alternate' type='text/html' href='http://codigobajolupa.blogspot.com/2008/10/vim-el-ide-para-php-xdebug-parte-4.html' title='Vim el IDE para PHP: Xdebug (parte 4)'/><author><name>Robert</name><uri>http://www.blogger.com/profile/04678886338231106867</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3164598999689591328.post-3338631638311487607</id><published>2008-10-08T18:45:00.000-07:00</published><updated>2008-10-14T09:45:39.761-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='plugins VIM'/><category scheme='http://www.blogger.com/atom/ns#' term='IDE'/><category scheme='http://www.blogger.com/atom/ns#' term='IDE para PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Depurar PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='VIM'/><title type='text'>Vim el IDE para PHP (Parte 3)</title><content type='html'>Ya tenemos configurado nuestro VIM, ahora vamos a crear una lista de las funcionalidades extras que desearíamos disponer:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Corrección de sintaxis para PHP.&lt;/li&gt;&lt;li&gt;Chequear la sintaxis de nuestro código con el interprete de PHP.&lt;/li&gt;&lt;li&gt;Estaría bueno ademas que podamos disponer de un explorador de código para encontrar rápidamente nuestras funciones o métodos en caso de una clase.&lt;/li&gt;&lt;li&gt;Autocompletar variables, nombres de funciones y palabras en general.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Y por último un IDE no sería tal, sino dispusiera de un depurador de código.&lt;/li&gt;&lt;/ul&gt;Antes de comenzar, vamos a crear una carpeta en &lt;span style="font-weight: bold;"&gt;/home/usuario&lt;/span&gt;, llamada &lt;span style="font-weight: bold;"&gt;.vim&lt;/span&gt;&lt;br /&gt;Dentro de esta carpeta vamos a crear dos carpetas mas, llamadas &lt;span style="font-weight: bold;"&gt;syntax&lt;/span&gt; y &lt;span style="font-weight: bold;"&gt;plugin&lt;/span&gt; respectivamente.&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;Corrección de sintaxis:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;Nos descargamos este &lt;a href="http://www.vim.org/scripts/script.php?script_id=1571"&gt;plugin&lt;/a&gt; y guardamos el archivo php.vim en la carpeta syntax.&lt;br /&gt;Veamos un ejemplo de como trabaja:&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://robert.techera.googlepages.com/GVIMsyntax.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 359px; height: 251px;" src="http://robert.techera.googlepages.com/GVIMsyntax.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;Cuando encuentra un error en la sintaxis de nuestro código este se marca en rojo como podemos ver, todo esto lo hace dinámicamente mientras vamos escribiendo.&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;Chequear la sintaxis de nuestro código con el intérprete de PHP:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;Descargamos este &lt;a href="http://www.vim.org/scripts/script.php?script_id=1272"&gt;plugin&lt;/a&gt; y guardamos el archivo php_check_syntax.vim en la carpeta plugin.&lt;br /&gt;Si estas siguiendo las entradas anteriores de seguro deberas tener instalado XAMPP, para trabajar en modo local.&lt;br /&gt;Si es asi deberemos editar la ruta de acceso en nuestro plugin para que ejecute el intérprete PHP, sino nos dara un error.&lt;br /&gt;Para eso abrimos el php_check_syntax.vim en VIM y editamos la línea número 14.&lt;br /&gt;Entonces cambiamos esto:&lt;br /&gt;&lt;/span&gt;&lt;ul style="font-weight: bold;"&gt;&lt;li&gt;let g:php_check_syntax_cmd='php -l'&lt;/li&gt;&lt;/ul&gt;Por esto:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;let g:php_check_syntax_cmd='/opt/lampp/bin/php -l'&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;Guardamos el archivo y lo probamos:&lt;br /&gt;Este plugin chequea la sintaxis cuando abrimos y guardamos nuestro código.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://robert.techera.googlepages.com/GVIMchecksyntax.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 357px; height: 249px;" src="http://robert.techera.googlepages.com/GVIMchecksyntax.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;En este ejemplo podemos ver que se encontró un error, y nos posiciona en el lugar donde se encuentra.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Explorador de código:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Cuando hay una librería de funciones  o simplemente una clase muy extensa, sabemos lo tedioso que puede llegar a ser navegar en ella en busca de errores, modificaciones o correcciones.&lt;br /&gt;Para solucionar esta pérdida de tiempo tenemos un plugin muy útil que lo que hace es leer todo nuestro código, para así generar en una ventana aparte (generalmente en la izquierda) donde nos muestra todas nuestras funciones resumidas; en caso de ser una clase nos muestra las propiedades y métodos que componen a esta.&lt;br /&gt;Para navegar por nuestro código basta hacer click en la función que necesitamos y automáticamente  quedamos sobre la línea que andabamos buscando modificar.&lt;br /&gt;Más adelante veremos en una imagen como trabaja, pero ahora vamos a centrarnos en la instalación y configuración:&lt;br /&gt;Para que este plugin funcione necesitamos de una utilidad que funciona tanto en linux como en windows, &lt;a href="http://ctags.sourceforge.net/"&gt;exuberant ctags&lt;/a&gt;.&lt;br /&gt;Para instalar exuberant ctags en Debian (distribución Ubuntu), tenemos que tipear en consola:&lt;br /&gt;&lt;ul style="font-weight: bold;"&gt;&lt;li&gt;sudo apt-get install ctags&lt;/li&gt;&lt;/ul&gt;Vamos a nuestro escritorio y creamos un lanzador, para hacer esto hacemos click derecho y seleccionamos &lt;span style="font-weight: bold;"&gt;crear un lanzador&lt;/span&gt;.&lt;br /&gt;Este lanzador va a tener como nombre ctags-ex y donde dice comando, simplemente pegamos esta ruta:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;/usr/bin/ctags-exuberant&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Hecho esto abrimos nuestro explorador de archivos en modo root:&lt;br /&gt;&lt;ul style="font-weight: bold;"&gt;&lt;li&gt;sudo nautilus&lt;/li&gt;&lt;/ul&gt;Ahora vamos a usr/local/bin y guardamos nuestro lanzador ctags-ex en esta carpeta.&lt;br /&gt;&lt;br /&gt;Por último nos descargamos este &lt;a href="http://www.vim.org/scripts/script.php?script_id=273"&gt;plugin&lt;/a&gt;, al descomprimirlo lo guardamos en la carpeta de plugins.&lt;br /&gt;&lt;br /&gt;Para llamar al explorador de clases debemos escribir en modo visual:&lt;br /&gt;&lt;ul style="font-weight: bold;"&gt;&lt;li&gt;:TlistToggle&lt;/li&gt;&lt;/ul&gt;Mostrandonos una ventana como esta:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://robert.techera.googlepages.com/GVIMsourceexplorer.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 350px; height: 245px;" src="http://robert.techera.googlepages.com/GVIMsourceexplorer.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Autocompletado de código:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Agregar esta funcionalidad es muy sencillo, simplemente nos descargamos el plugin de &lt;a href="http://www.vim.org/scripts/script.php?script_id=73"&gt;aca&lt;/a&gt; y lo guardamos en la carpeta plugins, asi de sencillo.&lt;br /&gt;Para usarlo vamos al menú y después en tools seleccionamos Word completion.&lt;br /&gt;&lt;br /&gt;La ultima funcionalidad la dejaremos para la proxima entrada, ya que es un poco mas compleja.&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3164598999689591328-3338631638311487607?l=codigobajolupa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigobajolupa.blogspot.com/feeds/3338631638311487607/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3164598999689591328&amp;postID=3338631638311487607' title='9 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3164598999689591328/posts/default/3338631638311487607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3164598999689591328/posts/default/3338631638311487607'/><link rel='alternate' type='text/html' href='http://codigobajolupa.blogspot.com/2008/10/vim-el-ide-para-php-parte-3.html' title='Vim el IDE para PHP (Parte 3)'/><author><name>Robert</name><uri>http://www.blogger.com/profile/04678886338231106867</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3164598999689591328.post-5651129749394108657</id><published>2008-10-08T17:22:00.000-07:00</published><updated>2008-10-10T10:56:37.702-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IDE'/><category scheme='http://www.blogger.com/atom/ns#' term='IDE para PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Zend'/><category scheme='http://www.blogger.com/atom/ns#' term='estandar'/><category scheme='http://www.blogger.com/atom/ns#' term='Gvim'/><title type='text'>Vim el IDE para PHP (Parte 2)</title><content type='html'>Ya tenemos el VIM instalado, ahora vamos a configurarlo para que:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Nos muestre los números de línea a la izquierda.&lt;/li&gt;&lt;li&gt;Indentado de código.&lt;/li&gt;&lt;li&gt;Configurarlo para &lt;a href="http://es.wikipedia.org/wiki/Php"&gt;PHP&lt;/a&gt; (estandarización de &lt;a href="http://framework.zend.com/wiki/display/ZFDEV/PHP+Coding+Standard+%28draft%29"&gt;ZEND&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;Elegir un esquema de color que nos sea mas agradable a la vista.&lt;/li&gt;&lt;li&gt;Utilize codificación &lt;a href="http://es.wikipedia.org/wiki/UTF-8"&gt;UTF-8&lt;/a&gt; para nuestros archivos.&lt;/li&gt;&lt;li&gt;Y muchas opciones más, que enumerarlas todas sería absurdo.&lt;/li&gt;&lt;/ul&gt;Bien para eso, simplemente ejecutamos el VIM (acordate que en modo consola solo basta tipear gvim y apretar Enter).&lt;br /&gt;Ahora con el VIM abierto simplemente pega estas líneas:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="color: rgb(135, 206, 235);"&gt;" ------ Global Configuration ------&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(135, 206, 235);"&gt;" Line Number&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;set&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(205, 92, 92);"&gt;number&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(135, 206, 235);"&gt;" Autoindent&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;set&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(205, 92, 92);"&gt;autoindent&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(135, 206, 235);"&gt;" Indent for PHP&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;set&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(205, 92, 92);"&gt;shiftwidth&lt;/span&gt;=4&lt;br /&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;set&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(205, 92, 92);"&gt;softtabstop&lt;/span&gt;=4&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(135, 206, 235);"&gt;" Syntax activate&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;syn&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(189, 183, 107);"&gt;&lt;b&gt;on&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(135, 206, 235);"&gt;" Type syntax&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;set&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(205, 92, 92);"&gt;syn&lt;/span&gt;=php&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(135, 206, 235);"&gt;" Color&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;color&lt;/b&gt;&lt;/span&gt; desert&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(135, 206, 235);"&gt;" Write contents of the file, if it has been modified, on buffer exit&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;set&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(205, 92, 92);"&gt;autowrite&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(135, 206, 235);"&gt;" Allow backspacing over everything&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;set&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(205, 92, 92);"&gt;backspace&lt;/span&gt;=indent&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;eol&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;start&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(135, 206, 235);"&gt;" Insert mode completion options&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;set&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(205, 92, 92);"&gt;completeopt&lt;/span&gt;=menu&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;longest&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;preview&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(135, 206, 235);"&gt;" Use UTF-8 as the default buffer encoding&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;set&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(205, 92, 92);"&gt;enc&lt;/span&gt;=utf-8&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(135, 206, 235);"&gt;" Remember up to 100 'colon' commmands and search patterns&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;set&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(205, 92, 92);"&gt;history&lt;/span&gt;=100&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(135, 206, 235);"&gt;" Enable incremental search&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;set&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(205, 92, 92);"&gt;incsearch&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(135, 206, 235);"&gt;" Always show status line, even for one window&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;set&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(205, 92, 92);"&gt;laststatus&lt;/span&gt;=2&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(135, 206, 235);"&gt;" Jump to matching bracket for 2/10th of a second (works with showmatch)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;set&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(205, 92, 92);"&gt;matchtime&lt;/span&gt;=2&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(135, 206, 235);"&gt;" Don't highlight results of a search&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;set&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(205, 92, 92);"&gt;nohlsearch&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(135, 206, 235);"&gt;" Enable CTRL-A/CTRL-X to work on octal and hex numbers, as well as characters&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;set&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(205, 92, 92);"&gt;nrformats&lt;/span&gt;=octal&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;hex&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;alpha&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(135, 206, 235);"&gt;" Use F10 to toggle 'paste' mode&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;set&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(205, 92, 92);"&gt;pastetoggle&lt;/span&gt;=&lt;span style="color: rgb(255, 222, 173);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(255, 222, 173);"&gt;F10&lt;/span&gt;&lt;span style="color: rgb(255, 222, 173);"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(135, 206, 235);"&gt;" Show line, column number, and relative position within a file in the status line&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;set&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(205, 92, 92);"&gt;ruler&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(135, 206, 235);"&gt;" Scroll when cursor gets within 3 characters of top/bottom edge&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;set&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(205, 92, 92);"&gt;scrolloff&lt;/span&gt;=3&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(135, 206, 235);"&gt;" Round indent to multiple of 'shiftwidth' for &amp;gt; and &amp;lt; commands&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;set&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(205, 92, 92);"&gt;shiftround&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(135, 206, 235);"&gt;" Show (partial) commands (or size of selection in Visual mode) in the status line&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;set&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(205, 92, 92);"&gt;showcmd&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(135, 206, 235);"&gt;" When a bracket is inserted, briefly jump to a matching one&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;set&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(205, 92, 92);"&gt;showmatch&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(135, 206, 235);"&gt;" Don't request terminal version string (for xterm)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;set&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(205, 92, 92);"&gt;t_RV&lt;/span&gt;=&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(135, 206, 235);"&gt;" Write swap file to disk after every 50 characters&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;set&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(205, 92, 92);"&gt;updatecount&lt;/span&gt;=50&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(135, 206, 235);"&gt;" Remember things between sessions&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(135, 206, 235);"&gt;" '20  - remember marks for 20 previous files&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(135, 206, 235);"&gt;" \"50 - save 50 lines for each register&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(135, 206, 235);"&gt;" :20  - remember 20 items in command-line history &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(135, 206, 235);"&gt;" %    - remember the buffer list (if vim started without a file arg)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(135, 206, 235);"&gt;" n    - set name of viminfo file&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;set&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(205, 92, 92);"&gt;viminfo&lt;/span&gt;='20&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;\"50&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;,:&lt;/b&gt;&lt;/span&gt;20&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;%&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;n~/.viminfo&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(135, 206, 235);"&gt;" Use menu to show command-line completion (in 'full' case)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;set&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(205, 92, 92);"&gt;wildmenu&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(135, 206, 235);"&gt;" Set command-line completion mode:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(135, 206, 235);"&gt;"   - on first &amp;lt;Tab&amp;gt;, when more than one match, list all matches and complete&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(135, 206, 235);"&gt;"     the longest common  string&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(135, 206, 235);"&gt;"   - on second &amp;lt;Tab&amp;gt;, complete the next full match and show menu&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;set&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(205, 92, 92);"&gt;wildmode&lt;/span&gt;=list&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;:&lt;/b&gt;&lt;/span&gt;longest&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt;full&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(135, 206, 235);"&gt;" Go back to the position the cursor was on the last time this file was edited&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;au&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(189, 183, 107);"&gt;&lt;b&gt;BufReadPost&lt;/b&gt;&lt;/span&gt; * &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;if&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(152, 251, 152);"&gt;line&lt;/span&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;"'\""&lt;/span&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;&amp;gt;&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(255, 160, 160);"&gt;0&lt;/span&gt; &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;&amp;amp;&amp;amp;&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(152, 251, 152);"&gt;line&lt;/span&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;"'\""&lt;/span&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;&amp;lt;=&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(152, 251, 152);"&gt;line&lt;/span&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;"$"&lt;/span&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;|&lt;span style="background-color: rgb(51, 51, 51);"&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;execute&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;"normal `\""&lt;/span&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;|&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;endif&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(135, 206, 235);"&gt;" netRW: Open files in a split window&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;let&lt;/b&gt;&lt;/span&gt; g:netrw_browse_split &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;b&gt;=&lt;/b&gt;&lt;/span&gt; &lt;span style="color: rgb(255, 160, 160);"&gt;1&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Y lo guardamos en &lt;span style="font-weight: bold;"&gt;/home/usuario/&lt;/span&gt; con el nombre y extensión: &lt;span style="font-weight: bold;"&gt;.vimrc&lt;/span&gt;&lt;br /&gt;Si te da error o tenes algun problema, simplemente descargate este archivo desde &lt;a href="http://robert.techera.googlepages.com/configuracion"&gt;aca&lt;/a&gt;.&lt;br /&gt;Renómbralo y guardalo como se explico antes.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Esta es mi configuración, si deseas, estas libre de modificarla a gusto, siempre y cuando sepas lo que haces.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Por último asi se debería ver nuestro mejorado VIM editando un archivo PHP:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://robert.techera.googlepages.com/GVIMconfigurado.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 370px; height: 259px;" src="http://robert.techera.googlepages.com/GVIMconfigurado.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ya nos queda poco para disfrutar de un poderoso IDE, en la próxima entrada veremos como configurar VIM para explorar clases, autocompletado de código, depuración y mucho mas!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3164598999689591328-5651129749394108657?l=codigobajolupa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigobajolupa.blogspot.com/feeds/5651129749394108657/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3164598999689591328&amp;postID=5651129749394108657' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3164598999689591328/posts/default/5651129749394108657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3164598999689591328/posts/default/5651129749394108657'/><link rel='alternate' type='text/html' href='http://codigobajolupa.blogspot.com/2008/10/vim-el-ide-para-php-parte-2.html' title='Vim el IDE para PHP (Parte 2)'/><author><name>Robert</name><uri>http://www.blogger.com/profile/04678886338231106867</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3164598999689591328.post-1160141118166908543</id><published>2008-10-08T16:16:00.000-07:00</published><updated>2008-10-14T11:18:28.395-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IDE'/><category scheme='http://www.blogger.com/atom/ns#' term='IDE para PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><category scheme='http://www.blogger.com/atom/ns#' term='Gvim'/><category scheme='http://www.blogger.com/atom/ns#' term='VIM'/><title type='text'>Vim el IDE para PHP (Parte 1)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://robert.techera.googlepages.com/70px-Vimlogo.svg.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 84px; height: 84px;" src="http://robert.techera.googlepages.com/70px-Vimlogo.svg.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;a href="http://es.wikipedia.org/wiki/Vim"&gt;Vim&lt;/a&gt; es un editor con características casi únicas. Su disponibilidad en muchos sistemas operativos y la cantidad de &lt;a href="http://es.wikipedia.org/wiki/Plugin"&gt;plugins&lt;/a&gt; que son desarrollados por la comunidad, hace que Vim sea personalizable casi en su totalidad.&lt;br /&gt;&lt;/div&gt;Todo esto nos hace pensar que todas estas ventajas pueden ser beneficiosas para un desarrollador de aplicaciones web y eso es lo que vamos a tratar de comprobar en esta entrada.&lt;br /&gt;&lt;br /&gt;Antes de empezar quiero aclarar que lo que voy a exponer acá, solo es para el sistema operativo &lt;a href="http://es.wikipedia.org/wiki/Linux"&gt;Linux&lt;/a&gt;, version &lt;a href="http://es.wikipedia.org/wiki/Debian"&gt;Debian&lt;/a&gt;. Si estas interesado en como instalar y configurar Vim en &lt;a href="http://es.wikipedia.org/wiki/Windows"&gt;Microsoft Windows&lt;/a&gt;, solo tienes que escribirme y con gusto elaboraré un tutorial para este sistema.&lt;br /&gt;&lt;br /&gt;Vamos a instalar la version grafica de este editor. Para eso simplemente abrimos la consola y tipeamos lo siguiente: &lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;sudo apt-get update&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;Con esto actualizamos nuestro repositorio de paquetes de software, por supuesto este paso se puede omitir.&lt;br /&gt;Ahora si instalamos la version gráfica de vim, que se llama gvim&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;sudo apt-get install vim-gtk vim-gnome vim-pytho&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;n&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;Vamos a poner bajo lupa este comando:&lt;br /&gt;Primero lo que hacemos es indicar que nos instale la version grafica &lt;a href="http://es.wikipedia.org/wiki/Gtk"&gt;gtk&lt;/a&gt; de vim con &lt;span style="font-weight: bold;"&gt;vim-gtk&lt;/span&gt;, siguiente paso, lo que hacemos es indicar que nos instale para el entorno grafico &lt;a href="http://es.wikipedia.org/wiki/Gnome"&gt;gnome&lt;/a&gt;, &lt;span style="font-weight: bold;"&gt;vim-gnome&lt;/span&gt;, y por ultimo la extension que hace que se comunique Vim con &lt;a href="http://es.wikipedia.org/wiki/Python_%28programaci%C3%B3n%29"&gt;python&lt;/a&gt;, &lt;span style="font-weight: bold;"&gt;vim-python&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Terminada la instalacion tipeamos gvim en la consola para que se ejecute el editor.&lt;br /&gt;El resultado es:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://robert.techera.googlepages.com/Gvim.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 368px; height: 272px;" src="http://robert.techera.googlepages.com/Gvim.png" alt="Gvim" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;En la segunda parte aprenderemos como configurarlo, para despues instalar adecuadamente los plugins necesarios transformadolo en un IDE muy poderoso.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3164598999689591328-1160141118166908543?l=codigobajolupa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigobajolupa.blogspot.com/feeds/1160141118166908543/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3164598999689591328&amp;postID=1160141118166908543' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3164598999689591328/posts/default/1160141118166908543'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3164598999689591328/posts/default/1160141118166908543'/><link rel='alternate' type='text/html' href='http://codigobajolupa.blogspot.com/2008/10/vim-el-ide-para-php-parte-1.html' title='Vim el IDE para PHP (Parte 1)'/><author><name>Robert</name><uri>http://www.blogger.com/profile/04678886338231106867</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3164598999689591328.post-1443733593557655067</id><published>2008-10-07T21:08:00.000-07:00</published><updated>2008-10-07T22:03:34.614-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='NetBeans Early Access for PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='JDK'/><title type='text'>Instalando NetBeans Early Access for PHP en linux (version Sopa Instantanea)</title><content type='html'>&lt;span style="font-size:100%;"&gt;Instalar NetBeans &lt;a class="bundle_display_name"&gt;Early Access for PHP &lt;/a&gt;en linux no es muy dificil pero si no lo hacemos bien, nos puede dar varios dolores de cabeza.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;INSTALACION&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;NetBeans &lt;a class="bundle_display_name"&gt;Early Access for PHP&lt;/a&gt; usa &lt;a href="http://java.sun.com/javase/downloads/index.jsp"&gt;JDK&lt;/a&gt; para trabajar, entonces vamos a instalarlo:&lt;/span&gt;&lt;ul style="font-weight: bold;"&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Bajamos la ultima version del JDK &lt;a href="http://java.sun.com/javase/downloads/ea.jsp"&gt;aca&lt;/a&gt;.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:100%;"&gt;Ejecutamos la consola, nos posicionamos en la carpeta donde esta el instalador y convertimos el archivo que bajamos en auto-ejecutable:&lt;br /&gt;&lt;/span&gt;&lt;ul style="font-style: italic;"&gt;&lt;li&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;chmod +x &lt;jdk&gt;jdk-6u10-rc2-bin-b32-linux-i586-12_sep_2008.bin&lt;/jdk&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:100%;"&gt;Ejecutamos el binario auto-ejecutable que recien creamos, nos aparecera en pantalla la licencia, despues de haberla leido aceptamos el contrato.&lt;/span&gt;&lt;ul style="font-style: italic;"&gt;&lt;li&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;./jdk-6u10-rc2-bin-b32-linux-i586-12_sep_2008.bin&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:100%;"&gt;Movemos la carpeta jdk1.6.0_10&lt;br /&gt;&lt;/span&gt;&lt;ul style="font-weight: bold; font-style: italic;"&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;sudo mv jdk1.6.0_10 /usr/java&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:100%;"&gt;Pronto! ya tenemos nuestro JDK instalado. Ahora vamos a instalar NetBeans:&lt;br /&gt;&lt;/span&gt;&lt;ul style="font-weight: bold;"&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;Bajamos la ultima version de NetBeans &lt;a class="bundle_display_name"&gt;Early Access for PHP&lt;/a&gt; de &lt;a href="http://www.netbeans.org/downloads/"&gt;aca&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:100%;"&gt;Nos posicionamos en la carpeta donde esta el instalador (archivo .sh) y convertimos el archivo que bajamos en auto-ejecutable: &lt;tt&gt;&lt;br /&gt;&lt;/tt&gt;&lt;/span&gt;&lt;ul style="font-weight: bold; font-style: italic;"&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;&lt;tt&gt;chmod +x ./netbeans-6.1-ea-php-linux.sh&lt;/tt&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;&lt;tt&gt;&lt;span style="font-weight: bold;"&gt;Ejecutamos el auto-ejecutable:&lt;/span&gt; &lt;span style="font-weight: bold; font-style: italic;"&gt;./netbeans-6.1-ea-php-linux.sh&lt;/span&gt;&lt;/tt&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li style="font-weight: bold;"&gt;&lt;span style="font-size:100%;"&gt;Elegimos la carpeta donde lo queremos instalar&lt;/span&gt;&lt;/li&gt;&lt;li style="font-weight: bold;"&gt;&lt;span style="font-size:100%;"&gt;Seleccionamos la carpeta donde esta instalado nuestro JDK (ver arriba)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;Terminamos la instalacion&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:100%;"&gt;Y listo!, nuestra sopa esta lista para servir caliente ;-)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3164598999689591328-1443733593557655067?l=codigobajolupa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigobajolupa.blogspot.com/feeds/1443733593557655067/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3164598999689591328&amp;postID=1443733593557655067' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3164598999689591328/posts/default/1443733593557655067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3164598999689591328/posts/default/1443733593557655067'/><link rel='alternate' type='text/html' href='http://codigobajolupa.blogspot.com/2008/10/instalando-netbeans-early-access-for.html' title='Instalando NetBeans Early Access for PHP en linux (version Sopa Instantanea)'/><author><name>Robert</name><uri>http://www.blogger.com/profile/04678886338231106867</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3164598999689591328.post-8963724547862773769</id><published>2008-10-07T19:19:00.000-07:00</published><updated>2008-10-10T16:58:42.244-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BOUML'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse PDT'/><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='VIM'/><category scheme='http://www.blogger.com/atom/ns#' term='gimp'/><category scheme='http://www.blogger.com/atom/ns#' term='herramienta CASE'/><category scheme='http://www.blogger.com/atom/ns#' term='IDE'/><category scheme='http://www.blogger.com/atom/ns#' term='xaraxtreme'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet Explorer'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Umbrello'/><category scheme='http://www.blogger.com/atom/ns#' term='Inkscape'/><category scheme='http://www.blogger.com/atom/ns#' term='estacion de trabajo'/><category scheme='http://www.blogger.com/atom/ns#' term='Zend Studio'/><category scheme='http://www.blogger.com/atom/ns#' term='NetBeans'/><title type='text'>La estación de trabajo definitiva (Parte 2 final)</title><content type='html'>En la &lt;a href="http://codigobajolupa.blogspot.com/2008/10/la-estacion-de-trabajo-definitiva-parte.html"&gt;primera parte&lt;/a&gt;, habiamos instalado nuestro servidor local. Ahora vamos a estudiar las posibles herramientas que podríamos necesitar como desarrollador web:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Necesitamos una &lt;a href="http://es.wikipedia.org/wiki/CASE"&gt;herramienta CASE&lt;/a&gt; para diseñar nuestras aplicaciones, en linux las mas populares son: &lt;a href="http://es.wikipedia.org/wiki/Umbrello"&gt;Umbrello&lt;/a&gt; y &lt;a href="http://bouml.free.fr/"&gt;BoUML&lt;/a&gt;. La primera presenta una interfaz mas amigable y la segunda se puede personalizar casi completamente. Quedara a criterio de cada uno escojer la que le parezca mas cómoda. Para instalar algunas de estas herramientas (en Debian) simplemente basta tipear en modo consola: &lt;span style="font-weight: bold;"&gt;sudo apt-get install umbrello&lt;/span&gt; para instalar Umbrello y &lt;span style="font-weight: bold;"&gt;sudo apt-get install BOUML&lt;/span&gt; para instalar BOUML respectivamente.&lt;/li&gt;&lt;li&gt;Necesitamos ahora un &lt;a href="http://es.wikipedia.org/wiki/Entorno_de_desarrollo_integrado"&gt;IDE&lt;/a&gt; o un editor para programar nuestro codigo. Esta etapa es una de las mas discutidas entre los programadores. La elección de nuestro IDE va a determinar el triunfo o el fracaso de nuestros proyectos. Como dijimos, nuestra &lt;a href="http://es.wikipedia.org/wiki/Estaci%C3%B3n_de_trabajo"&gt;estación de trabajo&lt;/a&gt; es nuestra aliada, por ende nuestro IDE también. En internet podemos encontrar multitudes de IDEs para el desarrollo web. La elección dependerá de nuestras habilidades y/o conocimientos. Los que mas se destacan son: &lt;a href="http://www.zend.com/en/products/studio/"&gt;Zend Studio&lt;/a&gt;, &lt;a href="http://www.eclipse.org/pdt/"&gt;Eclipse PDT&lt;/a&gt;, &lt;a href="http://www.netbeans.org/features/web/web-app.html"&gt;NetBeans&lt;/a&gt;. Como siempre quedará a criterio de cada uno el IDE que mas le convenga. Pero antes de que te decidas, te recomendaría que sigas leyendo. Ahora bien hay un editor muy potente que trabaja con muchos lenguajes de programacion y que tiene multitud de &lt;a href="http://es.wikipedia.org/wiki/Addin"&gt;plugins&lt;/a&gt;, transformandose en un IDE muy poderoso. Este editor se llama &lt;a href="http://www.vim.org/"&gt;VIM&lt;/a&gt;, mas adelante le dedicaré varias entradas en este blog, donde lo configuraremos para que: nos corrija automáticamente nuestro código; nos autocomplete funciones, variables, metodos; nos depure nuestro código y mucho mas. &lt;/li&gt;&lt;li&gt;Vamos a necesitar tambien un explorador web, los mas populares son &lt;a href="http://es.wikipedia.org/wiki/Internet_Explorer"&gt;Internet Explorer&lt;/a&gt; ,&lt;a href="http://www.mozilla-europe.org/es/firefox/"&gt;Firefox&lt;/a&gt; (este cuenta con multitud de &lt;a href="https://addons.mozilla.org/"&gt;complementos&lt;/a&gt; especifícamente para el desarrollo web).&lt;/li&gt;&lt;li&gt;Por ultimo no nos vendría mal algun editor gráfico y/o editor vectorial. El &lt;a href="http://www.gimp.org.es/"&gt;gimp&lt;/a&gt; es un excelente editor gráfico. Para la edición vectorial tenemos &lt;a href="http://www.inkscape.org/"&gt;Inkscape&lt;/a&gt; y también &lt;a href="http://www.xaraxtreme.org/"&gt;xaraXtreme&lt;/a&gt;. Para instalar estas tres herramientas hacemos lo mismo que hicimos anteriormente: &lt;span style="font-weight: bold;"&gt;sudo apt-get install gimp inkscape xaraxtreme&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;Boila!, tenemos nuestra estación de trabajo profesional sobre linux, pronta para enfrentar cualquier tipo de proyecto.&lt;br /&gt;&lt;br /&gt;NOTA:&lt;br /&gt;Para &lt;a href="http://es.wikipedia.org/wiki/Windows"&gt;windows&lt;/a&gt; hay también muy buenas opciones (herramientas CASE, IDEs, editores gráficos), si quieres que explique mas sobre esta plataforma, simplemente escríbeme y elaboraré un tutorial lo mas pronto posible.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3164598999689591328-8963724547862773769?l=codigobajolupa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigobajolupa.blogspot.com/feeds/8963724547862773769/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3164598999689591328&amp;postID=8963724547862773769' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3164598999689591328/posts/default/8963724547862773769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3164598999689591328/posts/default/8963724547862773769'/><link rel='alternate' type='text/html' href='http://codigobajolupa.blogspot.com/2008/10/la-estacion-de-trabajo-definitiva-parte_07.html' title='La estación de trabajo definitiva (Parte 2 final)'/><author><name>Robert</name><uri>http://www.blogger.com/profile/04678886338231106867</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3164598999689591328.post-7425215910079996920</id><published>2008-10-07T18:05:00.000-07:00</published><updated>2008-10-10T17:00:03.097-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='servidores'/><category scheme='http://www.blogger.com/atom/ns#' term='XAMPP'/><category scheme='http://www.blogger.com/atom/ns#' term='sistema operativo'/><category scheme='http://www.blogger.com/atom/ns#' term='estacion de trabajo'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>La estación de trabajo definitiva (Parte 1)</title><content type='html'>Antes de ponernos a desarrollar nuestras aplicaciones web, tenemos que configurar nuestro equipo de la forma más conveniente.&lt;br /&gt;&lt;br /&gt;Como bien se sabe cada programador es único y por eso nuestra estación de trabajo también lo es.&lt;br /&gt;&lt;br /&gt;Empecemos con lo básico, ¿Que es una &lt;a href="http://es.wikipedia.org/wiki/Estaci%C3%B3n_de_trabajo"&gt;estación de trabajo&lt;/a&gt;?&lt;br /&gt;Resumiendo rápidamente podemos decir que una estación de trabajo es una computadora que nos facilita ciertos accesos (como por ejemplo: nos permite acceder a un servidor) y esta optimizada para hacer algo.&lt;br /&gt;&lt;br /&gt;Ahora que sabemos lo que significa, tenemos una idea de lo que necesitaremos para tener nuestra propia estación de trabajo:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Primero necesitamos un sistema operativo, en mi caso voy a usar &lt;a href="http://es.wikipedia.org/wiki/Linux"&gt;Linux&lt;/a&gt; dentro de Linux tenemos varias &lt;a href="http://es.wikipedia.org/wiki/Distribuci%C3%B3n_GNU/Linux"&gt;distribuciones&lt;/a&gt;. Yo uso &lt;a href="http://www.ubuntu-es.org/"&gt;Ubuntu&lt;/a&gt;, pero es solo por cuestión de gusto, el lector puede escojer el sistema operativo que le parezca más conveniente o agradable.&lt;/li&gt;&lt;li&gt;Lo segundo que necesitamos es un servidor, trabajar con un servidor remoto no es una tarea muy rápida que digamos, por eso necesitamos un servidor local. Para instalar un servidor local en nuestro equipo tenemos varias opciones, la mas completa de seguro es &lt;a href="http://www.apachefriends.org/es/xampp.html"&gt;XAMPP&lt;/a&gt; este servidor es &lt;a href="http://es.wikipedia.org/wiki/Multiplataforma"&gt;multiplataforma&lt;/a&gt; y tiene muchas herramientas integradas. La instalación es muy sencilla en linux, simplemente basta con seguir los pasos en su &lt;a href="http://www.apachefriends.org/en/xampp-linux.html"&gt;página de instalación&lt;/a&gt;.&lt;/li&gt;&lt;/ol&gt;Listo ya tenemos nuestro servidor web!&lt;br /&gt;&lt;br /&gt;En la segunda parte vamos a estudiar y configurar las herramientas necesarias para poder empezar a diseñar y programar nuestras aplicaciones web.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3164598999689591328-7425215910079996920?l=codigobajolupa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codigobajolupa.blogspot.com/feeds/7425215910079996920/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3164598999689591328&amp;postID=7425215910079996920' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3164598999689591328/posts/default/7425215910079996920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3164598999689591328/posts/default/7425215910079996920'/><link rel='alternate' type='text/html' href='http://codigobajolupa.blogspot.com/2008/10/la-estacion-de-trabajo-definitiva-parte.html' title='La estación de trabajo definitiva (Parte 1)'/><author><name>Robert</name><uri>http://www.blogger.com/profile/04678886338231106867</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
