如何使纳米中的制表符4个空格而不是8个空格?

当我在nano编辑器中按下TAB键时,光标将跳转到8个空格,如下所示:

 def square(x): return x * x def cube(y): return y * y * y 

我怎样才能将制表符宽度设置为4空格来显示,如下所示:

 def square(x): return x * x def cube(y): return y * y * y 

如果你用像Python这样的语言来使用nano(比如你的例子),把制表符转换成空格也是一个好主意。

编辑〜/ .nanorc文件(或创build它)并添加:

 set tabsize 4 set tabstospaces 

如果你已经有一个带有标签的文件,并且想把它们转换为空格,我推荐使用expand命令(shell):

 expand -4 input.py > output.py 

命令行标志

man nano

 -T cols (--tabsize=cols) Set the size (width) of a tab to cols columns. The value of cols must be greater than 0. The default value is 8. -E (--tabstospaces) Convert typed tabs to spaces. 

例如,要将选项卡大小设置为4,请用空格replace选项卡,然后编辑文件“foo.txt”,您将运行以下命令:

 nano -ET4 foo.txt 

configuration文件

man nanorc

 set tabsize n Use a tab size of n columns. The value of n must be greater than 0. The default value is 8. set/unset tabstospaces Convert typed tabs to spaces. 

编辑~/.nanorc文件(如果不存在,创build它),并添加这些命令。 例如:

 set tabsize 4 set tabstospaces 

Nano将在启动时默认使用这些设置,但命令行标志将覆盖它们。

在nano 2.2.6中,〜/ .nanorc中的行似乎是这样做的

 set tabsize 4 

设置标签空间给了我错误:“未知的标志”标签空间“”

对于将来的用户来说,我的/ etc / nanorc文件中有一行接近第153行,表示“set tabsize 8”。 这个词可能需要制表符而不是制表符空间。 当我用4replace8并取消注释后,它解决了我的问题。