Si, en un símbolo del sistema, corrodeshacer DIFF puso al copiar líneas entre ventanas vimdiff
vimdiff file1 file2
consigo una instancia de vim que tiene dos archivos de lado a lado abierto. Supongamos que el texto de los archivos es el siguiente (archivo1 está a la izquierda, fichero2 a la derecha):
╔═══════╤═══════╗
║foo │-------║
║bar │bar ║
║grue │-------║
║~ │~ ║
║~ │~ ║
╚═══════╧═══════╝
Ahora supongamos que mi cursor está en la "f" del "nombre" y que deseo para copiar la primera línea del archivo1 en la primera línea del archivo2.
Una forma de hacer esto es seleccionar y dar un tirón (copiar) la línea con v $ y, y luego usar Ctrl + wl para mover el cursor a través de la primera línea del archivo 2 y escriba p para pegar la línea copiada. Si hago esto y luego decido que en realidad no quería hacerlo después de todo, puedo presionar u para deshacer el comando de pegar que realicé en el archivo2.
Otra forma de hacerlo es usar el comando diff put dp. Sin embargo, si después de hacer esto decido que no tenía intención de hacerlo, no puedo deshacerlo simplemente presionando u porque mi cursor está todavía en el archivo1 y el comando u deshará el cambio más reciente en el archivo1 , no el cambio más reciente a archivo2. Así que en lugar tengo que usar Ctrl + w l o Ctrl + w w para mover el cursor a la ventana para fichero2 y luego prensa u.
Entonces, mi pregunta es: después de haber usado dp como arriba, ¿hay alguna manera fácil de deshacerlo sin tener que mover el cursor a la ventana del otro archivo?
Esto podría comportarse raro si hay más de dos ventanas. (Solo una nota, no obstante una respuesta perfecta a la pregunta). –