vim使用技巧

2021-09-21 08:11:14 字數 4457 閱讀 4125

一、簡介

vi: visual inte***ce

,文字編輯器

文字:ascii, unicod

行編輯器

: sed 

nano, vi vim - vi improved

gedit 

乙個簡單的圖形編輯器

**im 

乙個vim

編輯器的圖形版本

二、使用技巧

vim - vi improved, a programmers text editor

vim [options] [file ..]

vim [options] -

vim [options] -t tag

vim [options] -q [errorfile]1)

+#: 

開啟檔案後,直接讓游標處於第

#行的行首

如:vim +20 file 2)

+/pattern

:開啟檔案後,直接讓游標處於第乙個被

pattren

匹配的到的行的字元所在位置3)

vim –d file1 file2…  

比較多個檔案

example:vim -d test.sh test.txt 

類似命令有

:vimdiff test.sh test.txt 

vim的三大模式:

1)命令模式

2)插入模式

3)末行模式

esc鍵可以切換模式,

esc鍵

退出當前模式,

esc鍵

esc鍵

總是返回到命令模式

模式轉換:

命令模式

--> 

插入模式

i: insert, 

在游標所在處輸入

i:在當前游標所在行的行首輸入

在游標所在處後面輸入

a:在當前游標所在行的行尾輸入

o: 在當前游標所在行的下方開啟乙個新行

o:在當前游標所在行的上方開啟乙個新行

關閉檔案操作:

:q 退出

:q! 

強制退出

:wq 

儲存退出

命令模式行間跳**

字元間跳**

h: 左

l: 右

j: 下

k: 上

#command

:跳轉由

#指定的個數的字元;單詞間跳**

w:下乙個單詞的詞首eb

:當前或前乙個單詞的詞首

#command:由#

指定一次跳轉的單詞數

v當前頁跳**

h:頁首

m:頁中間行

l:頁底

行首行尾跳**

^: 跳轉至行首的第乙個非空白字元;

0: 跳轉至行首

$: 跳轉至行尾

行間移動:

#g、擴充套件模式:

# :跳轉至由

#指定行

g:最後一行

1g, gg: 

第一行命令模式操作:

x:刪除游標處的字元,

#x: 

刪除游標處起始的

#個字元

xp:交換游標所在處的字元位置,調個

~:轉換大小寫

r:替換游標所在處的字元

刪除命令:

d: 刪除命令,可結合游標跳轉字元,實現範圍刪除;

d$: 

刪除到行尾

d^:刪除到非空行首

d0:刪除到行首

dw: de: db: #command dd: 

刪除游標所在的行

#dd:多行刪除

d:從當前游標位置一直刪除到行尾,留空行,等同於

d$,dd 加上.

即可,實現刪除。

複製命令:

yy:複製所在地的行,

y$:複製游標所在的位置至行尾,

y^:複製游標坐在的位置至行首

貼上命令

(p, paste):p

:緩衝區存的如果為整行,則貼上當前游標所在行的下

方;否則,則貼上至當前游標所在處的後面

p:緩衝區存的如果為整行,則貼上當前游標所在行的上

方;否則,則貼上至當前游標所在處的前面

改變命令

(c, change) 

c:修改後切換成插入模式

命令模式

--> 

插入模式

c$ c^ c0 cb ce cw #command  cc

:刪除當前行並輸入新內容

#cc:  c

:刪除當前游標到行尾,並切換成插入模式

command: y 

複製、d 

刪除、gu 

變大寫、

gu 變小寫

例如0y$ 

命令意味著:

0 → 

先到行頭

y → 

從這裡開始拷貝

$ → 

拷貝到本行最後乙個字元

ye 從當前位置拷貝到本單詞的最後乙個字元

查詢:查詢

/pattern

:從當前游標所在處向檔案尾部查詢

?pattern

:從當前游標所在處向檔案首部查詢

n:與命令同方向

n:與命令反方向

