Ajustar el contenido de la celda en una tabla de modo org


12

Tengo una mesa como esta:

| Verse No | Verse      |
|          | <10>       |
|        1 | line1 li=> |
|        2 | line2 li=> |

Me gustaría verlo como

| Verse No | Verse      |
|          | <10>       |
|        1 | line1 line |
|          | 1 line1    |
|        2 | line2 line |
|          | 2 line2    |

Soy consciente C-c `pero no es suficiente, quiero ver todo el texto simultáneamente. Solo lectura está bien si es necesario.


Vea si mi respuesta aquí ayuda.
Joe

Respuestas:


20

org-mode tiene 2 formatos de tabla, el predeterminado org-tabley el otro es table.el.

El ajuste de celdas está disponible para tablas en table.elformato.

Prueba esto

  1. Elimine la fila adicional con <10>para que su tabla se vea similar al siguiente ejemplo:

    | Verse No | Verse             |
    |        1 | Line1 Line1 Line1 |
    |        2 | Line2 Line2 Line2 |
    

    Consejo: Agregue una línea en blanco encima y debajo de la tabla. Las líneas en blanco deben evitar un error al convertir la tabla con C-c ~. Gracias a @ComproPrasad por solucionar problemas y proporcionar la solución.

  2. Coloque el cursor, también conocido como el punto, dentro de la tabla actualizada, luego escriba C-c ~y responda y. La tabla actualizada debería ser similar al ejemplo a continuación:

    +----------+-------------------+
    | Verse No | Verse             |
    +----------+-------------------+
    |        1 | Line1 Line1 Line1 |
    +----------+-------------------+
    |        2 | Line2 Line2 Line2 |
    +----------+-------------------+
    
  3. Coloque el cursor dentro de la tabla actualizada, luego escriba C-c 'y aparecerá una nueva ventana o marco.

  4. Escriba M-x t-r-ty cada celda de la tabla debe resaltarse.

  5. Coloque el cursor dentro de la segunda columna y escriba C-c C-c <hasta que la columna tenga el ancho deseado.

    Sugerencia: utilice el enlace de clave de argumento universal C-upara repetir rápidamente este paso. Por ejemplo, si su celda tiene 500 caracteres y desea ajustar el ancho a 10 caracteres C-u 490 C-c C-c <, repita el C-c C-c <comando 490 veces.

  6. Escriba C-c 'para terminar de editar la tabla. Estos pasos deberían dejarlo con un ejemplo similar al siguiente:

    +----------+------+
    | Verse No | Verse|
    +----------+------+
    |        1 |Line1 |
    |          |Line1 |
    |          |Line1 |
    +----------+------+
    |        2 |Line2 |
    |          |Line2 |
    |          |Line2 |
    +----------+------+
    

¡Gracias por hacer su pregunta!
Espero que haya ayudado!


Esta respuesta se probó usando:
versión emacs: GNU Emacs 25.2.1 (x86_64-unknown-cygwin, GTK + Versión 3.22.10)
versión org: Org mode versión 9.1.2


1
El paso 4 no es necesario (al menos en emacs v. 26 actual). Al presionar Cc ~ como paso 7, la tabla table.el vuelve a ser una tabla de organización editable.
Heikki

@Heikki ¡Genial saberlo! ¡Gracias! En v.25 necesitaba agregar el paso 4 porque a la tabla no se estaba reconociendo pero tampoco arrojaba ningún error. ¿Desea que agregue el paso 7 C-c ~para volver a convertir el org-tableformato?
Melioratus

1
¿hay alguna opción para acelerar el paso 5, digamos cuando tengo 500 caracteres de contenido y quiero que se envuelvan en 10 caracteres?
user2740


1
¿Qué es el paso 4? ¿Es la t-r-ttaquigrafía para otro comando? Descubrí que cuando se trata de tablas que tienen texto con enlaces incrustados, después del paso 3, solo se seleccionan los encabezados de columna, y necesito una forma de seleccionar cada celda de la tabla, como en el paso 4. Sin embargo, no sé a qué se refiere realmente el paso 4, ya que M-x t-r-tno muestra nada para mí con el modo org 9.1.9
adamc

6

Ajuste el ancho de columna con envoltura

Aquí hay una solución adaptada para org-mode 9.1.13, Spacemacs (0.200.13), emacs 26.1 por conveniencia.

Comenzando con el siguiente contenido en un búfer en modo org:

| Verse No | Verse             |
|        1 | Line1 Line1 Line1 |
|        2 | Line2 Line2 Line2 |

debe dejar un NEWLINE en la parte superior de la tabla anterior para evitar el error de table.el.

  1. Convierta la tabla a formato table.el por Cc ~ +----------+-------------------+ | Verse No | Verse | +----------+-------------------+ | 1 | Line1 Line1 Line1 | +----------+-------------------+ | 2 | Line2 Line2 Line2 | +----------+-------------------+
  2. Ajuste directamente el ancho de columna mediante SPC u 10 SPC SPC table-estrecho-celda +----------+---------+ | Verse No | Verse | +----------+---------+ | 1 | Line1 | | |Line1 | | |Line1 | +----------+---------+ | 2 | Line2 | | |Line2 | | |Line2 | +----------+---------+

Funciona para mi configuración sin entrar en el modo table.el. Con mis spacemacs, Cu 10 Cc Cc <no funciona.


Mi nueva configuración de spacemacs ya no funciona con la solución anterior. Pero descubrí que convencer al formato table.el, luego puedo ajustar manualmente el ajuste de línea. Después de la edición manual, puedo volver a convertirlo y obtener las envolturas deseadas.
Yu Shen

1
SPC u 10no es requerido. prefabricado 10automático a C-u 10-(Emacs 27.0.50, Spacemacs 9.0.)
Gavin el

4

Una vez que sigue la respuesta aceptada y fija el tamaño de una columna larga en una tabla existente, alternar el modo de ancho fijo de tabla M-x table-fixed-width-modeparece hacer el truco de ajustar automáticamente (futuras) largas líneas de texto en una columna en la edición de la tabla modo. Usted ingresa al modo de edición de tablas al teclearC-c '

Probado en: Emacs 25.2.2, Org-Mode 9.1.6

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.