实用:请教怎样用 emacs 来编辑论坛的帖子

chrome本来是指代浏览器内部元件的术语,被谷歌拿来作为浏览器的名字了。

没大看明白你们说的。我现在用的是windows7,spacemacs,我要通过什么方法来编辑论坛的帖子啊? 是不是github上面的帖子也可以编辑啊?

  1. 浏览器安装上面提到的、任意一款,在不用鼠标和触摸板的情况下能完成操作的扩展:

    • 打开页面上的链接
    • 选择页面上文字 我用的是 vimium,为什么不用更强大的?习惯难改
  2. Emacs 端可选用 edit-server 或 atomic-chrome

    我用的是 edit-server

配置方法&优缺点,前面大家的回复都有提到。

只要有 <textarea> 地方就能用,这篇回复就是完全 mouse-less、在 emacs 上编辑的,包括选中并引用你的文字。

如果你不坚持 mouse-less, 忽略第1点。1、2 其实没什么必然关联。

更实用的体验是在线修改repo里的文件

谢谢你的回答。 很抱歉我说的不大明白。我用过keysnail, pen, vimporator, vimium等一些工具,它们都挺好用的,现在用firefox+vimfx。我不完全用键盘,够用了。

直接用Emacs编辑的话就太方便了。我想知道firefox的插件,看上面的那些都是chrome的插件啊,我电脑上有chrome,但是不经常用。

atomic-chrome 可以配合 firefox 插件 ghost text 使用。

1 个赞

可以了。在Emacs里安装package: atomic-chrome,然后在Chrome和Firefox里分别安装插件就可以了。挺方便的。Chrome: atomic chrome; Firefox: GhostText.

这里 Grep 的正则表达式好像有问题,ERE 中 ( 本身就是分组,如果 literal 的话,escape 一次就行?

~$ lsof -i :64292 | grep -E '\\(LISTEN\\)$'
~$ lsof -i :64292 | grep -E '\(LISTEN\)$'
Emacs   67526  xcy   38u  IPv4 0x3e7b015e5cf36901      0t0  TCP localhost:64292 (LISTEN)

命令放在字符串里会被先转义一次,效果跟直接 bash 执行不同:

(shell-command-to-string "lsof -i :1080 | grep -oE '\(LISTEN\)'") ;; => LISTEN
(shell-command-to-string "lsof -i :1080 | grep -oE '\\(LISTEN\\)'") ;; => (LISTEN)

噢,之前没注意,直接复制粘贴到终端里了。

不清楚 Windows 上有没有类似的解决方案。刚刚意识到 Windows 上没有 lsof

netstat?

1 个赞

什么意思?看不懂。Windows上也可以用啊,就是有的时候会报错。

可以啊, 比如用命令 netstat -aon | grep 64292

(defun chunyang-atomic-chrome-server-running-p ()
  (cond ((executable-find "lsof")
         (zerop (call-process "lsof" nil nil nil "-i" ":64292")))
        ((executable-find "netstat")
         (zerop (call-process-shell-command "netstat -aon | grep 64292")))))

在markdown-mode下与orgtbl C-c C-c按键冲突,需要解绑..

    ;; fix C-c C-c confict with atomic-chrome
    (with-eval-after-load 'orgtbl-mode
      (define-key orgtbl-mode-map (kbd "C-c C-c") nil))

editor-server 突然不能用了,每次都是 failed to start edit-server

更新 Arch Linux 系统后又恢复了,之前只是单独升级了 emacs 到 25.3。可能是某些依赖包没有更新造成的。

用ghost text / atomic-chorme + atomic-chrome emacs package吧

今天终于也来用上了,谈谈使用感受。

edit-with-emacs README 有点简陋,只讲了如何安装,竟然不讲如何使用;一开始我以为是像 atomic-server 那样点击扩展图标触发在 Emacs 中编辑的,最后才发现是右键选中菜单触发的。然后虽然可以在 Emacs 中编辑了,但是 C-c C-c 之后没有把文本同步到浏览器中,不知道为何,测试失败!

atomic chrome README 比较友好,有讲到如何使用, Emacs 包安装方式差不多;但是 Chrome 的 atomic-server 扩展不知道为何被下掉了,目前 404 中。还好还有 GhostText 可以替代,成功用上了。

目前edit-with-emacs的repo已无人维护,Chrome的插件链接也失效,能用的只剩atomic-chrome+GhostText了。

我把GhostText的快捷键设置为Ctrl+e,然后配置了

(setq atomic-chrome-buffer-open-style 'frame)

(use-package sis
  :hook
  (atomic-chrome-edit-mode . sis-set-other)
  )

这样在输入框出现的地方按下Ctrl+e,emacs会自动开启一个新窗口并自动切换焦点、切换到中文输入法以备输入。

由于我平常不关emacs,所以并未遇见创建frame的启动问题。

最后推荐一下SurfingKeys这个插件,功能强大,配合GhostText替代内置的编辑器体验更佳。

2 个赞