擴充套件模式匹配:查詢並替換

s: 在擴充套件模式下完成查詢替換操作

格式:s/

要查詢的內容

/替換為的內容

/修飾符

要查詢的內容:可使用模式

替換為的內容:不能使用模式,但可以使用分組

\1, \2, ... 

等後向引用符號;還可以使用

「&」引用前面查詢時查詢到的整個內容

修飾符:

i:忽略大小寫

g:全域性替換

gc:全域性替換,並在替換前每次詢問是否替換

查詢替換中的分隔符

/可替換為其它字元,例如

s@/etc@/var@g s#/boot#/#i s/^root/rabbit/g           

實戰小練習:

1、複製

/etc/profile

至/tmp/

目錄,用查詢替換命令刪除

/tmp/profile

檔案中的行首的空白字元

[root@centos7 tmp]# sed -r '/^[[:space:]]+/d'  profile #

命令列:%s/^[[:space:]]\+//g #

末行模式

2、複製

/etc/rc.d/init.d/functions

檔案至/tmp

目錄,用查詢替換命令為

/tmp/functions

的每行開頭為空白字元的行的行首新增乙個#號

:%s/^[[:space:]]/#/g

[root@centos7 tmp]# sed -r 's/(^[[:space:]]+)/&#/g' functions

撤銷修改: u

撤銷最近的更改

#u撤銷之前多次更改

u 撤消游標落在這行後所有此行的更改

按ctrl - r

重做最後的「撤消

」更改. 重複前乙個操作

n.重複前乙個操作n次

視覺化模式:

允許選擇的文字快:

v:選擇字元,

v:面向行

ctrl + v 

面向塊多文字儲存、退出模式:

:wall 

儲存所有

:qall 

退出所有

:wqall

vim工作特性:

配置檔案:永久有效

全域性:/etc/vimrc

個人:~/.vimrc  

1)顯示行號

set nu 

2)取消顯示

set nonu 

3)括號成對匹配

匹配:set showmatch, 

簡寫為set sm 

取消:set nosm

4)自動縮排

啟用:set ai 

禁用:set noai 

5)語法高亮

啟用:sytnax on 

關閉:sytnax off 

6)忽略字元的大小寫

啟用:set ic 

不忽略:

set noic

配置文字格式: 1

)文字格式,如在

windows

裡面的檔案挪至

linux

則會有^m 

啟動:fileformat=unix 

關閉:fileformat=docs

vim幫助:

vi/vim

內建幫助

:help :help topic use :q to exit help  vim 

練習場所:

vimtutor

vim 使用技巧

本文一般情況下用 1.選定文字 拷貝貼上 v為可視模式,可以選定多行。選定多行之後,可以用yy或者dd等等進行拷貝和剪下。p 是貼上 y 和d 可以直接拷貝或者剪下選定的內容 yw是拷貝乙個單詞 如果要複製整行的最簡單辦法就是v,y,p 就行了 v是可以選定一行任意個字元的,v是行選定的,一次一整行...

vim使用技巧

v為可視模式,可以選定多行。選定多行之後,可以用yy或者dd等等進行拷貝和剪下。p 是貼上 y 和d 可以直接拷貝或者剪下選定的內容 yw是拷貝乙個單詞 如果要複製整行的最簡單辦法就是v,y,p 就行了 v是可以選定一行任意個字元的,v是行選定的,一次一整行,然後通過向下或向上移動游標而選定多行。對...

VIM 使用技巧

ctrl o 連摁兩次,直接開啟上次關閉時編輯的檔案 ctrl o 摁一次,是跳回上乙個起跳處 很有用!ctrl r 撤銷撤銷。u是撤銷,ctrl r是撤銷那個撤銷 跳回到上乙個編輯點 b 往後移動乙個詞,游標在詞首 查詢當前游標處的詞,向前,是像後。不過在我的7.1的版本上一點 搜尋到的關鍵字就已...