目錄
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分三個工作模式:
- 命令模式 ESC鍵進入
- 插入模式 i鍵a鍵o鍵R鍵c鍵s鍵進入
- 底線模式 :鍵進入
vi a.x #開啟a.x檔案,進入命令模式
命令模式
開啟檔案後,介面比nano還要簡單,幾乎沒有任何提示。在下方是狀態列。預設進入的是命令模式。所謂命令模式,它實際上重新定義了鍵盤的語義,所以在這模式下無法自由輸入文字(這也是為何新手進入這個模式會手忙腳亂的原因)。可以將命令模式看做是一個高效的操作檯,包含五類簡短命令:
- 移動游標
- 立即命令
- 範圍操作
- 特殊操作
- 雙按鍵命令
移動游標
h 左
,j 上
,k 下
,l 右
home 行首
,end 行尾
+ 下行
,- 上行
H 頁開始行
,M 頁中間行
,L 頁尾行
gg 全文首行
,G 全文尾行
30h #左30次
3回車 #下移3行
3空格鍵 #右移3字元
搜尋替換
/str 向後搜尋str
,?str 向前搜尋str
,n 重複搜尋
,N 反向搜尋
複製、貼上、刪除、合併行
x 相等於del鍵
,X 相當於back鍵
c3h 刪除前3個字元並進入插入模式
dd 刪除一行
yy 複製一行
p 貼上插入到下一行
,P 貼上插入到上一行
J 將下一行合併到本行
u 撤銷
,ctrl r 重做
,. 重複上一次操作
dG #刪除游標位置到全文結束,d+游標指令確定刪除範圍
cL #c+游標指令,並進入插入模式
存檔、退出
ZZ 存檔退出
,
ZQ 不存檔退出
插入模式
命令模式下,然後:
- i 當前游標插入
- a 當前游標後插入
- I 行首插入
- A 行尾插入
- o 當前行下新增一行,插入
- O 當前行上新增一行,插入
- c+游標 刪除範圍內的字元,插入
- C 刪除至行尾,插入
- r 替換當前字元,然後返回命令模式
- R 替換字元直到按Esc返回命令模式
- s 刪除字元,插入
- 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教程大概有幾百頁的內容量吧。當然作為一個工具,光學習知識是沒有作用的,關鍵在於平時使用積累。