Можно ли вставить обычный текст по умолчанию?

56

Я регулярно копирую и вставляю текст между электронными таблицами, электронными письмами, окнами браузера и т. Д. Я не могу вспомнить ни одного момента, когда я хотел сохранить форматирование из исходного текста.

Я уже знаю о следующих обходных путях:

  • Используйте «Правка» → «Специальная вставка» → «Неформатированный текст».
  • Вставьте в Блокнот и скопируйте оттуда
  • Установите программу, которая берет на себя буфер обмена

Что я хочу, это сказать Windows, чтобы сделать это по умолчанию.

Это возможно?

Натан Лонг
источник
3
+1, это меня тоже раздражает при использовании Outlook на работе
Jonik
Простите, но я подумал, что по умолчанию для XP ...
RCIX
Иметь «Копировать» и «Копировать специальные»; и только «Вставить» кажется решением. Стивен Синофски, слушаешь?
Лакшман Прасад
2
Несколько недель назад я обнаружил, что все больше браузеров поддерживают CTRL-SHIFT-V как способ вставки неформатированного текста. Что очень помогает, когда я вставляю текст в электронное письмо в Gmail!
Шалом Креймер

Ответы:

25

К сожалению нет. И я считаю, что это по замыслу.

Проблема в том, что буфер обмена Windows не должен хранить данные. По сути, это центр обмена информацией, в котором любое приложение может перечислить только что скопированные (или вырезанные) данные и предложить их для вставки любому приложению (включая себя). Буфер обмена содержит список форматов, в которых доступны данные, и, если приложение решит это сделать, это будут данные в некоторых из этих форматов.

Приложение, которое обрабатывает операцию вставки, затем имеет возможность выбрать формат данных, который лучше всего ему подходит. Некоторые приложения (например, Блокнот) принимают только один конкретный формат (например, простой текст) и просто ничего не делают, если этот формат недоступен. Другие выбирают предпочтительный формат по умолчанию, но предоставляют пользовательский интерфейс для выбора среди альтернатив, которые могут быть понятны этому приложению.

В принципе, можно написать программу, которая контролирует буфер обмена на наличие нового контента и выравнивает любой нетекстовый контент до простого текста. Существует событие, доступное для уведомления такого монитора о новом контенте в буфере обмена. Тем не менее, я подозреваю, что реализация такой вещи сломает значительное количество программ, и, возможно, неожиданными способами.

Простой обходной путь в стандартной версии XP - использовать Блокнот для выравнивания данных, когда это необходимо, или использовать один из многих инструментов, которые улучшают буфер обмена путем реализации стека, представления его содержимого и т. Д.

Если вы хотите попробовать создать инструмент самостоятельно, вы можете получить пользу от этого вопроса в SO и связанных с ним вопросах ....

RBerteig
источник
Спасибо - похоже, это самый прямой и полный ответ на мой вопрос. Я также одобряю обходные пути, которые мне нравятся.
Натан Лонг
Спасибо за отличное объяснение того, как работает буфер обмена, я вроде бы предположил, что он работает примерно так, но никогда не понимал его на 100%
Рассерженная шлюха
Престижность RBerteig! Это было информативное объяснение статус-кво.
Эшвин Нанджаппа
29

Это довольно приличный компромисс: PureText .

PureText скриншот

Это может не быть прямым ответом на то, что вы спросили, но это может быть полезно кому-то еще с более общей версией вашего вопроса.

Рэнди Проктор
источник
Спасибо за предложение. Между тем, я все еще ищу способ изменить настройки по умолчанию. Кто-нибудь знает как?
Натан Лонг
Я запускал это приложение годами. Это круто.
Christopher_G_Lewis
Будьте внимательны, это скомпилированная программа, которая может делать что угодно в вашей системе. Где находится исходный код?
Джонас Стейн
Конечно, вы можете сказать то же самое о самой Windows.
Скотт
12

По умолчанию сделать это невозможно, но с небольшим количеством хакеров мы можем обойти это.

Тебе понадобится:

  • PlainTextClipboard
  • AutoIT Script (вы можете использовать AutoHotKey, я просто не знаю этот язык сценариев)

Создайте скрипт AutoIt со следующим кодом:

$ptcPath = "C:\Program Files (x86)\Plain Text Clipboard\PlainTextClipboard.exe"
HotKeySet("^v", "PastePlainText")

While True ;Keep it running indefinitely.
WEnd
HotKeySet("^v") ;unregister the hotkey

Func PastePlainText()
    Run($ptcPath);
    Send(ClipGet())
EndFunc

