<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>blog.interrupciones.net &#187; vim</title>
	<atom:link href="http://blog.interrupciones.net/tag/vim/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.interrupciones.net</link>
	<description></description>
	<lastBuildDate>Mon, 31 May 2010 08:26:44 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Trucos básicos usando el editor Vim</title>
		<link>http://blog.interrupciones.net/trucos-basicos-usando-el-editor-vim/</link>
		<comments>http://blog.interrupciones.net/trucos-basicos-usando-el-editor-vim/#comments</comments>
		<pubDate>Mon, 03 Mar 2008 00:35:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Utilidades]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://interrupciones.net/trucos-basicos-usando-el-editor-vim/</guid>
		<description><![CDATA[Personalmente uso kate o kwrite como editor simple, para tomar pequeñas notas, etc. Pero para programar o editar ficheros de configuración del sistema no dudo en usar VIM. No voy a profundizar en el uso de este editor, si no te suena de nada el nombre probablemente este artículo no te interese en absoluto. El [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.interrupciones.net/imagenes/vim-logo.png" alt="vim logo" width="150" height="150" align="right" />Personalmente uso kate o kwrite como editor simple, para tomar pequeñas notas, etc. Pero para programar o editar ficheros de configuración del sistema no dudo en usar VIM. No voy a profundizar en el uso de este editor, si no te suena de nada el nombre probablemente este artículo no te interese en absoluto. El hecho es que VIM, o cualquiera de los clones de vi, es un editor muy potente. Al contario de lo que parece a simple vista.</p>
<p>Mucha gente usa vi sólo cuando es estrictamente necesario, y de hecho es comprensible, tener un editor que funcione en modo texto puede ser de mucha utilidad si no funciona el entorno gráfico, o si editas ficheros de otro ordenador remotamente. Este artículo va destinado a aquella gente que ya usa VIM, pero no se ha leido la documentación ni la ayuda. Quiero insistir en que esto que voy a describir es MUY BÁSICO, este editor puede hacer muchísimo más. Avisados estáis&#8230; empezamos:</p>
<p align="left"><strong>Cambiar de modo</strong></p>
<p>Pulsando la tecla &lt;i&gt; entramos en el modo de inserción (para editar el texto), pulsando la tecla &lt;ESC&gt; entramos en el modo comandos, si estando en modo comandos escrivimos &lt;:&gt; (dos puntos), entramos en el modo línea de comandos de VIM, en él podemos hacer cosas más complejas.</p>
<p align="left"><strong>Guardar, Salir, etc</strong></p>
<p>Vamos a guardar el archivo:</p>
<pre>:w</pre>
<p>Como véis, la orden empieza por &lt;:&gt;, por lo tanto, primero hemos pulsado &lt;ESC&gt; para entrar en modo comandos. Si queremos darle otro nombre al archivo:</p>
<pre>:w nuevo_nombre.txt</pre>
<p>Para salir del editor:</p>
<pre>:q</pre>
<p>Si hemos hecho cambios no nos deja salir, aquí tenemos dos opciones, la primera es salir sin guardar:</p>
<pre>:q!</pre>
<p>La segunda es guardar, antes lo hemos hecho con &lt;:w&gt;, pero podríamos guardar y salir en un solo comando:</p>
<pre>:wq</pre>
<p>E incluso hay otro comando que hace lo mismo, pero no sobreescribe el archivo si no hay cambios, este es el más comodo para salir guardando cambios:</p>
<pre> <img src='http://blog.interrupciones.net/wp-includes/images/smilies/icon_mad.gif' alt=':x' class='wp-smiley' /> </pre>
<p align="left"><strong>Borrar en modo comando:</strong></p>
<p>Ahora estamos en modo comando (tecla &lt;ESC&gt;), sin usar los dos puntos &lt;:&gt;. Si queremos eliminar el siguiente carácter debajo del cursor podemos pulsar <strong>x</strong>, con <strong>X</strong> eliminaríamos en anterior. Si pulsamos <strong>dd</strong> eliminamos la línea actual entera. Con <strong>dw</strong> eliminamos todos los caracteres hasta el final de la palabra actual, si estamos en un espacio en blanco, hemos eliminado la siguiente palabra del texto. ¿Con <strong>d3w</strong> que hacemos? El propio comando lo dice: <em>delete 3 words</em>. Con <strong>5dd</strong> eliminamos 5 líneas enteras. Y por aquí va el asunto, la gracia está en aprender a combinar los comandos entre ellos.</p>
<p align="left"><strong>Deshacer:</strong></p>
<p>Si pulsamos la letra <strong>u</strong> deshacemos lo último que hemos hecho. Si pulsamos <strong>u</strong> repetidamente vamos retrocediendo. Con <strong>U</strong> afectaría solo a la línea actual.</p>
<p align="left"><strong>Repetir:</strong></p>
<p>Con el carácter <strong>.</strong> (punto) se repite el último comando realizado, sea cual sea.</p>
<p align="left"><strong>Copiar, Cortar y Pegar:</strong></p>
<p>¿He dicho que <strong>d</strong> elimina? Pues es completamente falso. Todo lo que eliminamos con <strong>d</strong>, <strong>dd</strong>, <strong>dw</strong>, etc se guarda en un <em>buffer</em>. Esto sirve, por ejemplo, para que usemos <strong>u</strong> para deshacer como acabo de explicar, pero también nos permite pegar el contenido eliminado, lo que popularmente se conoce como Cortar y Pegar. El comando <strong>y</strong> funciona igual que <strong>d</strong>, pero a diferencia de este último, guarda el contenido en el buffer sin eliminarlo, por lo que es un qeuivalente al típico Copiar: <strong>yy</strong> copia la línea actual, <strong>yw</strong> copia una palabra, <strong>10yy</strong> copia un bloque de 5 líneas de texto, etc.</p>
<p>Ahora que hemos puesto información en el <em>buffer</em>, ya sea eliminada con <strong>d</strong> o copiada con <strong>y</strong>, sólo tenemos que pulsar <strong>p </strong>para Pegar.</p>
<p align="left"><strong>Buscar cadenas de texto:</strong></p>
<p>Si en modo comando (tecla &lt;ESC&gt;) escribimos:</p>
<pre>/palabra</pre>
<p>Y pulsamos enter, el editor buscará <em>palabra</em> en el texto y lo marcará para que lo veamos. Con la letra <strong>n</strong> se repite la búsqueda hacia adelante, con la letra <strong>N</strong> se repite hacia atrás.</p>
<p>Además, si pulsamos el asterisco <strong>*</strong> en modo comando en cualquier momento, se remarcarán todas las coincidencias con la palabra actual debajo del cursor.</p>
<p align="left"><strong>Para programadores:</strong></p>
<p>La función de autocompletado es quizás la más destacada, todos los IDEs de programación lo soportan, pues VIM también. Empezamos a escribir una función y pulsamos <strong>Control + n</strong>, se despliega una lista de todas las funciones que empiezan igual.</p>
<p>Otro truco muy útil es el salto hacia adelante y hacia atrás entre bloques de programación. Si nuestro lenguaje define estos bloques con { &#8230; } o ( &#8230; ) por ejemplo, nos podemos situar encima de un inicio de bloque, el carácter {, luego pulsamos <strong>%</strong> y nuestro cursor salta directamente hacia el carácter } más cercano. Si volvemos a pulsar <strong>%</strong> haremos lógicamente el salto hacia atrás.</p>
<p>Si en modo comandos escribimos <strong>!</strong> (exclamación), podemos ejecutar comandos de shell dentro de VIM, al terminar la ejecución en shell volvemos al estado de editor.</p>
<p align="left"><strong>El comando definitivo:</strong></p>
<p>Espero que este artículo le sea útil a alguien, de todas formas hay un comando que supera a todos los demás. Por eso lo he reservado hasta el final:</p>
<pre>:help</pre>
<p>Con el comando &lt;:help&gt; entramos en la ayuda de VIM, que consta de un tutorial muy completo, de estos de seguir paso a paso. Esto es la mejor forma de aprender a usar este magnífico editor de texto.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.interrupciones.net/trucos-basicos-usando-el-editor-vim/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
