Linux基礎開發工具—vim

目錄

1、vim的概念

2、vim的常見模式

2.1 演示切換vim模式

3、vim命令模式常用操作

3.1 移動光標

3.2 刪除文字

3.3 復制

3.4 替換

4、vim底行模式常用命令

4.1 查找字符

5、vim的配置文件


1、vim的概念

Vim全稱是Vi IMproved,即說明它是Vi編輯器的增強版。

Vim是一種多模式編輯器,不同模式下按鍵功能不同。

2、vim的常見模式

vim的常見模式有三種:命令模式、插入模式、底行模式。

命令模式(Normal mode)

vim打開文件時默認的模式,控制屏幕光標的移動,字符、字或行的刪除,移動復制某區段進入插入模式下,或者到底行模式。

插入模式(Insert mode)

只有在插入模式下,才可以做文字輸入,按「ESC」鍵可回到命令模式。該模式是我們后面使用得最頻繁的編輯模式。在命令模式下按i\o\a等即可進入插入模式。

底行模式(last line mode)

可以執行文件保存或退出,也可以進行文件替換,找字符串,列出行號等操作。 在命令模式下,按下shift+: 即可進入該模式,按「ESC」鍵可回到命令模式

三種模式的切換


2.1 演示切換vim模式

在bash中輸入vim+文件名就可以用vim打開文件,此時vim為默認的命令模式

這就是進入了vim且模式為命令模式

從命令模式進入插入模式,需要輸入i/o/a。

i\o\a的區別:

i進入后光標在位置不變,但推出后若在一行的首個字符,光標不變,不在就會到上一個字符的位置。

o進入后會光標在上一次的行換行到下一行,退出插入模式回到命令模式后,光標位置不變。

a進入后光標會轉移到上一個字符的下一個位置,退出插入模式回到命令模式后,光標會回到在插入模式所處字符的上一個字符位置。

在命令模式下按 : (冒號)即 【shift+;】,就可以進入底行模式


3、vim命令模式常用操作

3.1 移動光標

gg:光標定位到文件開頭。
shift + g(G):光標定位到文件結尾。
n + shift + g(nG):光標定位到文件第n行。
shift + 6(^):光標定位到行開始。
shift + 4($):光標定位到行結尾。
h、j、k、l:左、下、上、右移動。

3.2 刪除文字

x :每按一次,刪除光標所在位置的一個字符
n + x :例如,「6x」表示刪除光標所在位置的“后面(包含自己在內)"6個字符
X :大寫的X,每按一次,刪除光標所在位置的“前面”一個字符
n + X :例如,「20X」表示刪除光標所在位置的“前面”20個字符

以上都是在一行內的操作。是一行內的前后。
dd :刪除光標所在行
n + dd :從光標所在行開始刪除n行

3.3 復制

yw :將光標所在之處到字尾的字符復制到緩沖區。
n + yw :復制n個字到緩沖區。
yy :復制光標所在行到緩沖區。
n + yy :例如,「6yy」表示連續復制從光標所在的該行“往下數”6行文字到緩沖區。
p :將緩沖區內的字符粘貼到光標所在位置。

n + p?:?例如,「6p」表示連續粘貼從光標所在的該行“往下數”6行。

注意:所有與“y”有關的復制命令都必須與“p”配合才能完成復制與粘貼功能。

u :撤銷

ctrl + r :對撤銷撤銷

dd :剪切

n + dd :剪切n行

3.4 替換

r :替換光標所在的字符

n + r :替換光標所在的后n個字符

shift + r(R) :替換光標所到之處的字符,直到按下「ESC」鍵為止。

3.5 批量化注釋

批量化注釋

1、ctrl v(進入可視化模式)

2、h、j、k、l區域選擇,j

3、shift + i = I

4、//

5、ESC

批量化去注釋

1、ctrl v

2、h、j、k、l區域選擇

3、d


4、vim底行模式常用命令

列出行號:set nu

跳轉到文件中的某一行:n

保存文件:w

離開vim:q,如果無法離開,在 q 后面加 ! 強制離開vim,此時一般并沒有退出,按任意鍵又可以返回vim。

保存并退出:wq

分屏:vs 文件名

4.1 查找字符

/ + 關鍵字 :先按 / 鍵,再輸入想要查找的字符,如果第一次找的關鍵字不是想要的,可以一直按 n 會往后尋找到需要要的關鍵字為止。
? + 關鍵字 :先按 ? 鍵,再輸入想要查找的字符,如果第一次找的關鍵字不是想要的,可以一直按 n 會往前尋找到需要的關鍵字為止。


