Windows Emacs 可以支持文本拖动复制粘贴吗?

浏览器上的文本用鼠标选中之后可以直接拖动,我拖动到 notepad++ 和某聊天软件输入框都没有问题,但拖动到windows emacs里面不行,复制粘贴不过去。

大家也许会奇怪,为什么要用鼠标拖,用快捷键复制粘贴不好吗?因为用的是某大厂的在线文档(电子表格),而文档的所有者关闭了文档的复制粘贴功能(偏偏又要复制很多东西),鼠标可选中文本但用快捷键复制不了,要么按F12从dom树里找到文本复制,要么就是鼠标选中拖动。

emacs gui有计划对这个功能的支持吗?

浏览器插件解锁复制功能是不是更简单?

1 个赞

Windows 暂时不支持(主要因为我不懂 OLE 和 COM),当然,上游非常欢迎补丁

2 个赞

bing找了一下,你指的是 Enable Copy吗?我装上了,但好像没有效果,如下图

我直接在浏览器控制台里输入 document.execCommand('copy');也没有效果,在单元格输入框那里可以选中文本,需要一个单元格一个单元格的选中拖。

我用的油猴插件,不确定对你这个网站是否起作用。插件应该也有类似的。

1 个赞

Emacs 29 支持了跨应用程序的鼠标拖拽文本和文件……

参考

  • mouse-drag-and-drop-region-cross-program
  • mouse-drag-mode-line-buffer

我在看 emacs-news 的时候在想会不会有人问这个问题,搜了一下果然有,所以回答一下留个记录,万一有人需要

2 个赞

emacs29是支持了,但windows版本还不支持,标题应该改改 ,把windows这个词加上,更符合贴子内容,但我也编辑不了,贴子发出一段时间后就没权限了,只能劳烦管理员了

更新: @twlz0ne 已经改好了

标题改成什么?

我设置了 (setq-default mouse-drag-and-drop-region t) ,这个在windows emacs内确实可以实现文本拖动复制粘贴,但只是emacs内,两个buffer之间可以拖动,两个frame之间也可以拖动文本,但是要先按一下alt+tab再拖才可以,窗口不会自动切换,拖到emacs之外的其它程序窗口中就不行,其它程序也拖不进来。

emacs内部窗口中可以拖动了,拖到emacs窗口之外的应该程序里面应该也是有望实现的

过了两三月了,来更新下。

这个emacs内部拖动还是好用的,至少我还没有遇到过拖动过程中emacs卡死的情况,相对于其它编辑器一个问题是其它编辑器拖的时候到窗口边缘时窗口里的内容会上下移动,从而更精确的拉到指定位置。

而emacs拖动的时候buffer固定不动,不能上下移动露出未显示的地方,我尝试拖的时候另一只手按ctrl+v,alt+v,除了把拖动中断外没效果

我主要在 org-mode 里面拖,很内容都是折叠的,如果能拖到某个org标题上时,折叠内容自动展开,精确的拉到指定位置,体验就应该和在浏览器里接近了,可惜还不能做到