2

Я ищу инструмент, который позволяет мне легко переупаковывать текст, т.е. инструмент, который удаляет разрывы строк, но не пустые строки, из выделения текста или текстового поля, и который работает в Chrome и в Windows.

Бонусные баллы за все, что работает и за пределами браузера, и работает на месте (то есть не требует копирования текста через отдельное окно или использования чего-то вроде http://www.textfixer.com/tools/remove-line-breaks.php)

Приветствуются расширения браузера, скрипты GreaseMonkey или приложения, которые также работают на Linux и / или Mac (или даже лучше, которые являются мультиплатформенными).

Вот пример того, как должен вести себя инструмент. Если у меня есть следующее в текстовом поле:

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

затем, используя ярлык (например, клавиатуру), инструмент должен преобразовать его в:

Это тест для SuperUser.com. Это тест для SuperUser.com. Это тест для SuperUser.com. Это тест для SuperUser.com

Это тест для SuperUser.com. Это тест для SuperUser.com. Это тест для SuperUser.com. Это тест для SuperUser.com

Заранее спасибо!

4 ответа4

2

Проверьте Clipboard Fusion от Binary Fortress Software. У меня установлено, чтобы при копировании текста из определенных приложений (Adobe Reader) скопированный текст автоматически удалялся из разрывов строк. Очень полезно.

2

Не браузер, не кроссплатформенный, но в любом случае может пригодиться кому-то:

Для этой цели в TextMate для Mac OS X есть команда « Правка»> «Развернуть абзац / выделение» (Ctrl-Opt-Q).


Emacs имеет M-q для этой цели, вам может потребоваться назначить большую ширину, чем по умолчанию.


Используйте следующий скрипт Python (написанный на OS X, но в остальном кроссплатформенный):

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

Вызывать так:

cat test.txt | ./rewrap.py

В Mac OS X создайте Сервис с помощью Automator в любом приложении, которое получает текст в качестве входных данных и заменяет выделенный текст. Добавьте действие Run Shell Script, которое передает ввод в stdin и вызовите скрипт Python выше. Назначьте глобальное сочетание клавиш для любого приложения в Системных настройках »Клавиатура.

альтернативный текст

1

используя AutoHotkey (с открытым исходным кодом):

Этот код позволит вам скопировать в буфер обмена (используя CTRL+ALT+C *) и развернуть его (готово к тому, чтобы быть в прошлом). Как обычная копия в прошлом, и она будет содержать пустые строки между абзацами.

!^+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
  • Вы можете изменить ярлык на любую клавишу, просто изменив первую строку.
1

(G) Вим может сделать это. Например, поместите это в свой .vimrc:

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

Это назначает клавишу F5 (вы можете использовать все, что хотите вместо этого; с помощью vim вы можете настроить все сочетания клавиш так, как вы хотите), чтобы выполнять все следующие действия: находясь в "визуальном режиме" (т. Е. Когда выбран блок текста), замените все разрывы строк в выделенном тексте, за которым следует строка, содержащая только пробел, за которым следует еще один разрыв строки с заполнителем <<mybreak>> , повторно выделите ту же часть и объедините все строки, сократив все пробелы между строками до одного пробела, повторно подсветите ту же часть и замените заполнитель <<mybreak>> двумя символами новой строки, чтобы восстановить разрывы абзацев.

Конечно, вам не нужно помнить ничего, кроме F5.

На самом деле, есть, вероятно, более простой способ сделать это в VIM. Мои навыки Vim ничто по сравнению с некоторыми; это то, как мне пришло в голову сделать это.

Можете ли вы использовать его в браузере: возможно, не напрямую, но с помощью плагинов Firefox, таких как vimperator или pentadactyl, вы можете редактировать все веб-поля в vim (или любом другом текстовом редакторе по вашему выбору), так что тогда вы сможете использовать его там тоже.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .