Linux Vi常用指令總結

Vi(及其改進版 Vim)是 Linux 中常用的文本編輯器,雖然入門有一定門檻,但熟練掌握后效率極高。以下是常見指令分類整理:


1. 模式切換

  • 普通模式(命令模式):啟動后的默認模式,按 Esc 返回。
  • 插入模式:輸入文本(從普通模式進入):
    • i:當前光標前插入
    • a:當前光標后插入
    • o:下一行插入
    • I:行首插入
    • A:行尾插入
  • 可視模式:選擇文本(普通模式下):
    • v:字符選擇
    • V:行選擇
    • Ctrl+v:塊選擇

2. 光標移動(普通模式)

  • 基本移動
    • h/j/k/l:左/下/上/右
    • w:跳到下一個單詞開頭
    • b:跳到上一個單詞開頭
    • 0:行首,^:行首非空字符
    • $:行尾
  • 翻頁
    • Ctrl+f:下一頁
    • Ctrl+b:上一頁
  • 跳轉
    • gg:文件開頭
    • G:文件末尾
    • :nnG:跳到第 n 行(如 :1010G

3. 編輯操作

  • 刪除
    • x:刪除當前字符
    • dd:刪除當前行
    • dw:刪除到單詞末尾
    • d$:刪除到行尾
  • 復制/粘貼
    • yy:復制當前行
    • p:粘貼到光標后
    • P:粘貼到光標前
  • 撤銷/重做
    • u:撤銷
    • Ctrl+r:重做

4. 查找與替換

  • 查找
    • /keyword:向下搜索 keyword
    • ?keyword:向上搜索
    • n:下一個匹配項,N:上一個
  • 替換
    • :%s/old/new/g:全局替換
    • :s/old/new/g:當前行替換
    • c 確認(如 :%s/old/new/gc

5. 保存與退出(命令模式)

  • :w:保存
  • :wq:x:保存并退出
  • :q!:強制退出不保存
  • :w newfile:另存為新文件

6. 其他實用命令

  • 縮進>>(向右縮進),<<(向左縮進)
  • 顯示行號:set number(取消用 :set nonumber
  • 分屏
    • :sp:水平分屏
    • :vsp:垂直分屏
    • Ctrl+w + 方向鍵:切換分屏

7. 快速技巧

  • 重復操作:在命令前加數字(如 3dd 刪除 3 行)
  • 組合命令dG(刪除到文件末尾)
  • 錄制宏qa 開始錄制到寄存器 aq 結束,@a 執行

掌握這些指令后,可以應對大多數編輯場景。建議先熟悉基礎移動和編輯操作,再逐步學習高級功能。如需進一步學習,可以運行 vimtutor 命令進入內置教程。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/92215.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/92215.shtml
英文地址,請注明出處:http://en.pswp.cn/web/92215.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

解決遠程連接云服務器mysql編號1130問題

連接云服務器mysql失敗&#xff0c;可能是因為ip發生改變&#xff0c;被mysql攔截。我自己前后做了兩件事。大家趕時間可直接從二開始&#xff0c;不放心的就從一開始到結束一、在云服務器實例中為當前ip配置安全組權限。1.找到當前服務器的實例&#xff0c;進入安全組。為其增…

大數據存儲域——HDFS存儲系統

摘要本文介紹了HDFS存儲系統&#xff0c;包括其組件、工作機制、實戰經驗總結、使用場景以及與SpringBoot的實戰示例和優化設計。HDFS由Client、NameNode、SecondaryNameNode、DataNode等組件構成&#xff0c;通過特定的工作機制實現文件的讀取和寫入。它適用于多種場景&#x…

jdk動態代理如何實現

口語化答案好的&#xff0c;面試官。jdk 的動態代理主要是依賴Proxy類 和InvocationHandler 接口。jdk 動態代理要求類必須有接口。在進行實現的時候&#xff0c;首先要定義接口&#xff0c;比如MyService&#xff0c;這個接口就是我們的正常功能的實現。但是希望在不更改MySer…

自然語言處理的相關概念與問題

目錄 一、學科的產生與發展 1、什么是自然語言&#xff1f; 2、自然語言處理技術的誕生 二、技術挑戰 三、基本方法 1、方法概述 理性主義方法 經驗主義方法 2、傳統的統計學習方法 3、深度學習方法 詞向量表示 詞向量學習 開源工具 四、應用舉例 1、漢語分詞 …

Anthropic MCP架構深度解析:下一代AI工具集成協議的設計哲學

本文深入剖析Anthropic提出的模型通信協議(MCP),揭示其如何重構AI與工具生態的交互范式,打造安全高效的智能體基礎設施。 引言:AI工具集成的"巴別塔困境" 當前AI生態面臨的核心挑戰: #mermaid-svg-lSpYBxzxD5oiYwcL {font-family:"trebuchet ms",verd…

【注意】HCIE-Datacom華為數通考試,第四季度將變題!

最近&#xff0c;數據通信圈子可熱鬧壞啦&#xff01;好幾個渠道都證實了&#xff0c;HCIE - Datacom實驗考試馬上要有大變化咯&#xff01; 這可不是啥小道消息&#xff0c;也不是那種試點的傳言&#xff0c;而是從IE內部技術交流會上得到的確切消息。 這邊聯系了華為認證的好…

MySql 硬核解析系列 一 MySQL的鎖機制

MySQL 的鎖機制是其并發控制的核心,直接影響數據庫的性能、一致性與可用性。本文將從底層原理、鎖的分類、實現機制、鎖的粒度、鎖的兼容性、死鎖處理、InnoDB 的行鎖實現、MVCC 與鎖的關系等多個維度,進行硬核、深度解析,適用于希望深入理解 MySQL 并發控制機制的開發者與 …

7.軟件工程

軟件生命周期軟件生命周期什么是軟件工程&#xff1f;以工程化的原則和方法來開發軟件&#xff0c;其目的是提高軟件生產率、提高軟件質量、降低軟件成本。軟件工程3大組成部分&#xff1a;方法、工具、過程。什么是軟件生命周期&#xff1a;經過開發、使用和維護&#xff0c;直…

C 語言結構體與 Java 類的異同點深度解析

在編程語言的發展歷程中,C 語言的結構體與 Java 的類扮演著至關重要的角色。作為面向過程編程的經典代表,C 語言的結構體為數據封裝提供了基礎形式;而 Java 作為純面向對象語言,類則是其核心語法結構。二者既存在一脈相承的設計思想,又因編程語言范式的差異呈現出顯著區別…

C++、STL面試題總結(二)

1. 必須實現拷貝構造函數的場景 核心問題&#xff1a;默認拷貝構造的缺陷 C 默認的拷貝構造函數&#xff08;淺拷貝&#xff09;&#xff0c;會直接拷貝指針 / 引用成員的地址。若類包含引用成員或指向堆內存的指針&#xff0c;淺拷貝會導致 “多個對象共享同一份資源”&…

IntelliJ IDEA2024 錯誤‘http://start.spring.io/‘的初始化失敗,請檢查URL、網絡和代理設置。

下載新版本的intellij idea2024創建項目時&#xff0c;服務器URL報錯誤http://start.spring.io/的初始化失敗&#xff0c;請檢查URL、網絡和代理設置。錯誤消息&#xff1a;Cannot download http://start.spring.io/:Permission denied:getsockopt&#xff0c;具體如下圖&#…

從零開始的云計算生活——第三十八天,避坑落井,Docker容器模塊

一.故事背景 在綜合使用了之前全部的知識完成項目之后&#xff0c;接下來將學習更簡單的方法來對之前的命令進行使用&#xff0c;馬上進入容器模塊 二. Docker概述 Docker簡介 Docker&#xff0c;翻譯過來就是碼頭工人 Docker是一個開源的應用容器引擎&#xff0c;讓開發者…

Python與自動化運維:構建智能IT基礎設施的終極方案

Python與自動化運維:構建智能IT基礎設施的終極方案 引言:運維革命的Python引擎 在DevOps理念席卷全球的今天,企業IT基礎設施的復雜度呈指數級增長。某跨國銀行的數據顯示,采用Python構建的自動化運維體系使其服務器部署效率提升400%,故障響應時間縮短至原來的1/8。本文將…

HarmonyOS應用開發環境搭建以及快速入門介紹

下載并安裝DevEco Studio&#xff0c;這是華為官方提供的HarmonyOS應用開發IDE。訪問華為開發者聯盟官網下載對應操作系統的版本。安裝完成后&#xff0c;配置HarmonyOS SDK和必要的工具鏈。 確保計算機滿足開發環境要求&#xff0c;包括Windows 10 64位或macOS 10.14及以上操…

RocketMQ與Kafka 消費者組的?重平衡操作消息順序性對比

RocketMQ 的重平衡機制本身不會直接影響消息順序&#xff0c;但消費模式的選擇和使用需注意以下細節&#xff1a;重平衡機制RocketMQ消費者組的重平衡策略是每隔20秒從Broker獲取消費組的最新消費進度&#xff0c;并根據訂閱信息重新分配消息隊列。該策略主要影響消息拉取的均衡…

學習 Android(十四)NDK基礎

學習 Android&#xff08;十四&#xff09;NDK基礎 Android NDK 是一個工具集&#xff0c;可讓我們使用 C 和 C 等語言以原生代碼實現應用的各個部分。對于特定類型的應用&#xff0c;這可以幫助我們重復使用以這些語言編寫的代碼庫。 接下來&#xff0c;我們將按照以下步驟進行…

寶塔(免費版9.2.0)的docker拉取倉庫失敗的加速方法

寶塔docker拉取倉庫失敗 完美加速方法_寶塔docker加速-CSDN博客 版本&#xff1a;免費版 9.2.0 https://docker.1ms.run 其他的試了很多 都不行 最后不要用寶塔的控制面板(很卡)&#xff0c;直接在linux中用命令行&#xff0c;效果就很好了。

文獻解讀-生境分析亞區域選擇+2D_DL+3D_DL-局部晚期食管鱗狀細胞癌新輔助化療免疫治療反應預測

研究標題&#xff1a;結合亞區域放射組學與多通道二維或三維深度學習模型預測局部晚期食管鱗狀細胞癌&#xff08;LA-ESCC&#xff09;患者對新輔助化療免疫治療&#xff08;NACI&#xff09;的反應借鑒點&#xff1a;建模思路&#xff08;看流程圖理解就夠了&#xff09;引言食…

機器學習第四課之決策樹

目錄 簡介 一.決策樹算法簡介 二. 決策樹分類原理 1.ID3算法 1.1 熵值 1.2 信息增益 1.3 案例分析 ?編輯 2.C4.5 2.1 信息增益率 2.2.案例分析 3.CART決策樹 3.1基尼值和基尼指數 3.2案例分析 三、決策樹剪枝 四、決策樹API 五、電信客戶流失 六、回歸樹 七. 回歸…

Java面試題和答案大全

一、Java基礎知識 1. Java語言特點 題目: 請說明Java語言的主要特點? 答案: 面向對象:Java是純面向對象的語言,支持封裝、繼承、多態 平臺無關性:一次編譯,到處運行(Write Once, Run Anywhere) 簡單性:語法簡潔,去掉了C++中的指針、多重繼承等復雜特性 安全性:提…