当我在
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
如果您将 nano 与像 python 这样的语言一起使用(如您的示例中所示),将制表符转换为空格也是一个好主意。
编辑您的 ~/.nanorc 文件(或创建它)并添加:
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,将制表符替换为空格,然后编辑文件“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
设置制表符空间给了我错误: '未知标志“制表空间”'
很容易将选项卡尺寸设置为 4 纳米。有一些简单的步骤可以做到这一点:
cd /etc
ls -a
查看文件列表。
使用您最喜欢的编辑器(例如 nano 或 gedit 等)输入文件。sudo nano nanorc
set tabsize 8
。默认情况下,制表符大小设置为8个空格。大约有300行。
您可以运行此命令来搜索该行的位置,而无需滚动。要做到这一点,请从 nano exit(ctrl+Z) 并运行grep -n "set tabsize" nanorc
就我而言,这是第 159 行。输出是:
159:# set tabsize 8
# set tabsize 8
取消注释该行(删除
#
)并输入 4 而不是 8 并保存(ctrl+o 然后按 Enter)。
然后你就完成了。 -- 如果您对 python 脚本使用 nano,则将制表符大小设置为 4 会很有帮助。
如果它不能完美工作,也取消注释下一行。在我的例子中,第 162 行是 ' # set tabstospaces '
对于未来的查看者,我的 /etc/nanorc 文件中靠近第 153 行的一行显示“set tabsize 8”。该词可能需要是 tabsize 而不是 tabspace。在我用 4 替换 8 并取消注释该行后,它解决了我的问题。
对于任何可能偶然发现这个老问题的人......
我认为有一件事需要解决。
~/.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
,这将在运行时覆盖/etc/nanorc
sudo nano
使用标志可能是最好的选择,除非你有很多的选项。
对于 MAC Nanos,您应该优先编辑“~/nanorc”配置文件,而不是“~/.nanorc”配置文件。
如果您想为某种语法类型设置制表符大小,例如
python
,独立于tabsize
和tabstospaces
,有一个函数tabgives
。 nanorc
已经预设如下:
# extendsyntax python tabgives " "
只需取消注释并在引号内输入所需的选项卡即可。