1. 程式人生 > >Linux系統提高編輯效率的vim工具重要知識

Linux系統提高編輯效率的vim工具重要知識

vim編輯器 老男孩教育

網上文章太雜,都是泛泛講解,沒有重點,本文表格的內容是相對重點的參數,值得讀者學習掌握。

表7-1 vi/vim命令的參數選項及說明

7-22命令

說明

普通模式:移動光標的操作

G(shift+g)

將光標移動到文件的最後一行

gg

將光標移動到文件的第一行,等價於1gg1G

0

數字0,將光標從所在位置移動到當前行的開頭

$

從光標所在位置將光標移動到當前行的結尾

n<Enter>

n為數字,<Enter>為回車鍵,將光標從當前位置向下移動n行。

ngg

n為數字,移動到文件的第n行,如11gg可移動到第11行,可配合“:set nu”查看,同nG

H

光標移動到當前窗口最上方的那一行

M

光標移動到當前窗口中間的那一行

L

光標移動到當前窗口最下方的那一行

h()

光標向左移動一個字符

j或(↓)

光標向下移動一個字符

k或(↑)

光標向上移動一個字符

l或(→)

光標向右移動一個字符

普通模式:搜索與替換操作

/oldboy

從光標位置開始,向下尋找名為oldboy的字符串

?oldboy

從光標位置開始,向上尋找名為oldboy的字符串

n

從光標位置開始,向下重復前一個搜索的的動作

N

從光標位置開始,向上重復前一個搜索的的動作

:g/A/s//B/g

把符合A的內容全部替換為B,斜線為分隔符,可以用@#等替代

:%s/A/B/g

把符合A的內容全部替換為B,斜線為分隔符,可以用@#等替代

:n1,n2s/A/B/gc

n1n2為數字,在第n1行和n2行間尋找A,用

B替換

普通模式:復制、粘貼、刪除等操作

yy

復制光標所在的當前行

nyy

n為數字,復制光標開始向下共n

p/P

p將已復制的數據粘貼到光標的下一行,P則為粘貼到光標的上一行

dd

刪除光標所在的當前行

ndd

n為數字,刪除從光標開始向下共n

u

恢復(回滾)前一個執行過操作

.

點號。重復前一個執行過的動作

x

向後刪除字符

X

向前刪除字符

d1G

刪除當前行至第一行

dG

刪除當前行至最後一行

d0

刪除當前光標文本至行首

d$

刪除當前光標文本至行尾

進入編輯模式命令

i

在當前光標所在處插入文字

a

在當前光標所在下一個字符處插入文字

I

在當前所在行的行首第一個非空格符處開始插入文字,和A相反

A

在當前所在行的行尾最後一個字符處開始插入文字,和

I相反

O

在當前所在行的上一行處插入新的一行

o

在當前所在行的下一行處插入新的一行

Esc

退出編輯模式,回到命令模式中

命令行模式

:wq

退出並保存

:wq!

退出並強制保存,“!”為強制的意思

:q!

強制退出,不保存

:n1,n2 w filename

n1n2為數字,將n1行到n2行的內容保存成filename這個文件

:n1,n2 co n3

n1n2為數字,將n1行到n2行的內容拷貝到n3位置下

:n1,n2 m n3

n1n2為數字,將n1行到n2行的內容挪至n3位置下

:!command

暫時離開vi到命令行模式下執行command的顯示結果!例如 :! ls /etc

:set nu

顯示行號

:set nonu

set nu相反,取消行號

:vs filename

垂直分屏顯示,同時顯示當前文件和filename對應文件的內容

:sp filename

水平分屏顯示,同時顯示當前文件和filename對應文件的內容

I + # + Esc

在可視塊模式下(Ctrl + v, 一次性註釋所選的多行,取消註釋可用:n1,n2s/#/ /gc[t1] ,這裏操作是一個通用的方法,#號可以換成別的操作,例如tab鍵,這樣就是批量縮進

Del

在可視塊模式下(Ctrl + v),一次性刪除所選內容

r

在可視塊模式下(Ctrl + v),一次性替換所選內容

內容來自老男孩2018年7月出版的新書《跟老男孩學Linux運維:核心系統基礎實踐》第7 ,敬請期待。


[t1]這是幾種方法?如果是多種方法,各方法間請用頓號。


Linux系統提高編輯效率的vim工具重要知識