vim的一些基本操作

2021-06-18 21:13:20 字數 4131 閱讀 4001

我接觸linux的時候,用的是nano這個文字編輯器,個人覺得他的最大優點就是方便,快速。開啟檔案,修改檔案,到退出都十分的快速,簡單。這一點上比vi,vim要強,但是nano不能顯示彩色字,不能進行整行刪除,編輯各種配置檔案的時候,總感覺不是很方便。針對於nano的這些缺點,vim可以很好的解決,並且vim開啟檔案,裡面的字是有顏色的,這一點根editplus,eclipse是一樣的,對於做程式的來說,就比較爽了。下面的操作,都是命令狀態下進行的,不要進入插入狀態了,如果進入了插入狀態,[esc]退出輸入狀態

一,游標移動

游標移動

h 或 向左箭頭鍵(←)

20h或者20(←)

游標向左移動乙個字元

游標向左移動20個字元,

j 或 向下箭頭鍵(↓)

20j或者20(↓)

游標向下移動一行

游標向下移動20行,

k 或 向上箭頭鍵(↑)

20k或者20(↑)

游標向上移動一行

游標向上移動20行,

l 或 向右箭頭鍵(→)

20l或者20(→)

游標向右移動乙個字元

游標向右移動20字元,

在這裡要注意一點的是,不要用小鍵盤輸入數字,不然就會直接輸入模式了.個人覺得掌握上面的這些,基本上能滿足我們對游標移動的要求了,看下圖

vim 我們可以根據編輯器右下角的數字來判斷,我們要跳轉到哪一行,如果想更精確的話,:set nu 設定一下環境變數,讓它顯示行號是最好的

ctrl + f

螢幕『向下』移動一頁,相當於 [page down]按鍵 (常用)

ctrl + b

螢幕『向上』移動一頁,相當於 [page up] 按鍵 (常用)

ctrl + d

螢幕『向下』移動半頁

ctrl + u

螢幕『向上』移動半頁

ctrl + e

螢幕『向下』移動一行

ctrl + y

螢幕『向上』移動一行

+游標移動到非空格符的下一列

-游標移動到非空格符的上一列

n那個 n 表示『數字』,按下數字後再按空格鍵,游標會向右移動這一行的 n 個字元。例如 20 則游標會向後面移動 20 個字元距離。

nn 為數字。游標向下移動 n 行(常用)

0 或功能鍵[home]

這是數字『 0 』:移動到這一行的最前面字元處 (常用)

$ 或功能鍵[end]

移動到這一行的最後面字元處(常用),這裡的$在正則裡面表示是結尾的意思,這樣理解一下就能記住

h游標移動到這個螢幕的最上方那一行的第乙個字元,h你就把它記成是header的縮寫,這樣就好記了

m游標移動到這個螢幕的中夬那一行的第乙個字元,m你就把它記成middle的縮寫

l游標移動到這個螢幕的最下方那一行的第乙個字元,l你就把它記成last的縮寫

g移動到這個檔案的最後一行(常用)

ngn 為數字。移動到這個檔案的第 n 行。例如 20g 則會移動到這個檔案的第 20 行

gg移動到這個檔案的第一行,相當於 1g 啊! (常用)

二,刪除,複製,貼上,撤銷

刪除,複製,貼上,撤銷

x, x

在一行字當中,x 為向後刪除乙個字元 (相當於 [del] 按鍵), x 為向前刪除乙個字元(相當於 [backspace] 亦即是退格鍵) (常用)

nx nx

n 為數字,連續向後刪除 n 個字元。舉例來說,我要連續刪除游標後 10 個字元, 『10x』。

n 為數字,連續刪除游標前面的 n 個字元。舉例來說,我要連續刪除游標前的 10 個字元, 『10x』。

ddyy

刪除游標所在的那一整行(常用),

複製游標所在的那一行(常用)

nddnyy

n 為數字。刪除游標所在行向下 n 行,例如 20dd 則是刪除 20 行(常用)

n 為數字。複製游標所在行向下 n 行,例如 20yy 則是複製 20 行(常用)

d1gy1g

刪除游標所在行到第一行的所有資料

複製游標所在行到第一行的所有資料 dg

yg 刪除游標所在行到最後一行的所有資料

複製游標所在行到最後一行的所有資料

d$ y$刪除游標所在處,到該行的最後乙個字元

複製游標所在的那個字元到該行行尾的所有資料

d0 y0

那個是數字的 0 ,刪除游標所在處,到該行的最前面乙個字元

複製游標所在的那個字元到該行行首的所有資料

p, p

j將游標所在行不下一行的資料結合成同一行

c重複刪除多個資料,可以通過上下鍵來決定刪除游標上面的,還是下面的

