tongbu.el - 在手机和电脑间同步文字、文件

大家平时手机给电脑传文件用什么工具? 继续讨论:

今天中文需要把一个很长的链接从电脑发到手机,联想到👆的帖子,写了个 Emacs 包 tongbu.el (同步),M-x tongbu 启动一个 web 服务,在手机和电脑之间通过浏览器分享文字和文件,下图中:

  • textarea 用来分享文字,点击 Save 保存到服务器
  • 文件按钮用来上传文件到服务器所在的电脑
  • 最后的列表表示目录下的文件,点击文件以下载,点击目录访问目录。

缺点就是不能直接从电脑往手机上发文件。

4 个赞

有意思,做成一个单独的包就方便多了。赞!

样式不好看,而且 textarea 标签居然不会自动适应内容高度,不用 JS 的话(因为不会),貌似只能从服务器端(那就是 Emacs Lisp)计算行数,然后设置 rows 属性,有点麻烦。

用div配合contentEditable

1 个赞

发现 Emacs 写 web 服务的一个好处是不用不断重启服务器,改了代码 C-x C-e 就 OK 了,意料之外的优点。

2 个赞

我常用这个,不用跳到最后的函数 `C-M-x’ .

(defun eval-defun (edebug-it)

CL著名的不关服升级/不关服debug

我也常用 C-M-x,不止 defun,别的 defvar defcustom defclass 等也行,貌似 Emacs 中的函数有时就是指 top-level。

噢,支持 REPL 并且允许覆盖函数定义的或许都行

> func index() => "hello"
> start_server_async()
> func index() => "world"
>

我一般直接eval-buffer。这样除了defvar要单独eval-defun以外,其他的toplevel form全都自动eval了。

CLOS还允许动态改class定义。

我感觉因为是:

  • 设定的场景就是textarea是固定大小的方框给用户输入,至于最后会输入多少不清楚,随便用户,多了就可以滚动,但textarea大小不变,不影响页面布局。
  • 而展示的时候一小段话再滚动就不好了,要一下全显示出来,那就不该用textarea,用div/p之类的。

通常会用div/p显示,旁边放个编辑按钮,点了就把这段变成个textarea来编辑,再比如discourse是和写新回复一样从下面冒个框出来

1 个赞