手记

树莓派:文本编辑器与文件

GNU nano是Unix系统下一款常用的文本编辑器,以简单易用著称。与之相比,功能更强大的Vi和Emacs编辑器,学习曲线比nano陡峭很多。由于nano对于一般的文本编辑来说已经足够,所以我想简单介绍一下,以便于更好入门。

 

基本使用

在Shell中输入下面命令,就可以启动nano:

nano test.txt

命令nano后面跟着想要修改的文件名。如果当前文件夹下存在名为test.txt的文件时,改命令将打开这个文件。否则,nano会创建一个新文件。随后,Shell会进入到nano的编辑界面。nano的编辑方式和常用的记事本工具类似,都是“所见即所得”。用上下左右键,就可以把光标移动到想要编辑的位置,然后输入或删除即可。

 

完成之后,你可以按Ctrl+O键来保存文件。nano询问你是否保存缓存中的修改:

Save modified buffer (ANSWERING "No" WILL DESTROY CHANGES) ? 

输入Y并,改动将存入文件。此时nano会让你再次确认存入文件的文件名:

File Name to Write: test.txt  

回车确认后,修订将存入到test.txt文件。

 

随后,按Ctrl+X可以退出nano,重新回到Shell的命令行。

 

功能键

nano中有很多功能键。比如上面保持文件用的Ctrl+O,就是一个功能键。nano界面的最下方会给出功能键的提示:

在提示中,^表示Ctrl键,M表示Alt键。因此,^G表示的就是同时暗下Ctrl键和G键。

 

下面是一些常用的功能键: 

M-\  把光标移动到文本开始M-/  把光标移动到文本结尾M-A  开始选择文本块^K   剪切所在行或选定的文本块M-6  复制所在行或选定的文本块^U   粘贴
^G   帮助

 

 

语法高亮

nano可以支持语法高亮,从而更好的服务于编程。为了使用语法高亮,首先要安装语法高亮文件:

git clone https://github.com/nanorc/nanorc.gitcd nanorc/make install

 

安装完成后,可以看到~/.nano/syntax下多了很多语法高亮文件:

ALL.nanorc          go.nanorc           markdown.nanorc     ruby.nanorcawk.nanorc          html.nanorc         mpdconf.nanorc      sed.nanorcc.nanorc            ini.nanorc          nanorc.nanorc       shell.nanorccmake.nanorc        inputrc.nanorc      nginx.nanorc        sql.nanorccoffeescript.nanorc java.nanorc         patch.nanorc        systemd.nanorccolortest.nanorc    javascript.nanorc   peg.nanorc          tex.nanorccsharp.nanorc       json.nanorc         php.nanorc          vala.nanorccss.nanorc          keymap.nanorc       pkg-config.nanorc   vi.nanorccython.nanorc       kickstart.nanorc    pkgbuild.nanorc     xml.nanorcdefault.nanorc      ledger.nanorc       po.nanorc           xresources.nanorcdot.nanorc          lisp.nanorc         privoxy.nanorc      yaml.nanorcemail.nanorc        lua.nanorc          properties.nanorc   yum.nanorcgit.nanorc          makefile.nanorc     python.nanorcglsl.nanorc         man.nanorc          rpmspec.nanorc

 

将语法高亮文件添加到~/.nanorc中,就能让nano启动对相应语言的语法高亮支持,例如:

include ~/.nano/syntax/c.nanorcinclude ~/.nano/syntax/css.nanorcinclude ~/.nano/syntax/java.nanorcinclude ~/.nano/syntax/makefile.nanorcinclude ~/.nano/syntax/php.nanorcinclude ~/.nano/syntax/python.nanorcinclude ~/.nano/syntax/ruby.nanorcinclude ~/.nano/syntax/tex.nanorcinclude ~/.nano/syntax/xml.nanorc

如果有需要,还可以把更多的语法高亮文件加入到.nanorc中。这时再打开获得支持的程序文本时,就可以看到语法高亮的效果。下图中用nano打开了一段Python程序:

在nano中,使用M-Y功能键可以开关语法高亮功能。

 

文件基础操作

用nano编辑文件并保存后,当前目录下就会出现一个新的文件,文件名就是我们使用时的文件名。用下面命令,可以显示Shell当前目录下的文件:

$ls

 

Linux用文件的形式存储数据。在树莓派中,文件存储于那张SD卡上。除了用户编辑生成的文本,数据还可能是Linux系统中的程序或配置文件。在Unix的哲学下,文件是数据存储的唯一形式,就连硬件也会虚拟成一个文件。既然文件有这么重要的地位,那么Linux中自然少不了用于操作文件的命令,比如删除文件的rm

$rm test.txt

 

文件存储的位置,称为文件所在的目录(directory)。刚才用nano保存文件后,由于没有说明目录,文件就保存在当前目录下。我们可以用下面命令来查询Shell所在的当前目录:

$pwd

显示的是:

/home/pi

所有目录都可以追溯到一个根源,即根目录(root directory)。根目录下有一个home目录,home下有一个pi目录。我们的当前工作目录,就是这个pi目录。

 

一个目录下的文件不能重名。因此,如果在/home/pi这样的目录下加上文件名,就唯一确定了这个文件。这称为文件的路径(path)。比如:

/home/pi/test.txt

 

 

总结

本文介绍了Linux下一款简单易用的文本编辑器nano和常用的文件命令。

 

欢迎阅读“骑着企鹅采树莓”系列文章

0人推荐
随时随地看视频
慕课网APP