u撤銷。(常用)

ctrl + r

撤銷的撤銷。(常用)

三,區塊選擇,查詢,替換

區塊選擇,查詢,替換

v字元選擇,會將游標經過的地方反白選擇!

v行選擇,會將游標經過的行反白選擇!

ctrl + v

區塊選擇,可以用長方形的方式選擇資料

y將反白的地方複製起來

d將反白的地方刪除掉

v或者v

ctrl+v

從上面可以看出,v和v主要的是進行,行選擇,而ctrl+v是進行的列選擇,從靈活性上來說,ctrl+v更加的靈活一點。

/string

?string

向游標之下尋找乙個名稱為string字串

向游標之上尋找乙個名稱為string字串n n

正向查詢,搜尋出的string,可以理解成next

反向查詢,搜尋出的string,可以理解成not next

find

為了說明,n和n的區別,作了個例子,看左圖,左圖是搜尋ddd所產生的結果,黃底黑字就是搜尋的結果,這個時候,我們可以按n或者n,在這4個搜尋區塊內,進行切換.

n的順序是12341234

n的順序是43214321

總之一句話,n是從上到下,n是從下到上

:n1,n2s/string1/string2/g

這裡的n1是查詢的開始行數,n2是查詢結束的行數。【:2,7s/ddd/fff/g】在第2行,第7行之間,將ddd替換成fff

:1,$s/string1/string2/g

從第一行到最後一行尋找 string1 字串,並將該字串替換為 string2 !(常用)

:1,$s/string1/string2/gc

從第一行到最後一行尋找 string1 字串,並將該字串替換為 string2 !且在替換前顯示提示字元給使用者確認 (confirm) 是否需要替換!(常用)

四,儲存,退出,環境變數

儲存,退出,環境變數

:w :w!

將編輯的資料寫入硬碟檔案中(常用)

若檔案屬性為『唯讀』時,強制寫入該檔案。不過,到底能不能寫入, 還是跟你對該檔案的檔案許可權有關啊!

:q :q!

離開 vi (常用)

若曾修改過檔案,又不想儲存,使用 ! 為強制離開不儲存檔案。

:wq

:wq!

儲存後離開

強制儲存後離開

zz這是大寫的 z 喔!若檔案沒有更動,則不儲存離開,若檔案已經被更動過,則儲存後離開!

:w [filename]

另存為:r [filename]

在編輯的資料中,讀入另乙個檔案的資料。亦即將 『filename』 這個檔案內容加到游標所在行後面

:! command

暫時離開 vi 到指令列模式下執行 command 的顯示結果!例如 『:! cat ./test』即可在 vi 當中察看當前資料夾中的test檔案中的內容

i,i,a,a,o,o,r,r

進入插入模式,雖然有不同之處,感覺差別不大,就放在一起了

esc退出插入模式,進入命令模式

:set nu

顯示行號,設定之後,會在每一行的字首顯示該行的行號,這一點,非常有用,當我們修改配置檔案的時候,能知道多少行,就方便多了。

:set nonu

與 set nu 相反,取消行號

五,小結

個人覺得,上面的操作能滿足,80%--90%的人的需要,如果對多檔案進行操作,我想各種開發工具,要比vim更加的方便.

收藏、分享這篇文章!

:4,20 left 4   第4行到第20行,左對齊,空4格

vim的一些基本操作

下面的操作,都是命令狀態下進行的,不要進入插 入狀態了,如果進入了插入狀態,esc 退出輸入狀態 一,游標移動 游標移動 h 或 向左箭頭鍵 20h或者20 游標向左移動乙個字元 游標向左移動20個字元,j 或 向下箭頭鍵 20j或者20 游標向下移動一行 游標向下移動20行,k 或 向上箭頭鍵 2...

vim的一些基本操作

i進入插入模式 esc進入命令列模式,命令列模式中,常用的 儲存退出 wq 不儲存退出 q!撤銷 u 複製一行 yy 貼上 c 游標以單詞為單位跳動 w 游標回去 b 然後一開始,vim的預設都是空的,這也會出現很多惱人的事,比如沒有自動補全,沒有高亮,沒有行數,縮排空間太多等等 這需要開啟vimr...

linux中vim的一些基本操作

下面列出了我個人操作vim時總結的一些實用命令 下面的介紹中,命令前面帶 的指末行模式,否則是命令模式 游標定位到最上面 gg 游標定位到最下面 shift g 查詢 要查詢的詞 忽略大小查詢 要查詢的詞 c 替換當前行第乙個 s 舊的詞 新的詞 s是替換命令 替換每一行的所有匹配 s 舊的詞 新的...