Respuestas:
Magit no es compatible con eso actualmente, pero debería ser factible. Probablemente lo haré pronto. A veces podría usar esa función también.
Mientras tanto utilizar una macro para reemplazar los +
s después YanKing: <f3> C-d C-n <f4>...
.
cua-rectangle-mark-mode
desde el búfer magit?
cua-rectangle-mark-mode
en otro búfer (no magit) después de tirar el texto.
C-a
C-f
C-x C-x
C-x r d
.
Hasta que Magit admita algo como esto, el comportamiento es fácil de obtener con un comando personalizado. Tengo algo similar al siguiente comando en mi configuración. Si lo llama con un argumento prefijo, eliminará los marcadores de diferencia iniciales.
(defun km/magit-copy-region-hunk (&optional no-column)
(interactive "P")
(when (magit-section-internal-region-p)
(magit-section-when hunk
(deactivate-mark)
(let ((text (buffer-substring-no-properties
(region-beginning) (region-end))))
(kill-new (if no-column
(replace-regexp-in-string "^[ \\+\\-]" "" text)
text))))))
Editar : con la versión de desarrollo de Magit (lo que será v2.91.0), puede quitar los marcadores de diferencias marcando una región de un trozo y llamando magit-copy-section-value
con un argumento de prefijo.
Saliendo de la respuesta de Kyle Meyer, si desea copiar el diff sin necesidad de presionar la tecla de prefijo, puede usar lo siguiente:
(defun copy-diff-region ()
"Copy diff region without + or - markers."
(interactive)
(deactivate-mark)
(let ((text (buffer-substring-no-properties
(region-beginning) (region-end))))
(kill-new (replace-regexp-in-string "^[\\+\\-]" "" text))))
<C-return>
(cua-set-rectangle-mark
), 3) Seleccione solo "+" (una columna) y presione Supr para borrar todos los símbolos "+"