Linux中vim的基本使用

目錄

  • vim中的三種模式以及基本操作
    • 命令模式(默認模式)
    • 插入模式
    • 底行模式
  • 命令模式下的命令
  • 底行模式下的命令

vim是Linux和Unix環境下最基本的文本編輯器,類似于windows上的記事本
vim和Visual studio相比,vim并不集成,vim只能用來寫代碼
VS把寫代碼,編代碼,運行,調試等功能集成在一起,所以VS才被成為集成開發環境IDE



vim中的三種模式以及基本操作

vim是多模式的,有最常用的三種模式:命令模式(默認模式),插入模式,底行模式

命令模式(默認模式)

當敲入指令vim xxx(xxx為一個普通文件名)后,就會進入vim的頁面

我們剛開始進入vim界面的模式就是命令模式,也叫默認模式
進來后是的這樣的:
在這里插入圖片描述

在命令模式中。我們敲擊鍵盤會發現vim中沒有顯示我們敲擊的內容,是因為在這個模式中,所有的輸入都被當作是命令,所以不會顯示我們輸入的內容

插入模式

如果想要進行文本編輯,就需要輸入i,進入插入模式
輸入i后,我們可以在下面看到顯示INSERT,此時,我們就進入插入模式了,可以輸入內容了
在這里插入圖片描述

從插入模式回到命令模式,需要按鍵盤上的Esc鍵,按Esc后,就可以發現下面的INSERT消失,就說明成功地返回到了命令模式

底行模式

那么假如我們編寫好了代碼,想要退出vim,需要進入底行模式才可以退出

在命令模式下,輸入:,進入底行模式
需要注意的是,只能從命令模式進入底行模式,從插入模式下是無法進入到底行模式下的,同樣,在底行模式下也無法進入插入模式

下面顯示:就說明進入了底行模式
在這里插入圖片描述

想要退出,只能在底行模式下輸入wq
w指的是保存
q指的是退出
wq指的是保存并退出
在底行模式下,單獨輸入wq都是可以的,表示只保存和只退出
在這里插入圖片描述

三種模式相互切換圖:
在這里插入圖片描述





命令模式下的命令

光標定位移動相關的命令:

gg,光標定位到最開始行
shift + g也就是G,光標定位到結尾行
n + shift +g光標定位到第n行
shift + $,光標定位到當前行的結尾
shift + ^,光標定位到當前行的開頭
b, 光標定位到上一個單詞的開頭
w,光標定位到下一個單詞的開頭
e,光標定位到下一個單詞的結尾
h j k l,光標 左 下 右 上移動

復制粘貼刪除相關

yy,復制當前行內容
nyy,復制從當前行開始n行的內容
p,粘貼到光標所在行的下一行
np,粘貼n行
dd,剪切當前行內容,也可以當作是刪除當前行(只要不再重新粘貼就可以)
ndd,剪切n行內容
(n)x,對光標之后的n個字符進行刪除

撤銷

u,撤銷
ctrl + r,取消撤銷

大小寫轉換

shift + ~,大小寫轉換

替換

