Can I paste plain text by default?

57

17

I regularly copy and paste text between spreadsheets, emails, browser windows, etc. I can't think of a single time when I've wanted to keep the formatting from the source text.

I already know about the following workarounds:

  • Use “Edit” → “Paste Special” → “Unformatted text”
  • Paste to Notepad and copy from there
  • Install a program that takes over the clipboard

What I want is to tell Windows to just do this by default.

Is this possible?

Nathan Long

Posted 2009-07-23T18:17:19.887

Reputation: 20 371

4+1, this annoys me too when using Outlook at work – Jonik – 2009-07-23T19:37:58.430

Forgive me, but i thought that WAS the default for xp... – RCIX – 2009-08-01T15:05:58.930

Have a "Copy" and "Copy Special"; and but only "Paste" seems to be the solution. Steven Sinofsky, listening? – Lakshman Prasad – 2009-08-04T16:10:08.850

2I found out a few weeks ago that more and more browsers support CTRL-SHIFT-V as a way to paste non-formatted text. Which helps a lot when I paste text into an e-mail in Gmail! – Shalom Craimer – 2011-09-20T05:26:15.613

Answers

25

Unfortunately, no. And I believe this is by design.

The issue is that the Windows clipboard does not have to store the data. It is effectively a clearing house where any application can list the data that was just copied (or cut) and offer it up to any application (including itself) to be pasted. The clipboard contains a list of formats in which the data is available, and if the application chooses to do so, the data itself in some of those formats.

The application that processes a Paste operation then has the option to choose the data format that best suits it. Some applications (e.g. Notepad) will only accept one particular format (such as plain text) and simply do nothing if that format is not available. Others pick a preferred format by default but provide a UI for choosing among alternatives that can be understood by that application.

In principle a program could be written that monitors the clipboard for new content and flattens any non-text content to just plain text. There is an event available to notify such a monitor of new content on the clipboard. However, I suspect that implementing such a thing would break a fair number of programs, and possibly in surprising ways.

The simple workaround in stock XP is to use Notepad to flatten the data when needed, or to use one of the many tools that improve the clipboard by implementing a stack, providing a view of its content, and so forth.

If you want to try building a tool yourself, might benefit from this question over at SO, and its related questions....

RBerteig

Posted 2009-07-23T18:17:19.887

Reputation: 3 235

Thanks - this appears to be the most direct and complete answer to my question. I'm also upvoting the workarounds that look good to me. – Nathan Long – 2009-08-03T12:46:53.423

Thanks for the great explanation of how the clipboard works, I kinda guessed it worked something like that but never understood it 100%. – DisgruntledGoat – 2009-08-21T12:20:59.130

Kudos to RBerteig! That was an informative explanation of the status quo. – Ashwin Nanjappa – 2009-08-28T03:53:25.207

30

This is a pretty decent compromise: PureText.

PureText screenshot

This may not be a direct answer to what you asked, but this may be of use to someone else with a more general version of your question.

Randy Proctor

Posted 2009-07-23T18:17:19.887

Reputation: 1 021

Thanks for the suggestion. Meanwhile, I'm still looking for a way to change the default setting. Anyone know how? – Nathan Long – 2009-07-28T16:18:26.097

I've run this app for years. It rocks. – Christopher_G_Lewis – 2009-07-31T05:24:56.653

Be on alert, that this is a compiled program which can do anything on your system. Where is the source code? – Jonas Stein – 2018-07-20T19:54:38.903

Of course you could say the same thing about Windows itself. – Scott – 2018-07-20T21:10:32.013

12

There is not way to do this by default, but with a bit of hackery, we can work around that.

You will need:

Create an AutoIt Script with the following code:

$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

When you press Ctrl + V, this will run the PlainTextClipboard program, then send the contents of your clipboard to the current window. Unfortunately, it will send the contents one character at a time, so it is a bit slow. It's a problem I'm working on, but it should serve as a reasonable start. If there are any AutoHotKey/AutoIT gurus out there, feel free to make your own version of this script. I'll update it as soon as I figure out how to solve the problem.

Dan Walker

Posted 2009-07-23T18:17:19.887

Reputation: 8 869

