![在文本换行方面,如何使 nano 像 vi 一样工作?](https://linux22.com/image/117479/%E5%9C%A8%E6%96%87%E6%9C%AC%E6%8D%A2%E8%A1%8C%E6%96%B9%E9%9D%A2%EF%BC%8C%E5%A6%82%E4%BD%95%E4%BD%BF%20nano%20%E5%83%8F%20vi%20%E4%B8%80%E6%A0%B7%E5%B7%A5%E4%BD%9C%EF%BC%9F.png)
使用 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
@Marco Ceppi 回答:
Nano 安装 Nano 更容易一些。您可以使用 -L 标志(如果您更喜欢视觉类型,则可以使用 --nonewlines )启动 nano。这将禁用自动将换行符添加到文件末尾(只要未实际输入换行符)。理想情况下,您可以在 ~/.bashrc 中设置此别名:alias nanon=nano -L 这将启动 Nano,其中不包含换行符标志。
答案4
可以在 中设置默认值~/.nanorc
。但nano 1、nano 2、nano 3的配置都略有不同。
论纳米1,您只有set nowrap
禁用的设置全部包装。
论纳米2,set softwrap
启用软包装并禁用硬包装。set nowrap
不再禁用所有包装,仅禁用硬包装。
论纳米3,set softwrap
被忽略,并且 nano 继续硬包装,除非您还设置了set nowrap
。
因此,如果您希望长行的文本换行不会破坏您的配置文件(软包装仅),这适用于版本 2 和 3:添加 2 行~/.nanorc
set nowrap
set softwrap