吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

vim編輯器超實用指南

sanyue7758 ? 來源:ICer消食片 ? 作者:ICer消食片 ? 2023-08-16 09:38 ? 次閱讀

vim是一個Unix文本編輯器,它以快速高效而聞名,是在終端中運行的小應用程序(當然也有圖形界面),它最主要的特點是完全可以通過鍵盤控制,而不需要菜單欄或鼠標。

例如,將文本插入到文件中,按i鍵并輸入。瀏覽文本或輸入命令,在鍵盤上按Esc,然后按下對應的任何鍵或組合鍵。對于大多數人來說,是一種非常不尋常的文本編輯方式,但這是基于Linux環境工作的開發者編輯配置文件、更改腳本、編寫代碼等操作的主流方式。

本文將介紹一些必要的基本命令,以供大家很快很容易地掌握vim編輯器。建議初學者在使用中進行學習,而不是只看不動手。不實戰操作,那你可能很快忘記這些命令。

8088b4e6-3b80-11ee-9e74-dac502259ad0.jpg

使用vim打開文件后,一般會用到三種模式:命令模式(command mode)、輸入模式(insert mode)和底行命令模式(last line mode)。

剛啟動vim時,默認進入命令模式。這時候,我們敲打鍵盤的字母會被識別為不同的命令。

方向鍵h、j、k、l輸入鍵i、a、o,切換到輸入模式;

冒號鍵:,切換到底行命令模式。 進入輸入模式,可以任意的碼入字母、符號,按esc鍵退出到命令模式。

在底行命令模式,可以輸入單個或者多個命令,按enter鍵結束運行。

80c9bd10-3b80-11ee-9e74-dac502259ad0.png

1、vim的進入和退出:vi、vim、:q、:q!、:wq 在terminal中直接敲vi或vim打開文本 :q退出文件 :q!強制退出文件,丟棄你所做的任何改動 :wq 保存修改,然后退出文件

2、移動光標:h、j、k、l鍵 h左移l右移j下移k上移,熟練使用hjkl鍵,習慣之后我們能很快地在屏幕四處移動光標。

3、插入、刪除和撤銷:i、A、x、u鍵、ctrl+r 在command模式下:按下i鍵可以進入insert模式,在光標后插入文字,輸入完成按esc鍵A鍵,光標移動到本行末輸入);按下x鍵可以刪除光標所在位置的字符;按下u鍵可以撤銷操作,回到上一步。ctrl+r撤銷掉撤銷命令。 按下esc鍵會回到command模式或者撤銷一個不想輸入或部分完整的命令。

4、刪除類命令:dw、d$、dd dw 從光標處刪除至一個單詞的末尾 d$ 從光標處刪除至本行末尾 dd刪除光標所在行

5、在動作前輸入數字會使操作重復那么多次 3dd執行三次光標所在行,即往下刪除三行 2w

使光標向前移動兩個單詞 0

移動到光標的行首

6、關于定位和文件狀態 gg

跳到文件第一行 G / shift+g

跳到文件最后一行 ctrl+g

顯示當前編輯文件名和文件中光標位置 gf

進入光標所在位置路徑的文件


7、關于搜索命令 /

加上字符串可以用于在當前文件中查找該字符串 用于反向查找

