vim快捷鍵整理大全

来源:http://www.cnblogs.com/houzhanzhan/archive/2017/08/22/7413767.html
-Advertisement-
Play Games

前言:在Linux下學習了很久,可是操作卻還是小學生一樣,唉,於是把整理的linux下vim的命令分享給大家,有了這些快捷鍵相信相信大家在linux下學習都會得心應手的。 一、移動游標 1、左移h、右移l、下移j、上移k 2、向下翻頁ctrl + f,向上翻頁ctrl + b 3、向下翻半頁ctrl ...


前言:在Linux下學習了很久,可是操作卻還是小學生一樣,唉,於是把整理的linux下vim的命令分享給大家,有了這些快捷鍵相信相信大家在linux下學習都會得心應手的。

一、移動游標
1、左移h、右移l、下移j、上移k
2、向下翻頁ctrl + f,向上翻頁ctrl + b
3、向下翻半頁ctrl + d,向上翻半頁ctrl + u
4、移動到行尾$,移動到行首0(數字),移動到行首第一個字元處^
5、移動游標到下一個句子 ),移動游標到上一個句子(
6、移動到段首{,移動到段尾}
7、移動到下一個詞w,移動到上一個詞b
8、移動到文檔開始gg,移動到文檔結束G
9、移動到匹配的{}.().[]處%
10、跳到第n行 ngg 或 nG 或 :n
11、移動游標到屏幕頂端H,移動到屏幕中間M,移動到底部L
12、讀取當前字元,並移動到本屏幕內下一次出現的地方 *
13、讀取當前字元,並移動到本屏幕內上一次出現的地方 #

二、查找替換
1、游標向後查找關鍵字 #或者g#
2、游標向前查找關鍵字 或者g
3、當前行查找字元 fx, Fx, tx, Tx
4、基本替換 :s/s1/s2 (將下一個s1替換為s2)
5、全部替換 :%s/s1/s2
6、只替換當前行 :s/s1/s2/g
7、替換某些行 :n1,n2 s/s1/s2/g
8、搜索模式為 /string,搜索下一處為n,搜索上一處為N
9、制定書簽 mx, 但是看不到書簽標記,而且只能用小寫字母
10、移動到某標簽處 x,1旁邊的鍵
11、移動到上次編輯文件的位置
.

PS:.代表一個任意字元 *代表一個或多個字元的重覆
正則表達式的內容將會在後續文章中整理

三、編輯操作
1、游標後插入a, 行尾插入A
2、後插一行插入o,前插一行插入O
3、刪除字元插入s, 刪除正行插入S
4、游標前插入i,行首插入I
5、刪除一行dd,刪除後進入插入模式cc或者S
6、刪除一個單詞dw,刪除一個單詞進入插入模式cw
7、刪除一個字元x或者dl,刪除一個字元進入插入模式s或者cl
8、粘貼p,交換兩個字元xp,交換兩行ddp
9、複製y,複製一行yy
10、撤銷u,重做ctrl + r,重覆.
11、智能提示 ctrl + n 或者 ctrl + p
12、刪除motion跨過的字元,刪除併進入插入模式 c{motion}
13、刪除到下一個字元跨過的字元,刪除併進入插入模式,不包括x字元 ctx
14、刪除當前字元到下一個字元處的所有字元,併進入插入模式,包括x字元,cfx
15、刪除motion跨過的字元,刪除但不進入插入模式 d{motion}
16、刪除motion跨過的字元,刪除但不進入插入模式,不包括x字元 dtx
17、刪除當前字元到下一個字元處的所有字元,包括x字元 dfx
18、如果只是複製的情況時,將12-17條中的c或d改為y
19、刪除到行尾可以使用D或C
20、拷貝當前行 yy或者Y
21、刪除當前字元 x
22、粘貼 p
23、可以使用多重剪切板,查看狀態使用:reg,使用剪切板使用”,例如複製到w寄存器,”wyy,或者使用可視模式v”wy
24、重覆執行上一個作用使用.
25、使用數字可以跨過n個區域,如y3x,會拷貝游標到第三個x之間的區域,3j向下移動3行
26、在編寫代碼的時候可以使用]p粘貼,這樣可以自動進行代碼縮進
27、 >> 縮進所有選擇的代碼
28、 << 反縮進所有選擇的代碼
29、gd 移動到游標所處的函數或變數的定義處
30、K 在man里搜索游標所在的詞
31、合併兩行 J
32、若不想保存文件,而重新打開 :e!
33、若想打開新文件 :e filename,然後使用ctrl + ^進行文件切換

