久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

手機站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時隨地免費學(xué)

千鋒教育

掃一掃進入千鋒手機站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時隨地免費學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > Linux Vim 編輯器的基本使用

Linux Vim 編輯器的基本使用

來源:千鋒教育
發(fā)布人:syq
時間: 2022-10-10 09:46:39 1665366399

  一、VIM編輯器

  1)vi概述

  vi(visual editor)編輯器通常被簡稱為vi,它是Linux和Unix系統(tǒng)上最基本的文本編輯器,類似于Windows 系統(tǒng)下的notepad(記事本)編輯器。

Linux Vim 編輯器

  2)vim編輯器

  Vim(Vi improved)是vi編輯器的加強版,比vi更容易使用。vi的命令幾乎全部都可以在vim上使用。

  3)vim編輯器的安裝

  ☆ 已安裝

  Linux通常都已經(jīng)默認安裝好了 vi 或 Vim 文本編輯器,我們只需要通過vim命令就可以直接打開vim編輯器了,如下圖所示:

11

  ☆ 未安裝

  有些精簡版的Linux操作系統(tǒng),默認并沒有安裝vim編輯器(可能自帶的是vi編輯器)。當(dāng)我們在終端中輸入vim命令時,系統(tǒng)會提示"command not found"。

  解決辦法:有網(wǎng)的前提下,可以使用yum工具對vim編輯器進行安裝

12

  4)vim編輯器的四種模式(!)

  ☆ 命令模式

  使用VIM編輯器時,默認處于命令模式。在該模式下可以移動光標位置,可以通過快捷鍵對文件內(nèi)容進行復(fù)制、粘貼、刪除等操作。

  ☆ 編輯模式或輸入模式

  在命令模式下輸入小寫字母a或小寫字母i即可進入編輯模式,在該模式下可以對文件的內(nèi)容進行編輯

  ☆ 末行模式

  在命令模式下輸入冒號:即可進入末行模式,可以在末行輸入命令來對文件進行查找、替換、保存、退出等操作

  ☆ 可視化模式

  可以做一些列選操作(通過方向鍵選擇某些列的內(nèi)容,類似于Windows鼠標刷黑)

  二、VIM四種模式的關(guān)系

  1)VIM四種模式

  命令模式

  編輯模式

  末行模式

  可視化模式

  2)VIM四種模式的關(guān)系

13

  三、VIM編輯器的使用

  1)使用vim打開文件

  基本語法:

  # vim 文件名稱

 ?、?如果文件已存在,則直接打開

 ?、?如果文件不存在,則vim編輯器會自動在內(nèi)存中創(chuàng)建一個新文件

  案例:使用vim命令打開readme.txt文件

  # vim readme.txt

  2)vim編輯器保存文件

  在任何模式下,連續(xù)按兩次Esc鍵,即可返回到命令模式。然后按冒號:,進入到末行模式,輸入wq,代表保存并退出。

14

  3)vim編輯器強制退出(不保存)

  在任何模式下,連續(xù)按兩次Esc鍵,即可返回到命令模式。然后按冒號:,進入到末行模式,輸入q!,代表強制退出但是不保存文件。

