本文介绍一个非常友好且易于上手的命令行文本编辑器——nano,特别适合 Linux 和 Unix 新手。
下面是一份从入门到熟练的完整使用指南。
一、 什么是 Nano?
nano
是一个在终端(命令行界面)中运行的文本编辑器。与 vim
或 emacs
等功能强大但学习曲线陡峭的编辑器相比,nano
以其简单直观而著称。它所有的快捷键都显示在屏幕下方,你无需记忆大量命令即可开始使用。
二、 启动 Nano
1. 打开/创建一个新文件
在终端中输入 nano
命令,后面跟上你想要创建或编辑的文件名。
nano my_new_file.txt
- 如果
my_new_file.txt
不存在,nano
会为你创建它。 - 如果文件已存在,
nano
会打开它供你编辑。
2. 打开一个已有文件并直接跳转到指定行
这在调试代码或查看日志时非常有用。
nano +100 my_script.py
这个命令会打开 my_script.py
文件,并将光标直接定位到第 100 行。
三、 Nano 界面解析
当你打开 nano
后,界面通常分为三部分:
GNU nano 7.2 my_new_file.txt
| 这是你可以输入文本的区域... |
| 你可以在这里自由地编写代码、记笔记或任何内容。 |
| |
| |
| |
| |
^G Get Help ^O Write Out ^W Where Is ^K Cut Text ^J Justify ^C Cur Pos
^X Exit ^R Read File ^\ Replace ^U Uncut T ^T To Spell ^_ Go To Line
-
顶部栏(标题栏):
- 显示
nano
的版本信息(如GNU nano 7.2
)。 - 显示当前正在编辑的文件名(如
my_new_file.txt
)。 - 如果文件被修改过但尚未保存,文件名后面会显示
Modified
。
- 显示
-
中间编辑区:
- 这是你的主要工作区,你可以在这里输入和编辑文本,就像在任何其他编辑器中一样。
-
底部快捷键栏:
- 这是
nano
最友好的部分!它列出了最常用的命令。 ^
符号代表Ctrl
键。例如,^G
表示同时按下Ctrl
和G
键。M-
符号代表Alt
键(或Meta
键)。例如,M-U
表示同时按下Alt
和U
键。
- 这是
四、 核心操作指南(常用快捷键)
掌握以下快捷键,你就能解决 90% 的日常使用需求。
1. 基础编辑
- 输入文本:直接在编辑区输入即可,无需进入任何特殊模式(这是它与
vim
的最大区别)。 - 移动光标:
- 使用方向键(上、下、左、右)移动。
Ctrl + Space
:向前移动一个单词。Alt + Space
:向后移动一个单词。Ctrl + _
(下划线) 或Ctrl + G
然后选Go To Line
:输入行号,直接跳转到该行。Ctrl + A
:移动到当前行首。Ctrl + E
:移动到当前行尾。Ctrl + Y
:向上翻一页。Ctrl + V
:向下翻一页。
2. 文件操作
-
保存文件:
Ctrl + O
(Write Out):按下后,底部会提示你确认文件名。- 如果文件名正确,直接按 回车键 即可保存。
- 保存后,你还可以继续编辑。
-
退出 Nano:
Ctrl + X
(Exit):- 如果文件已保存,
nano
会直接退出。 - 如果文件有未保存的修改,底部会提示
Save modified buffer?
(保存修改的缓冲区吗?)。 - 按
Y
(Yes) 保存并退出。 - 按
N
(No) 不保存直接退出。 - 按
Ctrl + C
取消退出操作,返回编辑器。
- 如果文件已保存,
-
打开另一个文件:
Ctrl + R
(Read File):在当前光标位置插入另一个文件的内容。输入要插入的文件名后按回车。
3. 编辑功能
-
剪切(Cut):
Ctrl + K
(Cut Text):剪切当前行。如果连续按多次,它会将多行依次剪切到剪贴板中。
-
复制/粘贴(Copy/Paste):
nano
的“复制”操作实际上是“剪切但保留在原位”。- 复制:
Alt + A
(Mark Set) 设置一个起始标记,然后移动光标到结束位置,再按Alt + A
或Ctrl + K
剪切选中的文本。此时文本被复制到了剪贴板。 - 粘贴:
Ctrl + U
(Uncut):将剪贴板中的内容粘贴到当前光标位置。 - 技巧:最简单的“复制一行”的方法是:先按
Ctrl + K
剪切,然后立刻按Ctrl + U
粘贴。这样这一行就被复制了。
-
搜索与替换:
- 搜索:
Ctrl + W
(Where Is):输入要搜索的字符串,按回车。光标会跳转到第一个匹配项。按Alt + W
可以跳转到下一个匹配项。 - 替换:
Ctrl + \
(Replace):- 输入要被替换的旧字符串,按回车。
- 输入要替换成的新字符串,按回车。
nano
会逐个询问你是否替换 (Replace this instance?
)。- 按
Y
替换当前匹配项,N
跳过,A
替换所有,Ctrl + C
取消。
- 搜索:
-
撤销/重做:
- 撤销:
Ctrl + Z
(Undo):撤销上一步操作。 - 重做:
Alt + U
(Redo):重做被撤销的操作。
- 撤销:
五、 实战演练:编辑一个 Shell 脚本
假设我们要创建一个简单的 hello.sh
脚本。
步骤 1:创建并打开文件
nano hello.sh
步骤 2:输入内容
在打开的 nano
编辑器中,输入以下内容:
#!/bin/bash
# 这是一个简单的 Hello World 脚本
echo "Hello, Nano! Today is $(date)."
步骤 3:保存文件
- 按下
Ctrl + O
。 - 底部会显示
File Name to Write: hello.sh
,确认文件名正确。 - 按下 回车键。你会看到底部提示
[ Wrote 3 lines ]
,表示保存成功。
步骤 4:退出编辑器
- 按下
Ctrl + X
。 - 因为文件已保存,
nano
会直接返回到终端命令行。
步骤 5:运行脚本
在终端中,给脚本添加执行权限并运行它。
chmod +x hello.sh
./hello.sh
你将看到输出:
Hello, Nano! Today is Tue May 21 10:30:00 CST 2024.
六、 高级技巧与配置
1. 启用语法高亮
默认情况下,nano
可能没有语法高亮。但大多数系统都提供了配置文件。
-
全局启用(需要 root 权限):
编辑/etc/nanorc
文件。sudo nano /etc/nanorc
找到类似
include "/usr/share/nano/*.nanorc"
的行,去掉前面的#
号使其生效。保存退出后,所有用户打开对应类型的文件(如.py
,.sh
,.c
)都会看到语法高亮。 -
为当前用户启用:
复制全局配置文件到你的用户主目录。mkdir -p ~/.nano cp /etc/nanorc ~/.nanorc nano ~/.nanorc
同样地,找到
include
行并取消注释。
2. 永久显示行号
在 ~/.nanorc
文件中添加一行:
set linenumbers
保存后,下次打开 nano
就会默认显示行号。
3. 将 Tab 键转为空格
对于编程来说,这是一个好习惯。在 ~/.nanorc
文件中添加:
set tabstospaces
set tabsize 4
这会将按下的 Tab
键转换为 4 个空格。
七、 总结:Nano vs. Vim
特点 | Nano | Vim |
---|---|---|
学习曲线 | 极低,即开即用 | 陡峭,需要学习模式(普通/插入/可视) |
易用性 | 非常高,所有命令都在屏幕上 | 低,需要记忆大量快捷键 |
功能 | 基础文本编辑,满足日常需求 | 极其强大,高度可定制,插件生态丰富 |
适用场景 | 快速编辑配置文件、写简单脚本、新手入门 | 代码开发、复杂文本处理、追求极致效率的专家 |
建议:
- 如果你是 Linux 新手,或者只是想快速修改一个配置文件,用
nano
就对了。它能帮你完成工作,而不会让你陷入“如何退出编辑器”的困境。 - 当你开始进行大量的代码编写,并且觉得
nano
的效率无法满足时,再考虑学习vim
或VS Code
等更强大的工具。
希望这份指南能帮助你轻松掌握 nano
!祝你使用愉快!
Hi there! This post could not be written any better! Reading through this post reminds me of my good old room mate! He always kept chatting about this. I will forward this post to him. Pretty sure he will have a good read. Thank you for sharing!