Just in case you didn't figure out a faster way: The AutoHotKey way is shown in the "paste as plain text" in the url below. This is fast because AHK itself is doing the flattening. It does not depend on other programs. I used to use PureText but I like to put this stuff into my already-running AHK script. http://superuser.com/questions/7271/most-useful-autohotkey-scripts/28558#28558

– piyo – 2010-08-24T13:19:10.457

6

I keep running into this too. Other than using/writing a program to strip the extra formatting, the simplest way I've found to strip formatting is by pasting the text into the "Run" windows (reachable by WIN + R) and re-copying it from there.

So I end up doing this, really quickly: CTRL+C, WIN + R, CTRL+V, SHIFT+HOME, CTRL+C, ALT+TAB, CTRL+V - I can't help but wonder now if I've been doing this for too long...

Only works for single-line text, though.

Shalom Craimer

Posted 2009-07-23T18:17:19.887

Reputation: 389

5

I can't provide you with a simple solution, but like the others, I will provide you with a workaround:

A shortcut to your first option is to use Ctrl + Alt + v to pop up the Paste Special dialog without using the mouse. Typing u to jump to Unformatted Unicode Text entry (or u u to get to the non-Unicode version) and then Enter will do it for you. Not perfect, but built in.

akf

Posted 2009-07-23T18:17:19.887

Reputation: 3 781

4

Direct answer. No.

There is no control of the standard clipboard in Windows. This is the reason a lot of applications provide this feature through trapping the pasted text beforehand.

PureText as mentioned already is the way to go.

BinaryMisfit

Posted 2009-07-23T18:17:19.887

Reputation: 19 955

3

This is not a Windows function, but a function of the app to which you are pasting.

For MS Word, set the default by File -> Options -> Advanced -> Cut, copy, and paste:

enter image description here

Alternatively, if you want to keep the default settings yet paste unformatted text occasionally, you may use Ctrl+v, Ctrl, t. (Note: this is NOT Ctrl+t.)

For Excel you may paste unformatted text with Ctrl+v, Ctrl, m.

zylstra

Posted 2009-07-23T18:17:19.887

Reputation: 2 951

3

Using an app like ClipMate, which is a clipboard manager (& commerical app), you can press the Win + W keys together to clear the formatting of whatever is currently on the clipboard, making it plain text.

Pauk

Posted 2009-07-23T18:17:19.887

Reputation: 924

3

When pasting to Word (probably works in other Office applications as well) you can use Ctrl+Alt+V and then just arrow down to Unformatted Text or Unformatted Unicode Text and press enter. It is the same as going to Paste Special in the menu, but a lot faster :)

Svish

Posted 2009-07-23T18:17:19.887

Reputation: 27 731

2

On Windows in most Microsoft Office applications, the fastest way is to hit Ctrl + Alt + V and once the the dialog pops up hit U then Enter. This selects the Unformatted Text option in the dialog.

Trey Copeland

Posted 2009-07-23T18:17:19.887

Reputation: 133

2

Having checked annoyances.org and a couple more places the consensus I found was that there are no registry tweaks regarding Windows Clipboard behavior. I did find another freeware tool (ArsClip) that can do what you're looking for.

dlamblin

Posted 2009-07-23T18:17:19.887

Reputation: 9 293

1

I'm fond of ClipX - it gives you multiple clipboards, and if you paste text using ClipX, it's been flattened to plain text.

So, you can copy normally, but if you want paste plain text, you hit ctrl-shif-V instead of ctrl-V, and then select the first item to paste it plain. It's free, and it's system wide, so it's about 75% or more of what you want.

Michael Kohne

Posted 2009-07-23T18:17:19.887

Reputation: 3 808

1

I share your problem. Frustrating, isn't it?

I use [this guide][1] to prepare a visual basic macro and define a shortcut key.

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

--> This has also been my preferred solution. My VBA Makro is this:

Sub PastePlainText()
    Selection.PasteAndFormat wdFormatPlainText
End Sub

I attached it to the shortcut Ctrl+Alt+V. It works perfectly throughout all Word/Office version that I've been using for more than 10 years now.

HooNose

Posted 2009-07-23T18:17:19.887

Reputation: 11