15

  4)命令模式下的相關(guān)操作(!)

  ☆ 如何進入命令模式

  答:在Linux操作系統(tǒng)中,當(dāng)我們使用vim命令直接打開某個文件時,默認進入的就是命令模式。如果我們處于其他模式(編輯模式、可視化模式以及末行模式)可以連續(xù)按兩次Esc鍵也可以返回命令模式

  ☆ 命令模式下我們能做什么

 ?、?移動光標 ② 復(fù)制 粘貼 ③ 剪切 粘貼 刪除 ④ 撤銷與恢復(fù)

  ☆ 移動光標到首行或末行(!)

  移動光標到首行 => gg

  移動光標到末行 => G

  ☆ 翻屏

  向上 翻屏,按鍵:ctrl + b (before) 或 PgUp

  向下 翻屏,按鍵:ctrl + f (after) 或 PgDn

  向上翻半屏,按鍵:ctrl + u (up)

  向下翻半屏,按鍵:ctrl + d (down)

  ☆ 快速定位光標到指定行(!)

  行號 + G,如150G代表快速移動光標到第150行。

  ☆ 復(fù)制/粘貼(!)

 ?、?復(fù)制當(dāng)前行(光標所在那一行)

  按鍵:yy

  粘貼:在想要粘貼的地方按下p 鍵【將粘貼在光標所在行的下一行】,如果想粘貼在光標所在行之前,則使用P鍵

 ?、?從當(dāng)前行開始復(fù)制指定的行數(shù),如復(fù)制5行,5yy

  粘貼:在想要粘貼的地方按下p 鍵【將粘貼在光標所在行的下一行】,如果想粘貼在光標所在行之前,則使用P鍵

  ☆ 剪切/刪除(!)

  在VIM編輯器中,剪切與刪除都是dd

  如果剪切了文件,但是沒有使用p進行粘貼,就是刪除操作

  如果剪切了文件,然后使用p進行粘貼,這就是剪切操作

  ① 剪切/刪除當(dāng)前光標所在行

  按鍵:dd (刪除之后下一行上移)

  粘貼:p

  注意:dd 嚴格意義上說是剪切命令,但是如果剪切了不粘貼就是刪除的效果。

 ?、?剪切/刪除多行(從當(dāng)前光標所在行開始計算)

  按鍵:數(shù)字dd

  粘貼:p

  特殊用法:

 ?、?剪切/刪除光標所在的當(dāng)前行(光標所在位置)之后的內(nèi)容,但是刪除之后下一行不上移

  按鍵:D (刪除之后當(dāng)前行會變成空白行)

  ☆ 撤銷/恢復(fù)(!)

  撤銷:u(undo)

  恢復(fù):ctrl + r 恢復(fù)(取消)之前的撤銷操作【重做,redo】

  總結(jié)

 ?、?怎么進入命令模式(vim 文件名稱,在任意模式下,可以連續(xù)按兩次Esc鍵即可返回命令模式)

 ?、?命令模式能做什么?移動光標、復(fù)制/粘貼、剪切/刪除、撤銷與恢復(fù)

  首行 => gg,末行 => G 翻屏(了解) 快速定位 行號G,如150G

