linux之vim

一、模式轉換命令

vim主要有三種模式:命令模式(Normal Mode)、輸入模式(Insert Mode)和底線命令模式(Command-Line Mode)。

從命令模式切換到輸入模式:i:在當前光標所在位置開始輸入文本。a:在當前光標所在位置的下一個字符開始輸入文本。o:在當前光標所在行的下方插入一個新行,并進入插入模式。O:在當前光標所在行的上方插入一個新行,并進入插入模式。I:在當前光標所在行的行首開始輸入文本。A:在當前光標所在行的行尾開始輸入文本。從輸入模式切換回命令模式:按下Esc鍵。從命令模式切換到底線命令模式:在命令模式下按下冒號(:)。

二、光標移動命令

字符間跳轉:h:將光標向左移動一個字符。j:將光標向下移動一行。k:將光標向上移動一行。l:將光標向右移動一個字符。單詞間跳轉:w:移動到下一個單詞的開頭。e:移動到當前單詞或下一個單詞的末尾。b:移動到當前單詞或上一個單詞的開頭。行首行尾跳轉:^:跳轉到當前行的第一個非空白字符。0:跳轉到當前行的開頭(包括空白字符)。$:跳轉到當前行的末尾。行間移動:G:將光標移動到文件的末尾。gg:將光標移動到文件的開頭。{行數}G:將光標移動到指定行(例如10G移動到第10行)。

三、編輯命令

刪除命令:x:刪除當前光標所在處的字符。dd:刪除當前行(剪切當前行)。d$:刪除從光標當前位置到行尾的內容。d^:刪除從光標當前位置到行首的內容(不包括空白字符)。d0:刪除從光標當前位置到行首的內容(包括空白字符)。復制命令:yy:復制當前行。p:粘貼剪貼板內容到光標下方。P:粘貼剪貼板內容到光標上方。修改命令(進入輸入模式并替換指定內容):c$:從光標當前位置到行尾的內容被刪除,并進入輸入模式。c^:從光標當前位置到行首的內容(不包括空白字符)被刪除,并進入輸入模式。c0:從光標當前位置到行首的內容(包括空白字符)被刪除,并進入輸入模式。cw:刪除當前單詞并進入輸入模式。ce:刪除從光標當前位置到當前單詞末尾的內容,并進入輸入模式。cb:刪除從光標當前位置到上一個單詞開頭的內容,并進入輸入模式。cc:刪除整行并進入輸入模式。撤銷和重做:u:撤銷上一次操作。Ctrl+r:重做上一個被撤銷的操作。

四、底線命令模式命令

在底線命令模式下,可以輸入一些特定的命令來執行文件操作、搜索替換等。

文件操作::w:保存文件。:q:退出vim。:wq:保存文件并退出vim。:q!:不保存并強制退出vim。搜索替換:/pattern:從當前光標所在處向文件尾部查找指定的模式(pattern)。?pattern:從當前光標所在處向文件首部查找指定的模式(pattern)。n:查找下一個匹配項。N:查找上一個匹配項。:%s/old/new/g:在整個文件中將old替換為new(全局替換)。其他命令::set nu:顯示行號。:set nonu:隱藏行號。:noh:取消搜索后的高亮顯示。

五、可視模式命令

可視模式用于選擇文本并進行批量操作。

進入可視模式:v:按字符選定。V:按行選定。Ctrl+v:進入可視塊模式。操作選定文本:y:復制選定的文本塊到緩沖區。d:剪切選定的文本塊到緩沖區。

六、其他常用命令

重復上一個命令:.翻屏操作:Ctrl+f:向文件尾部翻一屏。Ctrl+b:向文件首部翻一屏。Ctrl+d:向文件尾部翻半屏。Ctrl+u:向文件首部翻半屏。多文件操作:在vim后同時輸入多個文件名,例如vim file1 file2,可以在vim中同時打開多個文件。:next或:n:打開下一個文件。:prev:打開上一個文件。:ls:列出打開的文件。:buffer N:切換到第N個文件。窗口分割:Ctrl+w, s或:split:水平分割窗口。Ctrl+w, v或:vsplit:垂直分割窗口。Ctrl+w, w:切換到下一個窗口。Ctrl+w, j或Ctrl+w, k:在水平分割的窗口中切換。Ctrl+w, h或Ctrl+w, l:在垂直分割的窗口中切換。定制vim的工作特性:可以通過修改配置文件(如全局的/etc/vimrc或個人的~/.vimrc)來永久定制vim的工作特性。在vim中,也可以使用:set命令來臨時修改一些設置,例如:set ai啟用自動縮進,:set noai禁用自動縮進。

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

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

