在linux系統中,即使在控制台命令列狀態下,也需要進行大量的文字處理工作。linux系統中幾乎所有的配置檔案都是以純文字形式存在的,我們也要對這些檔案進行編輯工作。linux上常見的文字編輯器有vi、vim、ed、gedit、emacs等。本章介紹的文字編輯器就是平常使用最多的vim文字處理器。
vim簡介
在命令列輸入vim
[root@bogon desktop]# vim
出現以下介面就是vim編輯器的介面
vim有三種工作模式
1.命令模式
使用vim開啟任何乙個檔案,如
[root@localhost tmp]# vim sdn蜀道難
進入vi編輯器時,首先進入命令模式(command mode)。在命令模式下,從鍵盤輸入任何字元都被當作命令來解釋。在命令模式下,可以完成複製、貼上、選擇、刪除、撤銷等命令。輸入命令後vim會立即執行,不需要回車,而且輸入的字元不會在螢幕上顯示出來。
2.插入模式
主要用於文字的編輯。該模式下使用者輸入的任何字元都被作為檔案的內容儲存起來,並在螢幕上顯示出來。進去命令模式後,按字母i鍵或a鍵,進入插入模式。
插入模式有乙個–insert–標識
在插入模式下,輸入esc鍵會返回到命令模式。
3.末行模式
命令模式下的命令可以完成很多功能,但要執行一些如儲存當前修改並繼續編輯、儲存並退出vim環境、不儲存修改退出vim環境、顯示行號等操作還是必須要進入末行模式。在命令模式下使用者可以按鍵盤的shift加:進入末行模式,在末行模式下我們可以進行儲存修改或退出vim,也可以環境設定、列出行號、尋找字串等對檔案進行一些高階處理。
底行模式在開啟vi編輯器後,檔案的下面,有乙個標識
在末行模式下按esc鍵會退回命令模式
vim編輯器使用
命令模式下
命令操作
yy複製當前行
y0複製當前字元到當前行的起始
y$複製當前字元到當前行的末尾
yg複製當前行到檔案末尾的內容
n+yy
複製n行p貼上
x刪除當前字元
x刪除前乙個字元
dd刪除當前行
d$刪除當前字元到當前行的末尾
d0刪除當前字元到當前行的開始
dg刪除當前行到檔案末尾
u撤銷上乙個操作
r替換當前字元
h或左方向鍵
左移一位
l(小寫l)或右方向鍵
右移一位
j或下方向鍵
下移一位
k或上方向鍵
上移一位
^移動到游標所在行的「行首」
$移動到游標所在行的「行尾」
gg移動到檔案開頭
g移動到檔案最後
w移動到下個單詞的開頭
b移動到上個單詞的開頭
e移動到當前單詞的字尾
h移動到螢幕最上面一行
m移動到螢幕中間一行
l移動到螢幕最下面一行
插入模式
在命令列模式下按一下字母i或a就可以進入插入模式,這時候你就可以開始輸入文字了。
末行模式
在命令模式下按":"鍵進入末行模式
末行模式的常用命令操作
命令退出方式
:w 檔名
以指定的檔名儲存,並退出,類似於另存為。
:w儲存當前修改,還可以繼續編輯
:wq儲存當前修改,並退出vim環境
:q退出vim環境(如果當前檔案發生修改,將無法儲存)
:q!不儲存當前修改,並退出vim環境
:x儲存當前修改,並退出vim環境。相當於:wq的意思
zz儲存當前修改,並退出vim環境。相當於:wq的意思
:set number
顯示行號,簡寫為:set nu。注意,vi關閉後行號將不再顯示
:!系統命令 執行乙個系統命令並顯示結果,如在vim下需要執行ls時,可以使用:! ls
:sh切換到命令列
查詢和替換
命令組成
含義%s
確定操作範圍,%代表從文字的第一行到最後一行
s執行替換操作
/+/-
搜尋和替換的文字(搜尋字母+,替換字母-)
g對搜尋到每一行的每乙個例項進行替換;如果g缺失,則只替換每一行第乙個符合條件的例項。
則在每次替換前都會請求使用者確認,在螢幕最下方會出現如下內容。
replace with r (y/n/a/q/l/^e/^y)?
字元含義y
執行替換
n跳過此次替換
a執行此次替換以及之後的所有替換
q停止替換
l(小寫l)
執行此次替換以及之後的所有替換
^e(ctrl+e)
^e表示向下滾動
^y(ctrl+y)
^y表示向上滾動
常用的替換命令:
命令說明
:s/vivian/sky/
替換當前行第乙個 vivian 為 sky
:s/vivian/sky/g
替換當前行所有 vivian 為 sky
:%s/vivian/sky/
替換每一行的第乙個 vivian 為 sky
:%s/vivian/sky/g
替換每一行中所有 vivian 為 sky
linux 文字處理
1.文字處理 echo echo e 033 40 35m.背景顏色範圍 40 49 40 黑 41 深紅 42 綠 43 黃色 44 藍色 45 紫色 46 深綠 47 百色 字型顏色範圍 30 39 30 黑 31 紅 32 綠 33 黃 34 藍色 35 紫色 36 深綠 37 百色 eg e...
Linux 文字處理
author janloong do o cat 連線檔案並且列印到標準輸出 sort 給文字行排序 uniq 報告或者省略重複行 cut 從每行中刪除文字區域 paste 合併檔案文字行 join 基於某個共享欄位來聯合兩個檔案的文字行 comm 逐行比較兩個有序的檔案 diff 逐行比較檔案 p...
linux文字處理之awk
最簡單地說,awk 是一種用於處理文字的程式語言工具。awk 在很多方面類似於 shell 程式語言,儘管 awk 具有完全屬於其本身的語法。它的設計思想 於 snobol4 sed marc rochkind設計的有效性語言 語言工具 yacc 和 lex 當然還從 c 語言中獲取了一些優秀的思想...