例如:/error <回車> 即可在文件中查找error n鍵向下繼續搜索,N鍵或shift+n鍵向上繼續搜索(shift+小寫=大寫

8、替換命令 :s/old/new/gg是全局進行匹配 多種操作需要多加學習應用

9、在vim內執行外部命令 輸入 :!然后輸入外部命令即可執行該外部命令 所有的 : 命令都必須以敲回車鍵結束

10、使用操作符y復制文本,使用p粘貼文本

配合可視模式使用 多行操作是經常會用到的,切記!

11、set設置一些選項 :set xxx 可以設置 xxx 選項。一些有用的選項如下: 'ic' 'ignorecase' 查找時忽略字母大小寫 'is' 'incsearch' 查找短語時顯示部分匹配 'hls' 'hlsearch' 高亮顯示所有的匹配短語

12、獲取在線系統幫助

如下三種方法: - 按下 鍵 (如果鍵盤上有的話) - 按下 鍵 (如果鍵盤上有的話) - 輸入 :help <回車>

13、啟用更多的vim的特性

Vim 的功能特性要比 Vi 多得多,但其中大部分都缺省沒有啟用。為了使用更多的特性,需要創建一個 vimrc 文件。

1. 開始編輯 vimrc 文件,具體命令取決于所用的操作系統: :edit ~/.vimrc

這是 Unix 系統所使用的命令 :edit $VIM/_vimrc

這是 MS-Windows 系統所使用的命令

2. 接著讀取 vimrc 示例文件的內容: :r $VIMRUNTIME/vimrc_example.vim

3. 保存文件,命令為: :write 下次啟動 Vim 時,編輯器就會有了語法高亮的功能。

可以把喜歡的各種設置添加到這個 vimrc 文件中。

要了解更多信息請輸入 :help vimrc-intro

14、使用鍵進行命令行補全

補全對于許多命令都有效,當輸入:命令時,tab鍵可以匹配補全。

15、vim自帶了一個教程說明,我們可以直接輸入vimtutor,打開教程做相應的練習即可。

全局

:h[elp] 關鍵字- 打開關鍵字幫助

:sav[eas] 文件名- 另存為

:clo[se]- 關閉當前窗口

:ter[minal]- 打開一個shell窗口

K- 打開光標所在單詞的man頁面

移動光標

h- 左移光標

j- 下移光標

k- 上移光標

l- 右移光標

H- 移動到當前頁面頂部

M- 移動到當前頁面中間

L- 移動到當前頁面底部

w- 移動到下個單詞開頭

W- 移動到下個單詞開頭(單詞含標點)

e- 移動到下個單詞結尾

E- 移動到下個單詞結尾(單詞含標點)

b- 移動到上個單詞開頭

B- 移動到上個單詞開頭(單詞含標點)

ge- 移動到上個單詞結尾

gE- 移動到上個單詞結尾(單詞含標點)

%- 跳轉到配對的符號(默認支持的配對符號組::'()', '{}', '[]' - 在vim中使用:h matchpairs獲得更多信息)

0- 移動到行首

^- 移動到行首的非空白符

$- 移動到行尾

g_- 移動到行內最后一個非空白符

gg- 移動到文件第一行

G- 移動到文件最后一行

5ggor5G-移動到第五行

gd- 跳轉到局部定義

gD- 跳轉到全局定義

fx- 移動到字符 x 下次出現的位置

tx- 移動到字符 x 下次出現的位置的前一個字符

Fx- 移動到字符 x 上次出現的位置

Tx- 移動到字符 x 上次出現的位置的后一個字符

;- 重復之前的f、t、F、T操作

,- 反向重復之前的f、t、F、T操作

}- 移動到下一個段落(當編輯代碼時則為函數/代碼塊)

