Riepilogazione semplice del text

Sto cercando uno strumento che mi permette di ri-avvolgere facilmente il text , vale a dire uno strumento che rimuove le interruzioni di row, ma non linee vuote, da una selezione di text o da un field di text e che funziona in Chrome e in Windows.

Punti bonus per tutto ciò che funziona al di fuori del browser e che funziona in loco (cioè non richiede copia-incolla il text in una window separata o usando qualcosa come http://www.textfixer.com/tools/ remove-line-breaks.php )

Estensioni del browser, script GreaseMonkey o applicazioni che funzionano anche su Linux e / o Mac (o anche meglio, che sono multipiattaforma) sono tutti accolti.

Ecco un esempio di come funziona lo strumento. Se in un field di text ho le seguenti operazioni:

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 

quindi, utilizzando un collegamento rapido (ad es. tastiera), lo strumento deve convertire in:

Questo è un test per SuperUser.com. Questo è un test per SuperUser.com. Questo è un test per SuperUser.com. Questo è un test per SuperUser.com

Questo è un test per SuperUser.com. Questo è un test per SuperUser.com. Questo è un test per SuperUser.com. Questo è un test per SuperUser.com

Grazie in anticipo!

Non browser, non cross-platform, ma potrebbe essere utile per qualcuno comunque:

TextMate per Mac OS X ha il command Modifica »Distriggers paragrafo / Selezione ( Ctrl-Opt-Q ) per questo scopo.


Per questo motivo Emacs dispone di Mq , potrebbe essere necessario assegnare una width maggiore rispetto al valore predefinito .


Utilizzare il seguente script Python (scritto su OS X, ma altrimenti cross-platform):

 #!/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] 

Invocare così:

 cat test.txt | ./rewrap.py 

In Mac OS X, creare un servizio utilizzando Automator in qualsiasi applicazione che riceve il text come input e sostituisce il text selezionato . Aggiungere un'azione Run Shell Script che passa l'input a stdin e chiama lo script Python sopra. Assegnare una scorciatoia da tastiera globale per qualsiasi applicazione in Preferenze di sistema »Tastiera .

alt text

Controlla Clipboard Fusion da Binary Fortress Software. Lo ho impostato in modo da copiare il text da alcune applicazioni (Adobe Reader), il text copiato viene automaticamente tolto di interruzioni di row. Molto utile.

(G) Vim può farlo. Ad esempio, metti questo nel tuo .vimrc:

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

Ciò assegna il tasto F5 (si può usare tutto ciò che vuoi, ma con vim puoi personalizzare tutte le voci di tastiera comunque desiderate) per fare quanto segue: mentre in "modalità visuale" (ad esempio quando viene selezionato un block di text) sostituire tutti i linebreak nel text selezionato seguiti da una linea con nient'altro che spazi bianchi seguiti da un'altra row con il segnaposto <<mybreak>> , rehighlight la stessa porzione e unirsi a tutte le righe, riducendo lo spazio integer tra le righe a un unico spazio, rehighlight la stessa porzione e sostituire il segnaposto <<mybreak>> con due newlines per ripristinare le pause di paragrafo.

Naturalmente, non devi ricordare nient'altro che F5 .

In realtà, c'è probabilmente un modo più semplice per farlo in vim. Le mie capacità vim sono nulla rispetto ad alcuni; questo è il modo in cui mi è capitato di farlo.

Puoi utilizzarlo in un browser: forse non direttamente, ma con i plugin Firefox come il vimperatore o il pentadactyl ti permettono di modificare tutti i campi web in vim (o qualsiasi altro editor di text della tua scelta), quindi potresti utilizzarlo Lì anche.

utilizzando AutoHotkey (open-source):

Questo codice vi permetterà di copiare negli appunti (utilizzando CTRL + ALT + C *) e avvolgerlo (pronto per essere passato). Come un passato di copia normale, e manterrà linee vuote tra i paragrafi.

 !^+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 
  • è ansible modificare la scorciatoia da qualsiasi chiave solo modificando la prima row.