linux中vim使用技巧

来源:https://www.cnblogs.com/eternityz/archive/2020/02/27/12372782.html
-Advertisement-
Play Games

一.導入文件內容 :r 解釋 示例 :! 解釋 示例 :r !命令 解釋 示例 二.定義快捷鍵 定義添加行首添加註釋 的快捷建ctrl+p 定義刪除行首首個字元的快捷鍵ctrl+b 定義插入郵箱的快捷鍵ctrl+h 三.連續行註釋 將n1到n2行全部註釋掉 將n1到n2行行首的註釋全部去掉 將n1行 ...


一.導入文件內容

:r

解釋

導入文件

示例

編輯模式下
 
# 將/tmp/test.txt內容導入到游標所在的位置的下一行
:r /tmp/test.txt

:!

解釋

在編輯文件時,執行系統命令

示例

編輯模式下

# 查看ls命令的目錄
:!which ls

[No write since last change]
/usr/bin/ls

:r !命令

解釋

將命令的內容導入文件游標處

示例

# 將ls命令的位置導入到文件中游標的下一行
:r !which ls

二.定義快捷鍵

定義添加行首添加註釋#的快捷建ctrl+p

在命令模式下
:map ^P I#<ESC>
    ^P      ctrl+v+p或者ctrl+v再加上ctrl+p 輸入
    I       跳到行首,併進入插入模式
    <ESC>   退出編輯模式

定義刪除行首首個字元的快捷鍵ctrl+b

在命令模式下
:map ^B 0x
    ^B      ctrl+v+b或者ctrl+v再加上ctrl+b 輸入
    0       跳到行首
    x       刪除游標所在處的字元

定義插入郵箱的快捷鍵ctrl+h

在命令模式下
:map ^H [email protected]<ESC>

三.連續行註釋

將n1到n2行全部註釋掉

# 將n1行到n2行行首的空位置替換為#,也就是註釋了
:n1,n2s/^/#/g
    第一個/後面的^代表行首的空位置
    第二個/後面的#代表要替換為的#

將n1到n2行行首的註釋全部去掉

# 將n1行到n2行行首的#替換為空,也就是去掉了註釋
:n1,n2s/^#//g
    ^ 代表行首的
    第二個/後面時空的,代表把行首的#替換為空
    /g代表直接替換,不用確認

將n1行到n2行行首添加//

:n1,n2s/^/\/\//g
    第一個/^代表的時行首的空位置
    第二個/代表的是/後面的為要替換的內容
    \/\/代表的是//,其中\為轉義符
    /g代表直接替換,不用確認

四.替換符

給長字元[email protected]定義一個短的容易記憶的字元mmail

:ab mmail [email protected]

弊端: 重啟之後定義的就失效,所以最好保存起來

五.將vim的快捷方式等保存起來

保存位置

root用戶: /root/.vimrc
普通用戶(eternity): /home/eternity/.vimrc

配置文件內容

cd /root

vim .vimrc

# 內容
set nu
map ^P I#<ESC>
ab mmail [email protected]
    第一行  預設設置行號
    第二行  ctrl+p為游標的行首添加#並退出插入模式
    第三行  將mmail映射為[email protected],輸入mmail自動變為[email protected]

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、前言 這方面的資料很多,重覆的寫沒必要,但是最近一直在學習身份驗證和授權相關東東,為了成體系還是寫一篇,主要是從概念上理解identity系統。 參考:https://www.cnblogs.com/r01cn/p/5179506.html 二、概述 幾乎所有系統都包含用戶、角色、許可權、登錄、註 ...
  • 冒泡排序原理:(升序)通過當前位置數和後一個位置數進行比較 如果當前數比後一個數大 則交換位置, 完成後 比較基數的位置變成下一個數。直到數組末尾,當程式運行完第一遍 最大的數已經排序到最後一個位置了。次數可以減少迴圈數不用管最後一個數 降序排序同理 不過是把比較方式變成判斷當前數是否小於下一個數 ...
  • 原來的C 程式都有Main的,現在用vs新建一個Wpf項目,啟動似乎變成App.xmal,前期項目中為了獲取啟動參數,很是折騰了一番: 1.先是修改App.xaml,添加StartUp事件 2.然後編輯Application_Startup,判斷e.Args數組 總感覺跟又臭又長的裹腳布一樣,不爽。 ...
  • dotnetcore3.1 WPF 中使用依賴註入 Intro 在 ASP.NET Core 中預設就已經集成了依賴註入,最近把 "DbTool" 遷移到了 WPF dotnetcore 3.1, 在 WPF 中我們也希望能夠使用依賴註入,下麵來介紹一下如何在 WPF dotnetcore3.1 中 ...
  • 該方式是直接對屏幕進行截圖操作UserControl chartContainPanel = new UserControl();Graphics graph = chartContainPanel.CreateGraphics();Size s = chartContainPanel.Size;B... ...
  • 3.github與git同步 3.1 配置公私鑰 3.2 github上建立個人倉庫 3.3 本地倉庫同步到github 往遠端推送叫做 push 從遠端拉取叫做 fetch 需要先git pull命令拉取下來 瞭解更多技術文章,歡迎關註我的個人公眾號 ...
  • Ceph理論 1. Ceph 簡介 Ceph 是一個開源項目,它提供軟體定義的、統一的存儲解決方案 。Ceph 是一個具有高性能、高度可伸縮性、可大規模擴展並且無單點故障的分散式存儲系統 。 Ceph 是軟體定義存儲解決方案 Ceph 是統一存儲解決方案 Ceph 是雲存儲解決方案 Ceph 官方文 ...
  • 1. 安裝mysql yum install http://dev.mysql.com/get/mysql57 community release el7 9.noarch.rpm yum remove mariadb libs yum install mysql community server ...
一周排行
    -Advertisement-
    Play Games
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...