Editor de texto que permite colorir texto arbitrário (e exportá-lo)?

3

Eu tenho um backtrace bastante grande, o que é meio difícil de ler, então pensei em colorir as partes do texto do backtrace para facilitar a leitura. (Eu pensei, como um problema de backtrace, esta questão é apropriada aqui - caso contrário, os administradores, sinta-se livre para movê-lo para softwarerecs)

No Linux, eu acho, a opção mais imediata seria usar o Open / LibreOffice writer ; no entanto:

  • Não fornece números de linha
  • As fontes não são monoespaçadas por padrão
  • Introduz intervalos entre as páginas, dificultando a leitura

... embora, você pode colorir texto facilmente selecionando o texto e escolhendo uma cor - e, você pode exportar essa coloração para HTML.

O que eu gostaria idealmente é de um editor de texto simples como Scite ou Geany, com números de linha e uma única "página" de texto, o que permitirá

  • seleção arbitrária (por meio do mouse ou por meio de um regex - sugerindo a possibilidade de várias seleções no arquivo, por exemplo, cada terceira palavra em uma linha),
  • possibilidade de colorir essa seleção e
  • possibilidade de exportar esse texto colorido / formatado, para a sequência de caracteres ANSI (para poder ver o texto colorido no terminal, digamos via cat ou less -R ), ou para HTML.

Existe algum editor de texto - ou, alternativamente, plugins para editores existentes - lá fora?

    
por sdaau 16.12.2015 / 14:17

1 resposta

0

vim reconhece determinados tipos de arquivos de log e os colorirá assim que você ativar o realce de sintaxe. Por exemplo, aqui está o gvim mostrando / var / log / syslog:

Vocêpodeaprenderovimcomocomandovimtutoremaproximadamentemeiahora.Vocêcertamentenãovaidominá-lo,enemvaientrarnodestaquedasintaxe,masvocêaprenderáanavegaremumarquivoeteráumaidéiadoseupoder.

Aativaçãodorealcedesintaxedevesertãofácilquanto:syntaxon,emboravocêpreciseespecificarasintaxe.AGUI(gvim, macvim , etc.) terá uma barra de menus com um item Syntax . Diga para "Mostrar tipos de arquivos no menu" (se necessário) e, em seguida, encontre o formato apropriado. / var / log / syslog usa o formato "messages" (você também pode fazer isso com :set syn=messages ).

Para realçar a sintaxe do vim

Aqui está minha função HTMLize , que produz essas cores como HTML, mais as linhas para mapeá-las para F7 . Basta adicioná-los ao seu ~/.vimrc :

function! HTMLize(...)
  let scheme = "default"
  if (a:0 > 0)
    let scheme = a:1
  endif
  let g:html_use_css = 0
  let oldcolorscheme = g:colors_name
  let oldbg = &background
  execute "colorscheme " . scheme
  set background=light
  TOhtml
  %s/[\r\n]\+//g
  %s/\(color="\|text="\|style="background-color: \)#af0000/#b00/ige
  %s/\(color="\|text="\|style="background-color: \)#a52a2a/#a22/ige
  %s/\(color="\|text="\|style="background-color: \)#af5f00/#a60/ige
  %s/\(color="\|text="\|style="background-color: \)#d7afaf/#daa/ige
  %s/\(color="\|text="\|style="background-color: \)#870087/#808/ige
  %s/\(color="\|text="\|style="background-color: \)#005faf/#05b/ige
  %s/\(color="\|text="\|style="background-color: \)#005f87/#068/ige
  %s/\(color="\|text="\|style="background-color: \)#\([0-9a-f]\)\([0-9a-f]\)\([0-9a-f]\)/#/ige
  %s/\(color="\|text="\|style="background-color: \)#\([0-9a-f]\)\([0-9a-f]\)\([0-9a-f]\)\([0-9a-f]\)/#/ige
  %s/\(<body \)bgcolor="\([^"]*\)" text="\([^"]*\)">[\r\n]*<font face="monospace">/\r\r\r\r<pre style="color:;background:;width:-moz-fit-content;width:fit-content;border:#dde dashed 1px;padding:.25em">/
  %s/<\/font>\([\r\n]*<.body>\)/<\/pre>\r\r\r\r/
  %s/<font color="/<span style="color:/g
  %s/<\/font/<\/span/g
  " %s/<br>$//
  execute "colorscheme " . oldcolorscheme
  execute 'set background = "' . oldbg . '"'
endfunction
noremap <silent> <F7> :call HTMLize("lucius")<CR>
inoremap <silent> <F7> :call HTMLize("lucius")<CR>

Esta é realmente apenas uma versão limpa de TOhtml que também altera seu esquema de cores para torná-lo mais legível (eu uso um fundo escuro com o não-padrão lucius colorscheme , que, como o popular O esquema de cores solarizado , suporta fundos escuros e claros).

    
por 02.03.2016 / 03:18