linux下有很多文本編輯器,其中系統(不管哪個分支)都會自帶nano和vi這兩個最基本的編輯器。vim相當於vi的升級版。這里我們依次來講解這幾個編輯器的用法。

1.nano

直接在命令行中敲入nano filename即可打開文件或新建文件。

可以看到第一行反白介紹了nano的版本號以及被編輯的文件名稱。接下來就是可編輯區域,這里由於nano.txt文件是一個新建文件,內容為空,所以編輯區域沒有任何文本文字。再看最后的兩行,這是nano下可以使用的一些快捷鍵,其對應的含義翻譯如下:

ctrl+G:取得在線幫助

ctrl+O:保存文件,如果你有權限就可保存修改的文件

ctrl+R:從其他文件讀入數據,可將某個文件的內容貼在本文件中

ctrl+Y:顯示前一頁

ctrl+K:剪切當前行的內容

ctrl+C:‘顯示光標所在的位置

ctrl+X:退出nano,如有有修改過文件,則會提示是否要保存修改的內容

ctrl+J:調整文本格式

ctrl+W:查找命令,按下后會跳轉到末行的反白位置,輸入要查找的內容回車即可。

ctrl+V:顯示下一頁

Ctrl+U:撤銷截切命令,這里測試了一下,不是簡單的撤銷某一行的命令,當光標定位到撤銷行的位置時,如果該位置有多行被剪切,會還原剪切的所有內容,但是多次按下Ctrl+U會多次還原,這可能是一個bug。這個快捷鍵與windows下的ctrl+v類似。讀者可以先試着這樣理解。

Ctrl+T:還不知道是什么意思,貌似是檢查拼寫,但不知道怎么用

nano是linux入門該學習得最佳工具,這里我們只需要知道如何進入編輯,如何保存退出即可。接下來看看linux中被大神們推上神壇的vi編輯器。

2.vi編輯器

vi是老式的文字處理器,功能已經很齊全。不管好不好用,既然大家這么推崇,肯定有他的好處,我們先學習了肯定不會有壞處。

1)vi的模式

vi分為三種模式

一般模式:以vi打開或新建一個文件就可以直接進入一般模式,在此模式中,你可以使用上下左右來進行光標的移動,可以刪除字符或整行,可以復制粘貼文件數據。

編輯模式:顧名思義,就是可以編輯文本的模式,在一般模式下,按下“i,I,o,O,a,A,r,R"這些字母可進入編輯模式,進入編輯模式后在左下方會有INSERT或REPLACE的字樣。

在編輯模式下按下ESC鍵會退出到一半模式下。

命令行模式:在一般模式下,輸入” :,   / ,   ? "這三個字符中的任意一個會將光標移動到最下面的一行,在這個模式中可以進行數據查找、替換、保存、離開vi等操作。

使用vi filename可進入vi一般模式:

一般模式下熱鍵說明:

移動光標的方法

h 或 向左箭頭鍵(←)

光標向左移動一個字符

j 或 向下箭頭鍵(↓)

光標向下移動一個字符

k 或 向上箭頭鍵(↑)

光標向上移動一個字符

l 或 向右箭頭鍵(→)

光標向右移動一個字符

如果你將右手放在鍵盤上的話,你會發現 hjkl 是排列在一起的,因此可以使用這四個按鈕來移動光標。 如果想要進行多次移動的話,例如向下移動 30 行,可以使用 "30j" 或 "30↓" 的組合按鍵, 亦即加上想要進行的次數(數字)后,按下動作即可!

[Ctrl] + [f]

屏幕『向下』移動一頁,相當於 [Page Down]按鍵 (常用)

[Ctrl] +

屏幕『向上』移動一頁,相當於 [Page Up] 按鍵 (常用)

[Ctrl] + [d]

屏幕『向下』移動半頁

[Ctrl] +

屏幕『向上』移動半頁

+

光標移動到非空格符的下一列

-

光標移動到非空格符的上一列

n

那個 n 表示『數字』,例如 20 。按下數字后再按空格鍵,光標會向右移動這一行的 n 個字符。例如 20 則光標會向后面移動 20 個字符距離。

0 或功能鍵[Home]

這是數字『 0 』:移動到這一行的最前面字符處 (常用)

$ 或功能鍵[End]

移動到這一行的最后面字符處(常用)

H

光標移動到這個屏幕的最上方那一行的第一個字符

M

光標移動到這個屏幕的中央那一行的第一個字符

L

光標移動到這個屏幕的最下方那一行的第一個字符

G

