vi/vim是用於linux中最常用的文字編輯器,用於建立、編輯、顯示文字檔案。
之所以用vi/vim,是因為大多數伺服器只提供終端操作模式,沒有圖形介面,而此時編輯文件,只能用這個編輯器。
vim是vi的公升級版,其相容vi,且功能更為強大一些。
和windows中的word、記事本、筆記本不同,vi/vim沒有任何選單,只能通過命令來處理各種操作。
在linux終端直接輸入vim filename或者vi filename就可以新建並開啟乙個名為filename的檔案(如果已有該檔案,則不再新建,而是直接開啟該檔案)。
用vim filename開啟filename檔案後,就進入到了命令模式,系統會等待輸入命令,與windows中的文字編輯器不同,這時候你只能檢視該檔案,但是沒辦法來編輯該檔案,即,鍵入的字元不會自動插入到游標處。
在命令模式下,按下鍵盤i或者a或者o,則會進入到插入模式,此時就和windows中的文字編輯器一樣,可以用鍵盤往文件中鍵入各種字母、數字、符號,可以用上、下、左、右的箭頭來移動游標,可以用回車鍵來換行,可以用backspace鍵來退格刪除,可以用delete鍵來刪除當前游標處字元,用home/end鍵移動游標到行首/行尾,用page up/page down來上/下翻頁,用insert鍵來切換游標為輸入/替換模式等。
在插入模式下,按下esc退出鍵,則從插入模式退出,返回到命令模式。
在命令模式下,輸入英文冒號「:」,螢幕最下面會出來冒號提示符並等著使用者輸入命令,輸入命令後,回車確認,會執行相關的命令,比如設定行號、儲存退出等,執行命令後即自動退出返回到命令模式。
命令功能
a在游標所在字元後插入
a在游標所在行行尾插入
i在游標所在字元前插入
i在游標所在行行首插入
o在游標下插入新行
o在游標上插入新行
命令功能
h 或 左方向鍵
左移乙個字元
j 或 下方向鍵
下移一行
k 或 上方向鍵
上移一行
l 或 右方向鍵
右移乙個字元
$ 或 end鍵
移至行尾
0 或 home鍵
移至行首 命令
功能h移至文件上端
m移至文件**
l移至文件下端 命令
功能:set nu
設定行號(顯示行號),寫**時很好使
:set nonu
取消行號
gg到第一行
g到最後一行
ng到第n行,例如10g就是到第10行
:n到第n行
命令功能
x刪除游標所在處的字元
nx刪除游標所在處的後n個字元
dd刪除游標所行,ndd則刪除n行
dg刪除游標所在行到檔案末尾內容
d刪除游標所在處到行尾的內容
:n1,n2d
刪除指定範圍的行
命令功能
yy 或 y
複製當前行
nyy 或 ny
複製當前行以下的n行
dd剪下當前行
ndd剪下當前行以下的n行
p貼上到當前游標所在行下
p貼上到當前游標所在行上
命令功能
r取代游標所在處字元(乙個字元)
r從游標所在處開始替換字元,按esc結束替換
u取消上一步操作,即windows中的撤銷
命令功能
/string回車
搜尋指定字串string,若要搜尋時忽略大小寫,用命令:set ic
n搜尋指定字串出現的下乙個位置
:%s/old/new/g
全文替換指定字串,%s表全文替換,old為舊字串,new為新字串,
g為替換不詢問,c為逐個詢問是否替換
:n1,n2s/old/new/g
在n1到n2行範圍內替換指定字串
命令功能
:w儲存修改
:w new_filename
另存為new_filaname
:wq儲存修改並退出
zz快捷鍵,儲存修改並退出
:q!不儲存修改退出
:wq!
儲存修改並退出(檔案所有者及root可用,對於唯讀檔案做了強制修改後可強制儲存)
開啟終端,依次輸入以下命令:
sudo
apt-get remove vim-common
sudo
apt-get
install vim
再次開啟vi編輯器,方向鍵及退格鍵再也不會變成亂碼了。 liunx 文字編輯
cat a bg.js 顯示不可列印字元,行尾顯示 cat n bg.js 從1開始對所有輸出的行數編號 cat b bg.js 給非空輸出行編號 cat s bg.js 將所有的連續的多個空行替換為乙個空白行 more 5 bg.js 指定螢幕的行數 more 5 bg.js 行號 num 開始顯...
學習筆記2 文字編輯器Vim
vim是乙個功能強大的全螢幕文字編輯器,是linux unix上最常用的文字編輯器,它的作用是建立 編輯 顯示文字檔案。vim 沒有選單,只有命令。插入命令 命令作用 a在游標所在字元後插入 a在游標所在行尾插入 i在游標所在字元前插入 i在游標所在行行首插入 o在游標下插入新行 o在游標上插入新行...
Qt5 文字編輯
應用場景 在編輯框中輸入一段文字,用滑鼠選取文字,修改工具欄上的字型 字型大小大小 加粗 斜體等屬性,選取的文字即發生相應的變化。一 任何乙個文字編輯器的程式都要用到qtextedit作為輸入文字的容器,在它裡面輸入的可編輯文字由qtextdocument作為載體,而qtextblock qtext...