GNU nano是Unix系統(tǒng)下一款常用的文本編輯器,以簡(jiǎn)單易用著稱。與之相比,功能更強(qiáng)大的Vi和Emacs編輯器,學(xué)習(xí)曲線比nano陡峭很多。由于nano對(duì)于一般的文本編輯來(lái)說(shuō)已經(jīng)足夠,所以我想簡(jiǎn)單介紹一下,以便于更好入門。
創(chuàng)新互聯(lián)建站客戶idc服務(wù)中心,提供綿陽(yáng)電信機(jī)房機(jī)柜租用、成都服務(wù)器、成都主機(jī)托管、成都雙線服務(wù)器等業(yè)務(wù)的一站式服務(wù)。通過(guò)各地的服務(wù)中心,我們向成都用戶提供優(yōu)質(zhì)廉價(jià)的產(chǎn)品以及開放、透明、穩(wěn)定、高性價(jià)比的服務(wù),資深網(wǎng)絡(luò)工程師在機(jī)房提供7*24小時(shí)標(biāo)準(zhǔn)級(jí)技術(shù)保障。
在Shell中輸入下面命令,就可以啟動(dòng)nano:
nano test.txt
命令nano后面跟著想要修改的文件名。如果當(dāng)前文件夾下存在名為test.txt的文件時(shí),改命令將打開這個(gè)文件。否則,nano會(huì)創(chuàng)建一個(gè)新文件。隨后,Shell會(huì)進(jìn)入到nano的編輯界面。nano的編輯方式和常用的記事本工具類似,都是“所見即所得”。用上下左右鍵,就可以把光標(biāo)移動(dòng)到想要編輯的位置,然后輸入或刪除即可。
完成之后,你可以按Ctrl+O鍵來(lái)保存文件。nano詢問(wèn)你是否保存緩存中的修改:
Save modified buffer (ANSWERING "No" WILL DESTROY CHANGES) ?
輸入Y并,改動(dòng)將存入文件。此時(shí)nano會(huì)讓你再次確認(rèn)存入文件的文件名:
File Name to Write: test.txt
回車確認(rèn)后,修訂將存入到test.txt文件。
隨后,按Ctrl+X可以退出nano,重新回到Shell的命令行。
nano中有很多功能鍵。比如上面保持文件用的Ctrl+O,就是一個(gè)功能鍵。nano界面的最下方會(huì)給出功能鍵的提示:
在提示中,^表示Ctrl鍵,M表示Alt鍵。因此,^G表示的就是同時(shí)暗下Ctrl鍵和G鍵。
下面是一些常用的功能鍵:
M-\ 把光標(biāo)移動(dòng)到文本開始 M-/ 把光標(biāo)移動(dòng)到文本結(jié)尾 M-A 開始選擇文本塊 ^K 剪切所在行或選定的文本塊 M-6 復(fù)制所在行或選定的文本塊 ^U 粘貼
^G 幫助
nano可以支持語(yǔ)法高亮,從而更好的服務(wù)于編程。為了使用語(yǔ)法高亮,首先要安裝語(yǔ)法高亮文件:
git clone https://github.com/nanorc/nanorc.gitcd nanorc/make install
安裝完成后,可以看到~/.nano/syntax下多了很多語(yǔ)法高亮文件:
ALL.nanorc go.nanorc markdown.nanorc ruby.nanorc awk.nanorc html.nanorc mpdconf.nanorc sed.nanorc c.nanorc ini.nanorc nanorc.nanorc shell.nanorc cmake.nanorc inputrc.nanorc nginx.nanorc sql.nanorc coffeescript.nanorc java.nanorc patch.nanorc systemd.nanorc colortest.nanorc javascript.nanorc peg.nanorc tex.nanorc csharp.nanorc json.nanorc php.nanorc vala.nanorc css.nanorc keymap.nanorc pkg-config.nanorc vi.nanorc cython.nanorc kickstart.nanorc pkgbuild.nanorc xml.nanorc default.nanorc ledger.nanorc po.nanorc xresources.nanorc dot.nanorc lisp.nanorc privoxy.nanorc yaml.nanorc email.nanorc lua.nanorc properties.nanorc yum.nanorc git.nanorc makefile.nanorc python.nanorc glsl.nanorc man.nanorc rpmspec.nanorc
將語(yǔ)法高亮文件添加到~/.nanorc中,就能讓nano啟動(dòng)對(duì)相應(yīng)語(yǔ)言的語(yǔ)法高亮支持,例如:
include ~/.nano/syntax/c.nanorc include ~/.nano/syntax/css.nanorc include ~/.nano/syntax/java.nanorc include ~/.nano/syntax/makefile.nanorc include ~/.nano/syntax/php.nanorc include ~/.nano/syntax/python.nanorc include ~/.nano/syntax/ruby.nanorc include ~/.nano/syntax/tex.nanorc include ~/.nano/syntax/xml.nanorc
如果有需要,還可以把更多的語(yǔ)法高亮文件加入到.nanorc中。這時(shí)再打開獲得支持的程序文本時(shí),就可以看到語(yǔ)法高亮的效果。下圖中用nano打開了一段Python程序:
在nano中,使用M-Y功能鍵可以開關(guān)語(yǔ)法高亮功能。
用nano編輯文件并保存后,當(dāng)前目錄下就會(huì)出現(xiàn)一個(gè)新的文件,文件名就是我們使用時(shí)的文件名。用下面命令,可以顯示Shell當(dāng)前目錄下的文件:
$ls
Linux用文件的形式存儲(chǔ)數(shù)據(jù)。在樹莓派中,文件存儲(chǔ)于那張SD卡上。除了用戶編輯生成的文本,數(shù)據(jù)還可能是Linux系統(tǒng)中的程序或配置文件。在Unix的哲學(xué)下,文件是數(shù)據(jù)存儲(chǔ)的唯一形式,就連硬件也會(huì)虛擬成一個(gè)文件。既然文件有這么重要的地位,那么Linux中自然少不了用于操作文件的命令,比如刪除文件的rm:
$rm test.txt
文件存儲(chǔ)的位置,稱為文件所在的目錄(directory)。剛才用nano保存文件后,由于沒(méi)有說(shuō)明目錄,文件就保存在當(dāng)前目錄下。我們可以用下面命令來(lái)查詢Shell所在的當(dāng)前目錄:
$pwd
顯示的是:
/home/pi
所有目錄都可以追溯到一個(gè)根源,即根目錄(root directory)。根目錄下有一個(gè)home目錄,home下有一個(gè)pi目錄。我們的當(dāng)前工作目錄,就是這個(gè)pi目錄。
一個(gè)目錄下的文件不能重名。因此,如果在/home/pi這樣的目錄下加上文件名,就唯一確定了這個(gè)文件。這稱為文件的路徑(path)。比如:
/home/pi/test.txt
本文介紹了Linux下一款簡(jiǎn)單易用的文本編輯器nano和常用的文件命令。