日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > linux >内容正文

linux

linux 神的编辑器,编辑器之神-vim的使用,编辑器神-vim

發(fā)布時(shí)間:2023/12/15 linux 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux 神的编辑器,编辑器之神-vim的使用,编辑器神-vim 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

編輯器之神-vim的使用,編輯器神-vim

vim即vi的升級(jí)版;在linux中,vi是vim的軟鏈接,我們敲vi和vim出來(lái)的都是vim;

純手打,如有錯(cuò)誤,敬請(qǐng)指出。

vi的三種模式及簡(jiǎn)單使用

vi三種模式

命令模式(默認(rèn)):是文件的入口,可以實(shí)現(xiàn)文件的定位,復(fù)制,翻頁(yè)等;

末行模式:是文件的出口,w write,q quit,wq 寫入并保存等;

編輯模式:正常的文字編輯;

三種模式的轉(zhuǎn)換

命令模式—>i,a,o,I,A,O—>編輯模式—>esc—>命令模式

命令模式—>”:”—>末行模式—>esc—>命令模式

vi的簡(jiǎn)單使用

vi 已有文件:打開(kāi)已存在的文件;

vi 不存在文件:新建文件;

vi 文件:打開(kāi)文件,光標(biāo)在行首;

vi 文件 +:打開(kāi)文件,文件在末尾;

vi 文件 +行數(shù):打開(kāi)文件,并且指定行數(shù);

例如:

vi hello.py #打開(kāi)hello文件

vi hello.py +20 #打開(kāi)hello文件并且把光標(biāo)跳到第20行

vi hello.py + #打開(kāi)hello文件并且光標(biāo)跳到最后一行

異常處理之交換文件

如果我們?cè)趘i編輯文件時(shí),忽然關(guān)閉終端,或者異常卡出,就會(huì)出現(xiàn)交換文件,用ls -al可查看,存在.swp結(jié)尾的交換文件;

出現(xiàn)交換文件后,再一次vi 原來(lái)的文件時(shí),就會(huì)報(bào)錯(cuò),我們按照提示D刪除交換文件即可;

命令模式轉(zhuǎn)編輯模式

命令模式下:

i

插入光標(biāo)前一個(gè)字符

I

插入行首

a

插入光標(biāo)后一個(gè)字符

A

插入行末

o

向下新開(kāi)一行,插入行首

O

向上新開(kāi)一行,插入行首

保存退出編輯

在命令模式下保存,shift+z+z

末行模式下:

w

保存

q

退出

wq

保存退出

x

保存退出

q!

不保存強(qiáng)制退出

vim移動(dòng),跳轉(zhuǎn)

上下左右移動(dòng)

命令模式:

k

上移

j

下移

h

左移

l

右移

hjkl控制上下作用

行內(nèi)移動(dòng)

命令模式下:

0:到達(dá)行首

^:到達(dá)行首第一個(gè)不是空白字符的位置

$:到達(dá)行尾

w:word,往后移一個(gè)word

b:back,往前移一個(gè)word

行數(shù)移動(dòng)

命令模式下:

gg:快速移動(dòng)到文件的第一行

G:快速移動(dòng)到文件最后一行

num gg:快速跳轉(zhuǎn)到指定行

num G:快速跳轉(zhuǎn)到指定行

末行模式下:

:num 回車:在末行模式下跳轉(zhuǎn)到指定行

其中用的最多的還是num G

上下翻頁(yè)

Ctrl+b:向上翻一頁(yè)

Ctrl+f:向下翻一頁(yè)

Ctr-d: 向下翻半屏

Ctr-u: 向上翻半屏

H:跳轉(zhuǎn)到屏幕頂部

M:跳轉(zhuǎn)到屏幕中間

L:跳轉(zhuǎn)到屏幕底部

注意HML跳轉(zhuǎn)的是屏幕,不是文件

其他跳轉(zhuǎn)

{: 按段移動(dòng),上移

}: 按段移動(dòng),下移

%:移到括號(hào)的左右邊

