Легкое текстовое переобертывание

Я ищу инструмент, который позволяет мне легко повторно переносить текст, т.е. инструмент, который удаляет разрывы строки, но не пустые строки, от текстового выбора или текстового поля, и это работает над 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

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

2
задан 12.01.2011, 18:47

2 ответа

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

TextMate для Mac OS X имеет команду Edit», Разворачивают Абзац/Выбор (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 в любом приложении, которое получает текст, как введено и заменяет выделенный текст. Добавьте действие Сценария оболочки Выполнения, которое передает вход stdin и назовите сценарий Python выше. Присвойте глобальное сочетание клавиш для любого приложения в Установках системы» Клавиатура.

alt text

2
ответ дан 08.12.2019, 05:29

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

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

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

Конечно, Вы ничего не должны помнить кроме F5.

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

Можете Вы использовать его в браузере: возможно, не непосредственно, но с плагинами Firefox, такими как vimperator или пятипалый позволяют Вам редактировать все webfields в энергии (или любой другой текстовый редактор Вашего chosing), таким образом Вы смогли бы использовать его там также.

1
ответ дан 08.12.2019, 05:29

Теги

Похожие вопросы