{"id":8530,"date":"2019-01-15T20:06:14","date_gmt":"2019-01-15T18:06:14","guid":{"rendered":"?p=8530"},"modified":"2019-03-27T10:56:08","modified_gmt":"2019-03-27T09:56:08","slug":"vim-para-escribir-novelas","status":"publish","type":"post","link":"https:\/\/perdiendo.org\/museodemetralla\/?p=8530","title":{"rendered":"vim para escribir"},"content":{"rendered":"<p><img decoding=\"async\" src=\"wp-content\/uploads\/2019\/01\/vim.png\" alt=\"\" \/><\/p>\n<h3>Por qu\u00e9.<\/h3>\n<p>Tarde o temprano me tocaba mirar esto de Vim. No hay nada que ahora mismo me falte en <a href=\"https:\/\/atom.io\">atom<\/a>, pero parece que todo te lleva a Vim o a emacs, y escribir desde el propio terminal&#8230; tiene su cosa. Creo sinceramente que puede ser de mucha utilidad. Pero Vim no se parece a nada que haya visto antes, as\u00ed que hay que ir despacio comprendiendo lo que vas viendo.<\/p>\n<p>Vim es un editor modal, lo que quiere decir que tiene modos. El modo en el que arranca es el general, en el que puedes introducir comandos y utilizar las teclas para la edici\u00f3n del texto. Si presionas \u00abi\u00bb entras en el modo insertar, en el que escribes como en cualquier otro editor. Con escape vuelves al general, y si presionas la \u00abv\u00bb entras en el editor visual para seleccionar texto.<\/p>\n<p>As\u00ed, de principio, ya una locura. Todav\u00eda no s\u00e9 hacer muchas cosas, pero s\u00ed algunas.<\/p>\n<h3>Instalando.<\/h3>\n<p>Lo primero de todo es instalarlo, si no lo tienes ya instalado en tu distribuci\u00f3n de linux. Para debian<\/p>\n<pre><code>$ sudo apt-get install vim\n<\/code><\/pre>\n<p>Se abre con <code>$ vim<\/code>, y la versi\u00f3n gr\u00e1fica con <code>$ gvim<\/code>.<\/p>\n<h3>Lo b\u00e1sico.<\/h3>\n<p>Despu\u00e9s es conveniente hacer el tutorial<\/p>\n<pre><code>$ vimtutor\n<\/code><\/pre>\n<p>Ah\u00ed aprenderemos, o lloraremos, algunos de los siguientes comandos b\u00e1sicos de Vim en el modo general.<\/p>\n<blockquote><p>\n  h &#8211; izquierda<br \/>\n  l &#8211; derecha<br \/>\n  j &#8211; arriba<br \/>\n  k &#8211; abajo<br \/>\n  x &#8211; borrar la letra del cursor<br \/>\n  dw &#8211; borrar palabra<br \/>\n  d$ &#8211; borrar el resto de la frase<br \/>\n  dd &#8211; borrar una linea, queda almacenada en el buffer<br \/>\n  p &#8211; pegar esa linea<br \/>\n  ndd &#8211; borrar n lineas<br \/>\n  i &#8211; modo insertar<br \/>\n  ESC &#8211; modo normal<br \/>\n  :q! &#8211; forzar salida<br \/>\n  :wq &#8211; salir guardando<br \/>\n  u &#8211; deshacer el \u00faltimo mandato<br \/>\n  U &#8211; deshacer una linea entera<br \/>\n  CTROL-R &#8211; rehacer<br \/>\n  r + letra &#8211; sustituye la letra por la nueva<br \/>\n  R &#8211; abre reemplazar para reemplazar texto de una frase.<br \/>\n  cw &#8211; borra el resto de la palabra y abre insertar para escribir<br \/>\n  \/ &#8211; para buscar hacia abajo<br \/>\n  ? &#8211; para buscar hacia arriba<br \/>\n  n &#8211; siguiente ocurrencia de una b\u00fasqueda<br \/>\n  % &#8211; busca el par\u00e9ntesis al que corresponde otro inicial<br \/>\n  :s\/nuevo\/viejo\/ &#8211; la ocurrencia viejo es cambiada por nuevo<br \/>\n  :s\/nuevo\/viejo\/g &#8211; todas las ocurrencias de viejo en una l\u00ednea<br \/>\n  :#,#s\/viejo\/nuevo\/g &#8211; las ocurrencias entre las l\u00edneas # y #<br \/>\n  :#,#s\/viejo\/nuevo\/gc &#8211; pide confirmaci\u00f3n en cada ocurrencia<br \/>\n  :%s\/viejo\/nuevo\/g cambia viejo por nuevo en todo el documento<br \/>\n  CTROL-G &#8211; muestra la posici\u00f3n del cursor en el fichero<br \/>\n  Mayus-G &#8211; Mueve el cursor al final del documento<br \/>\n  N\u00famero + Mayus-G &#8211; mueve el cursor a la l\u00ednea del n\u00famero.<br \/>\n  :!comando &#8211; ejecuta un comando (ls, por ejemplo, para ver el directorio)<br \/>\n  :w nombre &#8211; guarda el fichero con un nombre<br \/>\n  :#,# nombre &#8211; guarda un fichero con las l\u00edneas entre ambos n\u00fameros<br \/>\n  :r nombre &#8211; a\u00f1ade el contenido del fichero nombre al fichero actual<br \/>\n  o &#8211; abre una l\u00ednea bajo la que estamos y se pone en modo insert<br \/>\n  O &#8211; abre una linea sobre la que estamos y se pone en modo insert<br \/>\n  a &#8211; a\u00f1ade texto despu\u00e9s del cursor.<br \/>\n  A &#8211; a\u00f1ade texto al final de una l\u00ednea.\n<\/p><\/blockquote>\n<p>Creo que ser\u00e1 mejor <a href=\"https:\/\/juanjoalvarez.net\/es\/detail\/2009\/jun\/25\/vim-en-2-minutos\/\">enlazar<\/a> a alguien que lo ha hecho mucho mejor que yo.<\/p>\n<h3>Ortograf\u00eda.<\/h3>\n<p>Lo siguiente es el corrector de ortograf\u00eda. Dentro de Vim:<\/p>\n<pre><code>:set spell spelllang=es\n<\/code><\/pre>\n<p>Descargar\u00e1 los archivos del idioma y lo utilizar\u00e1 para la sesi\u00f3n actual, si queremos fijarlo tendremos que abrir (o crear) el archivo de configuraci\u00f3n en nuestro home<\/p>\n<pre><code>$ vim ~\/.vimrc\n<\/code><\/pre>\n<p>y escribir en \u00e9l<\/p>\n<blockquote><p>\n  set spell<br \/>\n  setlocal spell spelllang=es\n<\/p><\/blockquote>\n<h3>Plugins.<\/h3>\n<p>Vim no es <em>gonico<\/em> y no tiene las utilidades que ya me daba atom (tambi\u00e9n con <a href=\"?p=7248\">ellos<\/a>), pero eso lo podemos solucionar con plugins. Lo primero ser\u00e1 instalar un gestor si lo necesitas (yo s\u00ed), en mi caso <a href=\"https:\/\/github.com\/junegunn\/vim-plug\">vim-plug<\/a> porque era el que recomendaba Goyo, un plugin del que hablar\u00e9 m\u00e1s adelante, y estoy completamente perdido como para juzgar ahora mismo cu\u00e1l es el mejor o el peor.<\/p>\n<pre><code>$ curl -fLo ~\/.vim\/autoload\/plug.vim --create-dirs \\\n    https:\/\/raw.githubusercontent.com\/junegunn\/vim-plug\/master\/plug.vim\n<\/code><\/pre>\n<p>(O copiamos plug.vim dentro de la carpeta autoload)<br \/>\nOks, ahora abrimos de nuevo .vimrc en home y a\u00f1adimos los plugins<\/p>\n<pre><code>call plug#begin('~\/.vim\/plugged')\n\nPlug 'https:\/\/github.com\/junegunn\/limelight.vim.git'\nPlug 'https:\/\/github.com\/plasticboy\/vim-markdown.git'\nPlug 'https:\/\/github.com\/junegunn\/goyo.vim.git'\nPlug 'https:\/\/github.com\/vim-airline\/vim-airline.git'\nPlug 'https:\/\/github.com\/reedes\/vim-pencil.git'\nPlug 'https:\/\/github.com\/scrooloose\/nerdtree.git'\nPlug 'https:\/\/github.com\/xolox\/vim-shell'\nPlug 'https:\/\/github.com\/xolox\/vim-misc'\n\n\" Initialize plugin system\ncall plug#end()\n<\/code><\/pre>\n<p>Las dobles comillas al principio de una linea son el escape para poner un comentario.<\/p>\n<p>Una vez en vim ejecutamos :PlugInstall para instalarlos.<\/p>\n<p><a href=\"https:\/\/github.com\/junegunn\/limelight.vim\">Limelight<\/a> pone el foco en el p\u00e1rrafo que estamos escribiendo. No s\u00e9 si es \u00fatil o no, pero lo recomendaba el tipo de Goyo. Ideas semejantes en otros proc&#8230; editores&#8230; en otros programas para trabajar con texto no han terminado convenci\u00e9ndome, pero instalado queda. Ya lo borrar\u00e9 si no me interesa. Se invoca dentro de Vim con :Limelight.<\/p>\n<p><a href=\"https:\/\/github.com\/plasticboy\/vim-markdown\">Vim-Markdown<\/a> a\u00f1ade un mont\u00f3n de cosas que todav\u00eda no utilizo, pero s\u00f3lo por marcarme el salto de l\u00ednea y permitirme colapsar bloques de texto para tener un \u00e1rbol del documento marcado por los # de los encabezados de markdown me lo quedo. Por lo que he visto tiene otro mont\u00f3n de funcionalidades que me van a venir muy bien. No se invoca, actua desde que arrancamos Vim. \u00bfPor qu\u00e9? No tengo ni la m\u00e1s remota idea.<\/p>\n<p><a href=\"https:\/\/github.com\/junegunn\/goyo.vim\">Goyo<\/a> es lo que antes hab\u00eda visto con diferentes nombres como zen. Te centra el texto a\u00f1adiendo m\u00e1rgenes y elimina las distracciones. Estupendo para escribir de un modo m\u00e1s legible. Se invoca dentro de Vim con :Goyo.<\/p>\n<p><a href=\"https:\/\/github.com\/vim-airline\/vim-airline\">Vim-airline<\/a> a\u00f1ade funcionalidades a la barra inferior, entre las que est\u00e1n las palabras que llevas escritas, y eso es todo lo que necesito. No se ve cuando activas Goyo, lo que es a\u00fan mejor para no sentir la tiran\u00eda del n\u00famero. Este tampoco se invoca, simplemente est\u00e1.<\/p>\n<p><a href=\"https:\/\/github.com\/reedes\/vim-pencil\">Vim-pencil<\/a> hace que Vim ajuste el texto a la pantalla sin partir las palabras por la mitad. Se invoca con :SoftPencil. Hay otras opciones y un :HardPencil, pero a m\u00ed me sirve con eso, y lo que hace lo hace justo como quiero.<\/p>\n<p><a href=\"https:\/\/github.com\/scrooloose\/nerdtree.git\">Nerdtree<\/a> es otro punto que echaba de menos de atom, que es ver un arbol de los archivos que estoy editando. Lo m\u00e1s probable es que en la novela haya dividido los cap\u00edtulos en archivos diferentes, con este plugin puedo saltar de uno a otro r\u00e1pidamente. Se invoca con :NERDtree.<\/p>\n<p><a href=\"https:\/\/github.com\/xolox\/vim-shell\">Vim-shell<\/a>, s\u00f3lo la utilizo por que con ella gvim tiene un F11 a pantalla realmente completa. Cuando vi las funciones completas me maree.<\/p>\n<p><a href=\"https:\/\/github.com\/xolox\/vim-misc\">Vim-misc<\/a>, lo necesitaba el anterior.<\/p>\n<p>[<em>Creo que necesitar\u00eda a\u00f1os para terminar de descubrir y aprender a utilizar lo que estos plugins hacen, m\u00e1s all\u00e1 de lo que yo necesito que hagan.<\/em>]<\/p>\n<h3>Conclusi\u00f3n.<\/h3>\n<p>Ya, es horrible. \u00bfPero no es, al mismo tiempo, maravilloso?, \u00bfno?<\/p>\n<p>No, no lo es. Parece la versi\u00f3n textual de matar moscas a ca\u00f1onazos.<\/p>\n<p>Vim es una opci\u00f3n a largo plazo, que permite ir aprendiendo poco a poco. Mientras no sea un estorbo, el hecho de poder convertirse en una estupenda herramienta seg\u00fan la vaya descubriendo para m\u00ed me es suficiente como incentivo.<\/p>\n<p>En windows 7 lo utilizo desde el bash de git, la carpeta autostart est\u00e1 en \/usr\/shared\/vim.<\/p>\n<h3>Nota.<\/h3>\n<p>Lo bueno del texto plano es que gran parte de esta entrada est\u00e1 escrita con Vim, pero donde encontraba problemas pasaba Atom y luego volv\u00eda a Vim. Ser el due\u00f1o de tu archivo y utilizarlo con lo que mejor te vaya en un momento dado no tiene precio. \u00bfMe quedar\u00e9 con Atom, ir\u00e9 a Vim? Pues s\u00f3lo depende de lo que me sea m\u00e1s \u00fatil.<\/p>\n<p>Ahora<\/p>\n<pre><code>$ git commit -a -m \"vim para escribir\"\n$ git push\n<\/code><\/pre>\n<p>y a <a href=\"https:\/\/store.steampowered.com\/app\/365450\/Hacknet\/\">Hacknet<\/a>, del que ya hablar\u00e9 otro d\u00eda.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Por qu\u00e9. Tarde o temprano me tocaba mirar esto de Vim. No hay nada que ahora mismo me falte en atom, pero parece que todo te lleva a Vim o a emacs, y escribir desde el propio terminal&#8230; tiene su cosa. Creo sinceramente que puede ser de mucha utilidad. Pero Vim no se parece a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[62],"tags":[],"class_list":["post-8530","post","type-post","status-publish","format-standard","hentry","category-vim"],"_links":{"self":[{"href":"https:\/\/perdiendo.org\/museodemetralla\/index.php?rest_route=\/wp\/v2\/posts\/8530","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/perdiendo.org\/museodemetralla\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/perdiendo.org\/museodemetralla\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/perdiendo.org\/museodemetralla\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/perdiendo.org\/museodemetralla\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=8530"}],"version-history":[{"count":0,"href":"https:\/\/perdiendo.org\/museodemetralla\/index.php?rest_route=\/wp\/v2\/posts\/8530\/revisions"}],"wp:attachment":[{"href":"https:\/\/perdiendo.org\/museodemetralla\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=8530"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/perdiendo.org\/museodemetralla\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=8530"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/perdiendo.org\/museodemetralla\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=8530"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}