走入Linux的世界:編輯器Vim

嘿,各位技術潮人!好久不見甚是想念。生活就像一場奇妙冒險,而編程就是那把超酷的萬能鑰匙。此刻,陽光灑在鍵盤上,靈感在指尖跳躍,讓我們拋開一切束縛,給平淡日子加點料,注入滿滿的passion。準備好和我一起沖進代碼的奇幻宇宙了嗎?Let's go!

我的博客:yuanManGan

我的專欄:C++入門小館?C言雅韻集?數據結構漫游記? 閑言碎語小記坊?題山采玉?領略算法真諦?走進Linux的世界?進階數據結構

IDE集成開發環境

Linux下的開發工具是獨立的!

寫代碼 -- 編譯器vim

編譯代碼 -- gcc/g++

調試 -- gdb 、cgbd

構建工具 -- makefile 、make、cmake

git

vim:

vim下有很多模式,我們先來簡單的介紹3個模式吧!

三個模式之間的轉換:

我們用vim打開文件的時候默認是命令模式,那我們想寫入代碼就得進入插入模式,我們可以按i進入,插入insert。

這是我們剛進入vim編輯器的樣子,我們左下角什么都沒有。

當我們按i之后就成了下圖:?

注意左下角有INSERT就代表現在是插入模式,就可以隨意輸入咯。

那我想回到命令模式只需要按ESC這個鍵就可以了。

那我們想要退出應該怎么退出啊。

我們退出vim編譯器,一般需要進入底行模式,輸入shift + ;也就是:號就能進入底行模式,

此時按w表示保存,q表示退出。所以我們一般輸入wq進行退出編輯器。

三個模式的互相轉換如下圖:

命令模式:

如果我們想直接到文本的最后,有沒有快捷鍵呢?有的

shift + g 也就是 G?

光標就直接到最后一行了。

那回到第一行呢:

gg 按兩次g

那到指定行呢?

n + shift + g

比如輸入

20 G

那我想讓我的錨點指向這一行的最后呢?

shift + 4

開頭呢?

shift + 6

我們在vim編輯器下的移動可以通過鍵盤上的上下左右鍵,也可以使用hjkl分別代表

h :?左

j :下

k:上

l :? 右

為什么我們會存在這種方式呢?早期的計算機是沒有上下左右鍵的,再加上我們使用hjkl會比那種方法更快。

還要補充一下:

w按照單詞位單位向右移動

b按照單詞位單位向左移動

那我們怎樣進行復制操作呢?

yy進行復制,p進行粘貼。表示Ctrl c v了,注意不要亂按這兩個鍵哦。

我們依舊可以使用

n +yy表示復制多行

n +p 粘貼多行

有了復制粘貼就要有剪切dd

n + dd是一樣的道理

我們撤銷操作是u ctrl r是撤銷撤銷操作。

但我們退出vim之后再進來就不能撤銷剛剛寫過的了。

我們可以進行批量化注釋

我們按CTRL V會進入這個模式

在這個模式下

hjkl選擇區域

按shift?i 進入插入模式

按 // ESC

就完成了

那咋批量化去注釋呢?

一樣的先 ctrl v,選中區域按d就解決了?

?底行模式:

w!強制保存

q!強制退出

wq!強制保存退出

:/key進行搜索

按n跳下一個,N跳上一個

:!cmd 不退出vim直接對代碼進行編譯和運行

?:vs 可以分屏

我們在vs模式下 使用CTRL w w 可以讓光標在各個文件里面交換。

命令模式下 shift zz可以強制退出vim

shirt + r可以進入替換模式

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

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

相關文章

PyTorch中神經網絡的模型構建

要構建自定義模型,需完成兩個核心步驟:繼承 nn.Module 類;重載 __init__ 方法(初始化)和 forward 方法(前向計算) 神經網絡的構造 初始化方法(__init__) def __init__…

QML QtCharts坐標軸系統

QtCharts是Qt框架中強大的數據可視化模塊,它提供了豐富的圖表類型和靈活的坐標軸系統,能夠滿足各種數據展示需求。本文將全面介紹QML中QtCharts的坐標軸系統,包括數值坐標軸(ValueAxis)、對數坐標軸(LogValueAxis)、分類坐標軸(CategoryAxis)…

TI 2025全國電賽猜題

