阻止emacs在一个80列终端中包装80列行?
在一个80列宽的终端中,emacs包裹了80列行,在第80列中放了一个反斜杠。有没有办法告诉emacs使用我终端的所有80列,在它们达到81个字符之前不要换行?我认为这在一般情况下是不可行的,因为emacs至少需要一个字符来指示行在下一行继续(换行),尽管我不确定,因为emacs有很多选项。。。您可以在“选项”菜单(或键盘)中选择“换行(可视行模式)”: M-x可视线调制解调器阻止emacs在一个80列终端中包装80列行?,emacs,terminal,line,word-wrap,Emacs,Terminal,Line,Word Wrap,在一个80列宽的终端中,emacs包裹了80列行,在第80列中放了一个反斜杠。有没有办法告诉emacs使用我终端的所有80列,在它们达到81个字符之前不要换行?我认为这在一般情况下是不可行的,因为emacs至少需要一个字符来指示行在下一行继续(换行),尽管我不确定,因为emacs有很多选项。。。您可以在“选项”菜单(或键盘)中选择“换行(可视行模式)”: M-x可视线调制解调器 这使得流程更加自然,不会显示(至少在文本模式下)换行指示。如果我正确理解这个问题,这与逻辑线无关 换行(如何在文件中分
这使得流程更加自然,不会显示(至少在文本模式下)换行指示。如果我正确理解这个问题,这与逻辑线无关 换行(如何在文件中分割行),但关于视觉换行 (线条相对于窗口宽度的显示方式)
- 如果您只想在显示之前直观地换行超过零个字符
窗口边界,因此避免在任何地方使用反斜杠,无论您的逻辑行实际有多长,都可以使用
:
与视觉线条模式不同,长线模式在填充列(请参见填充命令)而不是窗口右边缘打断长线。要启用长线模式,请键入M-x长线模式。如果文本中充满了长行,这也会立即“包装”它们
然后,只需使用
全局设置(
),但您可能希望使用 特定模式(适用于特定情况),本地设置(文件 变量,dir局部变量)或C-u 79 C-uC-x f将变量.emacs
填充列
设置为79。这边,第79行 字符或更高的字符将自动换行,但在接触字符的右边缘之前 80字符窗口(因此永远不会留下难看的反斜杠字符)。你的 文件将保持不变
- 如果您只是不希望在80个字符行上出现可视换行,因此不希望第80个逻辑字符显示在第一个逻辑字符下面,那么有两个
可能的答案:
- 要么你在一个不需要包装的环境中工作 逻辑上在80个字符或之前,并且您希望看到 屏幕上的81+行(即,您确实需要视觉环绕,但在窗口宽度上方有许多字符),那么我不知道该怎么做 它
- 或者,您希望在逻辑上将行停止在80个字符(例如,您
有自动填充和填充列在80),如果你碰巧有
行81个字符或更多,你不在乎看到他们的结局。
在这种情况下,激活(
)切换截断行
- 如果问题是关于窗口的最后一个字符,而您真正想要的是在窗口的第80个可视字符上显示行的第80个逻辑字符,那么,恐怕我不知道如何显示。要么截断行(如上所述),窗口的最后一个字符将是$,要么让,最后一个字符将是反斜杠
请注意,在测试时,自动填充的换行(也包括长线模式,因为它是其视觉等价物)将仅出现在单词边界处。一个选项是将换行设置为81,而不是80
M-x set-fill-column RET 81
另一种选择,也许是最好的选择,是将变量溢出换行符定义为t。手动尝试此操作一次:
M-x set-variable RET overflow-newline-into-fringe RET t
默认情况下,可以设置这两个选项中的任何一个。您可以通过M-x customize
或编辑.emacs文件来实现这一点。如果需要帮助,请再次发布
顺便问一下,您是在图形环境还是终端环境中使用emacs?在图形环境中,如果我有长线,我通常只会将窗口变大。或者我可以用水平滚动条打开行截断
后来添加 添加了以终端模式运行emacs的信息后,您发现这些选项都不起作用。我尝试了一个在putty中运行emacs的例子,在这里我可以更改窗口的大小,emacs会立即选择它。因此,我可以将大小调整为81列,并且我的80列行在不继续的情况下保持不变。我不确定您用TMUX分配了哪一个术语值,但是您可以考虑创建支持81列的自定义终端类型(TelMCAP或TeNFO)。我只看了tmux一眼,但我注意到可以在终端内调整窗格的大小
现在,出于好奇,您使用tmux的主要动机是什么?我认为简历的能力是很有价值的。然而,我会发现其他功能并没有那么有用,因为在X-Window环境中,打开更多的终端非常便宜和容易,或者如果我使用putty,我可以创建更多的终端。至于使用emacs,无论我是在X-Window还是MS-Windows下运行,我只需要创建任意数量的帧,并且可以非常轻松地使用它。那么,还有什么让你对使用tmux感兴趣的吗?在前面的回答六年后,我仍然使用的解决方法是使用81个字符宽的窗口
不幸的是,由于邪恶的边缘角色,80个宽窗口无法“正确”包裹。Emacs要求最后一个(边缘)字符独占使用最后一列。这是一个可选的边缘字符,其参数不明确。我梦想有一天,有人会提交一个补丁,使边缘字符成为可选的,也许会用背景色解决模糊性。set fill column没有我想要的效果。它控制M-q的行为,而不是窗口的可视环绕行为。将换行符溢出到边缘听起来像是我想要的,但在终端中运行时似乎没有任何效果,这就是我运行emacs(利用tmux)的方式。我使用tmux,以便通过ssh连接到我在本地计算机上打开的同一组终端