【问题标题】:Emacs tramp, version control and toggle-read-onlyEmacs tramp、版本控制和只读切换
【发布时间】:2014-01-20 16:29:58
【问题描述】:

在远程 RCS 控制的文件上使用 emacs 24 w/tramp 时,切换只读函数 (^X^Q) 不会发出通常的“此文件受版本控制,等等,等等”。相反,它会在签出文件的情况下翻转只读权限。这是灾难性的,因为下一次结帐将覆盖更改等。

如何获得标准行为? 干杯, 阿尔夫

编辑我试过了

(global-set-key "\C-x\C-q" 'vc-toggle-read-only)

这并没有真正解决问题(所需的行为已被删除)。

澄清一下:我希望在编辑远程文件时收到版本控制警告 - 我目前什么都没有。

【问题讨论】:

  • 投票重启,因为 Emacs 和 RCS 绝对是 help center 中提到的“程序员常用的软件工具”。
  • 投票重新开放。不出所料,SuperUser 中没有人非常喜欢 emacs/RCS,AFAIK 主要是程序员的工具。
  • 请回滚您的编辑并将解决方案发布一个答案并接受它。这样一来,这个问题就不再是悬而未决的了。谢谢。

标签: emacs emacs24


【解决方案1】:

您可以键入 C-x v v 来签出文件。

如果您想继续使用 C-x C-q,请遵循 NEWS.22 文件中的建议:

键 C-x C-q 只改变缓冲区的只读状态 (切换只读)。它不再签入或签出文件。

我们进行此更改是因为我们进行了一次民意调查,发现很多用户 对以前的行为不满意。如果你喜欢这个 行为,您可以将vc-toggle-read-only 绑定到C-x C-q .emacs文件:

(global-set-key "\C-x\C-q" 'vc-toggle-read-only)

函数vc-toggle-read-only将继续存在。

【讨论】:

  • 不是我的抱怨。我在编辑 under tramp 时遇到的问题。在那种情况下 ^X^Q 翻转 RO 标志/权限并且什么也不说。我知道我应该使用 ^Xvv,但是 ^X^Q 是硬连线的并且经常发生:如果文件是本地文件,我会收到警告,如果是远程文件,我会收到 bubke - 我总是想要警告。您建议的修复似乎没有这样做 - @least,不是在流浪汉下。
  • 现在这个行为似乎已经被移除了。在 Emacs 24.1 中,vc-toggle-read-only 变成了 toggle-read-only 的过时别名;而在 Emacs 24.3 中,后者被制作为 read-only-mode 的过时别名。我不知道旧行为在当前版本中是否存在。您可能需要获取旧函数(应该存在于 Emacs 23 中)的副本,并将其添加到您的 init 文件中。
【解决方案2】:

我按照上面的phils 建议,提取了 vc-toogle-readonly 的副本,将其重命名以避免冲突,将其放入 site-lisp,字节编译它,然后从 .emacs 加载它: (加载库“旧切换只读”) (global-set-key "\C-x\C-q" 'old-toggle-read-only)

很有魅力。

【讨论】:

    猜你喜欢
    • 2018-10-17
    • 1970-01-01
    • 1970-01-01
    • 2013-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-25
    相关资源
    最近更新 更多