在文本换行方面,如何使 nano 像 vi 一样工作?

在文本换行方面,如何使 nano 像 vi 一样工作?

使用 vi 和长行时,文本会换行,但 vi 不会在行尾插入 CR/LF。使用 nano,如果我开始打字并且行变得太长,它会在行尾插入 CR/LF。

当涉及到此功能时,如何使 nano 表现得像 vi 一样?

答案1

~/.nanorc一般在或 处打开nanoc /etc/nanorc,注释掉该行

set nowrap

并取消注释行

set softwrap

答案2

nano 和 vi(大多数实现)都有一个可选的换行功能,当行长超过一定长度时,它们会用换行符来替换之前的空格。当光标不在行尾时,它们的行为有所不同,但本质上是相同的功能。

要在 nano 中禁用此功能,Alt+L。在 nvi 中,将wraplen和设置wrapmagin为 0 ( :set wl=0 wm=0)。

Vim 还具有许多更高级的包装功能,而 nano 没有与之相当的功能。

如果一行对于终端来说太宽,vi 会显示它被终端包裹。 Nano 没有,你需要左右滚动。如果这就是您所说的“像 vi 一样行事”的意思,那么您就不走运了。

1不是 CR/LF。 CR/LF 是 Windows 上换行符的编码。在 Unix 上,换行符被编码为 LF。

答案3

https://askubuntu.com/questions/13317/how-to-stop-gedit-gvim-vim-nano-from-adding-end-of-file-newline-char

@Marco Ceppi 回答:

Nano 安装 Nano 更容易一些。您可以使用 -L 标志(如果您更喜欢视觉类型,则可以使用 --nonewlines )启动 nano。这将禁用自动将换行符添加到文件末尾(只要未实际输入换行符)。理想情况下,您可以在 ~/.bashrc 中设置此别名:alias nanon=nano -L 这将启动 Nano,其中不包含换行符标志。

答案4

可以在 中设置默认值~/.nanorc。但nano 1、nano 2、nano 3的配置都略有不同。

论纳米1,您只有set nowrap禁用的设置全部包装。

论纳米2set softwrap启用软包装并禁用硬包装。set nowrap不再禁用所有包装,仅禁用硬包装。

论纳米3set softwrap被忽略,并且 nano 继续硬包装,除非您还设置了set nowrap

因此,如果您希望长行的文本换行不会破坏您的配置文件(软包装仅),这适用于版本 2 和 3:添加 2 行~/.nanorc

set nowrap
set softwrap

相关内容