vim的一些快捷鍵

来源:https://www.cnblogs.com/amour02-study/p/18356231
-Advertisement-
Play Games

基礎用法: 1、終端輸入vim filename.c 如果文件不存在則新建並打開,存在則打開 2、輸入i 進入編輯模式,編寫代碼 3、保存退出: 按Esc退出編輯模式,輸入ZZ保存並退出 vim的三大模式: 正常模式:預設進入vim處於正常模式,一般用於閱讀文件、使用快捷鍵批量修改文件 編輯模式:一 ...


基礎用法:
1、終端輸入vim filename.c 如果文件不存在則新建並打開,存在則打開
2、輸入i 進入編輯模式,編寫代碼
3、保存退出: 按Esc退出編輯模式,輸入ZZ保存並退出

vim的三大模式:
正常模式:預設進入vim處於正常模式,一般用於閱讀文件、使用快捷鍵批量修改文件
編輯模式:一般用於編輯文件,輸入內容
行底模式:一般用於對vim進行臨時配置、或者執行一些高級操作

模式之間的切換:
正常 輸入i -》 插入
插入 按Esc -》 正常
正常 輸入: -》 行底
行底 按Esc -》 正常

正常模式的常用操作:
游標移動:
h j k l
gg 游標跳轉到文件第一行
G 游標跳轉到文件最後一行
n- 游標向上跳轉n行
n加回車 游標往下跳轉n行
nG 游標跳轉到第n行
vim filename +n 直接跳轉跳第n行
刪除代碼:
dd 刪除游標所在的一行代碼
ndd 刪除游標往下n行代碼

x   刪除一個字元
nx  刪除n個字元
dw/de   刪除一個連續的字元串
d$  從游標處刪除到行尾
d^  從游標處刪除到行首
dG  從游標處刪除到文件末尾
dgg 從游標處刪除到文件開頭

複製代碼:
yy 複製游標所在一行代碼
nyy 複製游標所在n行代碼
p 粘貼到游標的下一行
P 粘貼到游標的上一行

移動代碼:
刪除代碼後內容會存放到粘貼板,配合p\P
使用可以達到移動代碼的效果
替換代碼:
r 替換一個字元
cw 替換一個字元串
R 進入替換模式
撤銷操作:
u 撤銷上次操作
Ctrl+r 取消撤銷操作

正常模式進入插入模式的快捷鍵:

i 在游標的前方進入插入模式
I 游標跳轉到行首,進入插入模式
a 在游標的後方進入插入模式
A 游標跳轉到行尾,進入插入模式
o 在游標下一行插入一個行空白行,進入插入模式
O 在游標上一行插入一個行空白行,進入插入模式

插入模式的常用操作:
Ctrl+p 自動補全 註意:多使用
Ctrl+i 縮進,相當於Tab
Ctrl+j/m 回車
Ctrl+c 相當於Esc

自定義組合按鍵:
Ctrl+z 在任何模式下,保存退出
Ctrl+x 自動保存並編譯並運行C代碼
Ctrl+p 在正常模式下,自動添加頭文件和main函數

行底模式下的操作:
:w 保存
:q 退出 :q! 強制退出
:wq 保存並退出
:x 保存並退出
:X 加密,註意:必須:wq退出才生效,ZZ不行
註意:刪除密碼 :set key=空格
:set nu 顯示行號
:set nonu 不顯示行號
:!系統命令 執行系統命令
:%s/old/new 把文件中old替換成new
:/key 查詢key關鍵字 n查下一個 N查上一個
:>n 游標處往下n行向右縮進一次
:<n 游標處往下n行向左縮進一次


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

