我可以默认粘贴纯文本吗?


56

我定期在电子表格,电子邮件,浏览器窗口等之间复制和粘贴文本。想保留源文本的格式时,我想不到一次。

我已经知道以下解决方法:

  • 使用“编辑”→“特殊粘贴”→“未格式化的文本”
  • 粘贴到记事本并从那里复制
  • 安装一个接管剪贴板的程序

我要告诉Windows默认情况下执行此操作。

这可能吗?


3
+1,这在工作中使用Outlook时也让我感到烦恼
Jonik,2009年

原谅我,但我认为这是XP的默认值...
RCIX

具有“复制”和“特殊复制”;但似乎只有“粘贴”才是解决方案。史蒂文·西诺夫斯基,听吗?
Lakshman Prasad

2
几周前,我发现越来越多的浏览器支持CTRL-SHIFT-V粘贴非格式文本。当我在Gmail中将文本粘贴到电子邮件中时,这很有帮助!
Shalom Craimer 2011年

Answers:


25

抱歉不行。我相信这是设计使然。

问题是Windows剪贴板不必存储数据。它实际上是一个票据交换所,任何应用程序都可以列出刚刚复制(或剪切)的数据,并将其提供给要粘贴的任何应用程序(包括其本身)。剪贴板包含可用数据的格式列表,如果应用程序选择这样做,则数据本身采用其中某些格式。

然后,处理粘贴操作的应用程序可以选择最适合它的数据格式。某些应用程序(例如记事本)将仅接受一种特定格式(例如纯文本),如果该格式不可用,则不执行任何操作。其他默认情况下会选择一种首选格式,但是提供了一个UI,供用户在该应用程序可以理解的替代方案中进行选择。

原则上可以编写一个程序,监视剪贴板中的新内容并将所有非文本内容展平为纯文本。有一个事件可用来通知这样的监视器剪贴板上的新内容。但是,我怀疑实现这样的事情会破坏很多程序,并且可能以令人惊讶的方式破坏程序。

在普通XP中,一种简单的解决方法是使用记事本在需要时展平数据,或者使用许多工具来实现剪贴板,这些工具可通过实现堆栈,提供其内容的视图来改进剪贴板等。

如果您想尝试建立自己的工具,可能会受益于这个问题上的SO,及其相关问题....


谢谢-这似乎是我问题最直接,最完整的答案。我也赞成对我来说不错的解决方法。
内森·朗2009年

感谢您对剪贴板工作原理的出色解释,我有点猜测它可以像这样工作,但从未100%理解它。
DisgruntledGoat

感谢RBerteig!那是对现状的有益解释。
Ashwin Nanjappa,09年

29

这是一个相当不错的折衷方案:PureText

PureText屏幕截图

这可能不是您所问问题的直接答案,但这可能对其他人使用您的问题更通用。


谢谢你的建议。同时,我仍在寻找更改默认设置的方法。有人知道吗?
内森·朗2009年

我已经运行了这个应用多年。它晃动。
Christopher_G_Lewis,2009年

警惕,这是一个可以在您的系统上执行任何操作的已编译程序。源代码在哪里?
乔纳斯·斯坦

当然,您可以对Windows本身说同样的话。
斯科特,

12

默认情况下没有方法可以执行此操作,但是如果有一些黑客,我们可以解决此问题。

你会需要:

使用以下代码创建一个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方法显示在下面网址的“粘贴为纯文本”中。这是快速的,因为AHK本身正在进行展平。它不依赖于其他程序。我曾经使用过PureText,但我喜欢将这些内容放入已经运行的AHK脚本中。superuser.com/questions/7271/most-useful-autohotkey-scripts/...
piyo

6

我也一直遇到这个问题。除了使用/编写程序来剥离多余的格式,我发现剥离格式的最简单方法是将文本粘贴到“运行”窗口(可通过WIN+ 到达R)并从那里重新复制。

因此,我最终很快就完成了此操作:CTRL+ CWIN+ RCTRL+ VSHIFT+ HOMECTRL+ CALT+ TABCTRL+ V-我不禁怀疑现在是否已经执行了太长时间了...

不过,仅适用于单行文本。


5

我无法为您提供简单的解决方案,但与其他解决方案一样,我将为您提供解决方法:

第一个选项的快捷方式是使用Ctrl+ Alt+ 而不使用鼠标v弹出“ 选择性粘贴”对话框。键入u跳到“ 无格式Unicode文本”条目(或u u进入非Unicode版本),然后Enter为您完成此操作。不完美,但内置。



3

使用剪贴板管理器(和商业应用程序)之类的ClipMate这样的应用程序,您可以一起按Win+ W键清除剪贴板上当前内容的格式,使其纯文本格式。


3

粘贴到Word时(可能也可以在其他Office应用程序中使用),您可以使用Ctrl+ Alt+ V,然后仅向下箭头导航至“未格式化的文本”或“未格式化的Unicode文本”,然后按Enter。它是一样要在菜单中粘贴特殊,但很多快:)


3

这不是Windows功能,而是您要粘贴的应用程序的功能。

对于MS Word,通过文件->选项->高级->剪切,复制和粘贴来设置默认值:

在此处输入图片说明

另外,如果你想保持默认设置,但粘贴无格式文本偶尔,你可以使用Ctrl+ vCtrlt。(注意:这不是NOT Ctrl+ t。)

对于Excel中您可以粘贴无格式的文本与Ctrl+ vCtrlm



2

在Windows上大多数Microsoft Office应用程序中,最快的方法是点击Ctrl+ Alt+ VU然后弹出对话框,然后点击Enter。这将在对话框中选择“无格式文本”选项。


1

我喜欢ClipX-它为您提供了多个剪贴板,并且如果您使用ClipX粘贴文本,则将其展平为纯文本。

因此,您可以正常复制,但是如果要粘贴纯文本,请按ctrl-shif-V而不是ctrl-V,然后选择第一个项目以纯文本粘贴。它是免费的,而且是系统范围的,因此大约是您想要的75%或更多。


1

我分享你的问题。令人沮丧,不是吗?

我使用[本指南] [1]准备一个可视的基本宏并定义一个快捷键。

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

->这也是我的首选解决方案。我的VBA Makro是这样的:

Sub PastePlainText()
    Selection.PasteAndFormat wdFormatPlainText
End Sub

我将其附加到快捷键Ctrl + Alt + V。它在我已经使用了10多年的所有Word / Office版本中都可以完美运行。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.