VIM基本操作

2021-06-19 01:56:52 字數 4014 閱讀 1659

vi

基本操作vi

有3個模式:插入模式、命令模式、低行模式。

●插入模式:在此模式下可以輸入字元,按

esc將回到命令模式。

●命令模式:可以移動游標、刪除字元等。

●低行模式:可以儲存檔案、退出

vi、設定

vi、查詢等功能

(低行模式也可以看作是命令模式裡的)。

一、開啟檔案、儲存、關閉檔案

(vi命令模式下使用

)vi filename //

開啟filename

檔案:w//

儲存檔案

:w vpser.net //

儲存至vpser.net

檔案:q//

退出編輯器,如果檔案已修改請使用下面的命令

:q!//

退出編輯器,且不儲存

:wq//

退出編輯器,且儲存檔案

二、插入文字或行

(vi命令模式下使用,執行下面命令後將進入插入模式,按

esc鍵可退出插入模式

)a //

在當前游標位置的右邊新增文字

i//在當前游標位置的左邊新增文字

a//在當前行的末尾位置新增文字

i//在當前行的開始處新增文字

(非空字元的行首

)o //

在當前行的上面新建一行

o//在當前行的下面新建一行

r//替換(覆蓋

)當前游標位置及後面的若干文字

j//合併游標所在行及下一行為一行

(依然在命令模式

)三、移動游標

(vi命令模式下使用)1

、使用上下左右方向鍵

2、命令模式下:

h向左、

j向下、

k向上、

l向右。

空格鍵向右、

backspace

向左、enter

移動到下一行首、

-移動到上一行首。

ctrl+f:

向前滾動一頁

ctrl+b:

向後滾動一頁

:n將游標定位到第n行

:$將游標定位到最後一行

0將游標定位到本行的行首

$將游標定位到本行的行尾

g將游標定位到本文章的最後一行,與

:$功能相同。

h將游標定位到螢幕的頂端

m將游標定位到螢幕的中間

l將游標定位到螢幕的底端

四、刪除、恢復字元或行

(vi命令模式下使用

)x //

刪除當前字元

nx//

刪除從游標開始的

n個字元

dd//

刪除當前行

ndd//

向下刪除當前行在內的n行

u//撤銷上一步操作

u//撤銷對當前行的所有操作

dg刪除當前游標到檔案末尾的所有內容。

d0刪除當前游標到本行行首的所有內容

d$刪除當前游標到本行行尾的所有內容

1,100d

刪除1~100

100d

刪除第100

行1,100mo $

將1~100

行的內容移動到最後一行

五、搜尋

(vi命令模式下使用

)/vpser //

向游標下搜尋

vpser

字串?vpser//

向游標上搜尋

vpser

字串n//

向下搜尋前乙個搜素動作

n//向上搜尋前乙個搜尋動作

六、跳至指定行

(vi命令模式下使用

)n+ //

向下跳n

行n-//

向上跳n

行ng//

跳到行號為n的行

g//跳至檔案的底部

七、設定行號

(vi命令模式下使用

):set nu //

顯示行號

:setnonu //

取消顯示行號

八、複製、貼上

(vi命令模式下使用

)

yy//

將當前行複製到快取區,也可以用

"ayy

複製,"a

為緩衝區,

a也可以替換為a到

z的任意字母,可以完成多個複製任務。

nyy//

將當前行向下

n行複製到緩衝區,也可以用

"anyy

複製,"a

為緩衝區,

a也可以替換為a到

z的任意字母,可以完成多個複製任務。

yw//

複製從游標開始到詞尾的字元。

nyw//

複製從游標開始的

n個單詞。

y^//

複製從游標到行首的內容。

vps偵探

y$//

複製從游標到行尾的內容。

1,100co 200

將1~100

的內容複製到第

200行。

100,102co $

將100~102

行的內容複製到最後一行。

p//貼上剪下板裡的內容在游標後,如果使用了前面的自定義緩衝區,建議使用

"ap進行貼上。

p//貼上剪下板裡的內容在游標前,如果使用了前面的自定義緩衝區,建議使用

"ap進行貼上。

九、替換

(vi命令模式下使用

):s/old/new //

用new

替換行中首次出現的

old:s/old/new/g //

用new

替換行中所有的

old:n,m s/old/new/g //

用new

替換從n到m

行裡所有的

old:%s/old/new/g //

用new

替換當前檔案裡所有的

old十、編輯其他檔案

:eotherfilename //

編輯檔名為

otherfilename

的檔案。

十一、修改檔案格式

:setfileformat=unix //

將檔案修改為

unix

格式,如

win下面的文字檔案在

linux

下會出現^m。

ps:還有乙個重要的命令就是

"."命令,這個命令是用來重複上一命令的

ctags

ctags-r

或ctags–recurse

在當前目錄生成

br#settags=tags;

逐級目錄查詢

br#setautochdir tags

檔案中記錄的路徑總是相對於

br#vim的當前目錄

ctrl+]

跳轉到當前游標下的標

ctrl+t

跳到標籤棧中較早的標

:tag

跳轉到指定的標籤

:tags

顯示標籤棧

預覽介面

:ptag

:pclose

:pedit

:psearch

cscope

cscope–rbkq

-r遞迴搜尋當前目錄 -b

只生成索引檔案,不進入

cscope介面

-k在生成索引檔案時,不搜尋

/usr/include目錄

-q生成

cscope.in.out

和cscope.po.out

檔案,加快

cscope

的索引速度

你也可以不用

-b選項,這樣

cscope

會開啟乙個介面顯示索引狀態,索引完成後可以用

ctrl-d

退出cscope

介面。

vim基本操作

skip to end of metadata 頁面限制於新增者 ligang,最後更新者 ligang 於三月09,2011 檢視變更 注釋 go to start of metadata 移動 h j k l ctrl f 向下 移動一頁,相當於 page down 按鍵 常用 ctrl b 向...

Vim基本操作

指令 說明i i i 從當前游標坐所在處插入,i 當前行第乙個非空格符處插入 a aa 從當前所在的下乙個字元處插入,a 從游標所在行最後乙個字元處插入 o or r r 替換游標所在的那乙個字元,r 一直替換游標所在的文字,知道按esc為止 操作說明 k游標向上移動乙個字元 j游標向下移動乙個字元...

Vim基本操作

vim 是 linux 系統上的最著名的文字 編輯器,也是早年的 vi 編輯器的加強版,而 gvim 則是其 windows 版。它的最大特色是完全使用鍵盤命令進行編輯,脫離了滑鼠操作雖然使得入門變得困難,但上手之後鍵盤流的各種巧妙組合操作卻能帶來極為大幅的效率提公升。因此 vim 和現代的編輯器 ...