-Advertisement-
Play Games
更多相關文章
  • 本章將和大家分享Linux系統中firewalld防火牆常用的操作命令。廢話不多說,下麵我們直接進入主題。 一、安裝Firewall命令 yum install firewalld firewalld-config 二、防火牆的基本操作 1、查看防火牆狀態 使用systemctl status fi ...
  • 安裝fcitx5 sudo dnf install fcitx5 fcitx5-chinese-addons 很多教程上讓安裝fcitx5-gtk和fcitx5-qt,但是目前dnf在安裝fcitx5時會自動安裝這兩個包。 安裝fcitx5-rime sudo dnf install fcitx5- ...
  • https://www.zhihu.com/people/xiangchun.zeng 網路流行的"科學的盡頭還是燒開水"這個梗,從發明蒸汽輪機以來,到現在的核電站、核動力航母最終都是通過“燒開水”這種能量轉換形式來實現發電和航行。一以貫之,那麼可以這麼講:“Windows核心編程的盡頭還是調函數” ...
  • T113s工業套件簡述 提示 T113開發交流QQ群:120575746 此開發板的任何問題都可以在我們的論壇交流討論 https://forums.100ask.net/c/aw/ 硬體簡述​ 100ASK_T113s3-Industrial-DevKit 是百問網設計的一款專門針對於工業控制場景 ...
  • 寫在前面 本隨筆是非常菜的菜雞寫的。如有問題請及時提出。 可以聯繫:[email protected] GitHhub:https://github.com/WindDevil (目前啥也沒有 下載它 隨便找個地方下載,如果官網下載速度過慢: 官網 B站 微信公眾號 知乎 各大軟體站 這裡附上我使用 ...
  • 痞子衡嵌入式半月刊: 第 106 期 這裡分享嵌入式領域有用有趣的項目/工具以及一些熱點新聞,農曆年分二十四節氣,希望在每個交節之日準時發佈一期。 本期刊是開源項目(GitHub: JayHeng/pzh-mcu-bi-weekly),歡迎提交 issue,投稿或推薦你知道的嵌入式那些事兒。 上期回 ...
  • 本文介紹基於PowerShell語言,對文件夾中全部文件的名稱加以批量替換、修改的方法。 在之前的文章中,我們介紹了基於Python語言,批量修改大量文件的名稱的方法。當時我們修改文件名的需求比較複雜,因此選擇了用Python語言來實現;而在我們的需求重命名規則相對比較簡單時,則可以基於PowerS ...
  • 第十九章 machine.PWM類實驗 1)實驗平臺:正點原子DNK210開發板 2)章節摘自【正點原子】DNK210使用指南 - CanMV版 V1.0 3)購買鏈接:https://detail.tmall.com/item.htm?&id=782801398750 4)全套實驗源碼+手冊+視頻 ...
一周排行
    -Advertisement-
    Play Games
  • 前言 推薦一款基於.NET 8、WPF、Prism.DryIoc、MVVM設計模式、Blazor以及MySQL資料庫構建的企業級工作流系統的WPF客戶端框架-AIStudio.Wpf.AClient 6.0。 項目介紹 框架採用了 Prism 框架來實現 MVVM 模式,不僅簡化了 MVVM 的典型 ...
  • 先看一下效果吧: 我們直接通過改造一下原版的TreeView來實現上面這個效果 我們先創建一個普通的TreeView 代碼很簡單: <TreeView> <TreeViewItem Header="人事部"/> <TreeViewItem Header="技術部"> <TreeViewItem He ...
  • 1. 生成式 AI 簡介 https://imp.i384100.net/LXYmq3 2. Python 語言 https://imp.i384100.net/5gmXXo 3. 統計和 R https://youtu.be/ANMuuq502rE?si=hw9GT6JVzMhRvBbF 4. 數 ...
  • 本文為大家介紹下.NET解壓/壓縮zip文件。雖然解壓縮不是啥核心技術,但壓縮性能以及進度處理還是需要關註下,針對使用較多的zip開源組件驗證,給大家提供個技術選型參考 之前在《.NET WebSocket高併發通信阻塞問題 - 唐宋元明清2188 - 博客園 (cnblogs.com)》講過,團隊 ...
  • 之前寫過兩篇關於Roslyn源生成器生成源代碼的用例,今天使用Roslyn的代碼修複器CodeFixProvider實現一個cs文件頭部註釋的功能, 代碼修複器會同時涉及到CodeFixProvider和DiagnosticAnalyzer, 實現FileHeaderAnalyzer 首先我們知道修 ...
  • 在軟體行業,經常會聽到一句話“文不如表,表不如圖”說明瞭圖形在軟體應用中的重要性。同樣在WPF開發中,為了程式美觀或者業務需要,經常會用到各種個樣的圖形。今天以一些簡單的小例子,簡述WPF開發中幾何圖形(Geometry)相關內容,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 在 C# 中使用 RabbitMQ 通過簡訊發送重置後的密碼到用戶的手機號上,你可以按照以下步驟進行 1.安裝 RabbitMQ 客戶端庫 首先,確保你已經安裝了 RabbitMQ 客戶端庫。你可以通過 NuGet 包管理器來安裝: dotnet add package RabbitMQ.Clien ...
  • 1.下載 Protocol Buffers 編譯器(protoc) 前往 Protocol Buffers GitHub Releases 頁面。在 "Assets" 下找到適合您系統的壓縮文件,通常為 protoc-{version}-win32.zip 或 protoc-{version}-wi ...
  • 簡介 在現代微服務架構中,服務發現(Service Discovery)是一項關鍵功能。它允許微服務動態地找到彼此,而無需依賴硬編碼的地址。以前如果你搜 .NET Service Discovery,大概率會搜到一大堆 Eureka,Consul 等的文章。現在微軟為我們帶來了一個官方的包:Micr ...
  • ZY樹洞 前言 ZY樹洞是一個基於.NET Core開發的簡單的評論系統,主要用於大家分享自己心中的感悟、經驗、心得、想法等。 好了,不賣關子了,這個項目其實是上班無聊的時候寫的,為什麼要寫這個項目呢?因為我單純的想吐槽一下工作中的不滿而已。 項目介紹 項目很簡單,主要功能就是提供一個簡單的評論系統 ...