16

  5)末行模式下的相關(guān)操作(!)

  ☆ 如何進入末行模式

  進入末行模式的方法只有一個,在命令模式下使用冒號:的方式進入。

  ☆ 末行模式下我們能做什么

  文件保存、退出、查找與替換、顯示行號、paste模式等等

  ☆ 保存/退出(!)

  :w => 代表對當(dāng)前文件進行保存操作,但是其保存完成后,并沒有退出這個文件

  :q => 代表退出當(dāng)前正在編輯的文件,但是一定要注意,文件必須先保存,然后才能退出

  :wq => 代表文件先保存后退出(保存并退出)

  如果一個文件在編輯時沒有名字,則可以使用:wq 文件名稱,代表把當(dāng)前正在編輯的文件保存到指定的名稱中,然后退出

  :q! => 代表強制退出但是文件未保存(不建議使用)

  ☆ 查找/搜索(!)

  切換到命令模式,然后輸入斜杠/(也是進入末行模式的方式之一)

  進入到末行模式后,輸入要查找或搜索的關(guān)鍵詞,然后回車

  如果在一個文件中,存在多個滿足條件的結(jié)果。在搜索結(jié)果中切換上/下一個結(jié)果:N/n (大寫N代表上一個結(jié)果,小寫n代表next)

  如果需要取消高亮,則需要在末行模式中輸入:noh【no highlight】

  ☆ 文件內(nèi)容的替換(!)

  第一步:首先要進入末行模式(在命令模式下輸入冒號:)

  第二步:根據(jù)需求替換內(nèi)容

 ?、?只替換光標所在這一行的第一個滿足條件的結(jié)果(只能替換1次)

  :s/要替換的關(guān)鍵詞/替換后的關(guān)鍵詞 + 回車

  案例:把hello rhel中的 rhel替換為 rhel8

  切換光標到hello rhel這一行:s/rhel/rhel8

  ② 替換光標所在這一行中的所有滿足條件的結(jié)果(替換多次,只能替換一行)

  :s/要替換的關(guān)鍵詞/替換后的關(guān)鍵詞/g g=global全局替換

  案例:把hello rhel中的所有rhel都替換為rhel8

  切換光標到hello rhel這一行:s/rhel/rhel8/g

 ?、?針對整個文檔中的所有行進行替換,只替換每一行中滿足條件的第一個結(jié)果

  :%s/要替換的關(guān)鍵詞/替換后的關(guān)鍵詞

  案例:把每一行中的第一個hello關(guān)鍵詞都替換為hi

  :%s/hello/hi

  ④ 針對整個文檔中的所有關(guān)鍵詞進行替換(只要滿足條件就進行替換操作)

  :%s/要替換的關(guān)鍵詞/替換后的關(guān)鍵詞/g

  案例:替換整個文檔中的hello關(guān)鍵詞為hi

  :%s/hello/hi/g

  ☆ 顯示行號

  基本語法:

  :set nu【nu = number】,行號

  取消行號 => :set nonu

  ☆ set paste模式

  為什么要使用paste模式?

  問題:在終端Vim中粘貼代碼時,發(fā)現(xiàn)插入的代碼會有多余的縮進,而且會逐行累加。原因是終端把粘貼的文本存入鍵盤緩存(Keyboard Buffer)中,Vim則把這些內(nèi)容作為用戶的鍵盤輸入來處理。導(dǎo)致在遇到換行符的時候,如果Vim開啟了自動縮進,就會默認的把上一行縮進插入到下一行的開頭,最終使代碼變亂。

  在粘貼數(shù)據(jù)之前,輸入下面命令開啟paste模式

  :set paste

  粘貼完畢后,輸入下面命令關(guān)閉paste模式

  :set nopaste

  總結(jié)

  ① 如何進入末行模式,必須從命令模式中使用冒號進行切換

  ② 末行模式下能做什么?保存、退出、查找、替換、顯示行號以及paste模式

 ?、?保存 => :w

  ④ 退出 => :q,先保存后退出。:wq :wq 文件名稱 :q!

  ⑤ 查找功能 => 命令模式輸入/斜杠 + 關(guān)鍵詞(高亮顯示)=> :noh

 ?、?替換功能

  :s/要替換的關(guān)鍵詞/替換后的關(guān)鍵詞

  :s/要替換的關(guān)鍵詞/替換后的關(guān)鍵詞/g

  :%s/要替換的關(guān)鍵詞/替換后的關(guān)鍵詞

  :%s/要替換的關(guān)鍵詞/替換后的關(guān)鍵詞/g

 ?、?顯示行號 => :set nu 取消行號 => :set nonu

 ?、?paste模式 => 將來在粘貼代碼的時候為了保存原格式 => 粘貼之前 => :set paste

  四、編輯模式

  1)編輯模式的作用

  編輯模式的作用比較簡單,主要是實現(xiàn)對文件的內(nèi)容進行編輯模式。

  2)如何進入編輯模式

  首先你需要進入到命令模式,然后使用小寫字母a或小寫字母i,進入編輯模式。

  命令模式 + i :insert縮寫,代表在光標之前插入內(nèi)容

  命令模式 + a :append縮寫,代表在光標之后插入內(nèi)容

  3)退出編輯模式

  在編輯模式中,直接按Esc,即可從編輯模式退出到命令模式。

  五、可視化模式

  1)如何進入到可視化模式

  在命令模式中,直接按ctrl + v(可視塊)或V(可視行)或v(可視),然后按下↑ ↓ ← →方向鍵來選中需要復(fù)制的區(qū)塊,按下y 鍵進行復(fù)制(不要按下yy),最后按下p 鍵粘貼

  退出可視模式按下Esc

  2)可視化模式復(fù)制操作

  第一步:在命令模式下,直接按小v,進入可視化模式

  第二步:使用方向鍵↑ ↓ ← →選擇要復(fù)制的內(nèi)容,然后按y鍵

  第三步:移動光標,停在需要粘貼的位置,按p鍵進行粘貼操作

  3)為配置文件添加#多行注釋(!)

  第一步:按Esc退出到命令模式,按gg切換到第1行

  第二步:然后按Ctrl+v進入到可視化區(qū)塊模式(列模式)

  第三步:在行首使用上下鍵選擇需要注釋的多行

  第四步:按下鍵盤(大寫)“I”鍵,進入插入模式(Shift + i)

  第五步:輸入#號注釋符

  第六步:輸入完成后,連續(xù)按兩次Esc即可完成添加多行注釋的過程

  4)為配置文件去除#多行注釋(!)

  第一步:按Esc退出到命令模式,按gg切換到第1行

  第二步:然后按Ctrl+v進入可視化區(qū)塊模式(列模式)

  第三步:使用鍵盤上的方向鍵的上下選中需要移除的#號注釋

  第四步:直接按Delete鍵即可完成刪除注釋的操作

  六、VIM編輯器實用功能

  1)代碼著色

  之前說過vim 是vi 的升級版本,其中比較典型的區(qū)別就是vim 更加適合coding,因為vim比vi 多一個代碼著色的功能,這個功能主要是為程序員提供編程語言升的語法顯示效果,如下:

  第一步:定義后綴名為網(wǎng)頁文件的代碼文件

  # vim index.php

  第二步:編寫對應(yīng)的PHP代碼