移動到這個檔案的最后一行(常用)

nG

n 為數字。移動到這個檔案的第 n 行。例如 20G 則會移動到這個檔案的第 20 行(可配合 :set nu)

gg

移動到這個檔案的第一行,相當於 1G 啊! (常用)

n

n 為數字。光標向下移動 n 行(常用)

搜尋與取代

/word

向光標之下尋找一個名稱為 word 的字符串。例如要在檔案內搜尋 vbird 這個字符串,就輸入 /vbird 即可! (常用)

?word

向光標之上尋找一個字符串名稱為 word 的字符串。

n

這個 n 是英文按鍵。代表『重復前一個搜尋的動作』。舉例來說, 如果剛剛我們執行 /vbird 去向下搜尋 vbird 這個字符串,則按下 n 后,會向下繼續搜尋下一個名稱為 vbird 的字符串。如果是執行 ?vbird 的話,那么按下 n 則會向上繼續搜尋名稱為 vbird 的字符串!

N

這個 N 是英文按鍵。與 n 剛好相反,為『反向』進行前一個搜尋動作。 例如 /vbird 后,按下 N 則表示『向上』搜尋 vbird 。

使用 /word 配合 n 及 N 是非常有幫助的!可以讓你重復的找到一些你搜尋的關鍵詞!

:n1,n2s/word1/word2/g

n1 與 n2 為數字。在第 n1 與 n2 行之間尋找 word1 這個字符串,並將該字符串取代為 word2 !舉例來說,在 100 到 200 行之間搜尋 vbird 並取代為 VBIRD 則:

『:100,200s/vbird/VBIRD/g』。(常用)

:1,$s/word1/word2/g

從第一行到最后一行尋找 word1 字符串,並將該字符串取代為 word2 !(常用)

:1,$s/word1/word2/gc

從第一行到最后一行尋找 word1 字符串,並將該字符串取代為 word2 !且在取代前顯示提示字符給用戶確認 (confirm) 是否需要取代!(常用)

刪除、復制與貼上

x, X

在一行字當中,x 為向后刪除一個字符 (相當於 [del] 按鍵), X 為向前刪除一個字符(相當於 [backspace] 亦即是退格鍵) (常用)

nx

n 為數字,連續向后刪除 n 個字符。舉例來說,我要連續刪除 10 個字符, 『10x』。

dd

刪除游標所在的那一整列(常用)

ndd

n 為數字。刪除光標所在的向下 n 列,例如 20dd 則是刪除 20 列 (常用)

d1G

刪除光標所在到第一行的所有數據

dG

刪除光標所在到最后一行的所有數據

d$

刪除游標所在處,到該行的最后一個字符

d0

那個是數字的 0 ,刪除游標所在處,到該行的最前面一個字符

yy

復制游標所在的那一行(常用)

nyy

n 為數字。復制光標所在的向下 n 列,例如 20yy 則是復制 20 列(常用)

y1G

復制游標所在列到第一列的所有數據

yG

復制游標所在列到最后一列的所有數據

y0

復制光標所在的那個字符到該行行首的所有數據

y$

復制光標所在的那個字符到該行行尾的所有數據

p, P

p 為將已復制的數據在光標下一行貼上,P 則為貼在游標上一行! 舉例來說,我目前光標在第 20 行,且已經復制了 10 行數據。則按下 p 后, 那 10 行數據會貼在原本的 20 行之后,亦即由 21 行開始貼。但如果是按下 P 呢? 那么原本的第 20 行會被推到變成 30 行。 (常用)

J

將光標所在列與下一列的數據結合成同一列

c

重復刪除多個數據,例如向下刪除 10 行,[ 10cj ]

u

復原前一個動作。(常用)

[Ctrl]+r

重做上一個動作。(常用)

這個 u 與 [Ctrl]+r 是很常用的指令!一個是復原,另一個則是重做一次~ 利用這兩個功能按鍵,你的編輯,嘿嘿!很快樂的啦!

.

不要懷疑!這就是小數點!意思是重復前一個動作的意思。 如果你想要重復刪除、重復貼上等等動作,按下小數點『.』就好了! (常用)

一般模式進入編輯模式的按鍵說明:

i, I

進入插入模式(Insert mode):

i 為『從目前光標所在處插入』, I 為『在目前所在行的第一個非空格符處開始插入』。 (常用)

a, A

進入插入模式(Insert mode):

a 為『從目前光標所在的下一個字符處開始插入』, A 為『從光標所在行的最后一個字符處開始插入』。(常用)

o, O

