Linux學習筆記(九)Vim文本編輯器的使用

来源:https://www.cnblogs.com/LRainner/archive/2020/04/24/12769020.html
-Advertisement-
Play Games

Vim文本編輯器的使用 Vim的工作模式 1.命令模式 2.輸入模式 3.編輯模式 進入Vim 1.使用Vim打開文件 2.直接進入指定位置 Vim基本命令 1.插入命令 2.游標移動命令 3.使用Vim進行編輯 保存退出命令 Vim的工作模式 命令模式 輸入模式 編輯模式 命令模式 在使用Vim編 ...


Vim文本編輯器的使用

  • Vim的工作模式
    1.命令模式
    2.輸入模式
    3.編輯模式
  • 進入Vim
    1.使用Vim打開文件
    2.直接進入指定位置
  • Vim基本命令
    1.插入命令
    2.游標移動命令
    3.使用Vim進行編輯
  • 保存退出命令

Vim的工作模式

  • 命令模式

  • 輸入模式

  • 編輯模式

2-1Q00Q41T01J.jpg

命令模式

在使用Vim編輯文件時,預設處於命令模式。在命令模式下,可以使用上、下、左、右鍵或者k、j、h、l命令來移動游標,還可以對文件內容進行複製、粘貼、替換、刪除等操作

輸入模式

在輸入模式下可以對文件進行寫操作。進入輸入模式的方法是在命令模式輸入i、a、o等插入命令,編寫完成後按Esc鍵即可返回命令模式

編輯模式

如果要保存、查找或者替換一些內容等,就需要進入編輯模式。進入編輯模式的方法是在命令模式輸入 ":" 符號,指令執行後會自動返回命令模式

進入Vim

使用Vim打開文件

使用命令 vim 文件目錄 即可使用Vim打開文件

直接進入指定位置

vim +20 文件目錄    直接進入文件第20航

vim +/hello 文件目錄    直接進入第一個"hello"字元串所在行

Vim基本命令

插入命令

在命令模式下輸入i、I、a、A、o、O等進入輸入模式,不同的鍵只是游標所處的位置不同。

在Vim編輯器的左下角會出現"插入"字樣,這就代表我們可以執行寫入操作

12.png

常用的插入命令:

i    在當前游標所在位置插入隨後輸入的文本,游標後的文本相應的向右移動

I    在游標所在的行首插入隨後輸入的文本,行首是改行的第一個非空白字元,相當於游標移動到行首再執行i命令

a    在當前游標所在位置之後插入隨後輸入的文本

A    在游標所在的行首插入隨後輸入的文本,相當於游標移動到行尾再執行a命令

o    在游標所在行的下麵插入新的一行,游標停在空行行首,等待輸入文本

O    在游標所在行的下麵插入新的一行,游標停在空行行首,等待輸入文本

游標移動命令

以字元為單位移動

上、下、左、右方向鍵    移動游標

h、j、k、l鍵    向左、向下、向上、向右移動游標

以單詞為單位的移動

w    移動游標到下一個單詞的單詞首

b    移動游標到上一個單詞的單詞首

e    移動游標到下一個單詞的單詞尾

移動到行首或行尾

$或End    移動游標到行尾

0或^或Home    移動游標到行首

移動到一行的指定字元處

f字元    移動游標到第一個符合條件的字元處,使用條件是游標要在指定字元前

移動到匹配的括弧處

%    在匹配的括弧間切換

移動到指定行數

nG或:n    移動游標到指定的行

使用Vim進行編輯

查找指定字元串

/要查找的字元串    從游標所在行開始向下查找字元串

?要查找的字元串    從游標所在行開始向上查找字元串

:set ic    查找時忽略大小寫

:set noic    查找時區分大小寫

使用Vim進行替換

r    替換游標所在處的字元

R    從游標所在處開始替換,按Esc結束

:替換起始處,替換結束處s/源字元串/替換的字元串/g    替換範圍內的字元串

