Nano 编辑器中如何使 1 个制表符代表 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
137585 次浏览

命令行标记

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,将制表符替换为空格,并编辑文件“foo.txt”,您可以运行以下命令:

nano -ET4 foo.txt

配置文件

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文件(如果它不存在就创建它),并将这些命令添加到其中。例如:

set tabsize 4
set tabstospaces

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

在nano 2.2.6中,线在~/。Nanorc做这件事似乎是

set tabsize 4

Setting tabspace gave me the error: 'Unknown flag "tabspace"'

对于未来的观众,在我的/etc/nanorc文件中有一行接近第153行说“set tabsize 8”。这个词可能需要是tabsize而不是tabspace。在我用4替换8并取消注释后,它解决了我的问题。

如果你在python这样的语言中使用nano(如你的例子),将制表符转换为空格也是一个好主意。

编辑你的~ / .nanorc文件(或创建它)并添加:

set tabsize 4
set tabstospaces

如果你已经有一个带有制表符的文件,并且想要将它们转换为空格,我建议使用expandcommand (shell):

expand -4 input.py > output.py

设置制表符大小为nano

cd /etc
ls -a
sudo nano nanorc

enter image description here

链接:https://app.gitbook.com/@cai-dat-chrome-ubuntu-18-04/s/chuaphanloai/setting-the-tab-size-in-nano

对于那些无意中遇到这个老问题的人…

有一件事我认为需要解决。

~/.nanorc是用来应用你的用户特定的设置到nano,所以如果你编辑文件需要使用sudo nano的权限,那么这是行不通的。

当使用sudo时,您的自定义用户配置文件将不会在打开程序时加载,因为您不是从您的帐户运行程序,因此您在~/.nanorc中的配置更改不会被应用。

如果这是你发现自己所处的情况(想要运行sudo nano 而且使用你自己的配置设置),那么你有三个选择:

  • 在运行sudo nano时使用命令行标志
  • 编辑/root/.nanorc文件
  • 编辑/etc/nanorc全局配置文件

请记住,/etc/nanorc是一个全局配置文件,因此它会影响所有用户,这可能是一个问题,也可能不是,这取决于你是否有一个多用户系统。

此外,用户配置文件将覆盖全局配置文件,所以如果你要编辑/etc/nanorc~/.nanorc具有不同的设置,当你运行nano时,它将从~/.nanorc加载设置,但如果你运行sudo nano,那么它将从/etc/nanorc加载设置。

/root/.nanorc也是一样,它将在运行sudo nano时覆盖/etc/nanorc

使用标志可能是最好的选择,除非你有很多的选项。

在nano中设置tab大小为4很容易。有一些简单的步骤可以做到:

  1. 从主目录转到“etc”目录(文件夹)。
cd /etc
    有一个名为nanorc的文件,需要编辑。你可以通过运行ls -a来查看文件列表。 使用您最喜欢的编辑器(如nano或gedit等)输入文件
sudo nano nanorc
    你需要找到一行set tabsize 8。默认情况下,选项卡大小设置为8个空格。大约有300行。 使用此命令可以在不滚动的情况下搜索该行的位置。要从nano中执行退出(ctrl+Z)并运行
grep -n "set tabsize" nanorc

对我来说,是第159行。输出结果为:

159:# set tabsize 8
    现在再次打开“nanorc”文件(如步骤2所示)。 转到步骤3中找到的行号。 在nano中,要查看编辑器中的行号,按alt + shift + 3。 你可能会发现这样一行:# set tabsize 8

取消注释行(删除#),并输入4而不是8并保存(ctrl+o然后按enter)。 enter image description here < / p >

然后你就完成了。 如果你在python脚本中使用nano,那么设置tab大小为4是很有帮助的

如果它不能完美地工作,也取消下一行的注释。在我的例子中,第162行是' #设置tabstospaces '

对于MAC nano,您应该编辑&;~/nanorc"配置文件优先于"~/.nanorc"配置文件。