復(fù)制,粘貼,刪除(剪切)

復(fù)制粘貼

命令模式下:

y:和移動(dòng)命令一起使用,復(fù)制

yy:復(fù)制一行,支持nyy復(fù)制多行

p 粘貼

刪除(剪切)

命令模式下:

x: 刪除光標(biāo)后一個(gè)字符,相當(dāng)于 Del

X: 刪除光標(biāo)前一個(gè)字符,相當(dāng)于 Backspace

dd: 剪切光標(biāo)所在行,n dd 刪除指定的行數(shù)

d:和移動(dòng)命令配合使用,刪除移動(dòng)命令對(duì)應(yīng)的內(nèi)容;

D: 刪除光標(biāo)后本行所有內(nèi)容,包含光標(biāo)所在字符;

d0: 刪除光標(biāo)前本行所有內(nèi)容,不包含光標(biāo)所在字符;

dw: 將光標(biāo)移到單詞首字母,再dw,可刪除單詞

練習(xí):

5x:刪除光標(biāo)及往后五個(gè)字符

v+%+x:刪除選中的括號(hào)內(nèi)的內(nèi)容

d+6+G:把光標(biāo)所在行和第六行之間的內(nèi)容全部刪除,所在行能大于6也能小于6

y+{ +n+G+p:復(fù)制從光標(biāo)往后的一段內(nèi)容,并跳到指定行進(jìn)行粘貼

yy空行+5+p:復(fù)制空行,并且粘貼5個(gè)空行

復(fù)制刪除總結(jié)和擴(kuò)展

d和x在vi中看起來(lái)是刪除操作,但本質(zhì)上其實(shí)是剪切操作,剪切后會(huì)將內(nèi)容存放在和剪切板功能相同的緩沖區(qū);

同樣,復(fù)制其實(shí)也是將內(nèi)容放在緩沖區(qū);

注意,在其他圖形界面復(fù)制的內(nèi)容在vi中不能直接通過(guò)p進(jìn)行粘貼,需要右鍵粘貼,因?yàn)榧羟邪搴途彌_區(qū)不是同一個(gè);

可視模式(選中文本)

在命令模式下,

v,可視模式,從光標(biāo)選中位置,開(kāi)始向上向下選中文本,選中的位置,是原來(lái)光標(biāo)的位置;

V,可視行模式,從光標(biāo)選中行開(kāi)始,向上或向下選中光標(biāo)所經(jīng)過(guò)的每一行;

Ctrl+v,可視塊模式,垂直方向選中文本,和sublime的ctrl很像,具體可自己實(shí)驗(yàn);

可視模式可以配合 d, y, >>, << 實(shí)現(xiàn)對(duì)文本塊的刪除,復(fù)制,左右移動(dòng)

可視模式還可以和段落移動(dòng)等結(jié)合使用,例如:

V+G,表示選中從當(dāng)前行一直到末行

V+gg,表示選中從當(dāng)前行到文件首行,

V+{,

V+},

v+%,括號(hào)等等。

替換和查找

小幅替換

命令模式下:

r:將光標(biāo)下的字符進(jìn)行替換;例如,r+H:將那個(gè)光標(biāo)下的字符替換成H

R: 替換當(dāng)前行光標(biāo)后的字符;例如,hello單詞首字母,R+world:將hello單詞替換成world;

全局替換

末行模式下,

固定格式:%s///g

格式:%s/舊文本/新文本/g

例如:

把python全部替換成world:%s/python/world/g

將第一行至第10行之間的abc替換成123:1, 10s/abc/123/g

可視區(qū)域替換

先用可視模式選中要替換的范圍,再進(jìn)入末行模式進(jìn)行替換

格式:s/舊文本/新文本/g

V+向下移動(dòng)光標(biāo)到第11行+:進(jìn)入末行模式+s/world/python/g:將當(dāng)前行到第11行的所有world替換成python

確認(rèn)替換

格式:%s/舊文本/新文本/gc

