2010-05-04 10 views
6

Wiki de la ComunidadWiki de la Comunidad: "Vim: El uso avanzado del mecanismo de YanKing"

A medida que la documentación de los programas del sistema tirón (gracias Michal), el sistema tirón Vim parece ser más complicado luego un portapapeles estándar de . Por lo tanto, creo que es beneficioso que los veteranos vim quizás nos muestren algunos estilos diferentes de hacer uso de este mecanismo. particularmente con el uso de vim para proyectos complicados sin el uso de un IDE pesado (digamos C++?).

pregunta original

Ahora que estoy usando vim para todo lo que tecleo, en lugar de sólo para la configuración de servidores, me wa no para resolver los siguientes trivialidades. Traté de formular las consultas de búsqueda de Google, pero los resultados no respondieron a mis preguntas: D.

Pregunta 1: ¿Cómo puedo tirar y reemplazar varias veces?

Una vez que tengo algo en el historial de interruptores (si así se llama) y luego resalto y uso el carácter 'p' char en el modo comando, el texto reemplazado se pone al frente del historial de interruptores; por lo tanto, las operaciones de reemplazo posteriores no utilizan el texto que pretendía. Me imagino que esta es una función útil en ciertas circunstancias, pero no la necesito en mi flujo de trabajo.

Pregunta dos: ¿Cómo escribo el texto sin hacer que la línea se propague hacia adelante?

utilizo difíciles de tabulaciones para allign mi código de cierta manera - por ejemplo,

FunctionNameX  (lala * land    ); 
FunctionNameProto (       ); 

Cuando averiguar lo que hay que ir a la segunda función, ¿Cómo se montan sin mover el texto arriba?

Pregunta tres ¿Hay alguna manera de tener un historial de tirón uniforme en instancias de gvim en la misma máquina? Tengo> 1 monitores. Solo me pregunto, estoy usando el botón de resaltado + clic central del mouse.

+0

¿Una pregunta de programación que pertenece al superusuario? –

+2

"¿Cómo uso mi editor de texto?" no es una pregunta de programación –

+0

Bueno, si vas a ser tan analista ... el superusuario es para: "software de computadora y software de computadora en general". Esta pregunta no pertenece al software general. Puede que tenga que escribir mi propia macro vim para hacer lo que quiero. Escribir macros enumera un procedimiento paso a paso para lograr algo. El término general para este proceso es un algoritmo, y los escritores de algoritmos también son conocidos por el término "programadores". Stackoverflow es el lugar para discutir la programación. –

Respuesta

4

respuesta uno: Un relevante, si no es particularmente alentador, qoute de la documentación de Vim (ver :help put-Visual-mode):

Cuando se utiliza un comando put igual que | P | o | P | en modo Visual, Vim intentará reemplazar el texto seleccionado con el contenido del registro. Si este funciona bien depende del tipo de selección y del tipo de texto en el registro . Con la selección por bloques también depende del tamaño del bloque y si las esquinas están en un carácter existente. (Detalles de implementación: funciona en realidad poniendo primero el registro después de la selección y luego borrando la selección.)
El texto seleccionado previamente se coloca en el registro sin nombre. Si desea poner el mismo texto en una selección Visual varias veces necesita usar otro registro. Por ejemplo, tire el texto para copiar, seleccione Visualmente el texto para reemplazar y use "0p. Puede repetir esto tantas veces como desee, el registro sin nombre se cambiará cada vez.

respuesta dos:R (la R mayúscula) le pone en modo de reemplazar.

Me falta la respuesta tres, me temo.

respuesta tres: No del todo a juego la especificación "historia uniforme yanqui", pero "+ y tirones al portapapeles y " + p pastas desde el portapapeles si un portapapeles está disponible.

+0

Gracias por ambas respuestas, estoy leyendo la documentación ahora. Ni siquiera me di cuenta de que el concepto de "registros" estaba disponible. Podría encontrar una forma de beneficiarme de esto: D –

+0

Se me acaba de ocurrir que puede usar "+ y para arrastrar al portapapeles y" + p para pegar desde el portapapeles cuando su entorno proporciona este tipo de funcionalidad (y lo más probable es que lo haga)) ¿Esto resuelve tu tercer problema? –

+0

Sí, de hecho lo hace, gracias Michal. Especialmente para la referencia a la documentación presentada. Me ayudará inmensamente. –

4

yanqui en un búfer

:y b 

tirones en tampón B

Y

:p b 

lo coloca.

Creo que hay más almacenamientos intermedios con nombre disponibles.

+0

Sí, de hecho, a-z para el uso del programador, y 0-9 utilizado por el mecanismo tipo "portapapeles". mientras los tirones van a los elementos en 0-9 ondulación hacia adelante y los elementos en la cola comienzan a caer, mientras tiras. +1, ya que es una respuesta rápida y sucia para las personas que no quieren leer la documentación: D –

Cuestiones relacionadas