Linux-vi/vim

vi是一個文本編輯器,用于撰寫文檔或開發程序

vim是vi的增強版,功能一致,可視化效果更好一些,去鼠標化,編輯更加方便,可定制化

vim編輯器是一個模式化文本編輯工具

vim有三種模式

編輯模式、插入模式和末行模式

模式一:編輯模式

進入文檔默認的模式

作用:刪除、復制、剪切、粘貼、替換單個字符等等

復制內容

yy:單行復制

p:粘貼

#yy:多行復制(#代表數字)

剪切內容(刪除內容)

dd:單行剪切(刪除)

#dd:多行剪切(#代表數字)

d0:光標之前的一個字符到行首的內容

d$:光標到行尾的內容

dw:刪除光標所在位置的詞組

移動光標

h:左移光標

l:右移光標

j:下移光標

k:上移光標

H:移動到當前屏幕第一行,注意不是文檔的第一行

L:移動到當前屏幕的最后一行,注意不是文檔的最后一行

M:移動到當前屏幕的中間行

ctrl+f:下翻一頁

ctrl+b:上翻一頁

ctrl+d:上翻半頁

ctrl+u:下翻半頁

#G:數字+G,定位到文檔的指定行

gg:定位到文檔的最后一行

w:跳轉到最后一個詞組的詞首字母

b:向前跳轉一個單詞

x:刪除一個字符

u:撤銷上一步操作

查詢功能

輸入/ str :搜索功能(str表示一個單詞)

n:向下跳轉一個搜索關鍵詞

N:向上跳轉一個搜索關鍵詞

特殊模式:替換模式

進入方法:R

退出方法:esc

模式二:插入模式

插入模式左下角會出現INSERT單詞

作用:編輯文檔的內容

進入插入模式的方法

i:在光標前進行插入內容

a:表示在光標后進行插入內容

o:表示在光標當前行的下一行進行編輯

I:表示在行首進行插入內容

A:在行尾進行插入內容

O:在光標所在行的上一行插入新行進行插入內容

模式三:末行模式

用于執行一些命令與bash進行交互或執行一系列自動化指令

進入末行模式 :shift+:

保存:w

退出:q

保存退出:wq

強制保存退出:wq!

強制退出:q!

保存退出快捷方式:x? zz? shift+zz

命令執行:! command [option] 參數

讀取命令執行結果:r ! command [option] 參數

讀取其他文件的內容:r? /path/file

顯示行號:set nu

取消高亮:nohl

查找替換功能

指定范圍替換

1,3 s/bin/cin/g??????? 起始行,結束行? s/查找內容/替換內容/g????? g表示全部替換

全文替換

%? s/222/444/g??? %表示全文替換

特殊替換

%? s#222#444#g??? #作為替換命令格式分隔符

vi打看文件/創建文件

如果文件不存在,使用vim則先創建一個新文件

如果文件存在,則打開進入文件

同時打開多個文件?

水平方向打開文件