{- 移動到上一個段落(當編輯代碼時則為函數/代碼塊)

zz- 移動屏幕使光標居中

Ctrl+e-向下移動屏幕一行(保持光標不動)

Ctrl+y-向上移動屏幕一行(保持光標不動)

Ctrl+b- 向上滾動一屏

Ctrl+f- 向下滾動一屏

Ctrl+d- 向下滾動半屏

Ctrl+u- 向上滾動半屏

插入模式 - 插入/追加文本

i- 從光標前開始插入字符

I- 從行首開始插入字符

a- 從光標后開始插入字符

A- 從行尾開始插入字符

o- 在當前行之下另起一行, 開始插入字符

O- 在當前行之上另起一行, 開始插入字符

ea- 從當前單詞末尾開始插入

Ctrl+h-在插入模式下,刪除光標前的字符

Ctrl+w-在插入模式下,刪除光標前的單詞

Ctrl+j-在插入模式下,另起一行

Ctrl+t-在插入模式下,向右縮進,寬度由 shiftwidth 控制

Ctrl+d-在插入模式下,向左縮進,寬度由 shiftwidth 控制

Ctrl+n-在插入模式下,在光標之前插入自動補全的下一個匹配項

Ctrl+p-在插入模式下,在光標之前插入自動補全的上一個匹配項

Ctrl+rx- 插入寄存器x 的內容

Ctrl + ox -暫時進入正常模式以發出一個正常模式命令 x。

Esc- 退出插入模式

編輯文本

r- 替換當前字符

R-在ESC按下之前,替換多個字符

J- 將下一行合并到當前行,并在兩部分文本之間插入一個空格

gJ- 將下一行合并到當前行,兩部分文本之間不含空格

gwip- 重新調整段落

g~- switch case up tomotion

gu- 小寫操作修飾符

gU- 大寫操作修飾符

cc- 將光標所在的行刪除, 然后進入插入模式

C- 將光標處到行尾刪除, 然后進入插入模式

c$- 將光標處到行尾刪除, 然后進入插入模式

ciw- 將光標所在的單詞刪除, 然后進入插入模式

cworce-從光標位置開始, 修改單詞

s- 刪除當前字符, 然后進入插入模式

S- 清空當前行, 然后進入插入模式 (同cc)

xp- 當前字符后移

u- 撤銷

U - 撤銷上一次的改動行的操作

Ctrl + r -重做(取消撤銷)

.- 再次執行上個命令

選擇文本(可視化模式)

v- 進入可視化模式, 移動光標高亮選擇, 然后可以對選擇的文本執行命令

V - 進入可視化模式(行粒度選擇)

o- 切換光標到選擇區開頭/結尾

Ctrl+v-進入可視化模式(矩陣選擇)

O- 切換光標到選擇區的角

aw- 選擇當前單詞

ab- 選擇被 () 包裹的區域(含括號)

aB- 選擇被 {} 包裹的區域(含花括號)

at- 選擇被 <>標簽包裹的區域(含<>標簽)

ib- 選擇被 () 包裹的區域(不含括號)

iB- 選擇被 {} 包裹的區域(不含花括號)

it- 選擇被 <>標簽包裹的區域(不含<>標簽)

Esc - 退出可視化模式

可視化模式命令

>- 向右縮進

y- 復制

d- 剪切

~- 大小寫切換

u- 將選中文本轉換為小寫

U- 將選中文本轉換為大寫

剪切, 復制, 粘貼

yy- 復制當前行

2yy - 復制 2 行

yw- 復制當前單詞

yiw- 復制光標處的單詞

yaw- 復制光標處的單詞及其前后的空格

y$- 復制, 從光標位置到行末

p- 在光標后粘貼

P- 在光標前粘貼

dd- 剪切當前行

2dd- 剪切 2 行

dw- 剪切當前單詞

diw- 刪除光標處的單詞

daw- 刪除光標處的單詞及其前后的空格

D- 剪切, 從光標位置到行末

d$- 剪切, 從光標位置到行末 (同D)

x- 剪切當前字符

文字縮進

>>- 將當前行向右縮進,寬度由 shiftwidth 控制

<

>%- 向右縮進 () 或 {} 內的區域(光標需置于括號上)

>ib- 向右縮進 () 內的區域

>at- 向右縮進 <>標簽內的區域

3==- 自動縮進 3 行

=%- 自動縮進 () 或 {} 內的區域(光標需置于括號上)

=iB- 自動縮進 {} 內的區域(光標需置于括號上)

gg=G- 自動縮進整個緩沖區

]p- 粘貼并調整縮進至當前行

退出

:w- 保存

:w !sudo tee %- 使用 sudo 保存當前文件

:wqor:xorZZ-保存并退出

:q- 退出(修改未保存時警告)

:q!orZQ-不保存強制退出

:wqa - 保存所有標簽頁并全部退出

查找/替換

/pattern-查找pattern

?pattern-向上查找pattern

n- 查找下一個

N- 查找上一個

:%s/old/new/g- 替換全部

:%s/old/new/gc- (逐個)替換

:noh[lsearch]- 移除搜索結果的高亮顯示

多文件搜索

:vim[grep] /pattern/{`{file}`}- 在多個文件中搜索 pattern

:cn[ext]- 移動至下一個