相關文章

顯存和GPU之間的通信;GPUDirect P2P,NVLink,NCCL;聚合通信和點對點通信

目錄 顯存和GPU之間的分配 顯存和GPU之間的通信 原語是什么,簡單舉例說明 GPUDirect P2P,NVLink,NCCL的全稱及解釋 聚合通信和點對點通信 聚合通信(Collective Communication) 點對點通信(Point-to-Point Communication) 為什么使用GPUDirect P2P,NVLink,NCCL…

Mysql 的 B+ 樹是否包含行數據?

在 MySQL 中,是否在 B樹 的葉子節點上存儲完整的行數據,取決于使用的 存儲引擎 和 索引類型: 聚簇索引 (Clustered Index) 葉子節點包含完整的行數據。 適用場景:MySQL InnoDB 存儲引擎的主鍵索引(或聚簇索引&#xf…

【記錄】用JUnit 4的@Test注解時報錯java.lang.NullPointerException的原因與解決方法

項目場景: 在練習黑馬點評的邏輯過期解決緩存擊穿時,編寫了一個預熱緩存數據的單元測試 SpringBootTest public class HmDianPingApplicationTests {Resourceprivate ShopServiceImpl shopService;Testpublic void testSaveShop() throws InterruptedE…

echarts使用整理

4、條形分區統計 <div ref"chartsVal1" class"chartsline-div"></div> const chartsVal1 ref(null); const chartsVal1Title ref(運行時間統計);drewCharts2(chartsVal1, chartsVal1Title.value);function drewCharts2(id, title) {const m…

【八股】HTTP

瀏覽器輸入URL之后發生的過程 瀏覽器解析URL中的協議&#xff0c;主機&#xff0c;端口&#xff0c;路徑參數等DNS域名解析得到對應的IP地址通過IP和PORT對服務器發送TCP三次握手建立連接瀏覽器發送請求服務器接受請求&#xff0c;處理并響應瀏覽器得到HTTP響應&#xff0c;對…

torch.optim.lr_scheduler.ReduceLROnPlateau

torch.optim.lr_scheduler.ReduceLROnPlateau 是 PyTorch 中的一種學習率調度器&#xff0c;主要用于在模型訓練過程中根據某些指標&#xff08;如驗證損失&#xff09;動態調整學習率。它是一種基于性能指標動態調整學習率的策略&#xff0c;而不是預定義的固定時間調整。 主要…

ubuntu下的chattts 學習6:音色固定的學習

魔搭社區 該區提供了隨機種子級音樂的試聽與下載。 spk torch.load(<PT-FILE-PATH>) params_infer_code {spk_emb: spk, } 略 測試過程&#xff1a; 1.先建一個文件夾&#xff1a;然后從上面的網站上下載了兩個。放在里面測試 2 2.測試代碼 import ChatTTS impo…

數據集的重要性:如何構建AIGC訓練集

文章目錄 一、為什么數據集對AIGC如此重要&#xff1f;1. 數據決定模型的知識邊界2. 數據質量直接影響生成效果3. 數據集多樣性提升模型魯棒性 二、構建AIGC訓練集的關鍵步驟1. 明確目標任務和生成需求2. 數據源的選擇3. 數據清洗與預處理4. 數據標注5. 數據增強 三、針對不同類…

47 基于單片機的書庫環境監測

目錄 一、主要功能 二、硬件資源 三、程序編程 四、實現現象 一、主要功能 基于51單片機&#xff0c;采用DHT11濕度傳感器檢測濕度&#xff0c;DS18B20溫度傳感器檢測溫度&#xff0c; 采用滑動變阻器連接數模轉換器模擬二氧化碳和氧氣濃度檢測&#xff0c;各項數值通過lc…

【操作系統】每日 3 題(五十五)

?個人博客&#xff1a;https://blog.csdn.net/Newin2020?typeblog &#x1f4e3;專欄地址&#xff1a;https://blog.csdn.net/newin2020/category_12820365.html &#x1f4da;專欄簡介&#xff1a;在這個專欄中&#xff0c;我將會分享操作系統面試中常見的面試題給大家~ ??…

服務器加固

1.服務器密碼復雜度 密碼最小長度&#xff0c;密碼復雜度策略 vim /etc/pam.d/system-auth --------------- #密碼配置 #ucredit&#xff1a;大寫字母個數&#xff1b;lcredit&#xff1a;小寫字母個數&#xff1b;dcredit&#xff1a;數字個數&#xff1b;ocredit&#xff1a;…

spring boot 同一個redis 操作不同的庫

1.下面是在Spring Boot中配置多個Redis數據庫的幾種方式&#xff1a; 1.1 配置如下# application.yml spring:redis:host: localhostport: 6379password: your_password# 連接池配置lettuce:pool:max-active: 8max-idle: 8min-idle: 0max-wait: -1mstimeout: 5000ms# 多個數據…

C語言面試題/筆試題/高頻面試題_2

9. 全局變量和局部變量的區別 定義&#xff1a;全局變量是定義在函數外部的變量&#xff0c;局部變量是定義在 函數內部的變量 存儲位置&#xff1a;全局變量存儲在全局區&#xff0c;局部變量存儲在棧區 作用域&#xff1a;全局變量可以在程序任意位置使用&#xff0c;局部變量…

Brain.js(八):RNNTimeStep 實戰教程 - 股票價格預測 - 實操需警慎

前置聲明&#xff0c;個人淺度炒股&#xff0c;但計劃將基金轉入股市。然后 股市有風險&#xff0c;不是技術可以完全預測的&#xff0c;但是在無頭緒的時候&#xff0c;用技術指標做個參考也不錯。 本文涉及到的股票預測&#xff0c;只是代碼簡單示例&#xff0c;實操需警慎&a…

MySQL | 尚硅谷 | 第13章_約束

MySQL筆記&#xff1a;第13章_約束 文章目錄 MySQL筆記&#xff1a;第13章_約束第13章_約束 1. 約束(constraint)概述1.1 為什么需要約束1.2 什么是約束1.3 約束的分類演示代碼 2. 非空約束2.1 作用2.2 關鍵字2.3 特點2.4 添加非空約束2.5 刪除非空約束演示代碼 3. 唯一性約束3…

《計算機網絡》(408大題)

2009 路由轉發和靜態路由的計算 子網劃分、路由聚合的計算 注&#xff1a;CIDR中的子網號可以全為0或1&#xff0c;但是其主機號不允許。 注&#xff1a; 這里其實是把到互聯網的路由當做了一個默認路由&#xff08;當一個目的網絡地址與路由表中其他都不匹配時&#xff0c;…

NanoLog起步筆記-6-StaticLogInfo

nonolog起步筆記-6-StaticLogInfo StaticLogInfo文件名和行號文件名和行號的傳入log參數 RuntimeLogger::registerInvocationSitelogid為什么只能被賦一次值 reserveAlloc加入消息頭finishAlloc返回 StaticLogInfo 寫C語言編譯前端時&#xff0c;給我印象深刻的一部分是&#…

軟件工程 概述

軟件 不僅僅是一個程序代碼。程序是一個可執行的代碼&#xff0c;它提供了一些計算的目的。 軟件被認為是集合可執行的程序代碼&#xff0c;相關庫和文檔的軟件。當滿足一個特定的要求&#xff0c;就被稱為軟件產品。 工程 是所有有關開發的產品&#xff0c;使用良好定義的&…

Sui 集成 Phantom,生態迎來全新里程碑

作為領先的非托管多鏈加密&#x1f45b;&#xff0c;Phantom 宣布將支持 Sui 區塊鏈。Sui 將加入 Solana、Bitcoin 和 Ethereum 隊伍&#xff0c;成為該 wallet 支持的少數 L1 區塊鏈之一。 此次集成也大幅提升了 Phantom 的互操作性&#xff0c;同時表明 wallet 提供商和應用…

目標跟蹤領域經典論文解析

親愛的小伙伴們&#x1f618;&#xff0c;在求知的漫漫旅途中&#xff0c;若你對深度學習的奧秘、JAVA 、PYTHON與SAP 的奇妙世界&#xff0c;亦或是讀研論文的撰寫攻略有所探尋&#x1f9d0;&#xff0c;那不妨給我一個小小的關注吧&#x1f970;。我會精心籌備&#xff0c;在…