https://lists.gnu.org/archive/html/emacs-devel/2017-06/msg00318.html
开了几千行的PHP文件, 发现编辑起来很慢, 原本用的nlinum-mode , 突然发现有个display-line-numbers-mode, 试了下, 居然快了很多 再google 了下相关新闻, 分享给大家
https://lists.gnu.org/archive/html/emacs-devel/2017-06/msg00318.html
开了几千行的PHP文件, 发现编辑起来很慢, 原本用的nlinum-mode , 突然发现有个display-line-numbers-mode, 试了下, 居然快了很多 再google 了下相关新闻, 分享给大家
想想这功能都出来了快一年了。 Emacs 26 还没正式出来。
和vsc哪個快?
这个功能有Bug,可配置性不如nlinum
用了几个月了,感觉没啥问题,挺问题,速度也快很多。
链接里的这个问题是可以通过 emacs -Q 复现的啊
;;; 不管设置什么,都有一个多余的空格,应该是 display-line-numbers-width 的计算方式有点问题
;; (setq display-line-numbers-grow-only t)
;; (setq-default display-line-numbers-widen t)
;; (setq-default display-line-numbers-width 1)
(global-display-line-numbers-mode +1)
此外,相比 nlinum,还有一点不足是,不能捕捉点击事件了,我之前也有过类似的问题。这意味着不能再模拟其他编辑器的点击行号折叠代码了
这个问题我还真没注意,不知道是故意这样还是bug。
[left-margin mouse-1]
事件应该还没有实现,display-line-numers-mode
算是比较新的package,主要是为了解决效率问题,功能还不完善。问下,你的鼠标点击margin折叠代码是怎么实现的?一直没有找到好用的代码折叠实现,有时候甚至觉得没有必要,直接上outline或者imenu解决。
以前的 nlinum 是直接在 left-margin 里的,直接捕捉 [left-margin mouse-1] 事件到 hideshow 就好了,现在的display-line-numbers 没有用到 left-margin
I don’t think we can ignore this tendency any longer, even if we agree that this is a disease.
(From Native display of line numbers )
这里说emacs中不需要
“move down N lines, then DO SOMETHING”
为什么?“正确的”做法是?用avy?avy也不是内置的呀
C-s incremental search
不知道为什麼 ffmpeg 做出的 gif 都很糟。
nlinum 之前好像也用过, 但是感觉还是line number 快点, 用着没发现bug
用的emacs-mac 版本
emacs-mac更新了之后试了一下,关于几个line number的mode有点疑问:
linum-mode
是内置的老的mode,display-line-numbers-mode
是26新加的,nlinum-mode
是elpa上的,这些都没错?simple.el
里还有个line-number-mode
是干什么的?edit: 啊没好好看文档,根据 @netjune 的解答又看了一眼:
Toggle line number display in the mode line (Line Number mode).
控制mode-line上那个行列数字中的行
用了 Native display of line numbers,发现左边这拦非常宽,大概是4个字符,即使行号只有个位数,也是4个字符宽度,这个怎么调整?
看我提到的链接.
其中,display-line-numbers 的作者 eli 说
No, one leading and one trailing space cannot be removed.
前后会空一个字符,但是会根据行号长度缩短的,如果是spacemacs的话,spacemacs develop设为至少4个字符了,(setq-default display-line-numbers-width nil)
一下
感谢
话说这个setq 和 setq-default 有什么差异?