5、vim的配置文件

系統中公共的vim配置文件在/etc目錄下面,是一個叫vimrc的文件。配置這個文件對所有用戶都生效

每個用戶的家目錄下都有自己的配置文件.vimrc,如果沒有可以創建一個。配置這個文件只對該用戶有效。

對vim的配置就是對這個名為vimrc.vimrc的文件內容的修改。

對于vim的配置,大家可以按照vim的配置代碼進行一個一個地配置,也可以在網絡上尋找別人公開的vim配置文件進行使用,這里不再贅述。

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

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

相關文章

Skyvern AI 實現 瀏覽器爬蟲+自動化工具

一、前言 本文Skyvern是一款功能強大的模擬瀏覽器自動化操作爬蟲軟件。它通過模擬人類在瀏覽器中的操作,實現對目標網站的自動化訪問、數據抓取和處理。Skyvern支持多種編程語言,用戶可根據需求編寫腳本,實現高效的數據采集。同時&#xff0c…

Spring Boot + MyBatis + MySQL:快速搭建CRUD應用

一、引言 1. 項目背景與目標 在現代Web開發中,CRUD(創建、讀取、更新、刪除)操作是幾乎所有應用程序的核心功能。本項目旨在通過Spring Boot、MyBatis和MySQL技術棧,快速搭建一個高效、簡潔的CRUD應用。我們將從零開始&#xff…

【Academy】OAuth 2.0 身份驗證漏洞 ------ OAuth 2.0 authentication vulnerabilities

OAuth 2.0 身份驗證漏洞 ------ OAuth 2.0 authentication vulnerabilities 1. 什么是 OAuth?2. OAuth 2.0 是如何工作的?3. OAuth 授權類型3.1 OAuth 范圍3.2 授權代碼授權類型3.3 隱式授權類型 4. OAuth 身份驗證4.1 識別 OAuth 身份驗證4.2 偵察OAuth…

C#常用的循環語句

在C#中,循環是一種控制結構,用于重復執行一組語句直到滿足特定條件。C#提供了幾種循環結構,包括for循環、while循環、do-while循環和foreach循環。每種循環都有其特定的用途和場景。下面我將逐一介紹這些循環的用法。 一、C#循環類型 1. fo…

C語言(23)

字符串函數 11.strstr函數 1.1函數介紹: 頭文件:string.h char *strstr ( const char * str1,const char *str2); 作用:在一個字符串(str1)中尋找另外一個字符串(str2)是否出現過 如果找到…

Vue3實戰學習(Vue3的基礎語法學習與使用(超詳細))(3)

目錄 &#xff08;1&#xff09;Vue3工程環境準備、項目基礎腳手架搭建詳細教程。(博客鏈接) &#xff08;2&#xff09;Vue3的基礎語法學習與使用。 &#xff08;1&#xff09;"{{}}"綁定數據。 <1>ref()函數定義變量——綁定數據。 <2>reactive({...})…

vtkDepthSortPolyData 根據相機視圖方向對多邊形數據進行排序

1. 作用 在 3D 渲染中&#xff0c;透明對象的渲染順序非常重要。如果透明對象的渲染順序不正確&#xff0c;可能會導致錯誤的視覺效果&#xff08;例如&#xff0c;遠處的透明對象遮擋了近處的透明對象&#xff09;。vtkDepthSortPolyData 通過對多邊形數據進行深度排序&#…

【2025力扣打卡系列】0-1背包 完全背包

堅持按題型打卡&刷&梳理力扣算法題系列&#xff0c;語言為python3&#xff0c;Day5 0-1背包【目標和】 有n個物品&#xff0c;第i個物品的體積為w[i], 價值為v[i]。每個物品至多選一個&#xff0c;求體積和不超過capacity時的最大價值和常見變形 至多裝capacity&#x…

MyBatis-Plus 分頁查詢接口返回值問題剖析

在使用 MyBatis-Plus 進行分頁查詢時,很多開發者會遇到一個常見的問題:當分頁查詢接口返回值定義為 Page<T> 時,執行查詢會拋出異常;而將返回值修改為 IPage<T> 時,分頁查詢卻能正常工作。本文將從 MyBatis-Plus 的分頁機制入手,詳細分析這一問題的根源,并提…

《人月神話》:軟件工程的成本寓言與生存法則