:%s/源字元串/替換的字元串/g    替換整篇文檔的字元串

:1,$s/root/ROOT/g    將整篇文檔的root替換為ROOT

使用Vim進行刪除、粘貼、複製

x    刪除游標所在的字元

nx    從游標所在位置向後刪除n個字元

dd    刪除整行,如果之後粘貼,則此命令的作用是剪切

ndd    刪除多行

dG    刪除從游標開始到文件末尾的內容

D    刪除從游標開始到這行行尾的內容

:開始行,中止行d    刪除指定範圍的行

yy或Y    複製單行

nyy或nY    複製多行

p    粘貼到當前游標所在行下

P    粘貼到當前游標所在行上

dd命令刪除的內容都臨時放到記憶體里,將游標移動到指定位置,按下p,就能將剛纔刪除的內容又粘貼到此處

使用Vim撤銷上一步操作

u    撤銷

保存退出命令

:w    保存不退出

:q    不保存退出

!    強制性操作

:wq    保存並退出

:w!    強制保存

:wq!    強制保存退出

:q!    不保存退出

:w新文件名    另存為其他文件,配合:q!使用

ZZ    如果文件沒有修改,就是不保存退出;如果文件已經修改,就是保存退出

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一個 .NET 應用僅僅只是一塊在 .NET 運行時上面運行的二進位代碼。而 .NET 運行時只是一個能執行這項任務的程式。當前的 .NET Framework 和 .NET Core 運行時採用 C++ 編寫,而 Mobius 是一個使用 C# 重寫的 .NET 運行時,重寫包括 JIT 編譯和 ... ...
  • 在我的 "上一篇文章中" ,我展示瞭如何使用ASP.NET Core創建Quartz.NET托管服務並使用它來按計劃運行後臺任務。不幸的是,由於Quartz.NET API的工作方式,在Quartz作業中使用Scoped依賴項註入服務有些麻煩。說明下這篇文章部分採用機翻。 作者:依樂祝 譯文地址:h ...
  • 來源:https://www.cnblogs.com/savorboard/p/7679902.html 作者:Savorboard 前言 最近很久沒有寫博客了,一方面是因為公司事情最近比較忙,另外一方面是因為在進行 [ CAP ](http://www.cnblogs.com/savorboard ...
  • roundrobin:動態輪詢;支持權重的運行時調整,支持慢啟動,每個後端中最多支持4095個server;什麼意思呢?動態調整權重就是說不重啟服務的情況下調整權重;慢啟動說的是,前端的流量不會一下子全部給打進來,而是一部分一部分的打到後端伺服器上;這樣可以有效防止流量過大時一下子把後端伺服器壓垮... ...
  • 2018年3月,我與張老師就這麼在微信上聊了起來,起初我並沒有寫書的打算,我們之間只是通過討論、交流的形式聊聊關於出書的方方面面。最終,敵不過張老師超強的專業能力、細緻的解說與盛情相邀,我答應張老師寫一本Linux系統運維的圖書並由人郵出版。由此,我踏上了漫漫2年多的寫書之路。 為什麼寫這本書 寫書 ...
  • 背景 By 魯迅 By 高爾基 說明: 1. Kernel版本:4.14 2. ARM64處理器,Contex A53,雙核 3. 使用工具:Source Insight 3.5, Visio 1. 概述 我會假設你已經看過了 "《Linux RCU原理剖析(一) 初窺門徑》" 本文將進一步去探索下 ...
  • 程式和進程式控制制 ps:顯示系統瞬間的進程信息 top:動態監視系統任務工具,輸出結果是連續的 kill:根據PID控制進程 killall:殺死指定名稱進程,可以用來殺死一組進程 nice:允許在預設優先順序基礎上進行增大或減小 renice:改變一個正在運行的進程的neice值 用戶操作: user ...
  • 1. install 2. 啟動台里啟動一下圖標 3. 驗證是否安裝好 在終端輸入 、`docker version`看到列印出來信息就是OK了 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...