:cp[revious]- 移動至上一個

:cope[n]- 打開搜索結果列表

標簽

:tabnewor:tabnew{page.words.file}- 在新標簽中打開文件

Ctrl+wT-將窗口變成標簽

gtor:tabn[ext]-切換到下一個標簽

gTor:tabp[revious]-切換到上一個標簽

#gt- 切換到第# 個標簽

:tabm[ove] #- 移動標簽到第# 位(下標從 0 開始)

:tabc[lose]- 關閉當前標簽

:tabo[nly]- 關閉其他標簽

:tabdocommand - 在所有標簽中執行命令

多文件編輯

:e[dit] 文件名- 新建緩沖區打開filename

:bn[ext]- 切換到下個緩沖區

:bp[revious]- 切換到上個緩沖區

:bd[elete]- 關閉緩沖區

:lsor:buffers-列出所有打開的緩沖區

:sp[lit] 文件名- 新建緩沖區打開 filename 并水平分割窗口

:vs[plit] 文件名- 新緩沖區打開filename 并垂直分割窗口

:vert[ical] ba[ll]- editall buffers as vertical windows

:tab ba[ll]- edit allbuffers as tabs

Ctrl+ws-水平分割窗口

Ctrl+wv-垂直分割窗口

Ctrl+ww-在窗口間切換

Ctrl+wq- 關閉窗口

Ctrl+wx- 將窗口切換到下一個窗口

Ctrl+w=-使所有窗口的高度和寬度相等

Ctrl+wh-切換到左側窗口

Ctrl+wl-切換到右側窗口

Ctrl+wj-切換到下側窗口

Ctrl+wk-切換到上側窗口

Ctrl+wH-使游標所在視窗全高并移至最左 (最左垂直視窗)

Ctrl+wL-使游標所在視窗全高并移至最右 (最右垂直視窗)

Ctrl+wJ-使游標所在視窗全寬并移至最下 (最下水平視窗)

Ctrl+wK-使游標所在視窗全寬并移至最上 (最上水平視窗)

811b38ca-3b80-11ee-9e74-dac502259ad0.jpg






審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Unix系統
    +關注

    關注

    0

    文章

    15

    瀏覽量

    9690
  • VIM
    VIM
    +關注

    關注

    0

    文章

    134

    瀏覽量

    15350

原文標題:vim超實用指南,收藏這一篇就夠了!

