[Seminario Vim] [Brandon Liu] [Harvard University] [Este es CS50.] [CS50.TV] Hoy va a ser una introducción a Vim. ¿Cuántos de ustedes han oído hablar de Vim? ¿Qué ha escuchado acerca de Vim? [Estudiante] Se soluciona todos sus problemas. [Brandon L.] Se soluciona todos sus problemas. Cualquier otra cosa que ustedes han oído hablar de Vim? Cualquier impresiones? [Estudiante] Casi todas las personas que he hablado le gusta usar Vim. Oh, dulce. [Estudiante] Una gran cantidad de gente que conozco le gusta usar Vim. Está bien, eso es bueno, porque un montón de gente en CS51 empezar a recoger, porque Emacs Emacs tiene un poco mejor apoyo para el idioma que va a utilizar en el CS51, y me preocupa que no hay suficiente gente en Harvard usan Vim, así que realmente tratar de hacer un buen trabajo de fomentar el uso de Vim. Pero aquí es un clásico del cómic xkcd que ustedes podrían encontrar interesante. ¿Han utilizado Nano antes en absoluto? Este cómic dice Nano? Programadores reales utilizan Emacs. Hey, los programadores reales usan Vim. No, los programadores reales del uso de Ed que es esto-que no siempre desea utilizar Ed. Es muy, muy viejo y muy mal, y los programadores reales utilizan una aguja imantada y una mano firme. Y usted puede leer el resto, pero es bastante divertido. Y lo curioso es al final. Ellos dicen: "Oh, sí, por supuesto, hay un comando de Emacs para hacer eso." El bueno de Cx Mc M-mariposa, que es una especie de pinchazo en Emacs porque Emacs es conocido históricamente para ser un poco hinchado y para disponer de comandos para casi cualquier cosa, así que eso es una especie de broma para Emacs. ¿Qué es Vim? Vim es el editor de texto de un programador avanzado. Tengo muchas ganas de hacer la distinción entre el editor de texto y algo así como un procesador de documentos. Microsoft Word es conocido como un procesador de documentos. Puede ajustar los márgenes, hacer que las cosas negrita, subrayado cosas, tachar cosas, cambiar el tamaño de fuente y otras cosas. Un editor de texto no hace nada más que editar texto. Literalmente sólo tienes caracteres. No hay ninguna clase de estilo, tamaños, fuentes, colores, ni nada de eso. Todo lo que hacer es editar el texto, y Vim ha sido hecho especialmente para la programación. Tiene un montón de características incorporadas en tan sólo para la programación. Está diseñado expresamente para la edición de texto eficiente. En general, Vim se sabe que es básicamente el editor de texto más rápido que posiblemente puede utilizar en comparación con cualquier otro editor de texto que es posible. Una gran cantidad de características de IDE como no están construidos directamente en Vim, por lo que si usted ha usado un IDE y estás acostumbrado a cosas como compilar y ejecutar de forma automática o depurar lo que está en tu IDE o toda una serie de cosas diferentes Vim no viene con que, naturalmente, pero hay una gran cantidad de plugins que puedes utilizar para agregar ese tipo de funcionalidad para Vim. Vim por sí mismo se centra en la edición de texto y hace la edición de texto muy, muy bien. Y, por último, es muy personalizable y extensible, y básicamente Vim ha existido, o Vi que Vim se basa, ha existido por más de 40 años, y es un programa muy, muy profundo, y la gente lo utilizará para toda la vida y nunca realmente dominar el programa al máximo, y siempre seguir aprendiendo a lo largo de su vida en los últimos años, convirtiéndose siempre es mejor y mejor. Básicamente no hay fin a lo que se puede aprender y lo mucho que se puede mejorar con Vim, que es realmente emocionante. Usted no quiere verlo como algo de miedo, ya que puede llegar a ser muy, muy competente en Vim en tan sólo unas semanas, pero es algo así como una continua- siempre se puede aprender más y aprender más y hacer mejor las cosas y mejor, que es muy emocionante para mí. Este es un ejemplo de lo Vim se parece. Esto no es mío. Verás algunas demostraciones en vivo en estos momentos. Este es un ejemplo de lo que Vim podría ser similar. Lo que vamos a hacer hoy es que vamos a empezar con  un escaparate rápida de lo Vim puede hacer. Voy a hacer algunos trucos y otras cosas para ustedes para que pueda ver por qué me gusta tanto Vim y por qué la gente como Vim tanto, y luego a partir de ahí vamos a entrar en una suave introducción. En realidad, será un poco más rápido, una introducción a Vim. Le pediré a ustedes para descargar un archivo de texto y de seguir, junto conmigo, si puedes. Se trata de Vim, y aquí estoy usando MacVim, así que si ustedes tienen Macs es posible que desee considerar el uso de MacVim porque es una versión gráfica de Vim, aunque el Vim regular, lo que está en la línea de comandos, funciona muy bien. Yo te voy a mostrar algunos consejos y trucos al azar que se puede utilizar en Vim a mostrar por qué es tan cool. A sólo un par de cosas al azar que voy a pasar. Lo primero es los objetos de texto, y hay unos cuantos comandos alrededor de los objetos de texto, y que en realidad te enseñaré qué texto son objetos con más detalle más adelante en el seminario, pero por ejemplo, digamos que te sueltan mal mi nombre, Barndon Liu, y quiero cambiarlo. Todo lo que tengo que hacer es conseguir que mi cursor en algún lugar de mi nombre y escriba el comando CIW, y se eliminará toda mi nombre, me puso en modo de inserción, y puedo escribir mi nombre y arreglarlo. Del mismo modo, si quiero cambiar algo entre comillas también hay un comando para eso. Puedo borrar cosas dentro de las comillas. Ya no tendrá que hacer doble clic, mueva su mano hacia el ratón, doble clic y escriba algo interactivo Usted puede hacer todo, desde el teclado, lo que sea. O, alternativamente, vamos a decir que tengo esta etiqueta de imagen dentro de esta etiqueta de ancla. ¿Han cubierto HTML en la clase todavía? Sí, así que tal vez quiero borrar esta etiqueta, que normalmente lo que tienes que hacer es que usted tiene que utilizar el ratón y resaltar cuidadosamente exactamente lo que usted desea borrar y eliminarlo. Pero en Vim que está simplemente DIT, y se puede eliminar a cabo muy rápidamente, y voy a explicar a usted lo que significan todos esos comandos y cómo los utilizo en un segundo. Otro ejemplo, tengo un poco de código aquí, y digamos que yo quiero para sangrar el código, pero quiero sangrar el código sólo dentro de los paréntesis, y también puedo sangrar el código usando 3 comandos utilizando básicamente> iB. Otra cosa que es realmente bueno de Vim es algo que se llama edición de bloques visual. No sé si ustedes alguna vez han querido destacar un bloque rectangular de texto en su código veces en lugar de tener que hacer este tipo de cosa extraña línea que se extiende por todas las líneas diferentes. Por ejemplo, en Vim se puede hacer eso. Puedo destacar rectángulos como este, que está muy bien, pero por otra parte, puedo editar con esa funcionalidad. Por ejemplo, si quiero dar algún tipo de prefijo a todos nuestros nombres Puedo destacar un bloque y luego añadir algo. Del mismo modo, también puedo destacar este bloque y optar por eliminarlo, o tal vez voy a destacar de este bloque y el cambio a D porque somos todos los médicos. Sea lo que sea, puede hacer todas esas cosas diferentes. Por último, el plegado es realmente genial. Una gran cantidad de IDEs tienen este donde se puede doblar diferentes funciones fuera de la vista en caso de que no quiere ver. Por ejemplo, supongamos que tengo este montón de texto aquí, y yo realmente no quiero verlo. Quiero mantenerla fuera de la vista, porque estoy editando algo más en el archivo. Puedo doblarlo por lo que todo se derrumbó, y de esa manera que es fuera de la vista, y puedo editar otras cosas que están en la página, y esto es realmente genial. Puede doblar funciones y otras cosas o doblar las clases cuando se está programando sólo para mantenerlos fuera de la vista cuando no se está editando ellos, y más tarde cuando desee verlas puedes abrirlos. Y se puede ver que acaba de abrir todo. Aquí, tampones, y ventanas. Vim está muy bien en ese normalmente en una gran cantidad de editores de texto sólo se puede editar un archivo a la vez, como en el Nano, o tal vez si usted está utilizando el Bloc de notas o Gedit. En realidad nunca he utilizado Gedit mucho, pero al menos en Notepad + + usted puede tener pestañas, pero Vim tiene el concepto de pestañas, tampones y ventanas. Por ejemplo, puede abrir un montón de nuevas pestañas. Usted puede ver aquí en la parte superior que tengo ahora un montón de fichas, y puedo cerrarlas. Además, hay un concepto de tampones, que es la idea de que una vez que haya abierto un archivo que se mantiene vivo en la memoria intermedia, y si quieres navegar a ese archivo muy rápido usted puede navegar a él muy rápidamente dentro de la memoria intermedia y, y, además, dentro de un panel también se puede dividir la ventana en múltiples ventanas. Por ejemplo, si quiero dividir esta ventana en múltiples ventanas se puede ver aquí que yo pueda tener el mismo código dos veces, y puedo dividir más y más y más, y ahora mismo no se ve tan bien porque por defecto tengo el tamaño predeterminado de la ventana sea un poco grande por lo que todos los demás son aplastadas a cabo, pero normalmente cuando estoy en mi ordenador y no en este proyector Puedo tener varios paneles se abren al mismo tiempo, que es muy agradable para los editar varios archivos al mismo tiempo. También puede hacer que cosas como seleccionar y reemplazar, y vamos a cubrir en realidad que en el seminario, así que me voy a saltar eso por ahora. También puede interactuar con la línea de comandos en todas las clases de diversas maneras. Por ejemplo, si tengo algún tipo de lista de aquí y quiero arreglarlo- No sé, vamos a añadir otra fruta, uva, y puedo destacar este utilizando la función de resaltado y llamar a una especie, y clasificará automáticamente para mí. Del mismo modo, si usted va a ser la edición de CSS, que supongo que es probable que va a hacer para su proyecto final, la mayoría de la gente, y tal vez usted desea mantener su CSS organizado por ordenándolos en orden alfabético. También puede resaltar ellos y llamar a clasificar, y que va a clasificar para usted. Estos son algunos de los ejemplos de las cosas que Vim puede hacer, y te darás cuenta de que la cosa clave que realmente quiero llamar su atención sobre es que estoy haciendo todo desde el teclado, y si usted es capaz de ver donde se colocan las manos también verá que mis manos nunca se mueven de la fila central. Normalmente, cuando se está editando texto que por lo general tiene que utilizar un ratón y haga clic en todo y todo eso, y ese tipo de movimiento que arrastra hacia abajo y una pérdida de tiempo, o tal vez usted se está moviendo entre la fila en casa y las teclas de flecha, y por lo que está moviendo hacia atrás y adelante como ese, que es un poco engorroso pero también le ralentiza, y la cosa es que una vez que llegue realmente bueno en Vim todo lo que quieres hacer es hacer sin tener que mover las manos desde la primera fila en casa, lo cual es genial. Espera, voy a abrir esta aplicación. Eso es. Ahora usted puede ver lo que los comandos se ejecutan abajo de la ventana inferior derecha. Todas las funciones que me acaba de aparecer son las cosas que se incluyen por defecto con Vim, pero también hay un gran número de plugins que también se puede utilizar para mejorar tu experiencia de Vim. Si ha descargado los archivos de configuración que incluí, y hay instrucciones sobre cómo instalarlos en el PowerPoint y también en el correo electrónico que envié, he instalado cerca de 40 plugins o tal vez 30 plugins, y todos y cada uno trae una funcionalidad adicional a Vim que mejora tu experiencia de Vim. Por ejemplo, uno de mis favoritos es algo que se llama surround.vim, y que básicamente le permite trabajar y la zona o la delimitación de caracteres mucho más fácilmente. Un ejemplo, no sé si ustedes alguna vez en código LaTeX, pero LaTeX es un lenguaje de composición de matemáticas que se utiliza para hacer realmente agradable matemáticas mirando, y cuando quiera algo para que parezca matemáticas usted lo envuelve entre signos de dólar, y digamos que estoy escribiendo un poco de ecuación como F = ma, y me olvidé de lo envuelve en signos de dólar. Entonces puedo destacar esto y lo envuelve en signos de dólares así como así. Alternativamente, Vim le permite borrar las cosas dentro de las etiquetas y eliminar las etiquetas y todo eso, pero Vim por naturaleza no permite cambiar las etiquetas, así que por ejemplo, tengo esta etiqueta div, y quiero actualizar a HTML5 y utilizar una nueva etiqueta de cabecera. Yo puedo hacer el cambio que rodea la etiqueta y el tipo en la cabecera, y cambiará automáticamente que para mí. Del mismo modo, vamos a decir que tenemos algo en paréntesis, y quería cambiar eso de paréntesis en los soportes o algo por el estilo. También puedo cambiar eso muy fácilmente tecleando en c para el cambio, s para sonido envolvente, los paréntesis. Oh, supongo que tengo que escribir más rápido. Los paréntesis y llaves o corchetes, y que va a cambiar automáticamente que para mí, que es muy bonito, de lo contrario, normalmente es muy engorroso. Esta es realmente agradable para pasar de la cita quizá solo y cadenas de comillas dobles o algo así. Eso es un caso ejemplo de uso. Hay un plugin llamado Fugitivos que se integra con Git. Supongo que tal vez ustedes no han utilizado mucho en Git CS50, pero se encontrará usando Git más y más y más, no sólo en las clases en toda la Universidad de Harvard, sino también en puestos de trabajo y todo eso, y, normalmente, tiene que alternar entre la línea de comandos y Vim para interactuar con Git, pero hay plugins para integrar con Git desde Vim y también para darle aún funcionalidad adicional en la parte superior de Git. Hay algo llamado NERDTree, que se puede utilizar para explorar las estructuras de archivos desde dentro de Vim. Por ejemplo, yo puedo abrir NERDTree en el panel de la derecha, y que, básicamente, puede ver archivos al azar y los impuestos abiertas-no, no se fijan en mi declaración de impuestos. Usted puede ver los archivos y otras cosas y otros archivos abiertos y así sucesivamente y así sucesivamente. Y yo no voy a entrar en esos otros plugins, por lo que, básicamente, se puede bucear en y empezar a trabajar en Vim, pero hay plugins que le permiten comentar con más facilidad, los plugins que le permiten saltar entre archivos con más facilidad, plugins que le dan la sintaxis de cheques dentro de Vim, que es realmente genial, y te da la comprobación de sintaxis para la mayoría de las lenguas nada más sacarlo de la caja, cosas como paréntesis, arco iris, que es en realidad muy, muy fresco. Déjeme darle un ejemplo de ello en estos momentos. Vamos a ver. Aquí hay algo de código aleatorio que estaba escribiendo, y te darás cuenta de que los soportes y los paréntesis son todos de color, y los paréntesis y los corchetes del mismo color son coincidentes, lo cual es bueno y, a veces mejora la legibilidad del código. Usted también tiene autocompletar, formato tabular. Cuando usted tiene algo que desea obtener todos los comentarios a la línea o si desea hacer una tabla en el texto y que desea conseguir todo para parecerse a una buena mesa, en lugar de tener que formatear manualmente hay plugins que formato que para usted y así sucesivamente y así sucesivamente. La lista sigue y sigue y sigue. Podría pasar horas explorando todos los diferentes plugins Vim que existen, y es increíble lo que hay ahí fuera. ¿Preguntas hasta ahora? Sweet. En ese caso, vamos a empezar a jugar con Vim, y yo quiero que ustedes de trabajar con algunos Vim conmigo para que pueda obtener una idea de ella, y te puede guiar en sus primeras etapas de trabajo con Vim debido a que una gran cantidad de personas se dejen confundir cuando abren Vim arriba, ya veces, si usted ni siquiera conoce el comando para salir ni siquiera se puede salir de Vim, pero no es tan malo. Sólo tiene unos pocos minutos de la orientación de alguien que haya usado antes de Vim o para leer algunos tutoriales en línea, y usted estará en su camino en muy poco tiempo. Aquí hay algunas instrucciones para instalar Vim si usted no tiene ya. Usted puede mirar en estas diapositivas después de la presentación si desea instalar más cosas. También, estas son algunas instrucciones para instalar archivos de configuración, y usted también puede seguir estas instrucciones después si no lo ha hecho. Si ustedes pudieran ir a este enlace y descargar un archivo de texto. El enlace le llevará a este archivo de texto, que me gustaría que descargar y abrir en Vim, y hay un montón de ejercicios y todo eso ahí que usted puede seguir conmigo y comienza a recibir un poco de práctica con algunas de las operaciones básicas en Vim. Bueno. Mientras que usted está abriendo hasta que me voy a dar una breve introducción a 2 principios muy importantes en la edición de Vim que son realmente importantes para entender antes de sumergirse en Vim, y eso es la edición y los operadores y los movimientos modal. Voy a cubrir la edición modal primero, y luego vamos a cubrir los operadores y los movimientos dentro de un rato. La primera distinción clave entre Vim y casi todos los demás editores de texto de cualquier tipo es que Vim es un editor modal, y lo que eso significa es que cuando usted está utilizando Vim usted podría estar en uno de los muchos modos diferentes. No hay modo normal, no hay modo de inserción, no hay modo visual, así sucesivamente y así sucesivamente, y la cosa es, las pulsaciones del teclado asumen diferentes acciones, tener un significado diferente, dependiendo de en qué modo está adentro A modo de ejemplo, el modo normal es el modo que está en cuando se mueve alrededor, y así me gustaría utilizar la tecla J para mover hacia abajo, pero en modo de inserción, se utiliza la tecla J para escribir realmente a cabo J en la pantalla, y es por eso que muchas personas se confunden porque no están acostumbrados a estar en diferentes modos todo el tiempo, y por lo tanto van a estar escribiendo cosas, y que está acostumbrado a tener todo lo que escriba aparecerán en la pantalla, pero en Vim quizás el cursor se mueve por todo el lugar porque usted está escribiendo caracteres extraños, y de repente llegar cambiado al modo de inserción, ya que ha escrito algunas de las principales que se pone en modo de inserción, y luego el texto comienza volando, por lo que la gente se confunde por eso. Pero usted tiene que llevar un registro de lo que el modo que se encuentre, y si nos fijamos en la barra de herramientas inferior de Vim debe haber un indicador que te dice en qué modo está actualmente en, que debe ser útil. Pero, en general, los 3 modos principales que usted debe saber acerca de, sólo hay probablemente 6 o 7 o 8 modos o menos, pero pasa la mayor parte de su tiempo en 3. Lo primero es el modo normal. Aquí es donde usted pasa la mayor parte de su tiempo. Todas las pulsaciones de teclado se registran como una especie de comando, y vamos a aprender mucho de esos comandos en todo el día de hoy. El otro modo es el modo de inserción, que es donde realmente se está escribiendo cosas, y modo de inserción es, básicamente, el modo que normalmente estamos acostumbrados. Usted escriba algo, y que sólo viene en la pantalla, y el modo visual es algo donde se puede hacer el resaltado. Usted vio anteriormente que a veces yo estaría resaltado de texto y la manipulación de diferentes maneras, y eso es un ejemplo usando el modo visual. Vamos a empezar con los fundamentos absolutos que necesita para sobrevivir en Vim, y es básicamente estos 7 órdenes aquí. HJKL se utilizan para navegar por el archivo, y corresponden a la izquierda, abajo, arriba ya la derecha, y usted es libre de utilizar las teclas de flecha, así, pero realmente nos animamos a usar HJKL tanto como sea posible porque la idea es que mientras estás editando, puedes moverte por el documento sin tener que cambiar entre las teclas de flecha y donde usted está escribiendo, que es muy, muy agradable. Lo que desea es pasar unos pocos caracteres terminado. Usted no tiene que cambiar toda la mano por encima, y ​​es bastante agradable tener eso. Algunos expertos Vim en realidad un mapa de sus teclas de flecha para otras funciones porque ya tienen HJKL, y pueden usar sus teclas de flecha para otras funciones también. HJKL usted se mueve alrededor mientras estás en el modo normal. Si quieres entrar en el modo de inserción y escriba algo puede presionar i para el modo de inserción, y que te pone en el modo de inserción, y usted puede escribir algo, y el tipo escapar para llegar de modo de inserción de volver al modo normal. Huye siempre te envía de nuevo a modo normal independientemente del modo en que se encuentre, y si usted quiere dejar puede teclear: wq enter, y la forma en que usted puede recordar que esto es w stands para escribir, y q significa dejar de fumar, por lo que: wq, y el colon se ejecuta el comando, por lo que: wq enter para ejecutar el comando guarda y se cierra. Si abre el archivo iremos hacia arriba a través del primer ejercicio juntos. Paso 1 sobrevive en Vim, y espero que ustedes todos tienen esta abierta. Bueno, y tenemos algunos ejercicios sencillos para que se acostumbre a usar estas teclas. HJKL realmente no parece intuitiva al principio, y este es uno de los bloques iniciales de que la gente tiene al utilizar Vim es el uso de estas teclas para navegar alrededor. No es intuitivo, pero una vez que te acostumbras a ella lo que realmente se integra en su mente, y muchas personas se encuentran a menudo utilizando J y K en Word o también en Chrome, y en realidad la gente ha creado este plugin Chrome llamada Vimium que se puede utilizar en Chrome o cromo para navegar a través de Chrome con el teclado usando atajos Vim-como, por lo que la gente está muy entusiasmado con ella, pero seguir adelante y tratar de utilizar HJKL para navegar entre los números sólo para que pueda familiarizarse con cómo funcionan estas cosas. Una vez que termine esto, también se puede ir y jugar con este laberinto que he creado sólo por diversión, y se puede ordenar de seguir la línea de puntos y tratar de no chocar contra las paredes y tratar de llegar al final del laberinto. Si utiliza accesos directos en Gmail o cualquier número de diferentes aplicaciones usted encontrará que J y K, por ejemplo, a menudo se utilizan para desplazarse hacia arriba y hacia abajo, y que básicamente viene de Vim en esencia, por lo que tiene J y K, y es muy agradable porque se puede mover hacia arriba y hacia abajo sin tener que mover la mano hacia atrás y adelante con las teclas de flecha. Ahora vamos a tratar de entrar en el modo de inserción y salir del modo de inserción. Se dará cuenta de que en este momento de mi cursor es un cuadro grande, negro, y cuando se entra en el modo de inserción que debe encontrar que se convierte en un cursor estrecha como usted está acostumbrado. Si utiliza Vim en el terminal es posible que no encontrará que esto es el caso debido a que la terminal no soporta este tipo de cursor delgada, pero si usted está utilizando MacVim o GVim en Windows , entonces debería buscar que se convierta en un cursor, y eso es un indicador visual muy rápido. Es para que usted pueda saber si usted está en el modo normal o el modo de inserción. Vamos a seguir adelante y tratar de editar esta línea. Llenarlo con su propia información o lo que sea, y cómo usted puede hacer esto es que usted puede mover hasta el extremo de la pieza, Tipo I para entrar en el modo de inserción, y usted puede retroceder y escriba en su nombre, y cuando haya terminado de escribir puede presionar escape para salir del modo de inserción, y puede pasar por aquí, el tipo de inserción que se suprima ese, tipo de escape para salir del modo de inserción, y se puede escribir: w entrar para guardar el archivo. Usted puede escribir simplemente: w para guardar el archivo. Usted puede escribir simplemente: q para salir sin guardar, o puede escribir: wq para guardar y salir. Por supuesto, no queremos dejar de fumar, sin embargo, por lo que podemos escribir: w. Y tal vez eso parecía un poco ineficiente al principio debido a trasladarse a ese lugar que tenía que escribir J un montón de veces, quizá L un montón de veces para llegar a ese punto, y usted tiene que pulsar la tecla de retroceso un montón de veces, y parecía realmente ineficiente mientras que normalmente usted probablemente mover el puntero del ratón por allá, doble clic y comience a escribir, y por supuesto, la cosa es que cuando empiece con Vim y sólo se sabe que estos comandos básicos, sí, va a ser un poco más lento, pero pronto aprenderá algunos comandos más poderosos, lo que permitirá que usted se mueva a través de documentos de forma mucho más rápida, y usted no tendrá que tener este uso muy engorroso de repitiendo y repitiendo Ks Js y Ls y así sucesivamente y así sucesivamente. ¿Preguntas hasta ahora? Sólido. Volver al principio PowerPoint. Ahora vamos a introducir algunas más comandos para el movimiento avanzado. Experimentaron tener que escribir mucho o H mucho quizá L, y aquí están algunos comandos más que puede utilizar para desplazarse más rápidamente. Supongamos que el cursor está en la junta sobre el algunos en "Este es un texto" y aquí están 5 comandos más que puede utilizar para moverse a través de la línea con mayor facilidad. Así ^ y $ se mueve al principio y final de línea, y en algún momento cuando usted aprende las expresiones regulares y otras varias cosas usted encontrará que este tipo de convenios son muy comunes. El ^ generalmente se refiere al principio de la línea. Los $ generalmente se refiere al final de la línea. Estos son muy fáciles de recordar, y de manera similar, b, e, w, que son fáciles de recordar y porque b corresponde a atrás o de principio, E corresponde a la final, que es el final de la palabra, y w corresponde a la palabra siguiente, por lo que w por palabra. Y si sigues escribiendo eo constantemente escribir w te das cuenta que puede saltar entre las palabras, y es mucho más rápido que simplemente escribiendo l. Ahora, el siguiente paso es el modelo de operador-Motion. Esto es en realidad una de las razones clave por las que Vim puede ser tan poderoso, y es debido a que esencialmente puede componer diferentes elementos en las funciones más potentes, por lo general, cuando haces algo en Vim puede pensar en ella como la combinación de un operador con un movimiento. Hasta ahora sólo hemos tratado con los movimientos, como HJKL. Ellos se mueven alrededor, y luego b y w, también a vosotros se mueven de diferentes maneras, pero no hemos ido todavía a ser capaz de borrar cosas o cambiar las cosas o lo que sea, y cuando se combina con los operadores de movimientos entonces usted es capaz de tener mucho más potentes efectos, así por ejemplo, si quería borrar 2 palabras, puedo usar d para el operador eliminación, y puedo agregar un 2 para indicar que quiero borrar 2 palabras, y luego incluyo una moción. Yo podría incluir w decir borrar 2 palabras. Me vendría bien algo como J decir eliminar la baja 2 veces y eliminar 2 líneas por debajo de mí. Yo podría decir d2b borrar hacia atrás dos veces, e incluso hay más propuestas que las que yo he mostrado aquí de verdad, de verdad que su edición de Vim mucho más potente. Estos son algunos de los más populares o los operadores más comunes y son bastante fáciles de recordar también. D para borrar, c para el cambio. C es básicamente la misma cosa como el cambio excepto que cuando se utiliza c automáticamente se pone en modo de inserción después. Normalmente, cuando se utiliza la eliminación de usarlo del modo normal, y después de eliminar algo que permanece en el modo normal. Pero si quieres cambiar algo, puede utilizar c eliminar algo y luego pasará inmediatamente al modo de inserción para que pueda empezar a escribir y arreglar algo. Y es para un tirón. Se trata básicamente de la noción de copia de Vim. Por ejemplo, si quiero copiar los próximos 2 palabras que puedo hacer y2w o algo así, y v es para destacar, en esencia. Y también lo que es realmente interesante es si escribe un operador dos veces que actuará sobre una línea entera, por lo que si quiero borrar una línea completa Puedo escribir dd para borrar toda la línea, o si quiero copiar toda la línea que puede utilizar aa o algo por el estilo. Vamos a probar esto un poco más. Hay un ejercicio aquí para un operador de movimiento avanzada, así e incluso algunas otras cosas que no voy a cubrir en el PowerPoint de hoy, pero usted puede sentirse libre para mirar por encima de ellos más tarde y jugar con ellos y familiarizarse con ellos. Operadores y movimiento. Por ejemplo, supongamos que hay estas 2 palabras lo que desea eliminar en la sentencia. Lo que usted querrá hacer es que usted querrá asegurarse de que su cursor está al principio de la primera palabra que desea eliminar, y usted puede escribir d2w, y va a eliminar esas 2 palabras para ti. Y el uso de este comando exacto, d2w, que puede parecer un poco engorroso y sin sentido, pero se supone que debe expresar la idea que se pueden componer estas cosas diferentes, y también por si acaso usted sucede estar en la situación, entonces usted puede terminar con dw o d2w, que yo utilizo de vez en cuando. Dd y cc yo uso mucho más a menudo, ya que puede actuar en las líneas enteras. Por ejemplo, digamos que tengo esta lista aleatoria aquí, y tal vez quiero borrar la línea que dice Huskies porque no encaja, porque sí, y yo no quiero que vaya al modo de inserción después. Quiero eliminarlo, en cuyo caso yo podría escribir dd, y que va a borrar toda la línea. Pero digamos que ahora hay esta otra línea que quiero borrar, pero también quiero arreglarlo y volver a escribir, en cuyo caso voy a intentar algo como cc, y que borra toda la línea, pero me pone en el modo de inserción, como se puede ver, y puedo arreglarlo desde allí. Y hay muchas, muchas maneras diferentes se pueden combinar los operadores y argumentos, y como se utiliza Vim vez más a aprender más acerca de las diferentes maneras puede utilizar estos comandos, y se convertirá en cada vez mejor. Impresionante, ahora aquí hay algunos otros comandos surtidos que también son muy, muy utilizados y también le ayudarán a ser mejor en Vim. Por ejemplo, hablamos de minúsculas v para resaltar visual. También podemos utilizar mayúsculas V para resaltado de la línea visual. De esa manera usted puede resaltar líneas enteras a la vez con mucha más facilidad. Usted puede utilizar o cuando se está en modo normal para insertar básicamente una nueva línea debajo de la línea que está actualmente y lo pone en modo de inserción para empezar a escribir. Puede usar minúsculas x para borrar el carácter que se encuentra actualmente bajo el cursor. También puede utilizar u para deshacer, que es bastante agradable, y se puede usar mayúscula adjuntar al final de la línea actual, así que quizás el cursor está en algún lugar en la línea, y desea agregar al final de la línea. Entonces usted puede escribir mayúscula para saltar inmediatamente al final de la línea y pasará al modo de inserción para que pueda añadir al final de la línea. Creo que tengo algunos ejercicios más de lo que podemos probar. En realidad, no, no lo hago. No es para aquellos. Pero contamos con algunos ejercicios para la siguiente sección que ya veremos. Pero estos se pueden probar a ti mismo también. Por ejemplo, si escribe en v regular, usted conseguirá destacar regular que usted está acostumbrado a gustar esto. Si escribe en el capital de V, se puede obtener la línea completa destacando así, o si escribo o en que, básicamente, se abrirá una nueva línea para mí, que es bastante agradable. X que puede utilizar para eliminar caracteres en el cursor. Puedo pulse x un montón de veces y eliminar cosas. Puedo pulse u para deshacer todo eso. A, puedo escribir en un ir inmediatamente al final de la línea, y también he incluido algunas otras teclas agradables que también se puede ver después de la presentación de aprender algunos otros comandos. [Estudiante] ¿Cuál es el reemplazo alrededor? [Brandon L.] Repuesto también es muy cool y, básicamente, si usted va en alguna parte- ¿alguna vez-la gente realmente no utilizarlo que falta mucho más en estos días, pero ¿ustedes jamás vistos en Microsoft Word si escriba Insertar de repente entras en este modo raro donde cada personaje se escribe básicamente sustituye al carácter siguiente? No sé si ustedes han visto nunca eso. Esto es similar a eso. Por ejemplo, si quiero sobreescribir lo que tengo actualmente, por alguna razón Puedo escribir en mayúscula, y ahora voy a estar en modo de reemplazo, como se puede ver en la parte inferior izquierda. Si escribo cosas que sobrescribe las cosas, y también puedo retroceder, que es una especie de fresco, y puedo deshacer eso. No utilizo muy a menudo, pero de vez en cuando se convierte en la mano. Vamos a hablar de los objetos de texto, que es una de mis cosas favoritas de Vim, la verdad. Los objetos de texto son básicamente esta noción de definir algún tipo de fragmento de texto dentro de su archivo de texto, y voy a ir sobre estas teclas en primer lugar, y luego te voy a dar algunas manifestaciones para que usted entienda mejor lo que eso significa. W se refiere a una palabra, como un objeto de texto como una palabra, por lo que algunas palabras como normalmente lo sepa, y si hay puntuacion que está al lado de la palabra entonces no va a incluir la puntuacion general. Pero por ejemplo, si desea incluir la puntuacion por alguna razón o que está haciendo algo que no es Inglés y desea incluir todos los personajes que están delineados por espacios en blanco también puede utilizar el capital W para conseguir todo lo que está rodeado por espacios en blanco. También puede utilizar paréntesis para hacer referencia a un objeto de texto eso es dentro de un par de paréntesis. Usted puede hacer lo mismo con corchetes, paréntesis angulares, aparatos ortopédicos, y citas, así, y por último, también puede utilizar t para referirse a alguna etiqueta. Te voy a enseñar cómo se juega realmente a cabo. Por ejemplo, este es mi primer ejemplo en mi vitrina. Hay alguna palabra en esta frase que quiero cambiar, y hablamos de W se utiliza como un movimiento, pero también se puede utilizar como un objeto de texto como tal. Por ejemplo, una forma en que podría cambiar el nombre de Barack o básicamente modificarlo es que me podía ir al principio de esta palabra y escriba c para el cambio y w por palabra, y que va a eliminar la palabra y ponerla en el modo de inserción. Pero es muy molesto para mí tener que ir al principio de la palabra todo el tiempo. Eso es realmente molesto. Yo no quiero tener que hacer eso. De hecho, puedo estar en cualquier lugar dentro de su nombre y el tipo de asistente, y la i significa interior, por lo que si escribo en ciw que representa el cambio en una palabra, o en otras palabras, cambiar la palabra que estoy actualmente en el interior, y se le dará el mismo efecto. Usted puede arreglar eso. Del mismo modo, tal vez tengo un poco de caso como éste donde por alguna razón hay algunos delimitadores o algo por el estilo, o hay algo de puntuacion, y quería borrar todo el asunto. Si escribo en ciw borrará lo que hay dentro de estos delimitadores, pero quiero conseguir todo esto que está rodeado por espacios en blanco, así que puedo utilizar CIW para eliminar todo el asunto. Te escribo en cinco, hacer lo mismo, y el tipo en seis. Del mismo modo, si quiero cambiar algo que está dentro de los paréntesis Puedo escribir en ci) para eliminar todo lo que está dentro de los paréntesis y luego rellenar lo que quiera hacer, como int argc, lo que quieras hacer, y de manera similar, lo mismo con las citas. Puedo arreglar el texto que está dentro de las citas, y yo también podemos cambiar las cosas que están dentro de las etiquetas. ¿Eso tiene sentido? Otra cosa que puedes hacer es que usted no tiene que utilizar c. También puede utilizar d si desea borrar lo que hay dentro de estas etiquetas. Si quiero borrar el texto dentro de una etiqueta que pueda usar dit eliminar esa etiqueta. También puedo usar vit para resaltar lo que está dentro de la etiqueta, por ejemplo. La otra cosa es que en lugar de utilizar i en el medio también se puede utilizar una, que significa para todos, a fin de recordar si utiliza i que voy a referir al objeto de texto o usar un objeto de texto que está contenido dentro de los delimitadores, pero si se utiliza una que incluirá ese texto, así como el propio delimitador. Por ejemplo, si quiero destacar este texto y la etiqueta que rodea Puedo usar la tina, v para el punto culminante visual, una para todos, y luego t para la etiqueta. Usted puede hacer algo como eso también. Tal vez quiero borrar este google.com con las comillas alrededor de él también, y puedo usar algo como da "para borrar todo eso, por ejemplo. ¿Preguntas hasta ahora? Me doy cuenta de que estoy vertido en ti un montón de Vim comandos a la vez, y esto es básicamente porque quiero exponerlo a todos los diferentes comandos y le dará una introducción a lo que estos comandos se puede hacer en Vim. Pero lo que va a tener que pasar es cuando vuelva usted va a tener que tome suavemente estos comandos uno por uno. Usted no quiere abrumar a ti mismo, porque eso es demasiado abrumador. Si usted quiere recoger Vim lo que tiene que hacer realmente es Empezaré con la primera serie básica, y me he roto para arriba en lecciones para usted que hacen que sea más fácil para que usted siga, y tratar de dominar cada conjunto de comandos uno a uno, uno a la vez. Es demasiado que hacer todo a la vez, así que lo que debe hacer cuando se va de vuelta es ir a la primera lección, que es HJKL, el modo de inserción, escapa en modo normal, y guardar y dejar de fumar, y eso es todo lo que necesitas para sobrevivir en Vim, y obtener muy, muy cómoda con eso. Y después de unos días, una vez que estás muy a gusto con que usted debe pasar a los operadores de movimiento más avanzadas, los movimientos más avanzados, y en que los operadores y así sucesivamente y así sucesivamente. Sé que estoy pasando mucho, pero quiero conseguir expuesto a un montón de cosas diferentes. Pero en caso de que esté listo para el reto, te puedo mostrar cómo se puede poner todo esto junto con el la mayoría de lo que acabamos de aprender hoy, y también se puede seguir a lo largo de si usted quiere, pero he creado un poco de ejercicio al azar. Supongamos que tenemos una especie de lista como ésta donde usted tiene estos bloques con nombres de las personas, casas, año, y las concentraciones y todo eso, y desea agregar una nueva entrada por sí mismo. ¿Cuál es la mejor manera para que usted pueda hacer esto? Vamos a hacerlo de esta manera. ¿Por qué no primero Destacamos este bloque. Vas a seleccionarlo, y puede pulsar y dar un tirón a ella, por lo que ahora tenemos, básicamente, puede copiar y pegar esta plantilla primero sin tener que reescribir todo el asunto desde el principio. Ahora voy a Pulse J por un montón de veces para ir hacia abajo, y voy a Pulse p para pegarlo. Tal vez voy a añadir algunas líneas adicionales por un espacio, y digamos que ahora quiero cambiar su nombre por el de alguien. Entonces puedo ir aquí y escriba c2w como antes de cambiar ese nombre. Bob Jones, quien sabe. Tal vez si quiero cambiar la casa que yo puedo entrar en el medio aquí y el tipo de CIW y poner Cabot House. Aquí puede ser un ejemplo de que es posible que desee considerar el uso de el modo de sustitución para cambiar su año de graduación si quieres, o también podemos utilizar CIW también. No importa. Tal vez usted quiere cambiar su especialidad. Y eso es lo que haces. Y tal vez voy a darle una demostración de lo que podría hacer si yo fuera-si continúa para aprender los comandos más avanzados en Vim porque estamos apenas arañando la superficie aquí, y lo que podía hacer este tipo de edición incluso más rápido de lo que te he mostrado aquí porque sé más comandos que no he tenido la oportunidad de mostrarle a la actualidad. Por ejemplo, si quiero destacar esto puedo hacerlo así, mover hacia abajo. He añadido mi propio mapeo básicamente resaltar automáticamente las cosas para mí y puedo-No lo sé. Quiero decir, esto es sólo tratar de mostrar que usted puede realmente empezar a editar las cosas más rápidamente, especialmente cuando usted tiene todos estos diferentes campos, y, normalmente, lo que podría estar haciendo es una especie de clic y poner de relieve y escribiendo. Usted puede hacer todo a la vez, copiar y pegar, moviéndose hacia arriba y hacia abajo entre el archivo, sólo delimita cosas, formateo cosas. Todo esto se puede hacer mucho, mucho más rápidamente en Vim. Sólo una última cosa que creo que puede ser muy agradable, que es buscar y reemplazar. Aquellos de ustedes que han utilizado los métodos abreviados de Gmail usted también sabe que si escribes / usted le envía al cuadro de búsqueda, y en un gran número de aplicaciones en general encontrarás que slash o tal vez el control de barra o algo que ver con la barra va a poner en una especie de modo de búsqueda, y que también, básicamente, viene de Vim esencialmente debido a que el operador de barra o el comando barra le permite introducir una especie de cadena que se puede utilizar para buscar dentro del documento. Puedes n y N mayúscula para ir a la siguiente y la aparición anterior, y también se puede usar algo similar a buscar y reemplazar en el documento. Te voy a dar una demostración de lo que puede hacerse. Tal vez si quiero encontrar todas las instancias de la cadena de tirón dentro de este documento Puedo escribir / tirón, como se puede ver en la esquina inferior izquierda, y cuando escribo introducir destaca todas las instancias. Puedo utilizar básicamente n para saltar hacia atrás y adelante entre todos los diferentes casos, y supongamos que quiero buscar y reemplazar tirón con alguna palabra al azar eso es también en el documento. Puedo presionar: para empezar a escribir en una especie de mando dentro de Vim, algunos comandos que es más sofisticado que moverse o eliminar, o algo así. Voy a escribir el signo% para referirse al que quiero utilizar este comando de sustitución en todo el documento. Escriba s para la sustitución. Esto viene de la PERLA esencialmente. Y dicho comando es un comando bastante estándar que encontrará en LA PERLA lugar y en otros lenguajes de programación que usted va a Probablemente comenzará a aprender a hacer más ciencia de la computación, y yo, básicamente, puedo usar / para escribir a /, escriba la palabra que quiero buscar y reemplazar a continuación, escriba otro / y escribir en cualquier palabra quiero reemplazar esa palabra. Quién sabe, tal vez NyanCat. Yo hago eso, y entonces verás que todo se sustituye. Pero te darás cuenta de que hay esta palabra aquí. Por alguna razón algunos de nuestros casos de tirón se sustituyen pero no todos, y eso se debe a la forma en que este tipo de lenguaje se ha escrito no sólo en Vim pero en otros lugares es que cuando se ejecuta el comando de sustitución sólo va a sustituir la primera instancia de la palabra en cada línea, por lo que si quiero sustituir realmente todas las instancias de la palabra en cada línea entonces tengo que hacer lo mismo, pero añadir la bandera de ag en el final, que significa global, y luego de que en realidad sustituir todas las instancias. Y una vez que aprenda las expresiones regulares, en realidad hay un seminario CS50 en expresiones regulares, así que si eres curioso acerca de las expresiones regulares también puede tomar ese seminario y aprender más. Pero por ejemplo, vamos a decir que tengo una lista de nombres de este tipo, y quiero arreglar, así que en lugar de tener el apellido, una coma, el nombre Quiero reorganizarlo por lo que dice el primer nombre, el espacio, el apellido. En realidad se puede utilizar este comando aquí que ver, fundamentalmente, que para usted, así como se puede ver aquí empezamos con una s, lo que significa que queremos hacer una búsqueda y reemplazo, y luego he añadido una bandera llamada \ v, que es algo que se llama esta bandera magia en Vim que le permite hacer las expresiones regulares con más facilidad. Luego, desde allí nos básicamente Partido por una sola línea que es de la forma de un conjunto de palabras, coma, espacio y un conjunto de palabras o un conjunto de letras. \ W +, básicamente, significa uno o más caracteres, y los paréntesis se usan para capturar estos grupos para que pueda revisarlas posteriormente. Como puede ver, una vez que estas capturas 2 bloques de palabras que están separados por una coma, un espacio entonces lo que queremos sustituirlo por es uso \ 2, \ 1 hacer referencia a las palabras que fueron capturados en el comando actual hallazgo, etc \ 2 se refiere a lo que está contenido en el segundo par de paréntesis, \ 1 hace referencia a lo que está contenido en el primer conjunto de paréntesis, y como se puede ver, me estoy poniendo 2 antes del 1 separadas por un espacio para tratar de mover el primer nombre antes del apellido. ¿Eso tiene sentido? Y lo que puedo hacer es que puedo ocultar estos primeros así que sólo ejecuta este comando en estas líneas, y luego me introduzco en este comando. Se puede ver que hace exactamente como dividido. Y de nuevo, esto es apenas rasca la superficie, y si vas al seminario expresión regular entonces estoy seguro de que aprenderá mucho más diferentes cosas que puedes hacer con las expresiones regulares, y esto, básicamente, comienza a hacer alusión a lo que realmente puede hacer con Vim si usted realmente empieza a convertirse en un maestro de la misma. Tal vez usted desea refactorizar algo, y quiere encontrar todas las instancias de alguna función que sigue algún tipo de patrón de nomenclatura. Desea cambiar la forma en que ha nombrado. Usted puede escribir una especie de comando como este para hacer eso por usted, y ese es el tipo de flexibilidad que puede obtener dentro de Vim que usted no va a conseguir en otros editores de texto. Que básicamente cubre todas las cosas que quería enseñarte hoy en el seminario de hoy, pero una vez más, lo que realmente quiero hacer hincapié en que si usted quiere recoger Vim bien es cierto que hay una curva de aprendizaje un poco más alto en el principio. En el primer momento que será un poco menos productiva de lo que probablemente sería de otro modo, pero si nos atenemos a ella dentro de unos pocos días o unas pocas semanas, dependiendo de la rapidez con que se aprende, se convertirá en mucho, mucho más rápido, y yo traté de darle una demostración en lo que es capaz de Vim pero en realidad no tienen la oportunidad de mostrar lo que sucede cuando-por ejemplo, normalmente, en la clase I tipo en mis notas con Vim. Eso es porque puedo trabajar mucho más rápido en Vim de lo que puede con cualquier otro programa. Es, literalmente, un aumento de la productividad 2 o 3 veces en Vim en comparación con otros programas, no sólo con la velocidad de edición de texto, sino también en la manera de que pueda moverse por el documento y la forma en que puedo acceder a otros archivos en mi computadora y saltar en medio de ellos y así sucesivamente y así sucesivamente. Es sólo una muy, muy gran impulso de la productividad. Pero cuando estás aprendiendo, usted quiere asegurarse de que se aprende una cosa a la vez, y tratar de no abrume con demasiados comandos diferentes porque hay una gran cantidad de comandos y una gran cantidad de accesos directos que se puede aprender en Vim. Quiere recoger un poco a la vez y con los años acumular gradualmente una comprensión cada vez mayor de Vim. Si quieres seguir aprendiendo más, estos son algunos de los temas más avanzados usted puede seguir para aprender, e incluso esto apenas rasca la superficie. Estos son algunos plugins populares que usted puede sentir libre de visitar y Google ellos y jugar con ellos si quieres, y acaba de ver qué tipo de plugins están ahí fuera. Y luego, al final de este PowerPoint, incluyo un montón de enlaces a varios recursos que puede utilizar para aprender. Aquí hay un montón de diferentes enlaces que puede utilizar para empezar a trabajar con Vim. Tienen diferentes tutoriales y todo eso, y, finalmente, estas son algunas cosas más avanzadas que puede utilizar también de comprobar hacia fuera también, algunos moldes de pantalla y algunas técnicas más avanzadas en Vim y también algunas piezas diferentes de código fuente que pueden buscar en GitHub sólo para ver los archivos de configuración de otras personas o mirar plugins en Vim y así sucesivamente y así sucesivamente. Eso es todo lo que tengo para ti. [CS50.TV]