org-return
会根据光标所在位置的内容决定调用什么命令,在表格中则调用了 org-table-next-row
或 (insert "\n")
命令,所以会跳到下一行或新建一行。
最直接的办法是写一个 advice 函数,找到 org-return
有关表格部分的代码,加一个判断:如果当前光标下是合法的链接,则直接调用 org-open-at-point
命令打开链接,否则保持原来的行为。
org-return
会根据光标所在位置的内容决定调用什么命令,在表格中则调用了 org-table-next-row
或 (insert "\n")
命令,所以会跳到下一行或新建一行。
最直接的办法是写一个 advice 函数,找到 org-return
有关表格部分的代码,加一个判断:如果当前光标下是合法的链接,则直接调用 org-open-at-point
命令打开链接,否则保持原来的行为。
把这两大段的位置换一下,((and org-return-follows-link
放在 ((or (and (eq 'table (org-element-type context))
的前面,可以解决这个问题,但这样直接改了org.el文件。
如果想不改org.el文件,是不是就要写一个 advice 函数,找到 org-return 有关表格部分的代码,加一个判断
, 这个advice函数不知道怎么写,这个写起来复杂吗
过了那么久,这个问题终于解决了,办法是用 自定义链接快键键, 如果这个设置 (setq org-return-follows-link t)
能生效当然更好,再次感谢 @owensys 的提醒
(org-link-set-parameters
"elisp"
:keymap (let ((map (copy-keymap org-mouse-map)))
(define-key map (kbd "<return>") 'org-open-at-point)
map))
对sql语句加入了排序方式判断if(isset($_GET["order"])){ }
,文章列表页默认按时间排序,可以切换成按标题排序
我终于在手机上以web的方式使用org-mode了(android termux),手机端emacs配置文件太难写了,但仅就org-mode的效果而言,体验感觉不错。
从上图可以看到中英文字体等宽对齐,但我手机上的emacs没有装任何插件,也没有做这方面的配置。
相当于在终端里使用 Emacs,一直以来终端里的 Emacs 显示中文都是正常的。只是换到 GUI 版下,中文显示就不正常。之前陈斌提过这个问题,他说他一直没有意识到 Emacs 的中文显示问题,因为他一直是在终端下使用 Emacs 的。
感觉termux里的emacs很给力啊,除了手机触摸键盘不好用,但文本复制粘贴可以不使用键盘,不使用快捷键,像手机上编辑短信一样手指长按选择,用两根手指放大缩小emacs也很顺滑,这并不是放大缩小字体,以至于我完全没有在使用终端的感觉。应该是因为windows下终端里的emacs太难用了
终端在显示中文英文的时候做过处理保证对齐,代价是中文字体左右两边会有间隔
Android 的终端,应该就是 Linux 的终端了吧……果然 Emacs 还是在 Linux 下才好用……其它系统的兼容性太差
我在手机上输出(message "%s"system-type)
看了,在termux里显示的就是gnu/linux
,感觉android也可以算是一个linux发行版了(一个不提供root还禁止用户自己root的发行版)
Google 原生应该是可以 Root 的,但国内手机厂商的大多不给 Root
我还是比较好奇你现在的这种 org 的使用方式怎么样了,已经可以发点配置和代码来看看了么?
现在也可以用,但还有不少问题也没有时间精力去解决…
我直接发代码出来因为有些混乱大多数人也看不懂怎么用,等我过几天有空把相关内容整理做个总结,写个使用说明出来
按原计划做成 在线网站 发布,然而难度超出预期,短期内估计完不成,还有很多bug,目前emacs端代码已发布到 github,欢迎来参观
这里服务器端不应该用ip,应该用域名的,然后我的 域名出了问题 还没解决,只能先用ip
前两天发现我的org-mode里的链接多出了删除线(如上图),奇怪是那里弄出来的,emacs -q试了还是如此,继续排查找出了原因,但我也不清楚这是bug呢,还是就是怎么设计的,先记录下来,也许有人也会遇到这个问题。
起因是标题那里我随手乱写,按出了"---- ----",然后生成链接时会把标题作url编码,url里的空格会编码成+号,生成的链接是这样的:[[elisp:(orgcms-load "http://localhost/org?api=save-post&title=----+----&a=notice&from=dev" 1)][保存修改]] [[elisp:(orgcms-load "http://localhost/org?api=del&title=----+----&a=notice&from=dev" 1)][删除(不能恢复)]]
按照org-mode的规则两个+号之间的内容会显示下划线,所以下划线就出现了,但以前链接里也有空格转码成的+号,就没出现,所以链接里的+号还要和-号配合才会出现下划线。
我把标题名换了一下不要在两个-的中间加空格,这个下划线就没有了
今天发现只要笔记中有emoji符号如“”保存就失败,而mysql数据库编码类型设置了urf8mb4,直接执行sql语句也没有问题,在org-mode中就不行.
问chatGPT说:PHP处理结果字符集未设置为utf8mb4,加上“$pdo->exec(“SET NAMES utf8mb4”);”后果然没问题了。
因为我sqlite和mysql同时在使用,用相近的表结构,相同的api,sqlite从不设置字符集编码类型,也不设PHP处理结果字符集编码类型,就可以正常记录显示emoji符号,就以为mysql也不需要。
chatGPT确实节省了我很多时间,否则我不可能那么快修复这个问题
建议换 PostgreSQL
如果将来这个项目的服务器端也开源发布,会考虑换PostgreSQL
的,现在只是自用感觉没动力换,其实mysql我还在用多年前的老版本5.7,好多年没更新过了