在emacs里面有逻辑行和屏幕行两个概念,有时候在网上复制一段很长的逻辑行,这时候我的emacs默认是开启truncate-line-mode,也就是超出屏幕后面的不显示,例如下面这张图,后面的没显示
后来开启了visual-line-mode,也就是所谓的自动折行模式,这时候的确是能够根据界面的宽度自动折行了,如下图 但是我发现这个模式下仅仅是在显示上进行了折行,整体还是当作一行来看待,也就是并没有在屏幕行的结尾自动换行,导致行号还是1行,但我想要的是显示成5行而不是1行,这样方便我对每一行进行操作,现在的情况下我不能使用类似快捷键j进行下移一行的操作,因为这样一下就跑到下一个逻辑行了。这个问题怎么解决呢,试了auto-fill-mode 也没有任何的效果,希望有人能帮忙解答,难受死了谢谢回复,这帖子我看了,有点逗的是他想要实现的操作就是我现在的默认操作,例如我现在上移一个屏幕行需要按gk,按k的话会直接移动到上一个逻辑行的开头,这样操作有些别扭,其实主要的问题在于当我想要修改文件中的某一句话,而这句话又属于一个很长的逻辑行,我现在就无法直观的通过行数进行定位,只能先定位到逻辑行对应的行号,再进行调整,这样就很不方便,我觉得合理的行号应该是按照屏幕行来标注吧,也就是按照我屏幕的宽度实际几行就标第几行,所见即所得,这样能实现么
试试aggressive fill paragraph 吧,我知道那个包不完美,但是它是我知道的最接近楼主想要的效果的包了。我一直在orgmode下用那个包,感觉还不错。
1 个赞
谢啦 我去试试看
打开了auto-fill-mode
要按下M-q
才会重排段落的每行字数。当然,这个每行字数是可以自己设定的。
试了居然可以,感谢感谢,萌新要学的东西还很多啊哈哈
嗯 看来还是要仔细看官方文档啊,下的功夫还不够,感谢
根据window-width来hack一下上下键绑定就可以啦😊
truncate off
+ visual-line-mode
遇到中英混排还是不完美,我还是先M-q
吧。