Когда вы нажмете Ctrl+ V, это запустит программу PlainTextClipboard, а затем отправит содержимое вашего буфера обмена в текущее окно. К сожалению, он будет отправлять содержимое по одному символу за раз, так что это немного медленно. Это проблема, над которой я работаю, но она должна послужить разумным началом. Если есть какие-либо гуру AutoHotKey / AutoIT, не стесняйтесь сделать свою собственную версию этого скрипта. Я обновлю его, как только выясню, как решить проблему.

Дэн Уокер
источник
На всякий случай, если вы не нашли более быстрый способ: способ AutoHotKey показан в «вставить как простой текст» в URL ниже. Это быстро, потому что сам AHK делает выравнивание. Это не зависит от других программ. Раньше я использовал PureText, но мне нравится помещать этот материал в мой уже запущенный скрипт AHK. superuser.com/questions/7271/most-useful-autohotkey-scripts/…
piyo
6

Я продолжаю сталкиваться с этим тоже. Помимо использования / написания программы для удаления дополнительного форматирования, я обнаружил, что самый простой способ обрезать форматирование - это вставить текст в окна «Выполнить» (доступный через WIN+ R) и заново скопировать его оттуда.

В итоге я делаю это очень быстро: CTRL+ C, WIN+ R, CTRL+ V, SHIFT+ HOME, CTRL+ C, ALT+ TAB, CTRL+ V- я не могу не задаться вопросом, не слишком ли долго я занимаюсь этим ...

Работает только для однострочного текста.

Шалом Креймер
источник
5

Я не могу предоставить вам простое решение, но, как и другие, я предоставлю вам обходной путь:

Быстрый путь к первому варианту - использовать Ctrl+ Alt+, vчтобы открыть диалоговое окно « Специальная вставка » без использования мыши. Набрав, uчтобы перейти к вводу Unformatted Unicode Text (или u uперейти к не-Unicode-версии), а затем Enterсделаем это за вас. Не идеально, но встроенный.

АКФ
источник
4

Прямой ответ. Нет.

В Windows нет контроля над стандартным буфером обмена. Это причина, по которой многие приложения предоставляют эту функцию путем предварительного захвата вставленного текста.

PureText, как уже упоминалось, это путь.

BinaryMisfit
источник
3

Используя такое приложение, как ClipMate , которое является менеджером буфера обмена (и коммерческое приложение), вы можете одновременно нажать клавиши Win+, Wчтобы очистить форматирование всего, что в данный момент находится в буфере обмена, и сделать его простым текстом.

Pauk
источник
3

При вставке в Word (возможно, работает и в других приложениях Office) вы можете использовать Ctrl+ Alt+, Vа затем просто стрелкой вниз перейти к «Неформатированный текст» или «Неформатированный текст Unicode» и нажмите клавишу «Ввод». Это то же самое, что в меню «Специальная вставка», но намного быстрее :)

Svish
источник
3

Это не функция Windows, а функция приложения, которое вы вставляете.

Для MS Word установите значение по умолчанию, выбрав Файл -> Параметры -> Дополнительно -> Вырезать, скопировать и вставить:

введите описание изображения здесь

С другой стороны , если вы хотите сохранить настройки по умолчанию все же вставить неформатированный текст иногда, вы можете использовать Ctrl+ v, Ctrl, t. (Примечание: это НЕ Ctrl+ t.)

Для Excel можно вставить неформатированный текст с Ctrl+ v, Ctrl, m.

zylstra
источник
2

В Windows в большинстве приложений Microsoft Office, самый быстрый способ попасть Ctrl+ Alt+ Vи после того , как диалоговое окно выскочит удар Uтогда Enter. Это выбирает параметр «Неформатированный текст» в диалоговом окне.

Трей Коупленд
источник
1

Мне нравится ClipX - он предоставляет вам несколько буферов обмена, и если вы вставляете текст с помощью ClipX, он выровняется в обычный текст.

Таким образом, вы можете копировать в обычном режиме, но если вы хотите вставить обычный текст, вы нажимаете Ctrl-Shift-V вместо Ctrl-V, а затем выбираете первый элемент, чтобы вставить его обычным способом. Это бесплатно, и это система в целом, так что это около 75% или более того, что вы хотите.

Майкл Кон
источник
1

Я разделяю вашу проблему. Разочаровывает, не так ли?

Я использую [это руководство] [1] для подготовки макроса Visual Basic и определения сочетания клавиш.

[1]: https://web.archive.org/web/1/http://blogs.techrepublic%2ecom%2ecom/msoffice/?p=264

-> Это также было моим предпочтительным решением. Мой VBA Макро это:

Sub PastePlainText()
    Selection.PasteAndFormat wdFormatPlainText
End Sub

Я прикрепил его к сочетанию клавиш Ctrl + Alt + V. Он отлично работает во всех версиях Word / Office, которые я использую уже более 10 лет.

HooNose
источник