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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

vim 常用快捷键(整理版)

發布時間:2023/11/29 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vim 常用快捷键(整理版) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最常用:

x 刪除后面的字符 X 刪除前一個字符? 刪除3個字符就是3x??

dd:刪除一行?? D 刪除到行尾

J:刪除換行符,使下一行并上來。???? nJ:連接后面的n行

u:撤銷上一次操作????? U:撤銷當前行的所有修改

ctrl+r:對撤消的撤消

I 在行首插入?
a 在光標后插入

A 在行末插入

o:在當前行的下面另起一行,并變為插入模式

O:在當前行上面另起一行,變為插入模式

vim中Nyy可以復制光標后的N行。有時我們不容易得出行數,這時可以用做標記的方法來制定復制范圍:?
  1. 在開始行上輸入ma作一個標記a?
  2. 移動到結束行,輸入y'a會復制當前行到標記a之間的文本。d'a會刪除。?
或者是v進入可視模式,再13G跳轉到相應行,y即可。

將光標放在?{?處,然后輸入v%就可以把大括號中內容選定

如果光標放在第一個s上,想刪除到“(”為止,則輸入dt(就可以了,t(的作用是跳到下一個"("前。

%: 移動到與制匹配的括號上去(),{},[],<>等

fx 向右跳到本行字符x處(x可以是任何字符)

如果你要重復鍵入一個短語或一個句子, 也有一種快捷的方法。Vim有一種記錄宏的機制。你鍵入"qa"開始把一段宏記錄入寄存器變量`a'中。
按下來你可以象平常一樣鍵入你要的操作, 只是這些操作都會被Vim記錄進它命名為`a'的宏中,?再次再下"q"鍵, 就結束了宏`a'的錄制。當你要重復執行你剛才記錄的那些操作時只要使用"@a"命令。共有26個可用的寄存器供你記錄宏。?使用宏你可以重復多個不同的操作。而不僅僅是插入文本了。如果你要進行某種重復的操作, 記著要用這一招呀。

:abbr hte the

:abbr hw Hello World

輸入先面的單詞時,自動用后面的替換。

?

b、3b、w、3w:向前\后移動幾個單詞,標點也算一個單詞。相應的大寫狀態為不含標點,即只把空格和換行符作為單詞間隔符。

$:移動到行尾? 3$:移動到3行后的行尾

^:移動到行首,0也是

+:移到下一行的行首

-: 移到上一行的行首

f:搜索命令,小寫時向后搜索(用來定位)如 fx:定位到下一個x上。?? Fx:定位到上一個x上,重復時,可用;或,? 不過 , 表示反方向

%:跳到相對應的括號上,編程時常用

33G:跳轉到33行?? 此時按``可以返回到原來行

gg:文件頭?? G: 文件尾

30%:跳轉到文件的30%處

"H"意為Home, "M"為Middle, "L"為Last.? 當前屏幕的上中下位置,大小寫皆可

Ctrl+G:顯示當前位置

?

ctrl+u\d? 向上\下滾動半屏

ctrl+e\y? 向上\下滾動一行

ctrl+b\f? 向上\下滾動一屏  這個比較實用,記住。

zz:將當前行滾動于屏幕中間,方便查看上下文? zt置頂,zb置尾

/string? 查找string,回車后,按n鍵可以跳到下一個,N上一個,另外按/鍵后,按上下鍵可以找到以前查找的記錄,同樣的 :也有記錄

?/string 同上,默認向上查找

:set ignorecase 大小寫無關

:set noignorecase 大小寫敏感

* :查找下一個光標所在單詞? #是查找上一個

?

?

1、vim ~/.vimrc 進入配置文件

如果不知道vimrc文件在哪,可使用 :scriptnames 來查看

set nu      #行號

set tabstop=4  #一個tab為4個空格長度

set ai? #設置自動縮進

syntax on?? #高亮

2、基本(命令模式下)

空格鍵 向右移動一格

x 刪除后面的字符 X 刪除前一個字符? 刪除3個字符就是3x??

dd:刪除一行?? D 刪除到行尾?

caw:改寫單詞? c 相當于 d 變為編輯模式

J:刪除換行符,使下一行并上來。???? nJ:連接后面的n行

u:撤銷上一次操作????? U:撤銷當前行的所有修改

ctrl+r:對撤消的撤消

i 在光標前插入

I 在行首插入?
a 在光標后插入

A 在行末插入

o:在當前行的下面另起一行,并變為插入模式

O:在當前行上面另起一行,變為插入模式

Ctrl+o:臨時變成命令模式(一次而已)

:e!:放棄更改,然后相當于重新打開

:help:幫助,可用ZZ退出幫助窗口

vim中Nyy可以復制光標后的N行。有時我們不容易得出行數,這時可以用做標記的方法來制定復制范圍:?

  1. 在開始行上輸入ma作一個標記a?

  2. 移動到結束行,輸入y'a會復制當前行到標記a之間的文本。d'a會刪除。?

或者是v進入可視模式,再13G跳轉到相應行,y即可。

:10,20y??? 回車即可,相應的刪除也是如此???? :10,20d???? (此方法比上面兩種方法更簡單)

:10,20 m 30??? 把10行到20行的內容,剪切到30行之后

:10,20 co 30?? 把10行到20行的內容,復制到30行之后

將光標放在?{?處,然后輸入v%就可以把大括號中內容選定

如果光標放在第一個s上,想刪除到“(”為止,則輸入dt(就可以了,t(的作用是跳到下一個"("前。

ctrl +n 自動補全 ctrl + p 也一樣

:ab hw hello world? 用一個縮寫字符串代替一個長的字符串,此處用 hw 代替 hello world

%: 移動到與制匹配的括號上去(),{},[],<>等

' 移動到上一次的修改行

fx 向右跳到本行字符x處(x可以是任何字符)
Fx 向左跳到本行字符x處(x可以是任何字符)
tx 和fx相同,區別是跳到字符x前
Tx 和Fx相同,區別是跳到字符x后

#?到與當前單詞相同的上一個單詞上, * 到與當前單詞相同的下一個單詞上

如果你要重復鍵入一個短語或一個句子, 也有一種快捷的方法。Vim有一種記錄宏的機制。你鍵入"qa"開始把一段宏記錄入寄存器變量`a'中。
按下來你可以象平常一樣鍵入你要的操作, 只是這些操作都會被Vim記錄進它命名為`a'的宏中, 再次再下"q"鍵, 就結束了宏`a'的錄制。當你要重復執行你剛才記錄的那些操作時只要使用"@a"命令。共有26個可用的寄存器供你記錄宏。?使用宏你可以重復多個不同的操作。而不僅僅是插入文本了。如果你要進行某種重復的操作, 記著要用這一招呀。

:abbr hte the

:abbr hw Hello World

輸入先面的單詞時,自動用后面的替換。

3、移動:

b、3b、w、3w:向前\后移動幾個單詞,標點也算一個單詞。相應的大寫狀態為不含標點,即只把空格和換行符作為單詞間隔符。

$:移動到行尾? 3$:移動到3行后的行尾

^:移動到行首,0也是

+:移到下一行的行首

-: 移到上一行的行首

f:搜索命令,小寫時向后搜索(用來定位)如 fx:定位到下一個x上。?? Fx:定位到上一個x上,重復時,可用;或,? 不過 , 表示反方向

%:跳到相對應的括號上,編程時常用

33G:跳轉到33行?? 此時按``可以返回到原來行

gg:文件頭?? G: 文件尾

30%:跳轉到文件的30%處

"H"意為Home, "M"為Middle, "L"為Last.? 當前屏幕的上中下位置,大小寫皆可

Ctrl+G:顯示當前位置

set number:設置顯示行號,set nonumber:關閉顯示

:set ruler 設置在窗口右下角顯示行號,與上面的好處是,節省空間

ctrl+u\d? 向上\下滾動半屏

ctrl+e\y? 向上\下滾動一行

ctrl+b\f? 向上\下滾動一屏  這個比較實用,記住。

zz:將當前行滾動于屏幕中間,方便查看上下文? zt置頂,zb置尾

/string? 查找string,回車后,按n鍵可以跳到下一個,N上一個,另外按/鍵后,按上下鍵可以找到以前查找的記錄,同樣的 :也有記錄

?/string 同上,默認向上查找

:set ignorecase 大小寫無關

:set noignorecase 大小寫敏感

* :查找下一個光標所在單詞? #是查找上一個

:set hlsearch? 高亮顯示查找結果

:set nohlsearch? 取消高亮

:nohlsearch? 去掉當前顯示的高完(一次性)

?`` 上次光標停靠的行

% 匹配到相應括號處

>>?? 向右移動本行一段距離???? <<?? 向左移動本行一段距離??? 3<<??? 把下面3行(包括本行),向左移動一段距離???? :20,30>>? 把20行到30行向右移動一段距離

?

?

4、小幅改動:

:%s/str1/str2/g? ?替換每一行的 str1為 str2

:10,20s/str1/str2/g? ?替換從行10到行20之間的 str1為 str2

:10,$s/str1/str2/g? ?替換從行10到最后一行之間的 str1為 str2

:s/str1/str2/g? ?替換當前行的 str1為 str2

.??重復執行命令?

:10,$ w test2.cpp???? 取行10到最后一行內容,保存到test2.cpp

:r class/User.hpp??? 讀取文件中的內容,插入到當前行的后面

dw:刪除一個單詞(光標后部分)? 不如:daw實用    d4w:刪除4個單詞    d$:刪除當前光標到行尾    d^:刪除當前光標至行首??     d換成c效果是一樣的,只是操作完會變成insert模式?? dnw: 刪除N個單詞?? dnj: 向下刪除n行????? dnk: 向上刪除n行?

X:刪除左邊的字符,相當于<-鍵,x刪除當前字符  D:相當于d$  C:相當于c$  s:相當于c1  S:相當于cc

r:替換當前字符,但不會進入insert模式    3r:把后面3個字符替換掉    R:替換模式

.:重復上一次操作

v:進入Visual模式    V:進入可視行模式,比如 Vjjd?刪除3行  Ctrl+v:可視塊模式

P:粘貼至光標前    p:粘貼至光標后    3P:粘貼3次????? "2p???? 粘貼最后第二次的刪除的內容

yy:復制一行  yaw: 復制一個單詞,光標在單詞任意位置??? ynw: 復制N個單詞?????? ynj: 向下復制n行????????? ynk: 向上復制n行??

自動縮進:

:set cindent(所有的set都可以簡寫為se,雖然只節省了一個字符, 譯者注) 需要注意的是cindent控制縮進量是通過shiftwidth選項的值, 而不是通過tabstop 的值, shiftwidth的默認值是8(也就是說, 一個縮進為8個空格, 譯者注), 要改變默認的設置, 可以使用":set shiftwidth=x"命令, 其中x是你希望一個縮進量代表的空格的數目.

?{ = 到前一個空行上
} = 到下一個空行上

?

?5、VIM的一些插件:

c.vim :如果是用root賬號的,把文件復制到/usr/share/vim/vim70中解壓沒有用的,不存在 $HOME/.vim 這個目錄,沒辦法,只能新建個目錄,然后把壓縮包cp到這個目錄,再unzip即可。在 ~/.vimrc 中 寫入 filetype plugin on?

?

:e!?? 返回上次保存后的狀態

Ctrl+z:暫停vi,回到Unix提示符,再輸入fg即可回到vi。

?^回到行首,光標位于行首字母處;0回到行首,光標位于行首字母前。$回到行尾,光標位于行尾字母處。

nb:向前移動n個單詞,nw:向后移動n個單詞。光標位于單詞的第一個字母處。 nw這個操作很慢,不知何故。 以空格、標點符號與單詞的分界為分隔符。(幾個連續的標點視為一個單詞)

同樣的,也可以使用nB,nW,只是這里只使用空格做為分隔符。

相換兩個相鄰字母的位置:x、p

s:刪除一個字符,并進入編輯模式。 S:刪除一整行,進入編輯模式,相當于cc。?? ns:刪除后面n個字符,并進入編輯模式。

~:更改字母的大小寫,同時光標進入到下一個字符。? n~:把后面n個字母的大小寫狀態改變。

dw:刪除單詞后面部分???? db:刪除單詞前面部分。? 如果要刪除整個單詞(光標位于單詞中間的話),可以 dbw\wdb

de:類似于dw,刪除單詞后面的部分(只刪除到本單詞結尾,dw會刪除掉單詞后面的空格)?? dE:刪除的范圍包括標號在內的單詞結尾。

e:相當于w,向后移動一個單詞。不同的是,w移動到單詞第一個字符上,e移動到單詞最后一個字符上。? 所以ea,可以給本單詞追加內容。

D:d$ 的簡寫,同樣的,C:c$的簡寫。

U:會恢復一整行原先的面貌,即最原始的樣子。

Y:相當于yy,不同于D與C的操作方法。

.:重復上一個命令。

除了O/o,插入命令(A,a,I,i)接受數值參數,如:5Ihello,然后按ESE鍵。會在行首輸入5個連接的hello

nr:替換后面n個字符。

nJ:合并下面的n行(從本行算起)。

ynl:向后復制n個字符。

e/E:到單詞的結尾。

?

滾動整屏:

^f:向前(下)一整屏

^b:向后(上)一整屏

^d:向前(下)一半屏

^u:向后(上)一半屏

z,Enter:將光標所在行移動到屏幕頂部(同于zz)

z.:將光標所在行移動到屏幕中間

z-:將光標所在行移動到屏幕尾部

nz,Enter:將第n行移動到屏幕頂部,同樣的,z. 與 z- 前也可以加數字。

?

在屏幕中移動:

H、M、L分別移動到屏幕的頂部、中間和尾部。

nH、nL 移動到距離屏幕頂部和頂部n行的位置。

?

?Enter:到下一行的第一個字符。

+:到下一行的第一個字符。

-:到上一行的第一個字符。

n|:移動到當前行的第n列

e:移到單詞的結尾

E:移到單詞的結尾(忽略標點符號)

(?? )?? {?? }? [[? ]] 這幾個對編程作用不大,可忽略。

d/it:向后刪除到it之前的位置(不刪it)。??? d?it:向前刪除到it之前的位置(刪除it)。

?

?fx:本行中向右搜索x,光標置于x上。? Fx:向左搜索。; 重復上一個搜索命令,方向相同。?? ,重復上一個搜索命令,方向相反。

tx:同fx,只是光標置于x之前。 Tx類似。

dfi:向右刪除第一個i的位置(包括i)? dti:同dfi,只是不包括i

Ctrl+G 查看當前行信息

nG跳轉后,可使用``回到上一次的位置,''功能一樣,不過只是回到前次位置所在行的開頭,而不是確定的位置上。

?

刪除包含keyword字符串的行:?:g/keyword/d

刪除空行::%s/^\n$//g

?

參考:http://www.cnblogs.com/tianyajuanke/archive/2012/04/25/2470002.html

轉載于:https://www.cnblogs.com/KongkOngL/p/6932617.html

總結

以上是生活随笔為你收集整理的vim 常用快捷键(整理版)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产第100页| 成人片黄网站色大片免费毛片 | 国产精品一区二区在线免费观看 | 欧美精品免费一区二区 | 亚洲AV成人无码一二三区在线 | 欧美精品一区二区蜜桃 | 亚洲超丰满肉感bbw 悠悠av | 国产深夜福利 | 国产毛片基地 | 欧美日韩国产精品一区 | 亚洲av永久无码国产精品久久 | www欧美色| 成人91在线 | 日韩欧美一区二区在线 | 亚洲黄色片在线观看 | www日本高清视频 | 国产av剧情一区二区三区 | 国产激情一区二区三区在线观看 | 黄色片免费 | 久久高清一区 | 一区二区国产电影 | 欧美日韩午夜爽爽 | 日日操日日干 | 亚洲免费二区 | 鲁鲁在线 | 日韩免费黄色片 | 美女视频一区二区 | 校园春色自拍偷拍 | 一区二区伦理 | 国产黄片毛片 | 成人免费视频一区二区 | 亚洲最大在线观看 | 超清av在线 | 91看黄| 日韩精品视频免费看 | 欧洲-级毛片内射 | 亚洲高清不卡 | 老熟妇高潮一区二区高清视频 | 野花成人免费视频 | www.com在线观看| 成人激情电影在线观看 | 白俄罗斯毛片 | 日日夜夜免费精品视频 | 欧美一二在线 | 18被视频免费观看视频 | 国产18一19sex性护士 | 中文精品久久久久人妻不卡 | 国产一区二区三区免费看 | 免费观看成年人视频 | 久久久三级视频 | 黑人操亚洲女 | jizz日本女人 | 亚洲精品福利视频 | 国产国语性生话播放 | 成人综合网址 | 中文字幕一区二区人妻在线不卡 | 在线观看免费视频a | 国产又猛又黄 | 日本特级黄色 | 成人免费黄色片 | 美女福利在线视频 | 性一区 | 97久久人澡人人添人人爽 | 青青91| 亚洲精品综合在线观看 | 亚洲一级精品 | 一本久久综合亚洲鲁鲁五月天 | 韩国一级片在线观看 | 日韩av电影网站 | 亚洲熟女一区二区三区 | 337p日本大胆噜噜噜噜 | 欧美性生交大片免费看 | 成人污| 青青色在线视频 | 精品九九九九 | 欧美a∨ | jizzjizz美国| 亚洲ⅴ国产v天堂a无码二区 | 伊人小视频 | 四虎精品永久在线 | 韩国日本在线观看 | 国产xxxx孕妇| 色秀av| 日韩成人免费在线观看 | 禁片天堂| 五月婷婷丁香六月 | 久久久噜噜噜久久中文字幕色伊伊 | 成人午夜精品无码区 | 国产精品一二三四五 | 久久精品久久久久久久 | 五月天国产 | 欧美丰满艳妇bbwbbw | 国产福利午夜 | 伊人青青草视频 | 亚洲激情短视频 | 亚洲精品视 | 国产黑人 | 亚洲一卡二卡三卡四卡 | 欧美午夜精品久久久久免费视 |