17

  在VIM編輯器中,我們可以通過:syntax on或:syntax off開啟或關(guān)閉代碼著色功能。

  2)異常退出解決方案

  什么是異常退出:在編輯文件之后并沒有正常的去wq(保存退出),而是遇到突然關(guān)閉終端或者斷電的情況,則會顯示下面的效果,這個情況稱之為異常退出:

18

  溫馨提示:每個文件的異常文件都會有所不同,其命名規(guī)則一般為.文件名稱.swp

  解決辦法:將交換文件(在編程過程中產(chǎn)生的臨時文件)刪除掉即可【在上述提示界面按下D 鍵或者使用rm 指令刪除交換文件】

  # rm .1.php.swp

  3)退出vim編輯器

  回顧:在vim中,退出正在編輯的文件可以使用:q或者:wq除了上面的這個語法之外,vim 還支持另外一個保存退出(針對內(nèi)容)方法:x

  ①:x在文件沒有修改的情況下,表示直接退出(等價于:q),在文件修改的情況下表示保存并退出(:wq)

 ?、?如果文件沒有被修改,但是使用wq 進行退出的話,則文件的修改時間會被更新;但是如果文件沒有被修改,使用x 進行退出的話,則文件修改時間不會被更新的;主要是會混淆用戶對文件的修改時間的認定。

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
大數(shù)據(jù)測試工程師需要具備哪些技能?

一、理解大數(shù)據(jù)概念大數(shù)據(jù)測試工程師需要理解大數(shù)據(jù)的基本概念和原理,如分布式存儲、MapReduce、實時計算等。他們還需要了解如何處理大規(guī)模的...詳情>>

2023-10-14 23:43:03
為什么SpringBoot的 jar 可以直接運行?

一、JAR文件的結(jié)構(gòu)與執(zhí)行方式Spring Boot的JAR包是Java Archive的縮寫,它是一種壓縮文件格式,可以將Java項目的類文件、資源文件以及依賴庫等...詳情>>

2023-10-14 23:01:49
站群服務(wù)器是什么?

站群服務(wù)器的含義與用途站群服務(wù)器主要用于支持站群,即由一組相互鏈接的網(wǎng)站組成的群體。這些網(wǎng)站通常由同一組織或個人擁有,并且經(jīng)常會互相鏈...詳情>>

2023-10-14 22:46:12
自編碼器是什么?

一、自編碼器原理自編碼器的設(shè)計靈感源于神經(jīng)科學(xué)中關(guān)于感知系統(tǒng)的認知原理,它的核心思想是將輸入數(shù)據(jù)經(jīng)過編碼過程,形成一個隱藏層的特征表示...詳情>>

2023-10-14 22:41:10
什么是云網(wǎng)融合?

一、云網(wǎng)融合的定義云網(wǎng)融合是指將云計算與網(wǎng)絡(luò)技術(shù)相結(jié)合,實現(xiàn)資源的共享、業(yè)務(wù)的協(xié)同,將網(wǎng)絡(luò)與云端服務(wù)深度融合,提供更靈活、高效、安全的...詳情>>

2023-10-14 22:31:47