會(huì)查找出全部的舊文本,然后逐個(gè)的讓你來(lái)確認(rèn)是否替換,替換y,不替換n,替換所有a,不想替換了就q

查找

命令模式下:

/+str:查找指定字符串

n:查找下一個(gè)被高亮的字符串

N:查找上一個(gè)被高亮的字符串

單詞快速匹配:

*:向后查找當(dāng)前光標(biāo)所在單詞

#:向前查找當(dāng)前光標(biāo)所在單詞

不想高亮,可以查找一個(gè)不存在的單詞即可

其他必知必會(huì)

撤銷反撤銷

命令模式下:

u 撤銷

ctl+r 反撤銷

文本行移動(dòng)(縮排)

命令模式下:

>>: 文本行右移

<<:>

練習(xí):

V+向下三行+>:將選中的三行向右縮進(jìn)四個(gè)空格,同理,左縮進(jìn)也是

V+向下三行+>+.+.:將選中的三行向右縮進(jìn)四個(gè)空格后,再右移四格,再右移四格,即一個(gè)點(diǎn)就重復(fù)執(zhí)行一次

重復(fù)執(zhí)行

命令模式下:

.: 重復(fù)上一次操作的命令

標(biāo)記

當(dāng)我們?cè)陂_(kāi)發(fā)時(shí),如果有某一行需要稍后再來(lái)處理,可以先對(duì)它進(jìn)行標(biāo)記,后面需要處理時(shí)再進(jìn)行快速跳轉(zhuǎn)

標(biāo)記:m+x (x屬于[a-z][A-Z])

跳轉(zhuǎn):'+x

可以分別標(biāo)記多行為多個(gè)別名,再跳轉(zhuǎn);

如果給多行用了同一個(gè)別名,那么別名指向的是最新的一行

vim里執(zhí)行 shell 下命令

末行模式里輸入!,后面跟命令

末行命令擴(kuò)展

e .:瀏覽當(dāng)前目錄下的所有文件

e 文件名:切換編輯文件

n 文件名:新建并編輯文件

w 文件名:如果原來(lái)沒(méi)有文件,就創(chuàng)建新文件并將源文件的內(nèi)容寫入新文件,但編輯的還是源文件

切換文件之前,必須保存原來(lái)編寫的文件

末行模式下w命令的作用講解:

在實(shí)際開(kāi)發(fā)時(shí),用來(lái)起階段性備份的作用,和git的作用類似

分屏命令

末行模式下,

sp:橫向分屏

vsp:縱向分屏

切換窗口:Ctrl+w,w

互換窗口:r

關(guān)閉當(dāng)前窗口:c,但是不能關(guān)閉最后一個(gè)窗口

退出當(dāng)前窗口:q,能退出最后一個(gè)窗口

關(guān)閉其他窗口:o

練習(xí)

1.連續(xù)打出十個(gè)*

命令模式,10+i+*+esc;后面也可以加.,重復(fù)執(zhí)行;

8+i+print("hello world")+enter+esc:重復(fù)8行代碼;

但建議在進(jìn)入編輯模式之前,不要按數(shù)字,不然按了數(shù)字編輯了又esc了,就發(fā)現(xiàn)辛苦敲得代碼粘貼了很多。

2.給多行代碼添加注釋

命令模式,將光標(biāo)移動(dòng)到要注釋的第一行,^移動(dòng)到行首,

Ctrl+v進(jìn)入可視塊模式,向下選中多行要注釋的代碼,

I進(jìn)入編輯模式,在行首添加#,esc。

http://www.dengb.com/Linuxjc/1345680.htmlwww.dengb.comtruehttp://www.dengb.com/Linuxjc/1345680.htmlTechArticle編輯器之神-vim的使用,編輯器神-vim vim即vi的升級(jí)版;在linux中,vi是vim的軟鏈接,我們敲vi和vim出來(lái)的都是vim; 純手打,如有錯(cuò)誤,敬請(qǐng)指...

總結(jié)

以上是生活随笔為你收集整理的linux 神的编辑器,编辑器之神-vim的使用,编辑器神-vim的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。