四、視窗操作
1、分隔一個視窗:split或者:vsplit
2、創建一個視窗:new或者:vnew
3、在新視窗打開文件:sf {filename}
4、關閉當前視窗:close
5、僅保留當前視窗:only
6、到左邊視窗 ctrl + w, h
7、到右邊視窗 ctrl + w, l
8、到上邊視窗 ctrl + w, k
9、到下邊視窗 ctrl + w, j
10、到頂部視窗 ctrl + w, t
11、到底部視窗 ctrl + w, b

五、巨集操作

1、開始記錄巨集操作q[a-z],按q結束,保存操作到寄存器[a-z]中
2、@[a-z]執行寄存器[a-z]中的操作
3、@@執行最近一次記錄的巨集操作

六、可視操作

1、進入塊可視模式 ctrl + v
2、進入字元可視模式 v
3、進入行可視模式 V
4、刪除選定的塊 d
5、刪除選定的塊然後進入插入模式 c
6、在選中的塊同是插入相同的字元 IESC

七、調到聲明

1、[[ 向前跳到頂格第一個{
2、[] 向前跳到頂格第一個}
3、]] 向後跳到頂格的第一個{
4、]] 向後跳到頂格的第一個}
5、[{ 跳到本代碼塊的開頭
6、]} 跳到本代碼塊的結尾

八、掛起操作

1、掛起Vim ctrl + z 或者 :suspend
2、查看任務 在shell中輸入 jobs
3、恢復任務 fg [job number](將後臺程式放到前臺)或者 bg [job number](將前臺程式放到後臺)
4、執行shell命令 :!command
5、開啟shell命令 :shell,退出該shell exit
6、保存vim狀態 :mksession name.vim
7、恢復vim狀態 :source name.vim
8、啟動vim時恢復狀態 vim -S name.vim


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

-Advertisement-
Play Games
更多相關文章
  • 最近根據項目需要寫了一段power shell的代碼 ,主要功能是批量重啟IIS 具體的 Power shell 服務如下: write-output 'Restarting IIS servers ................ ' $servers= 'server1' ,'Server2' ...
  • 為什麼這樣的 JSON會解析失敗? 為什麼界面上韓文顯示亂碼? ASCII和ANSI有什麼區別? 帶著這些問題查看了網上的很多資料,整理出了下麵的文章。本文只是從程式員的角度說一說自己對字元編碼的理解,所以有點地方淺嘗輒止,說的並不深入。 1. ASCII及其擴展 1.1 什麼是ASCII字元集 字 ...
  • 本文目錄: 1.1 判斷是否互動式、是否登錄式 1.2 幾種常見的bash啟動方式 1.3 載入bash環境配置文件 當用戶登錄系統時,會載入各種bash配置文件,還會設置或清空一系列變數,有時還會執行一些自定義的命令。這些行為都算是啟動bash時的過程。 另外,有些時候登錄系統是可以交互的(如正常 ...
  • linux中錄屏工具byzanz: 1、安裝 sudo apt install byzanz 2、使用 help:byzanz-record --help 配合xwininfo使用--xwininfo為linux系統自帶, 通過 xwininfo指令確定byzanz所需要的參數--x、y坐標,長、寬 ...
  • 說明 以下操作以Ubuntu為例,大家可以參考。 我在Ubuntu 14.04和16.04都試過了。 Windows共用文件夾 如果區域網內有一臺Windows主機,將指定文件夾設為共用,就可以在區域網內訪問了。 如果要從Linux下訪問該如何操作呢? 使用 mount.cifs Windows共用 ...
  • 命令簡介 cmd是command的縮寫.即命令行 。 雖然隨著電腦產業的發展,Windows 操作系統的應用越來越廣泛,DOS 面臨著被淘汰的命運,但是因為它運行安全、穩定,有的用戶還在使用,所以一般Windows 的各種版本都與其相容,用戶可以在Windows 系統下運行DOS,中文版Windo ...
  • 運維之linux基礎知識(一) 1.GUI:Graphic User Interface 圖形用戶界面 2.CLI:Command line Interface 命令行界面 3 dll:DynamicLinkLibrary 動態鏈接庫 4 so : shared object 共性對象 5指令說明: ...
  • 一、何為PXE Preboot Eexcution Environment,簡稱PXE,暫且翻譯為預啟動執行環境。用一句話來概括PXE的功能——它能通過網路為電腦(特別是“裸機”)安裝操作系統。在PXE下,“裸機”的BIOS和網卡能通過網路來引導啟動自身,而不是通過傳統的磁碟引導方式。PXE的這種 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...