文章出處:【微信號:處芯積律,微信公眾號:處芯積律】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    linux中vi、vim編輯器常用的技巧

    今天浩道跟大家分享硬核干貨,關于linux中vi、vim編輯器常用的技巧!
    發表于 09-21 14:04 ?614次閱讀

    12個實用的vim編輯技巧

    vim 是一個很好用的編輯器,應用十分廣泛。但關于 vim,總有一些你不知道的事情,我們需要持續不斷的學習。
    發表于 11-25 09:26 ?1019次閱讀

    常用編輯器Vim編輯器

    在Linux下我們對文本進行編輯,經常用到的編輯器就是Vi/Vim,Vi/Vim命令眾多,功能強大,是大多數Linux程序員選擇使用的編輯器
    發表于 08-22 09:48

    嵌入式學習-常用編輯器Vim編輯器

    在Linux下我們對文本進行編輯,經常用到的編輯器就是Vi/Vim,Vi/Vim命令眾多,功能強大,是大多數Linux程序員選擇使用的編輯器
    發表于 08-23 09:12

    vim編輯器:4.1 vim編輯器介紹及打開文件 #硬聲創作季

    編輯器
    充八萬
    發布于 :2023年07月12日 10:47:15

    Linux下怎么使用vim編輯器

    Vim是Linux操作系統中最常用一個編輯器。如配置文件的更改、環境變量的設置等等基本上都是在這個vim編輯器上完成。所以這是Linux系統管理員最常用的一個工具。不過這個工具雖然小,
    發表于 04-03 07:22

    vim Linux文本編輯器

    vimLinux文本編輯器vim——最強大的文本編輯器——擺脫鼠標vi—vim—gvim三種模式:①命令模式:yy(復制)、p(粘貼)、dd(刪除)、u(恢復)②插入模式:i/a(進
    發表于 12-15 06:30

    VIM編輯器學習

     Vim是一個類似于Vi的文本編輯器,不過在Vi的基礎上增加了很多新的特性,Vim普遍被推崇為類Vi編輯器中最好的一個,事實上真正的勁敵來自Emacs的不同變體。 
    發表于 08-11 16:58 ?1004次閱讀

    Vim編輯器的使用學習和使用技巧

    首先我們先理清楚一個概念:編輯器和編譯和調試
    的頭像 發表于 06-23 10:43 ?2276次閱讀

    Vim更現代直觀的Linux文本編輯器

    一些流行的命令行文本編輯器包括 Vi、Vim 和 Nano。這些工具非常流行,它們預裝在大多數 Linux 發行版中。但是,某些編輯器(如 Vi 或 Vim)的學習曲線和鍵綁定對于初學
    的頭像 發表于 02-24 10:08 ?1044次閱讀

    vim編輯器操作指令大全

    vim編輯器的完整操作命令 在Linux下,可以鍵入vimtutor命令,有一個包含實操的vim教程。 1.VI的三種命令模式 1)Command(命令)模式,用于輸入命令; 2
    發表于 04-28 16:25 ?0次下載

    你會使用 Linux 編輯器 vim 嗎?

    vim:是一款編輯器,只負責寫代碼;相當于 windows 的記事本;
    的頭像 發表于 05-10 18:21 ?909次閱讀
    你會使用 Linux <b class='flag-5'>編輯器</b> <b class='flag-5'>vim</b> 嗎?

    vim編輯器如何使用

    Vim編輯器是一個功能強大的文本編輯器,它基于Vi進行改進,并增加了許多新特性。Vim編輯器的使用主要涉及其不同的工作模式及相應操作。以下是
    的頭像 發表于 08-30 14:58 ?526次閱讀

    vim編輯器命令模式使用方法

    Vim編輯器是一款功能強大的文本編輯器,廣泛應用于程序員和開發者的日常工作中。Vim編輯器擁有多種模式,其中命令模式(Command mod
    的頭像 發表于 08-30 15:01 ?498次閱讀

    【北京迅為】itop-龍芯2k1000開發指南Linux基礎入門vim 編輯器

    【北京迅為】itop-龍芯2k1000開發指南Linux基礎入門vim 編輯器
    的頭像 發表于 10-25 14:56 ?361次閱讀
    【北京迅為】itop-龍芯2k1000開發<b class='flag-5'>指南</b>Linux基礎入門<b class='flag-5'>vim</b> <b class='flag-5'>編輯器</b>
    大发888出纳柜台登入| 百家乐官网太阳城娱乐城| 金沙百家乐官网的玩法技巧和规则 | 优博百家乐官网的玩法技巧和规则 | 七乐百家乐官网现金网| 百家乐变牌器批发| 川宜百家乐官网软件| 百家乐注码法| 虚拟百家乐官网游戏下载| 博E百百家乐的玩法技巧和规则| 百家乐官网推二八杠| 大发8888| 免费百家乐官网游戏下| 利记娱乐场| 新葡京百家乐娱乐城| 百家乐官网教父方法| 百家乐长龙技巧| 百家乐官网冲动| 四方百家乐的玩法技巧和规则 | 合乐8百家乐娱乐城| 百家乐官网tt娱乐城娱乐城| 大发888送体验金| 百家乐游戏玩法技巧| 百家乐官网发牌千数| 捷豹百家乐娱乐城| 澳门百家乐官网破解方法| 大发888娱乐城888bg| 永利高百家乐进不去| 百家乐官网赢得秘诀| 二八杠自行车| 百家乐投资心得| 宝格丽百家乐官网娱乐城| 大发888软件下载| 金赞百家乐娱乐城| 豪博百家乐官网现金网| 大发888游戏客服电话| 川宜百家乐软件| 百家乐官网路纸计算| 大发888官方df888gwyxpt| 百家乐桌子豪华| 百家乐官网超级市场|