本科組可能的題目方向本科組器材更側重高頻信號處理、復雜控制系統、精密測量及多設備協同,可能涉及以下題目:四旋翼飛行器相關任務題目示例:設計 “基于四旋翼的 UV 光控自主導航系統”任務要求:利用四旋翼飛行器(最大…

Python自動化運維實戰指南

什么是自動化運維定義與背景自動化運維是指利用工具和腳本自動執行傳統上需要人工操作的IT運維任務,包括但不限于服務器配置管理、軟件部署、監控告警、日志分析等日常工作。隨著互聯網業務規模的擴大,傳統手工運維方式已無法滿足快速部署、規模化管理等…

k8s的csi對接GPFS

在 Kubernetes(k8s)集群中,通過 CSI(Container Storage Interface)對接 GPFS(General Parallel File System,現為 IBM Spectrum Scale)是實現高性能共享存儲的重要方案。GPFS 作為并…

HTB賽季8靶場 - era

nmap掃描 └─$ nmap -p- --min-rate 1000 -T4 10.129.137.201 -oA nmapfullscan Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-07-27 21:19 EDT Warning: 10.129.137.201 giving up on port because retransmission cap hit (6). …

Bug貓學習史#1:面向對象

在Java編程中,掌握幾個核心概念對深入學習至關重要:類屬性建議采用包裝類以提升靈活性;建造者模式中this關鍵字能有效簡化對象構建過程;static關鍵字涉及類的加載機制;接口默認使用public修飾符并支持默認方法實現&…

優測推出HarmonyOS全場景測試服務,解鎖分布式場景應用卓越品質!

隨著HarmonyOS NEXT“純血鴻蒙”的全面商用,生態正以前所未有的速度重構終端操作系統格局。對于APP廠商而言,應用測試需要從單一設備思維向場景化服務驗證轉變。優測云服務平臺正式推出 HarmonyOS全場景測試解決方案,針對鴻蒙系統提供功能測試…

二層環路與三層環路:原理、區別與解決方案全解析

網絡環路是網絡運維中最常見也最具破壞性的問題之一。本文將深入淺出地解析二層環路和三層環路的核心概念,通過對比分析幫助讀者全面理解這兩種環路的形成機制、危害表現及解決方案。一、環路問題概述 1.1 什么是網絡環路 網絡環路是指數據包在網絡中循環傳輸無法到…

Python爬蟲庫性能與選型實戰指南:從需求到落地的全鏈路解析

目錄 一、性能基準測試:用數據打破認知誤區 1. 靜態頁面采集:效率與資源的終極對決 2. 動態頁面渲染:速度與真實性的博弈 二、場景化選型矩陣:從需求到工具的精準映射 1. 小規模快速原型開發(≤1000頁)…

uni-app switch(開關選擇器) BUG

uni-app switch(開關選擇器) BUGBUG:uni-app中的switch的checked屬性并不能根據根據綁定的動態數據進行調整switch開關選擇器(BUG)switch開關選擇器(BUG) - 我的使用用途switch開關選擇器&#…

微服務架構中的資源調度與負載均衡實踐

更多云服務器知識,盡在hostol.com在今天這個快速發展的數字化時代,微服務架構已經成為了現代企業系統開發的主流。隨著技術的不斷進步,企業的業務需求也在不斷地變化,傳統的單體架構已經無法滿足日益復雜的應用需求。微服務架構&a…

Rust Web 全棧開發(十一):WebAssembly 嘗鮮

Rust Web 全棧開發(十一):WebAssembly 嘗鮮Rust Web 全棧開發(十一):WebAssembly 嘗鮮什么是 WebAssembly?安裝 wasm-pack 和 cargo-generate使用項目模板構建項目生成網頁安裝依賴項在 www 中使…

Thymeleaf實戰:SpringBoot用戶管理系統

Thymeleaf 示例代碼下面是完整代碼示例,幫助理解 Thymeleaf 語法和后端代碼的配合:1. 用戶實體類 (User.java)/*** 用戶實體類*/ public class User {private Long id; // 用戶IDprivate String name; // 用戶名private String email; /…

mysql查找數據庫表中某幾個連續的編號中中斷的編號

在MySQL中查找表中連續編號中斷的位置,可以通過以下幾種方法實現: 基于范圍的查詢方法 通過自連接查詢找出ID序列中的斷點,例如查找1-100范圍內缺失的ID: SELECT a.id + 1 AS start, MIN(b.id) - 1 AS end FROM

《劍指offer》-數據結構篇-樹

題目重建二叉樹樹的子結構二叉樹的鏡像從上往下打印二叉樹(層序遍歷)把二叉樹打印成多行按之字形順序打印二叉樹二叉搜索樹的第k個結點(中序遍歷)二叉搜索樹的后序遍歷序列(后序遍歷)二叉樹中和為某一值的路…

系統定時任務擴展開發指南

適用場景當系統內置定時任務類型無法滿足業務需求時,開發者可通過本教程快速掌握自定義定時任務的擴展方法。本指南以"定時檢測服務"為例,演示完整開發流程。我想添加一個定時任務 ,而這里沒有我需要的,我怎么來添加比如我想添加一個定時檢測用…

R語言簡介(附電子書資料)

概述 R語言是一種專為統計計算和數據分析設計的編程語言,自誕生以來,憑借其強大的統計分析能力和豐富的可視化功能,成為數據科學、統計學、機器學習等領域的重要工具。電子書資料:https://pan.quark.cn/s/23050825f2be 一、核心特…

關于前端的性能優化

性能優化主要涵蓋了以下四個方面: (tip:僅代表個人總結,如有不當,還希望看到的大佬多多指示) 減少網絡請求:合并文件、使用 CDN、啟用緩存。 優化資源加載:代碼分割、懶加載、圖片壓縮。 提升渲染性能:減少重繪回流、防抖節流、使用 Web Worker。 監控和迭代:定期使用工…

用 FFmpeg 把視頻輸出為圖片序列

用 FFmpeg 把視頻輸出為圖片序列 【推薦】輸出為PNG圖片序列(無損) mkdir "D:\Downloads\Recording" ffmpeg -i "C:\Users\33589\Videos\1.mp4" "D:\Downloads\Recording\Recording_%05d.png" 參數含義-i輸入視頻路徑&am…