10 分鐘上手 Vim,常用命令大盤點

来源:https://www.cnblogs.com/shiyanlou/archive/2019/10/29/11759424.html
-Advertisement-
Play Games

傳聞有 180 萬的程式員不知道如何退出 Vim 編輯器,真的有這麼困難嗎?下麵給大家整理了一份 Vim 常用命令,讓你 10 分鐘快速上手 Vim,溜得飛起! 以下命令請在普通模式執行 1.移動游標 j:向下 20j: 向下移動 20 行 k:向上 h:向左 l:向右 0:到行首 ^:到行首第一個 ...


傳聞有 180 萬的程式員不知道如何退出 Vim 編輯器,真的有這麼困難嗎?下麵給大家整理了一份 Vim 常用命令,讓你 10 分鐘快速上手 Vim,溜得飛起!

以下命令請在普通模式執行

1.移動游標

  • j:向下
  • 20j: 向下移動 20 行
  • k:向上
  • h:向左
  • l:向右
  • 0:到行首
  • ^:到行首第一個字元,如果前面有空格的話
  • $:到行尾
  • gg:快速到文件頭
  • G:快速到文件尾
  • 50G:跳轉到第 50 行

請不要在插入模式進行游標移動,效率很低下。

2.複製

  • yy:複製一行
  • 8yy:向下複製8行
  • yw:複製游標開始的一個單詞
  • y$:複製游標到行尾
  • yfA:複製游標到第一個大寫A中間的內容
  • y2fA:複製游標到第二個大寫A中間的內容

3.剪切

  • x:向後剪切一個一個字元,如果是在行尾,則為向前剪切
  • 4x:剪切4個
  • xp:非行尾交換兩個字元,如從bs變成sb

4.刪除

  • dd:刪除一行
  • 100dd:刪除100行
  • dw:刪除一個單詞
  • df":刪除到出現的第一個雙引號
  • d^:刪除至行首

刪除的內容會放到剪貼板,按p即可粘貼到其他地方。

5.粘貼

  • p:粘貼複製或剪切的內容
  • 5p:將複製或剪切的內容粘貼5次

6.替換和撤銷

  • r+<待替換字母>:將游標所在字母替換為指定字母
  • R:連續替換,直到按下Esc
  • cc:替換整行,即刪除游標所在行,併進入插入模式
  • cw:替換一個單詞,即刪除一個單詞,併進入插入模式
  • u{n}:撤銷一次或n次操作
  • U(大寫):撤銷當前行的所有修改
  • Ctrl+r:redo,即撤銷undo的操作

7.退出編輯器

  • wq:保存當前文件並退出
  • wqa:保存所有文件並退出
  • q!: 不保存,強制退出
  • qa!: 有多個文件被打開,同時退出

以下命令請在命令模式下執行

在普通模式下,輸入:即可進入。

調整文本

  • %s/$/sth/ :在行尾追加sth
  • %s/^M//g :替換掉dos換行符,^M使用ctrl+v + Enter即可輸入
  • :g/^\s$/d :刪除空行以及只有空格的行*
  • %s/#.*//g :刪除#之後的字元

沒錯,這裡使用的是正則。

  • ce:使本行文本內容居中
  • ri:使本行文本內容靠右
  • le:使本行文本內容靠左

查找字元串

在普通模式下,按下/直接進入查找,輸入相應的字元串按確定即可

  • n:查找下一個匹配
  • N:查找上一個匹配
  • 2n:查找下麵第二個匹配

想馬上實操的同學,可以直接點開下麵的課程開始練習!《Vim編輯器》​

知乎專欄同步:https://zhuanlan.zhihu.com/p/89042423


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

-Advertisement-
Play Games
更多相關文章
  • 排序 堆排序 一:定義 作為選擇排序的改進版,堆排序可以把每一趟元素的比較結果保存下來,以便我們在選擇最小/大元素時對已經比較過的元素做出相應的調整。 二:堆排序演算法 作為選擇排序的改進版,堆排序可以把每一趟元素的比較結果保存下來,以便我們在選擇最小/大元素時對已經比較過的元素做出相應的調整。 堆排 ...
  • 本篇blog將講述sshd服務提供的兩種安全驗證的方法,並且通過這兩種方法進行兩台Linux虛擬機之間的遠程登陸。 準備工作: (1) 準備兩台安裝有Linux系統的虛擬機,虛擬機軟體採用VMware; (2) 將兩台虛擬機設置在同一網段下,互相之間可以ping通,可以採用nmtui命令進行設置; ...
  • 1、第一種情況 首先ifconfig,可以看到沒有正在工作的網卡,只有localhost 然後ifconfig -a,可以看到eth0這塊網卡並沒有離家出走,只是罷工了而已 接下來是關鍵步驟 起初是沒有最下麵兩行的,加上,格式是仿造倒數第三和第四這兩行來寫的 最後,在terminal里執行 重啟網路 ...
  • 在新買的聯想ideapad-330C筆記本上,安裝Ubuntu 18.04後,悲催的發現,沒有無線網路,幸好有線還能用,然後網上搜一波,發現不少人遇到這種問題,也有人給出解決方案 參考的鏈接: Thinkpad E470C(集成網卡rlt8111/8618/8411系列) 無線網卡rtl8821CE ...
  • 主要完成通過playbook自動生成zabbix_server,agent,這裡沒有完全實現自動化,這裡機器的獲取還是需要人為手工填寫,如果感興趣想通過自動獲取需要部署的機器可以通過namp掃描工具awk命令截取,這裡不過多描述。我用兩台機器做的測試,老版本的模塊用法會有差異,如果無法執行可以通過官 ...
  • [TOC] 通配符 grep 過濾 history 顯示前面敲的全部命令 \ (0~N個字元) 複製當前目錄下所有文件到/opt目錄 cp ./ /opt 複製當前目錄下所有文件和文件夾到/opt目錄 cp r ./ /opt 刪除/opt目錄下所有文件和文件夾 rm rf /opt/ ?(1個字元 ...
  • 鏈接:https://www.cnblogs.com/luoahong/articles/8781375.html 機器型號dmidecode | grep "Product Name" Linux版本信息 # 操作系統內核信息 uname -a # 操作系統版本信息 cat /proc/versi ...
  • Linux文件基本命令學習 操作技巧: 輸入文件/目錄/命令的前幾個字母之後,按下tab鍵,則自動補全 按上/下,回滾曾經用過的命令 不想執行命令使用:crtl + c 基礎命令: ls(查看) 基礎: * (.文件名) 以.開頭的文件為隱藏文件 ls -a 查看所有文件,包括隱藏文件 ls -l ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...