1975年&#xff0c;Fred Brooks在《人月神話》中寫下那句振聾發聵的斷言——“向進度落后的項目增加人力&#xff0c;只會讓進度更加落后”——時&#xff0c;他或許未曾料到&#xff0c;這一觀點會在半個世紀后的人工智能與云原生時代&#xff0c;依然如達摩克利斯之劍般懸在每…

三維建模與視頻融合(3D-Video Integration)技術初探。

三維建模與視頻融合&#xff08;3D-Video Integration&#xff09;是一種將虛擬三維模型無縫嵌入實拍視頻場景的技術&#xff0c;廣泛應用于影視特效、增強現實&#xff08;AR&#xff09;、游戲開發、廣告制作 、視頻監控 等領域。 一、技術核心流程 三維建模與動畫 使用工具…

SpringMVC-全局異常處理

文章目錄 1. 全局異常處理2. 項目異常處理方案2.1 異常分類2.2 異常解決方案2.3 異常解決方案具體實現 1. 全局異常處理 問題&#xff1a;當我們在SpingMVC代碼中沒有對異常進行處理時&#xff0c;三層架構的默認處理異常方案是將異常拋給上級調用者。也就是說Mapper層報錯會將…

2025 cv2.imwrite存儲帶有中文路徑

一、前言 cv使用的更多一些&#xff0c;不過cv讀取和寫入帶有中文路徑的圖片會報錯有寫出亂碼。 以下代碼是從視頻中獲取第2幀保存在中文文件夾下的實例&#xff1a; cap cv2.VideoCapture("***.mp4")cap.set(cv2.CAP_PROP_POS_FRAMES, 2)ret, framecap.read()cv2…

在 CentOS 上,常用幾種方法來確保 Python 腳本在斷開終端后繼續運行

在 CentOS 上&#xff0c;你可以使用以下幾種方法來確保 Python 腳本在斷開終端后繼續運行&#xff1a; 1. 使用 nohup 命令 nohup 命令可以讓進程在終端關閉后繼續運行。 nohup python main.py > output.log 2>&1 &nohup&#xff1a;忽略掛斷信號&#xff0c…

blazemeter工具使用--用于自動生成jmeter腳本并進行性能測試

1、安裝blazemeter&#xff08;網上有很多詳情的教程&#xff09; 2、開始錄制&#xff1a;設置號你的文件名稱后開始錄制 3、錄制完成后保存為jmeter(jmx)文件 4、在jmeter中打開文件 5、添加一個后置處理器&#xff1a;查看結果樹&#xff0c;后運行看看能否成功&#xf…

6-langchang多模態輸入和自定義輸出

6-langchang多模態輸入和自定義輸出 多模態數據輸入urlbase64url list工具調用自定義輸出: JSON, XML, YAML如何解析 JSON 輸出json如何解析xmlYAML解析器多模態數據輸入 這里我們演示如何將多模態輸入直接傳遞給模型。我們目前期望所有輸入都以與OpenAI 期望的格式相同的格式…

【C#實現手寫Ollama服務交互,實現本地模型對話】

前言 C#手寫Ollama服務交互&#xff0c;實現本地模型對話 最近使用C#調用OllamaSharpe庫實現Ollama本地對話&#xff0c;然后思考著能否自己實現這個功能。經過一番查找&#xff0c;和查看OllamaSharpe源碼發現確實可以。其實就是開啟Ollama服務后&#xff0c;發送HTTP請求&a…

【C#學習筆記02】基本元素與數據類型

引言 深入了解C語言的基本元素、計算機存儲器結構、常量與變量的概念以及數據類型。這些內容是C語言編程的基礎&#xff0c;掌握它們對于編寫高效、可靠的嵌入式程序至關重要。 1.C語言的基本元素 ?編程語言的發展離不開自然語言&#xff0c;所以編程語言的語法和詞匯也是由…

ESP8266TCP客戶端(單連接TCP Client)

單連接TCP Client 電腦作為服務器&#xff0c;8266作為客戶端 1.配置WiFi模式 ATCWMODE3 //softAPstation mode 相應&#xff1a;ok 2.連接路由器 ATCWJAP“SSID”&#xff0c;“password” //SSID就是wifi的名字&#xff0c; password WIFI密碼 響應&#xff…

洛谷 P2234:[HNOI2002] 營業額統計 ← STL set

【題目來源】 https://www.luogu.com.cn/problem/P2234 【題目描述】 Tiger 最近被公司升任為營業部經理&#xff0c;他上任后接受公司交給的第一項任務便是統計并分析公司成立以來的營業情況。 Tiger 拿出了公司的賬本&#xff0c;賬本上記錄了公司成立以來每天的營業額。分析…