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教程大概有幾百頁的內容量吧。當然作為一個工具,光學習知識是沒有作用的,關鍵在於平時使用積累。
