Linux學習筆記(10)文字編輯器vim

2022-05-03 21:12:09 字數 3489 閱讀 1516

vim是乙個功能強大的全螢幕文字編輯器,是linux/unix最常用的文字編輯器,其作用是建立、編輯、顯示文字檔案。vim的特點是沒有選單,只有命令。

1 vim常用操作

(1)插入命令

命令作用

a在游標所在字元後插入

a在游標所在行尾插入

i在游標所在字元前插入

i在游標所在行首插入

o在游標下插入新行

o在游標上插入新行

命令作用

:set nu

設定行號

:set nonu

取消行號

gg到第一行

g到最後一行

ng到第n行

:n到第n行

$移至行尾

0移至行首

命令作用

x刪除游標所在處字元

nx刪除游標所在處後n個字元

dd刪除游標所在行

dg刪除游標所在行到檔案末尾內容

ndd刪除游標所在行後n行(包括當前行)

d刪除游標所在處到行尾內容

:n1,n2d

刪除指定範圍行

命令作用

yy複製當前行

nyy複製當前行以下n行(包括當前行)

dd剪下當前行

ndd剪下當前行以下n行(包括當前行)

p,p貼上在當前游標所在行下或行上

命令作用

r取代游標所在處字元

r從游標所在處開始替換字元,按esc結束

u取消上一步操作

命令作用

/string

搜尋指定字串,搜尋時忽略大小寫:set ic,取消忽略:set noic

n搜尋指定字串的下乙個出現位置

:%s/old/new/g

全文替換指定字串

:n1,n2s/old/new/g

在一定範圍內替換指定字串

其中g表示不詢問確認,如果是c的話表示詢問確認

命令作用

:w儲存修改

:w new_filename

另存為指定檔案

:wq儲存修改並退出

zz快捷鍵,儲存修改並退出

:q!不儲存修改並退出

:wq!

儲存修改並退出(檔案所有者和root可使用)

:r 檔名

例:建立test文字,寫入如下內容,將/etc/issue的內容複製到test文字中

[root@localhost ~]# vi

test

i am ws.

what

's your name?

my name is liming

i am glad to see you.

i am ws.

what

's your name?

my name is liming

i am glad to see you!centos release

6.5(final)

kernel \r on an \m

(2)在不退出vim的情況下,執行相應的操作命令,其格式為:

:!命令

例:如在命令模式下執行ls命令

i am glad to see you!centos release 

6.5(final)

kernel \r on an \m

:!ls

[no

write since last

change]

anaconda-ks.cfg install.log install.log.syslog

(3)匯入命令執行結果,相當於將前兩者進行綜合,其格式為:

:r !命令

例:在test的文字末尾新增日期,在命令模式下輸入:r !date,其結果為:

i am ws.

what

's your name?

my name is liming

i am glad to see you!centos release

6.5(final)

kernel \r on an \m

fri jan

206:00:55 cst 2015

(4)定義快捷鍵

可以為常用的命令定義快捷鍵,其格式為:

map 快捷鍵 觸發命令

注:快捷鍵的建立需要同時按下ctrl+v+建立快捷鍵的字母

例1:建立乙個快捷鍵,可使在行首加入注釋符#,只需在命令模式下輸入:map ^p i#,其中^p為ctrl+v+p同時按下後的顯示,i#即為行首插入注釋符#,表示退出編輯模式到命令模式。

然後在第一行執行ctrl+p,即可得到如下結果:

#i am ws.

what

's your name?

my name is liming

i am glad to see you!centos release

6.5(final)

kernel \r on an \m

fri jan

206:00:55 cst 2015

例2:建立刪除行首注釋符#的快捷鍵,在命令模式下輸入:map ^b 0x。

例3:在當前游標下為郵箱建立快捷鍵,在命令模式下輸入如下命令:

:map ^h [email protected]

(5)連續注釋行,該命令與搜尋替換命令1.(6)類似。如在連續多行新增注釋符#,在命令模式下輸入如下命令:

:n1,n2s/^/#/g

其中^表示行首

相對的,取消連續行注釋可以在命令模式下輸入如下命令:

:n1,n2s/^#//g

如果以"//"表示注釋符的話,則連續注釋行可在命令模式下輸入如下命令:

:n1,n2s/^/\/\//g

其中"\"表示轉義字元。

例:在test文字中的前兩行加入//注釋符:

//

i am ws.

//what's your name?

my name is liming

i am glad to see you!centos release

6.5(final)

kernel \r on an \m

fri jan

206:00:55 cst 2015

(6)替換

在文字檔案中,可以將乙個字串替換為另乙個字串,如將mail替換為[email protected],其命令格式為:

:ab  mail [email protected]

然後在文字中寫入mail,按空格或enter鍵則mail自動替換為[email protected]

通常設定的快捷鍵或替換在系統重啟時會消失,如果想長時間的儲存快捷鍵的定義或替換等,可以在每個使用者的家目錄(如root在/root,使用者在/home/使用者)下寫入配置檔案.vimrc(root下如/root/.vimrc),然後在該配置檔案中編輯模式下寫入所需要的命令,且行首無需加冒號(:)。

學習筆記2 文字編輯器Vim

vim是乙個功能強大的全螢幕文字編輯器,是linux unix上最常用的文字編輯器,它的作用是建立 編輯 顯示文字檔案。vim 沒有選單,只有命令。插入命令 命令作用 a在游標所在字元後插入 a在游標所在行尾插入 i在游標所在字元前插入 i在游標所在行行首插入 o在游標下插入新行 o在游標上插入新行...

Qt5 文字編輯

應用場景 在編輯框中輸入一段文字,用滑鼠選取文字,修改工具欄上的字型 字型大小大小 加粗 斜體等屬性,選取的文字即發生相應的變化。一 任何乙個文字編輯器的程式都要用到qtextedit作為輸入文字的容器,在它裡面輸入的可編輯文字由qtextdocument作為載體,而qtextblock qtext...

Liunx學習筆記 02 文字編輯器Vim

vi vim是用於linux中最常用的文字編輯器,用於建立 編輯 顯示文字檔案。之所以用vi vim,是因為大多數伺服器只提供終端操作模式,沒有圖形介面,而此時編輯文件,只能用這個編輯器。vim是vi的公升級版,其相容vi,且功能更為強大一些。和windows中的word 記事本 筆記本不同,vi ...