vim -o[#] file1 file2...

例:vim -o2 file1 file2

垂直方向打開文件

vim -O[#] file1 file2...

例:vim -O[#] file1 file2

切換編輯的文件:Ctrl+ww

vim的配置文件的使用

配置文件的位置

全局配置文件:/etc/vimrc

作用范圍是系統當中所有的用戶,一般情況不建議使用

用戶配置文件:當前用戶家目錄下.vimrc(建議使用的文件)

注意:用戶vim配置文件有可能不存在,需要手工創建

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

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

相關文章

使用PageHelper分頁插件,發現獲取到的total總記錄數量不對,無法獲取到正確的total數量

目錄 1.1、錯誤描述 1.2、解決方案 1.1、錯誤描述 周一在工作中,寫了一個列表分頁的接口,其中使用的是PageHelper分頁依賴,原本想著挺簡單的,也就是使用PageHelper.startPage(pageNum, pageSize);方法就可以了,代碼…

Linux下COOLFluiD源碼編譯安裝及使用

目錄 軟件介紹 基本依賴 其它可選依賴 一、源碼下載 二、解壓縮(通過Github下載zip壓縮包格式) 三、編譯安裝 3.1 依賴項-BOOST 3.2 依賴項-Parmetis 3.3 依賴項-PETSc 3.4 安裝COOLFluiD 四、算例運行 軟件介紹 COOLFluiD(面向對象…

學術共振 美妙發聲 | 2024美沃斯大會完美收官,米蘭柏羽傾力承辦

5月10日-5月12日,為期3天的第十七屆美沃斯醫療美容大會在杭州國際博覽中心盛大舉辦,作為行業頂級學術交流平臺,本屆美沃斯大會不僅是醫美行業的一次學術交流盛會,更是一次深度探討行業未來的遠眺之窗。 5月9日,即美沃…

golang中switch-case及select-cas

switch a{ case b: 執行內容b case c: 執行內容c } golang中case后自帶break跳出功能&#xff0c;既&#xff1a;滿足case b 執行內容b后自動跳出&#xff0c;不會去走case c select { case <- ch1: 執行內容b case -<ch2: 執行內容c default: fmt.Println("chan…

定時備份docker-MySQL中的所有數據庫

backup_mysql.sh #!/bin/bash# 設置備份存儲目錄 backup_dir"/docker/hunqingyun-docker/mysql/backup"# 設置 MySQL 容器名稱和備份文件名 mysql_container"ruoyi-mysql" backup_file"$backup_dir/$(date %Y%m%d%H%M%S).sql"# MySQL root 用戶…

vue-router路由,帶參數的動態路由匹配(2024-05-14)

需求 需要將給定匹配模式的路由映射到同一個組件。例如&#xff0c;我們可能有一個 User 組件&#xff0c;它應該對所有用戶進行渲染&#xff0c;但用戶 ID 不同。在 Vue Router 中&#xff0c;我們可以在路徑中使用一個動態字段來實現&#xff0c;我們稱之為 路徑參數 &#…

添磚Java之路(其五)——封裝,String,StringBuilder類。

封裝&#xff1a; 封裝意義&#xff1a;更好的維護數據&#xff0c;讓使用者無需關心如何使用&#xff0c;只需要知道怎么使用。 Java Bean&#xff1a; 然后我們要知道Java Bean(實體類)標準。 1.對于這個類的成員都需要設為私有&#xff0c;而且要對外提供相應Get,Set的接…

組合商標申請如何風控提高通過率!

最近一個老客戶找到普推知產老楊&#xff0c;說要申請注冊一個新的商標&#xff0c;是一個組合商標&#xff0c;有圖形&#xff0c;兩行文字&#xff0c;一行文字的拼音&#xff0c;還有三個字母的簡稱&#xff0c;組合商標在申請時會進行拆分審查&#xff0c;圖形、文字、拼音…

【C++初階】第十一站:list的介紹及使用

目錄 list的介紹及使用 1.list的含義 2.list的介紹 3.list的使用 1.list的構造 2.list iterator的使用 3.list capacity 4.list element access 5 list modifiers 尾插尾刪 和 頭插頭刪 insert 和 erase resize swap clear 6.list sort and reverse 7.list copy vector copy li…

Java身份證識別接口集成開發示例,身份證查詢接口

人類是有情感的&#xff0c;人們所接觸到的各種事物和信息都會被身體相應器官所接收&#xff0c;然后通過神經元傳入大腦繼而被識別&#xff0c;然后大腦便會產生對該事物的認知和情緒。人們大多喜歡熱情、有趣的事物&#xff0c;對冷冰冰、枯燥、無趣的APP基本是提不起興趣的。…

16.Set、泛型、枚舉、反射、Class

Set Set集合是Collection集合的子接口&#xff0c;元素不能重復&#xff0c;只能有一個null&#xff0c;元素存放無序。 常用子類 HashSet TreeSet LinkedHashSet HashSet 其實底層就是HashMap&#xff0c;當我們構造一個HashSet對象&#xff0c;就是在 new HashSet(); …

23. 合并 K 個升序鏈表 - 力扣(LeetCode)

基礎知識要求&#xff1a; Java&#xff1a;方法、while循環、for循環、PriorityQueue類、if判斷 Python&#xff1a; 方法、while循環、for循環、heapq 模塊、if判斷 數據結構:隊列 題目&#xff1a; 給你一個鏈表數組&#xff0c;每個鏈表都已經按升序排列。 請你將所有鏈…

11.php-fpm模板(監控頁面取值)

php-fpm模板(監控頁面取值) 開啟監控頁面配置 #修改php配置文件 vim /etc/php-fpm.d/www.conf pm.status_path /php_status#修改nginx配置文件,添加到nginx配置文件中 vim /etc/nginx/conf.d/default.conflocation /php_status {root html;fastcgi_pass 127.0.…

肥貓“也能變“型男“?揭秘福派斯牛肉高脂貓糧的神奇效果!

福貓養成指南&#xff1a;福派斯牛肉高脂貓糧的優點與考慮因素 福派斯牛肉高脂貓糧&#xff0c;這款富含蛋白質與脂肪的貓糧&#xff0c;仿佛是貓咪世界中的美味佳肴&#xff0c;讓無數貓咪為之傾倒。然而&#xff0c;這款貓糧的利與弊&#xff0c;你是否都了解呢&#xff1f;接…

AI模型部署實戰:利用OpenCV的CUDA模塊加速視覺模型部署流程

本文首發于公眾號【DeepDriving】&#xff0c;歡迎關注。 一. 前言 我在之前的文章《AI模型部署實戰&#xff1a;利用CV-CUDA加速視覺模型部署流程》中介紹了如何使用CV-CUDA庫來加速視覺模型部署的流程&#xff0c;但是CV-CUDA對系統版本和CUDA版本的要求比較高&#xff0c;在…

大模型介紹

大模型通常指的是參數量超過億級別&#xff0c;甚至千億級別的深度學習模型。這類模型能夠處理更加復雜的任務&#xff0c;并在各項基準測試中取得了優異的成績。大模型在自然語言處理、計算機視覺、推薦系統等領域都取得了顯著的成果。 大模型的主要優勢在于其強大的表征能力&…

k8s的核心組件etcd功能詳解【含etcd各類參數詳細說明】

etcd 是 Kubernetes 中的一個關鍵組件&#xff0c;用于存儲集群的配置信息、狀態和元數據。它通常作為 Kubernetes 集群的數據存儲后端&#xff0c;為其他組件提供可靠的分布式鍵值存儲服務。下面我會詳細介紹 etcd 的功能以及常見的參數&#xff0c;以及如何配置和使用 etcd。…

Linux實驗 Shell編程

實驗目的&#xff1a; 熟練掌握Shell程序的建立與執行&#xff1b;掌握Shell變量的兩種類型&#xff08;Shell環境變量和用戶自定義變量&#xff09;及其用法&#xff1b;掌握Shell中的特殊字符、算術與邏輯運算&#xff1b;掌握Shell中輸入輸出命令&#xff1b;掌握Shell程序…

在Windows環境下安裝CPU版的PyTorch

PytTorch是基于Python開發的&#xff0c;首先需要安裝Python&#xff0c;Python的安裝很簡單&#xff0c;這里不再贅述。而 Windows用戶能直接通過conda、pip和源碼編譯三種方式來安裝PyTorch。 打開PyTorch官網&#xff08;PyTorch&#xff09;&#xff0c;在主頁中根據自己的…

基于OpenCV年齡與性別識別系統

深入解析基于OpenCV年齡與性別識別系統 在這篇博客中&#xff0c;我們將詳細解析一個使用OpenCV進行年齡和性別識別的Python腳本。這個腳本展示了如何利用深度學習模型&#xff0c;從視頻或圖像中檢測人臉并預測每個人臉的年齡和性別。 1. 導入必要的模塊 import cv2 as cv …