Quebrar o conteúdo da célula em uma tabela no modo organizacional

12

Eu tenho uma tabela como esta:

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

Eu gostaria de vê-lo como

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

Estou ciente, C-c `mas isso não basta, quero ver todo o texto simultaneamente. Somente leitura está OK, se necessário.

user2740
fonte
Veja se minha resposta aqui ajuda.
Joe

Respostas:

20

O org-mode possui 2 formatos de tabela, o padrão org-tablee o outro table.el.

O agrupamento de células está disponível para tabelas em table.elformato.

Tente isto

  1. Remova a linha extra com, <10>para que sua tabela seja semelhante ao exemplo abaixo:

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

    Dica: adicione uma linha em branco acima e abaixo da tabela. As linhas em branco devem evitar um erro ao converter a tabela com C-c ~. Agradecemos ao @ComproPrasad pela solução de problemas e pelo fornecimento da solução alternativa.

  2. Coloque o cursor, também conhecido como ponto, dentro da tabela atualizada e digite C-c ~e responda y. A tabela atualizada deve ser semelhante ao exemplo abaixo:

    +----------+-------------------+
    | Verse No | Verse             |
    +----------+-------------------+
    |        1 | Line1 Line1 Line1 |
    +----------+-------------------+
    |        2 | Line2 Line2 Line2 |
    +----------+-------------------+
    
  3. Coloque o cursor na tabela atualizada e digite C-c 'e uma nova janela ou quadro aparecerá.

  4. Digite M-x t-r-te cada célula da tabela deve ser destacada.

  5. Coloque o cursor dentro da segunda coluna e digite C-c C-c <até que a coluna tenha a largura desejada.

    Dica: Use a ligação de tecla de argumento universal C-upara repetir rapidamente esta etapa. Por exemplo, se sua célula tiver 500 caracteres e você desejar ajustar a largura para 10 caracteres, isso C-u 490 C-c C-c <repetirá o C-c C-c <comando 490 vezes.

  6. Digite C-c 'para finalizar a edição da tabela. Essas etapas devem deixar você parecido com o exemplo abaixo:

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

Obrigado por fazer sua pergunta!
Espero que tenha ajudado!


Esta resposta foi testada usando:
versão emacs: GNU Emacs 25.2.1 (x86_64-unknown-cygwin, GTK + versão 3.22.10)
versão organizacional: versão em modo organizacional 9.1.2

Melioratus
fonte
11
A etapa 4 não é necessária (pelo menos no emacs atual v. 26). Pressionar Cc ~ como a etapa 7 converte a tabela table.el novamente em tabela organizacional editável.
Heikki
@ Heikki É bom saber! Obrigado! Na v.25, eu precisava adicionar a etapa 4 porque a tabela não estava sendo reconhecida, mas também não estava lançando nenhum erro. Deseja que eu adicione a etapa 7 C-c ~para converter novamente em org-tableformato?
Melioratus 17/01/19
11
existe uma opção para acelerar a etapa 5, digamos, quando eu tenho 500 caracteres e quero que eles sejam agrupados em 10 caracteres?
usar o seguinte comando
11
Criou um vídeo: youtu.be/Jo4RlPqs0_c
Compro Prasad
11
qual é o passo 4? É uma t-r-tabreviação para outro comando? Descobri que, ao lidar com tabelas que possuem texto com links incorporados, após a etapa 3, apenas os títulos das colunas são selecionados e preciso de uma maneira de selecionar cada célula da tabela, como na etapa 4. No entanto, não sei o passo 4 é realmente referindo-se, uma vez que M-x t-r-tnão mostra nada para mim com org-mode 9.1.9
adamc
6

Ajustar a largura da coluna com quebra automática

Aqui está uma solução adaptada para o modo organizacional 9.1.13, Spacemacs (0.200.13), emacs 26.1 por conveniência.

Começando com o seguinte conteúdo em um buffer no modo organizacional:

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

deve deixar um NEWLINE em cima da tabela acima para evitar o erro do table.el.

  1. Converta a tabela no formato table.el por Cc ~ +----------+-------------------+ | Verse No | Verse | +----------+-------------------+ | 1 | Line1 Line1 Line1 | +----------+-------------------+ | 2 | Line2 Line2 Line2 | +----------+-------------------+
  2. Ajustar diretamente a largura da coluna por SPC u10 SPC SPC table-narrow-cell +----------+---------+ | Verse No | Verse | +----------+---------+ | 1 | Line1 | | |Line1 | | |Line1 | +----------+---------+ | 2 | Line2 | | |Line2 | | |Line2 | +----------+---------+

Funciona para a minha configuração sem entrar no modo table.el. Com as minhas máquinas espaciais, Cu 10 Cc Cc <não funciona.

Yu Shen
fonte
Minha configuração mais recente do spacemacs não funciona mais com a solução acima. Mas achei que o convento para o formato table.el pode ajustar manualmente a quebra de linha. Após a edição manual, posso convertê-lo de volta e obter os envelopes desejados.
Yu Shen
11
SPC u 10não é necessário. 10auto prefácios-IT para C-u 10- (Emacs 27.0.50, Spacemacs 9.0.)
Gavin
4

Depois de seguir a resposta aceita e corrigir o tamanho de uma coluna longa em uma tabela existente, alternar o modo de largura fixa da tabela M-x table-fixed-width-modeparece executar o truque de agrupar automaticamente (futuras) longas linhas de texto em uma coluna na edição de tabela modo. Você entra no modo de edição de tabela pressionandoC-c '

Testado em: Emacs 25.2.2, Modo Org 9.1.6

mod0
fonte