deepin linux 學習筆記(二)——文字編輯器

諾貝爾發表於2019-01-30

目錄

deepin linux 學習筆記(二)——文字編輯器

前言

今天來談一下linux的編輯器,特別是命令列下面的文字編輯器。在視窗環境下有很多可以用,也很容易操作的文字編輯器,但是linux經常會需要在命令列下面編輯文字,比如一些配置檔案的修改,這就要求要熟練相關的工具。

老實說,新手進入linux,往往會碰到過於強大的linux命令,強大的代價就是學習成本高。本來新手想做一件很簡單的事情,但是卻給了一件大殺器給他。比如文字編輯器vim就是這麼一件大殺器。不過今天我也會介紹一個非常適合新手的友好小編輯器,它叫nano。

nano 小巧的命令列編輯器

nano a.x #編輯a.x

雖然是命令列工具,但是開啟nano之後會有一種字元版的視窗的感覺,上面有標題欄,下面是選單欄,通過快捷鍵可以操作選單。其中^X表示Ctrl鍵+x鍵。M-表示Alt鍵。

比較常用的快捷鍵有:

通用

^G 幫助
^X 退出
^O 寫入
^W 查詢
^Q 反向查詢
^L 重新整理
^Z 掛起

編輯

M-U 撤銷
M-E 重做
^K 剪下
^U 貼上
M-shift 6 複製
M-A 標記
M-T 刪除至結尾
M-V 插入按鍵原型
M-3 註釋/反註釋
^] 補全

定位

^_ 跳轉到行列
M-] 移動到括號
M-W 重複上次搜尋
M-up 向前搜尋
M-down 向後搜尋
^left 向前跳一單詞
^right 向後跳一單詞
home 行首
end 行尾
M-- 鎖定遊標平移到上一行
m-+ 鎖定遊標平移到下一行
^up 前一段
^down 後一段
M-shift ( 段落開頭
M-) 段落結尾
^Y 上頁
^V 下頁
^home 全文起點
^end 全文終點

排版

^J 對齊段落
^T 自動排版
M-j 對齊全文
shitf Tab 取消縮排

配置

M-X 輔助模式
M-Y 語法高亮
M-I 自動縮排
M-shift 3 開關行號

雖然簡單,但是複製貼上操作和windows不一致,所以還是要記一下。如果想要玩的溜,那麼對定位和標記的掌握就要更加熟練一些了。

比如複製全文,貼上的操作:
^home | M-A | ^end | M-shift 6

全刪的操作:
^home | M-T 或者^end | M-A | ^home | ^K

一般用剪下來完成刪除操作,用標記完成選擇操作,在選擇的時候可以用定位操作來控制選擇範圍。注意遊標的位置,操作結果和遊標密切相關。

vim 思路獨特的超級編輯器

vim這個編輯器,喜歡的人吹上天,但是對新手來說非常不友好。因為你不小心開啟它,甚至不知道怎麼退出而選擇重啟電腦。因此,vim必須經過正規學習,經專人指導使用才會比較愉快。

vim分三個工作模式:

  1. 命令模式  ESC鍵進入
  2. 插入模式  i鍵a鍵o鍵R鍵c鍵s鍵進入
  3. 底線模式  :鍵進入
vi a.x #開啟a.x檔案,進入命令模式

命令模式

開啟檔案後,介面比nano還要簡單,幾乎沒有任何提示。在下方是狀態列。預設進入的是命令模式。所謂命令模式,它實際上重新定義了鍵盤的語義,所以在這模式下無法自由輸入文字(這也是為何新手進入這個模式會手忙腳亂的原因)。可以將命令模式看做是一個高效的操作檯,包含五類簡短命令:

  1. 移動游標
  2. 立即命令
  3. 範圍操作
  4. 特殊操作
  5. 雙按鍵命令

移動游標

h 左j 上k 下l 右
home 行首end 行尾
+ 下行- 上行
H 頁開始行M 頁中間行L 頁尾行
gg 全文首行G 全文尾行

30h #左30次
3回車 #下移3行
3空格鍵 #右移3字元

搜尋替換

/str 向後搜尋str?str 向前搜尋strn 重複搜尋N 反向搜尋

複製、貼上、刪除、合併行

x 相等於del鍵X 相當於back鍵
c3h 刪除前3個字元並進入插入模式
dd 刪除一行
yy 複製一行
p 貼上插入到下一行P 貼上插入到上一行
J 將下一行合併到本行
u 撤銷ctrl r 重做. 重複上一次操作

dG #刪除游標位置到全文結束,d+游標指令確定刪除範圍
cL #c+游標指令,並進入插入模式

存檔、退出

ZZ 存檔退出
ZQ 不存檔退出

插入模式

命令模式下,然後:

  1. i 當前游標插入
  2. a 當前游標後插入
  3. I 行首插入
  4. A 行尾插入
  5. o 當前行下新增一行,插入
  6. O 當前行上新增一行,插入
  7. c+游標 刪除範圍內的字元,插入
  8. C 刪除至行尾,插入
  9. r 替換當前字元,然後返回命令模式
  10. R 替換字元直到按Esc返回命令模式
  11. s 刪除字元,插入
  12. S 刪除行,插入

按Esc鍵返回命令模式。

底線模式(末行模式)

命令模式下按 鍵進入底線模式,即在螢幕下方錄入命令列。執行命令列後自動退回命令模式。基本上覆雜的操作都是通過末行模式的命令列來實現的。

常用的命令列:

    set nu #開啟行號
    set nonu #關閉行號
    r a.x #讀取a.x檔案
    1,3 co 4 #複製1至3行插入到4行後
    1,3 m 5 #移動1至3行到5行後
    1,3 d #刪除1-3行
    1,3 s/str1/str2/g #用str2替換str1,在1-3範圍內
    1,3 s/^/#/g #將1-3行註釋掉
    w a.x #儲存到a.x
    q! #不儲存退出,!代表強制
    wq #存檔並退出
    !ls #輸入外部命令

以上只是關於vim的九牛一毛的知識。因為一本比較豐富的vim教程大概有幾百頁的內容量吧。當然作為一個工具,光學習知識是沒有作用的,關鍵在於平時使用積累。

相關文章