Esto es lo que la documentación de Vim tiene que decir al respecto:
La edición virtual significa que el cursor se puede colocar donde no hay un carácter real. Esto puede estar a medio camino en una pestaña o más allá del final de la línea. Útil para seleccionar un rectángulo en modo Visual y editar una tabla.
Preferiblemente me gustaría ver esto implementado como un modo menor o una configuración integrada.
text-editing
vim-emulation
rectangle
niñera
fuente
fuente
C-f
. Pero cuando tira de un rectángulo después de hacer esto, el rectángulo aparece en la marca en lugar del punto. Si apareciera en ese momento, eso resolvería este problema.Respuestas:
La
extend-rectangle-to-end
función en elrectangle-utils
paquete es lo que quieres. Está enmelpa
.Inserta espacios para hacer que la selección del rectángulo actual se extienda para cubrir la línea más larga de la región.
Para obtener este comportamiento, lo tengo en mi init.el.
C-x r e
no está obligado a nada más en vainilla emacsfuente
M-x extend-rectangle-to-end
y luegoC-x r M-w
oC-x r k
.Otra respuesta: uso
M-x picture-mode
. Puede eliminar o copiar rectángulos a través de caracteres de tabulación, etc., enviarlos a registros, etc.fuente
extend-rectangle-to-end
ya que la selección del rectángulo con eso siempre será 30x2.picture-mode
Es viejo y poco conocido. Entre otras características poco conocidas que tiene: exiting (C-c C-c
) elimina los espacios en blanco finales.rectangle-minor-mode
ser "envuelto"picture-mode
? (consejo ya que no veo ningún gancho en la fuente derectangle-minor-mode
).(defun rectangle-mark-mode-wrapped-in-picture-mode (orig-fun &rest args) (if rectangle-mark-mode (picture-mode) (and (eq major-mode 'picture-mode) (picture-mode-exit t))))
(advice-add 'rectangle-mark-mode :around #'rectangle-mark-mode-wrapped-in-picture-mode)