Rebobinamento de texto fácil

2

Estou procurando uma ferramenta que me permita facilmente redigir texto , ou seja, uma ferramenta que remove quebras de linha, mas não linhas vazias, de uma seleção de texto ou campo de texto, e que funciona no Chrome e no Windows.

Pontos de bônus para qualquer coisa que funcione fora do navegador também e que funcione no local (ou seja, que não exija copiar e colar o texto em uma janela separada ou usar algo como link )

Extensões de navegadores, scripts ou aplicativos do GreaseMonkey que também funcionam no Linux e / ou no Mac (ou, melhor ainda, que são multiplataformas) são bem-vindos.

Aqui está um exemplo de como a ferramenta deve se comportar. Se eu tiver o seguinte em um campo de texto:

This is a test for SuperUser.com. This is 
a test for SuperUser.com. This is
a test for
SuperUser.com. This is a test 
for SuperUser.com 

This is a test for SuperUser.com. This is 
a test for SuperUser.com. This 
is
a 
test
for SuperUser.com. This is a test for SuperUser.com

usando um atalho (por exemplo, teclado), a ferramenta deve convertê-lo para:

This is a test for SuperUser.com. This is a test for SuperUser.com. This a test for SuperUser.com. This is a test for SuperUser.com

This is a test for SuperUser.com. This is a test for SuperUser.com. This a test for SuperUser.com. This is a test for SuperUser.com

Obrigado antecipadamente!

    
por user815423426 12.01.2011 / 17:47

4 respostas

2

Não é um navegador nem interplataforma, mas pode ser útil para alguém:

O TextMate para Mac OS X tem o comando Editar »Desempacotar Parágrafo / Seleção ( Ctrl-Opt-Q ) exatamente para esse propósito.

O Emacs tem M-q para essa finalidade, você pode ter que atribuir uma maior largura que o padrão .

Use o seguinte script Python (escrito no OS X, mas de outra forma, entre plataformas):

#!/usr/bin/env python
import sys

current = "\n"
for line in sys.stdin:
    if line != "\n":
        sys.stdout.write(current[:-1])
    else:
        print "\n"
    current = line
print current[:-1]

Invoque assim:

cat test.txt | ./rewrap.py

No Mac OS X, crie um Serviço usando Automator em qualquer aplicativo que receba texto como entrada e substitua as selecionadas texto . Adicione uma ação Executar Script Shell que passe a entrada para stdin e chame o script Python acima. Atribuir um atalho de teclado global para qualquer aplicativo em Preferências do Sistema »Teclado .

    
por 11.01.2011 / 17:17
2

Confira o Clipboard Fusion da Binary Fortress Software. Eu tenho isso definido assim, sempre que eu copiar o texto de certos aplicativos (Adobe Reader), o texto copiado é automaticamente retirado de quebras de linha. Muito útil.

    
por 20.12.2011 / 13:47
1

(G) Vim pode fazer isso. Por exemplo, coloque isso no seu .vimrc:

vnoremap <F5> :s/\s*\n\s*\n\s*/<<mybreak>>/g<CR>gvJgv:s/<<mybreak>>/\r\r/g<CR>

Isto atribui a chave F5 (você pode usar o que quiser; com o vim você pode personalizar todos os mapas de teclado da maneira que quiser) para fazer o seguinte: enquanto em "modo visual" , quando um bloco de texto é selecionado), substitua todas as quebras de linha no texto selecionado seguido por uma linha com nada além de espaços em branco seguido por outro quebra de linha com o espaço reservado <<mybreak>> , realce a mesma parte e junte todas as linhas, reduzindo todos os espaços em branco entre linhas para um único espaço, realce a mesma parte e substitua o espaço reservado <<mybreak>> por duas novas linhas para restaurar as quebras de parágrafo.

Claro, você não precisa se lembrar de nada além de F5 .

Na verdade, provavelmente existe uma maneira mais simples de fazer isso no vim. Minhas habilidades de vim não são nada comparadas a algumas; foi assim que me ocorreu.

Você pode usá-lo em um navegador: talvez não diretamente, mas com plugins do Firefox, como vimperator ou pentadactyl permite que você edite todos os webfields no vim (ou qualquer outro editor de texto), então você também poderá usá-lo lá.

    
por 12.01.2011 / 04:06
1

usando AutoHotkey (código-fonte aberto):

Este código permitirá que você copie para a área de transferência (usando CTRL + ALT + C *) e o desdobre (pronto para ser passado). Como uma cópia normal passada, e manterá linhas vazias entre parágrafos.

!^+c::                 ;copy + unwrap but keep the empty lines
clipboard =
Send, {CTRLDOWN}c{CTRLUP}{ESC}
ClipWait
NewStr := RegExReplace(Clipboard, "([^\r\n])\R([^\r\n])", "$1$2")
clipboard = %NewStr%
ClipWait
return
  • você pode alterar seu atalho por qualquer tecla apenas alterando a primeira linha.
por 13.01.2016 / 19:45