進入插入模式(Insert mode):

這是英文字母 o 的大小寫。o 為『在目前光標所在的下一行處插入新的一行』; O 為在目前光標所在處的上一行插入新的一行!(常用)

r, R

進入取代模式(Replace mode):

r 只會取代光標所在的那一個字符一次;R會一直取代光標所在的文字,直到按下 ESC 為止;(常用)

上面這些按鍵中,在 vi 畫面的左下角處會出現『--INSERT--』或『--REPLACE--』的字樣。 由名稱就知道該動作了吧!!特別注意的是,我們上面也提過了,你想要在檔案里面輸入字符時, 一定要在左下角處看到 INSERT 或 REPLACE 才能輸入喔!

[Esc]

退出編輯模式,回到一般模式中(常用)

一般模式切換到命令行模式的按鍵說明:

:w

將編輯的數據寫入硬盤檔案中(常用)

:w!

若文件屬性為『只讀』時,強制寫入該檔案。不過,到底能不能寫入, 還是跟你對該檔案的檔案權限有關啊!

:q

離開 vi (常用)

:q!

若曾修改過檔案,又不想儲存,使用 ! 為強制離開不儲存檔案。

注意一下啊,那個驚嘆號 (!) 在 vi 當中,常常具有『強制』的意思~

:wq

儲存后離開,若為 :wq! 則為強制儲存后離開 (常用)

ZZ

這是大寫的 Z 喔!若檔案沒有更動,則不儲存離開,若檔案已經被更動過,則儲存后離開!

:w [filename]

將編輯的數據儲存成另一個檔案(類似另存新檔)

:r [filename]

在編輯的數據中,讀入另一個檔案的數據。亦即將 『filename』 這個檔案內容加到游標所在行后面

:n1,n2 w [filename]

將 n1 到 n2 的內容儲存成 filename 這個檔案。

:! command

暫時離開 vi 到指令列模式下執行 command 的顯示結果!例如

『:! ls /home』即可在 vi 當中察看 /home 底下以 ls 輸出的檔案信息!

vim 環境的變更

:set nu

顯示行號,設定之后,會在每一行的前綴顯示該行的行號

:set nonu

與 set nu 相反,為取消行號!以上都是鳥哥書上的表格,為了方便查詢,這里摘過來了。

關於vi的一些主要功能都在這張表上能看到,接下來我們再來看看vim相對於vi為我們又提供了哪些有意思的功能。

在linux大部分的distrubutions中都已經用vim代替了vi,例如centos(ubuntu貌似還未使用vim代替vi),使用alias可以看到系統中是否使用的是vim:

上圖第一張是ubuntu的,第二張是centos的,可以看出在centos下使用vim代替vi的,在命令行下鍵入vi相當於鍵入vim。

vim的塊選擇

在vi中進行的操作一般都是以行或者單個字符作為對象,那么要進行一個區域塊的操作該怎么辦呢?這時可使用vim的塊選擇功能。按下(不需要長按)v在再使用上下左右鍵移動光標,光標經過的地方將會被選中。

還有其他兩種選擇方式:

V(大寫):光標經過的行將會被選中。

ctrl+v:光標經過的長方形塊將會被選中。

選中后再按下y可對選中的區域進行復制,按下d可將選中的區域刪除。

多窗口功能

在命令行模式下輸入“:sp{filename}"即可使用多窗口功能。filename可以不用加,如果想在新的窗口下啟動另一個文件就需要加上filename,否則出現在窗口中的是同一個文件。

重要熱鍵

按住Ctrl + W,然后再加上h, j, k, l,分別表示向左、下、上、右移動窗口

Ctrl + w + h:向左移動窗口

Ctrl + w + j: 向下移動窗口

Ctrl + w + j: 向上移動窗口

Ctrl + w + l: 向右移動窗口

Ctrl + w + w:這個命令會在所有窗口中循環移動

Ctrl + w + t:移動到最左上角的窗口

Ctrl + w + b:移動到最右下角的窗口

Ctrl + w + p:移動到前一個訪問的窗口

今天的內容就么多了。

