Admítelo: cada vez que veas a una persona que usa Vim, consideras la posibilidad de que sepa algo que tú no. ¿Por qué, si no, usarían un editor que, en su opinión, es anticuado, de código abierto? Piensa lo que deseas, pero hay una razón por la que los mejores desarrolladores confían en Vim.
Tutorial republicadoCada pocas semanas, revisamos algunas de las publicaciones favoritas de nuestros lectores de toda la historia del sitio. Este tutorial se publicó por primera vez en febrero de 2011..
Hasta que no pases al menos un mes trabajando todos los días con el editor, ¡sin duda lo odiarás! Esto es específicamente por qué la mayoría de los recién llegados jugarán con Vim por un día, se disgustarán y nunca más lo tocarán. Lo que es lamentable es que, si estos desarrolladores pudieran superar los escollos, se les presentaría una velocidad y flexibilidad increíbles..
Es cierto: Vim no es su editor de código estándar (es mejor). La transición de, digamos, TextMate a Vim será un proceso completamente diferente a cambiar de TextMate a Espresso. Siempre ten eso en cuenta cuando te rasgues el cabello porque Vim aparentemente se niega a ingresar texto cuando escribes.
Aunque hay varios modos en Vim, nos centraremos en los tres más importantes. Pero antes de continuar, tenga en cuenta que cada tecla cumple una función diferente, dependiendo del modo en el que se encuentre actualmente. Aún más confuso: al principio, una letra mayúscula activa una acción diferente que una minúscula..
En el modo de comando, al presionar la "i" minúscula se activará el "Modo de inserción". Sin embargo, una "I" mayúscula moverá el cursor al principio de la línea. Esto puede sonar confuso, pero proporciona una potencia increíble.!
V
para cambiar al modo Visual, y luego escriba 5j
a seleccionar cinco líneas hacia abajo Finalmente, presionas re
, para eliminar. Sé que esto suena increíblemente confuso al principio. Podría pensar, "¿Todo ese trabajo solo para eliminar cinco líneas?" La verdad es que este método es significativamente más rápido..
¿Por qué ganaste la cabeza en más de tres décadas de desarrollo??
Podrías escuchar a tus amigos decir: "¿No es Vim un editor de código antiguo?" Bueno, podrías decir eso; Ha existido por más de treinta años. Si bien, honestamente, ¿por qué te vuelves loco en más de tres décadas de desarrollo? ¡Eso es más largo de lo que he estado vivo! Mejor aún, incluso hasta el día de hoy, Vim está en desarrollo activo. La versión más reciente, 7.3, estuvo disponible en agosto de 2010..
En segundo lugar, es importante tener en cuenta que Vim no es Vi. Si su única experiencia es con este último, tómese un tiempo para descargar la última versión y juegue con las nuevas funciones. Te sorprenderá gratamente!
Si Vim no puede hacerlo de forma nativa, puedes apostar a que hay un complemento disponible en algún lugar!
Descubrirá rápidamente que, si Vim no puede realizar una tarea en particular, es probable que se haya desarrollado un complemento para proporcionar esa funcionalidad. Por ejemplo, considere la excelente característica de fragmentos de TextMate. Si bien Vim no admite esto de forma nativa, puedes descargar el complemento snipMate, que debería hacer que la experiencia sea prácticamente idéntica a la que estás acostumbrado..
Cuanto menos movimiento, mejor.
En primer lugar, esto no es cierto. Podría haber sido el caso con Vi, pero es libre de usar Vim de la manera que le resulte más cómoda. Así que use las teclas de flecha para el contenido de su corazón, aunque tenga en cuenta que hay una razón por la que la mayoría de los usuarios de Vim no lo hacen..
los h, j, k, l
las asignaciones de teclas a la izquierda, abajo, arriba y derecha, respectivamente, tienen dos propósitos:
Cuando todo está dicho y hecho, tú es la persona que usa el editor. Si, al principio, te sientes más cómodo usando las teclas de flecha, entonces hazlo!
¡Esta bien! Vim no es para todos. Como una persona que al menos intenta realizar trabajos de diseño de vez en cuando, puedo dar fe de que Vim puede no ser la mejor opción para los diseñadores..
Los desarrolladores no son diseñadores; Es natural que este hecho se refleje en su elección de editores..
Si encuentra que la mayor parte de sus días los dedica a trabajar con HTML y CSS, tal vez Vim no sea para usted. Ahora, eso no quiere decir que no debas darle una oportunidad; pero es ciertamente comprensible, si decides seguir con un editor más amigable para el diseñador, como Coda.
Sencillo y simple, eso es basura. Ciertamente, cada editor tiene sus puntos fuertes, pero encontrará que Vim es increíblemente poderoso y, lo que es más importante, flexible. Hay cientos y cientos de complementos disponibles (gratis) que brindarán soporte para prácticamente cualquier tipo de funcionalidad que necesite.
Muchos recién llegados a menudo citan el comando incorporado "Cambiar interior" como un gran punto de venta. ¡Ciertamente fue para mí! Digamos que tienes el siguiente código:
var joe = 'fontanero';
Suponiendo que el cursor está al principio de esa línea y que desea cambiar el valor "fontanero" a "negro", tradicionalmente, puede usar las teclas de flecha o el mouse para seleccionar y cambiar el texto. Con Vim, el proceso se simplifica enormemente. Simplemente escriba: ci '
. Esto significa "Cambiar las cotizaciones internas" o, busque el siguiente conjunto de comillas simples y cambie el valor dentro de.
ul> li Mi texto del elemento de la lista.
. Esta fue una queja inicial que tuve con Vim, también. Cuando lances por primera vez, por ejemplo, MacVim, ¡te arrojan a la manada de lobos! Sin código resaltado, sin formato, sin sangría inteligente ... ¡sin nada! En particular, si está utilizando un editor Vim personalizado, al menos debería haber un archivo vimrc base para comenzar. Puede ser una experiencia intimidante tratar de averiguar cómo aplicar sus preferencias personalizadas.
Para aquellos que no están familiarizados con un archivo vimrc, es esencialmente un archivo que le permite especificar sus preferencias de editor.
Utilice esto como un arranque (haga clic en el botón Expandir a continuación):
".vimrc File" Mantenido por: Jeffrey Way "[email protected]" http://net.tutsplus.com "" Olvídese de la compatibilidad con Vi. A quien le importa. establecer nocompatible "Activar tipos de archivo tipo de archivo en el tipo de archivo en la sangría de tipo de archivo en la sintaxis" Escriba el archivo antiguo al cambiar entre archivos. establecer autowrite "Mostrar la posición actual del cursor en la esquina inferior derecha. establecer regla" ¿Desea un líder de mapa diferente a \ "establecer mapleader =", ";" ¿Alguna vez notó un ligero retraso después de escribir la tecla de guía + comando? Esto reduce "el tiempo de espera. Establecer timeoutlen = 500" Cambiar entre búferes sin guardar el conjunto oculto "Establecer el esquema de color. Cambiar esto a su preferencia". Aquí hay 100 para elegir: http://www.vim.org/scripts/script .php? script_id = 625 colorscheme twilight "Establecer tipo y tamaño de fuente. Depende de la resolución. Las pantallas más grandes, prefieren h20 set guifont = Menlo: h14" Tab stuff set set tabstop = 3 set shiftwidth = 3 set softtabstop = 3 set expandtab "Show comando en la parte inferior derecha del conjunto de pantalla showcmd "Mostrar números de líneas establecer número" ¿Prefieres numeración de línea relativa? "establecer relativenumber" "Sangrar establecer conjunto smartindent establecer autoindent" Mostrar siempre la línea de estado conjunto laststatus = 2 "Prefiere una altura de línea ligeramente más alta set linespace = 3 "Mejor ajuste de línea set wrap wrap textwidth = 79 set formatoptions = qrn1" Set búsqueda incremental "set incsearch" Highlight search set hlsearch "set insensibleitive set ignorecase set smartcase" Ocultar MacVim toolbar por defecto set go- = T " Envolver los párrafos del texto nnorem apq gqip "Habilitar conjunto de plegado de código plegable" Ocultar el mouse cuando se escribe establecer mousehide "Método abreviado para plegar etiquetas con el líder (generalmente \) + ft nnoremap ft Vatzf "Crear diccionario para expansiones personalizadas set dictionary + = / Users / jeff_way / .vim / dict.txt" Abre una división vertical y cambia a (\ v) nnoremap v v l "Dividir las ventanas debajo de la ventana actual. establecer dividir" las configuraciones de la sesión establecer sessionoptions = redimensionar, winpos, winsize, buffers, tabpages, folds, curdir, help "Configurar una plantilla HTML5 para todos los nuevos archivos .html" autocmd BufNewFile * silent! 0r $ VIMHOME / templates /%: e.tpl "Cargar el búfer actual en Firefox - Específico para Mac. Abbrev ff:! Open -a firefox.app%: p "Asignar un directorio de cambios al escritorio - nmap específico de Mac d: cd ~ / Desktop :mi. "Atajo para editar el archivo vimrc en una nueva pestaña nmap ev: tabedit $ MYVIMRC "Cambiar la clave de expansión del complemento de codificación zen a shift + e let g: user_zen_expandabbr_key = ' '' Un atajo más rápido para comentar. Requiere el mapa del complemento T-Comment do "Ahorra tiempo; asigna la barra espaciadora al colon nmap : "Cambiar automáticamente el directorio actual al del archivo en el búfer autocmd BufEnter * cd%: p: h" Finalización del código del mapa a, + tab imap "Más útil conjunto de finalización de línea de comando wildmenu" Menú de finalización automática wildmode = list: más largo "http://vim.wikia.com/wiki/Make_Vim_completion_popup_menu_work_just_like_in_an_an_IDE set completeopt = más largo, menuone enoremap pumvisible ()? "\ ":" \ u \ "inoremap pumvisible ()? ' ': \' = pumvisible ()? "\ Abajo> ":" " 'inoremap pumvisible ()? ' ': \' = pumvisible ()? "\ Abajo> ":" " '' Mapear clave de escape a jj - imap jj mucho más rápido "Eliminar todos los buffers (a través de Derek Wyatt) nmap ,da: exec "1,". bufnr ('$'). "bd" "Bubble single lines (kicks butt)" http://vimcasts.org/episodes/bubbling-text/ nmap ddkP nmap ddp "Bubble lineas multiples vmap xkP '[V'] vmap xp '[V'] "Fuente el archivo vimrc después de guardarlo. De esta manera, no tiene que volver a cargar Vim para ver los cambios. Si tiene (" autocmd ") augroup myvimrchooks au! autocmd bufwritepost .vimrc source ~ /. vimrc augroup END endif "ventana más sencilla navegación nmap h nmap j nmap k nmap l "------------------------" "CONFIGURACIONES DEL PLUGIN DEL NERDTREE" ------------------ ------ "" Atajo para NERDTreeToggle nmap nt: NERDTreeToggle "Mostrar archivos ocultos en NerdTree permitió que NERDTreeShowHidden = 1" abriera automáticamente NERDTree y el cursor de enfoque en el nuevo documento autocmd VimEnter * NERDTree autocmd VimEnter * wincm. et dolore magna aliqua. iab llorem Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nose studUDudation corrige Solo por ejemplo. Añade el tuyo a continuación. iab teh the iab Teh El "llegar a casa dir más fácil" hm es más fácil de escribir que: cd ~ nmap hm: cd ~ / "Ordenar alfabéticamente las propiedades CSS en el archivo con: SortCSS: comando! SortCSS: g # \ (\ n \) \ @<=#.,//sort " Shortcut to opening a virtual split to right of current pane " Makes more sense than opening to the left nmap bv: bel vsp "Guarda el archivo cuando la ventana Vim pierde focus au FocusLost *: wa" Las copias de seguridad configuran backupdir = ~ / .vim / tmp / backup // "las copias de seguridad configuran directory = ~ / .vim / tmp / swap //" archivos de intercambio configurar copia de seguridad "habilitar copia de seguridad" Ya no hay que estirarse más para navegar por los archivos "noremap h;" noremap jh "noremap k gj" noremap l gk "noremap; l configurar showmatch" mostrar corchetes correspondientes "imprimir vacío etiqueta de mapa! ; h 5hi
Yo tampoco, al menos no más que yo, hay una variedad de editores Vim dedicados que brindan una experiencia similar a la GUI de Windows / Mac..
Estos editores brindarán soporte para los tipos de pulsaciones de teclas que están incorporadas en su cuerpo, como "Comando + F
"para buscar, o"Comando + W
"para cerrar la ventana actual.
¿Recuerda cómo, en la escuela, a veces, el estudiante que estaba sentado a su lado pudo explicarle y ayudarlo a entender algún concepto difícil más que el profesor? La razón es porque, una vez que dominas un oficio, es difícil recordar lo que personalmente te causó más problemas. De septiembre a octubre, me embarqué en un desafío de cuatro semanas, al que llamo "Aventurarse en Vim". Después de escuchar a innumerables desarrolladores extremadamente talentosos elogiar a este editor de código aparentemente de una década, decidí que valía un mes de mi tiempo para averiguar por qué tanta gente considera que Vim es el mejor editor del planeta.
No obstante, puede admitir que no es tan fácil de usar como, por ejemplo, la función de servidor remoto de Coda. Hablando de Panic, si eres un usuario de Transmit, puedes considerar instalar el complemento Transmit FTP..
"Esta secuencia de comandos le permite cargar el archivo actual a través de Transmitir directamente desde Vim. Para que funcione, debe estar trabajando en un archivo que está vinculado a una conexión de transmisión, y esta conexión debe tener habilitado" DockSend ".
Con este complemento, al editar un archivo que tiene una conexión de transmisión (archivo abierto a través de Transmitir), solo necesita presionar Control + U
para enviar esas actualizaciones de nuevo a su servidor remoto. Es una cincha!
Sinceramente, sin embargo, debe intentar adoptar un mejor proceso de compilación / implementación. De esta manera, en lugar de usar FTP, simplemente puede git push
.
Claro, hay un puñado de razones para no usar Vim. Tiene una curva de aprendizaje empinada y requiere un replanteamiento completo de cómo debería funcionar un editor de código. Dicho esto, hay cientos de razones por las que debería utilizar Vim. La única pregunta es: ¿por qué no eres tú??