(n)r,對光標后的字符進行批量替換
例如:10 r y就是將后面10個字符替換成y
·shift +r`,替換模式,對內容進行替換,在我們輸入內容的同時,替換光標后的內容(這也是第4種模式——替換模式)




底行模式下的命令


w,保存
q,退出
wq,保存并退出
w!,強制保存
q!,強制退出
set nu,調出行號
set nonu,去掉行號


前面我們提到的命令,都是在單文件中的操作
linux下也可以進行多文件編寫
在底行模式下,輸入vx +其他文件名
在這里插入圖片描述
在這里插入圖片描述
光標在哪個窗口,就在哪個窗口進行操作
在命令模式下,輸入ctrl +w+w進行窗口的切換


在底行模式下,可以不用退出就可以執行命令

比如,我們已經編寫好了一段c語言代碼在test.c文件中
在底行模式下,執行編譯命令
在這里插入圖片描述
退出vim后,用ls查看,可以看到的確生成了test.out這個可執行文件
在這里插入圖片描述


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

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

相關文章

Nginx限制IP訪問詳解

在Web服務器管理中,限制某些IP地址訪問網站是一個常見的需求。Nginx作為一款高性能的HTTP服務器和反向代理服務器,提供了靈活強大的配置選項來實現這一功能。本文將詳細講解如何在Nginx中限制IP訪問,并通過示例代碼展示具體操作。 一、Nginx…

使用 Python 簡單幾步去除 PDF 水印

推薦一個AI網站,免費使用豆包AI模型,快去白嫖👉海鯨AI 在處理 PDF 文件時,水印有時會影響文件的可讀性或美觀性。幸運的是,Python 提供了多種庫來操作 PDF 文件,其中 PyMuPDF(又名 fitz&#xf…

2024年5月24日 十二生肖 今日運勢

小運播報:2024年5月24日,星期五,農歷四月十七 (甲辰年己巳月戊子日),法定工作日。 紅榜生肖:龍、牛、猴 需要注意:兔、羊、馬 喜神方位:東南方 財神方位:…

深度學習之基于Matlab的BP神經網絡交通標志識別

歡迎大家點贊、收藏、關注、評論啦 ,由于篇幅有限,只展示了部分核心代碼。 文章目錄 一項目簡介 二、功能三、系統四. 總結 一項目簡介 一、項目背景與意義 隨著智能交通系統(ITS)的快速發展,交通標志識別&#xff0…

BUUCTF---misc---[MRCTF2020]ezmisc

1、附件下載后是一張圖片 2、查看屬性,winhex分析,沒發現什么 3、在kali中binwalk和foremost也沒找到什么信息 4、用stegsolve分析也沒發現什么 5、這里幾乎常見的misc方法都試過了,還是沒有發現什么 6、回歸到圖片本身,想到的…

Nginx性能調優:深入剖析配置與調優技巧

一、引言 Nginx作為一款高性能的HTTP和反向代理服務器,已經被廣泛應用于各種Web服務中。然而,要想充分發揮Nginx的性能優勢,僅僅安裝和配置默認設置是遠遠不夠的。本文將深入剖析Nginx的配置與調優技巧,幫助讀者打造更加高效、穩…

基于51單片機智能大棚澆花花盆澆水灌溉補光散熱設計

一.硬件方案 本設計通過光敏電阻檢測光照強度,然后A/D模塊PCF8591處理后,將光照強度值實時顯示在液晶上,并且可以按鍵控制光照的強度值,當光照低于設定的閾值,1顆白色高亮LED燈亮進行補光,光照高于設定的閾…

第六節 自動裝配源碼理解

tips:不同版本代碼實現有差異。 前面兩章了解的流程,就是 SpringBoot 自動轉配的核心。 一、自動裝配 1.1 什么是 SpringBoot 自動裝配? 自動裝配是 Spring 框架用來減少配置的顯式需求而引入的一個特性,該特性通過 Autowired或者Resource…

Redis數據庫知識點

Redis set get del keys redis中有哪些數據類型 string 最大512m key層級 redis的key允許有多個單詞形成層級結構,多個單詞之間用‘:’隔開 set get del keys hash 本身在redis中存儲方式就為key-value, 而hash數據結構中value又是一對key-value hset key …

【easyx】快速入門——彈球小游戲(第一代)

目錄 1.需求 2.運動的小球 3.碰到邊緣反彈 4.圓周撞擊或越過邊界反彈 5.繪制和移動擋板 6.小球碰到擋板反彈 7.游戲失敗時該如何處理 8.隨機初始條件 9.完整代碼 我們這一節將結合動畫和鍵盤交互的知識來做一個小游戲 1.需求 我們先看需求:小球在窗體內運動,撞到除…

從入門到精通:詳解Linux環境基礎開發工具的使用

前言 在這篇文章中,我將深入學習和理解Linux環境基礎開發工具的使用。無論你是初學者還是有一定經驗的開發者,相信這篇文章都會對你有所幫助。我們將詳細講解軟件包管理器、編輯器、編譯器、調試器、自動化構建工具以及版本控制工具的使用。 Linux軟件…

后端數據庫開發JDBC編程Mybatis之用基于XML文件的方式映射SQL語句實操

之前的SQL語句是基于注解 以后開發中一般是一個接口對應一個映射文件 書寫映射文件 基本結構 框架 <?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""https://mybatis.or…

盡在掌握:Android 13 通知新功能詳解

盡在掌握&#xff1a;Android 13 通知新功能詳解 在移動應用開發中&#xff0c;通知扮演著至關重要的角色&#xff0c;它如同應用程序與用戶之間的橋梁&#xff0c;及時傳遞關鍵信息&#xff0c;提升用戶體驗。Android 13 作為最新的安卓版本&#xff0c;在通知方面帶來了諸多…

Rom應用開發遇到得一些小bug

記錄一些細碎得bug ROM時間類問題 問題描述&#xff1a; 設備拔電重啟&#xff0c;ROM時間為默認時間如1970年1月1日&#xff0c;與某些業務場景互斥 問題原因&#xff1a; 后臺接口校驗https證書校驗失敗&#xff0c;要求是2年內得請求頭校驗了時間戳&#xff0c;時間戳過期…

QLExpress入門及實戰總結

文章目錄 1.背景2.簡介3.QLExpress實戰3.1 基礎例子3.2 低代碼實戰3.2.1 需求描述3.2.1 使用規則引擎3.3.2 運行結果 參考文檔 1.背景 最近研究低代碼實現后端業務邏輯相關功能&#xff0c;使用LiteFlow作為流程編排后端service服務, 但是LiteFlow官方未提供圖形界面編排流程。…

使用RAG和文本轉語音功能,我構建了一個 QA 問答機器人

節前&#xff0c;我們星球組織了一場算法崗技術&面試討論會&#xff0c;邀請了一些互聯網大廠朋友、參加社招和校招面試的同學. 針對算法崗技術趨勢、大模型落地項目經驗分享、新手如何入門算法崗、該如何準備、面試常考點分享等熱門話題進行了深入的討論。 匯總合集&…

代碼隨想錄算法訓練營第36期DAY37

DAY37 先二刷昨天的3道題目&#xff0c;每種方法都寫&#xff1a;是否已完成&#xff1a;是。 報告&#xff1a;134加油站的樸素法沒寫對。原因是&#xff1a;在if中缺少了store>0的判斷&#xff0c;只給出了indexi的判斷。前進法沒寫出來。因為忘記了總油量的判斷。Sum。…

基于springboot圖書個性化推薦系統源碼數據庫

基于springboot圖書個性化推薦系統源碼數據庫 本論文主要論述了如何使用JAVA語言開發一個圖書個性化推薦系統&#xff0c;本系統將嚴格按照軟件開發流程進行各個階段的工作&#xff0c;采用B/S架構&#xff0c;面向對象編程思想進行項目開發。在引言中&#xff0c;作者將論述圖…

K8s 運維架構師實戰課程

阿良課程收益 掌握Kubernetes企業運維管理 掌握部署、運維、存儲、網絡、監控、日志、CICD、服務網格等實戰全面搞定&#xff01; 獨立將公司任何項目容器化遷移到K8s平臺 生產環境真實案例 大廠企業實戰經驗 學習最新版、最佳實踐 K8s 運維架構師實戰【初中級】&#xff1a;ht…

docker 方式gost代理搭建以及代理鏈實施

一、項目地址&#xff1a;https://github.com/ginuerzh/gost 二、實施 環境信息 主機名公網IP地址內網IP地址角色beijing101.200.xxx.xxx192.168.0.160單層代理serverbeijing101.200.xxx.xxx192.168.0.160鏈式代理下游serverhk47.238.xxx.xxx172.31.94.207鏈式代理上游serve…