常用linux文本编辑器nano,linux常用文本編輯器nano/vi/vim相关推荐

  1. linux 7 nano,Linux初學(CnetOS Linux7)之文本編輯器nano以及關機

    1.nano文本編輯器 [xiaohui@localhost ~]$nano text.txt # 不管text.txt存不存在都沒有關系!存在就開啟舊檔,不存在就開啟新檔 GNU nano 2.3. ...

  2. Ubuntu Linux 的 十六進位(hex)編輯器

    轉載自 https://blog.longwin.com.tw/2018/02/ubuntu-linux-hex-edit-tool-2018/ apt install bless bless fil ...

  3. linux 文件编辑器,用于Linux的文本编辑器(除了Vi)?

    用于Linux的文本编辑器(除了Vi)? 首先,我说我在Mac OSX上使用TextMate来满足我的文本需求,因此我对此表示喜欢. 在Linux平台上有什么可比的吗? 我将主要使用它来编码pytho ...

  4. 渲染富文本编辑器并设置富文本编辑器的高度

    目标:富文本编辑器 vue-quill-editor 的基本使用:vue-quill-editor - npm 一.渲染富文本编辑器 运行如下的命令,在项目中安装富文本编辑器: npm i vue-q ...

  5. Ubuntu文本编辑器适合linux平台的其它版本

    1.Nano是一个简单的没有花梢及华丽效果的文本编辑器.Nano在做简单文本文件编辑时相当不错,,可以满足一些基本操作. 直接在命令行模式下输入nano 文件名,就可以对文件进行简单的编辑. 文件编辑 ...

  6. linux 中vi中复制命令,使用vi文本编辑器及Linux复制粘贴小技巧

    想成为一个高效的DBA,离不开熟练使用vi编辑器,尤其是准备OCM考试的人员更为如此.另外,在Linux系统中,通过鼠标左键选中的文字,再通过按住鼠标中间滚动条来粘贴功能也是需要掌握的小技巧.我接触L ...

  7. linux复制粘贴保证内容完整,使用vi文本编辑器及Linux复制粘贴小技巧

    想成为一个高效的DBA,离不开熟练使用vi编辑器,尤其是准备OCM考试的人员更为如此.另外,在Linux系统中,通过鼠标左键选中的文字,再 通过按住鼠标中间滚动条来粘贴功能也是需要掌握的小技巧.我接触 ...

  8. java 新闻编辑_使用 Java 构建你自己的文本编辑器|Linux 中国

    导读:有时候,除你自己外,没有人能制作你所梦想的工具.以下是如何开始构建你自己的文本编辑器. 本文字数:9393,阅读时长大约:12分钟 https://linux.cn/article-13038- ...

  9. linux 脚本 提示编辑器,javascript – 带脚本的文本编辑器…适用于Linux

    所有主要的开源编辑器和大多数其他编辑器都有一些描述的脚本设施 – 有些(特别是Emacs)因此而闻名.唯一不像pico.那样非常轻量级的那些 vim有一个native scripting langua ...

最新文章

  1. 2018年首单!基石资本成功发行了双创债 募集3.1亿元
  2. linux ftp服务器构建
  3. JavaScript设计模式 Item 2 -- 接口的实现
  4. c语言结构内部定义指针,C语言知识补漏(一)结构体指针以及位域定义
  5. 我不看好data2vec这类多模态融合的研究
  6. JAVA项目从运维部署到项目开发(三.Redis)
  7. 苹果推送iOS12.2系统更新:电信用户一定要升级!
  8. linux7网卡启动的过程,linux网络启动
  9. 正则表达式re.S的用法
  10. 腾讯校园招聘笔试 2019-8-17 第五题
  11. SQL Server字符串处理函数大全
  12. 【python】《多媒体技术与应用》实验报告「数字图像基础」
  13. win10 没有计算机策略,Win10家庭版找不到组策略gpedit.msc的解决方法
  14. 给你的服务器建立动态域名服务
  15. 以太网知识3:以太网芯片MAC和PHY的关系
  16. markdown如何生成一级标题
  17. 冯.诺依曼结构 总线 接口 南桥 北桥
  18. BFM:总线功能模型 zz
  19. 完美解决移动端video视频层级问题
  20. python猫眼电影分析_Python数据分析之猫眼电影TOP100

热门文章

  1. 我们M2M项目组成员简介
  2. iOS开发系列--通讯录、蓝牙、内购、GameCenter、iCloud、Passbook系统服务等等
  3. C++ 拷贝(复制)构造函数
  4. 推荐一些B站的免费教程系列一
  5. 安卓手机测评_有哪些好用的投屏软件,可以把手机游戏投屏到电脑上直播?-非洲鹰游戏电竞椅...
  6. 财商教育—如何让收入翻倍
  7. 关于微信小程序警告“Do not have handler in component: pages/xxx/xxx. “的解决方法
  8. CountDownLatch:别浪,等人齐再团
  9. 我也无比怀念2019年
  10. 【转载】2010年国内开源状况