1. 程式人生 > >【vim】模式與模式切換

【vim】模式與模式切換

正文

很多初學者啟動vim後,不知道怎麼輸入字元:按了半天字母,結果螢幕還是空的。

vim和記事本或WORD不一樣,不是一開啟後就可以輸入文字,此時它處於正常模式。

vim一共有4個模式:

  • 正常模式 (Normal-mode) 
  • 插入模式 (Insert-mode)
  • 命令模式 (Command-mode)
  • 可視模式 (Visual-mode)
注意:方向鍵(上下左右那幾個)可以在vim螢幕裡跳來跳去。現在知道這個對
體驗以下的模式有用。但是,通過方向箭來移動,是一個笨辦法。。。講到正常
模式時會說到更好的方法(我不會現在就告訴你h,j,k,l鍵分別對應左,下,上,右的:D)

回到頂部

正常模式

正常模式一般用於瀏覽檔案,也包括一些複製、貼上、刪除等操作。這時擊鍵時,
一般的鍵/鍵組合

會被當成功能鍵,而不會鍵入對應的字元。

在這個模式下,我們可能通過鍵盤在文字中跳來跳去,跳動的範圍從小到大是字元、
單詞、行、句子、段落和螢幕。

啟動vim後預設位於正常模式。不論位於什麼模式,按下<Esc>鍵(有時需要按兩下)
都會進入正常模式。

回到頂部

插入模式

在正常模式中按下i, I, a, A等鍵(後面系列文章會詳細介紹),會進入插入模式。
現在只用記住按i鍵會進行插入模式。插入模式中,擊鍵時會寫入相應的字元。

回到頂部

命令模式

在正常模式中,按下:(冒號)鍵,會進入命令模式。在命令模式中可以執行
一些輸入並執行一些vim或外掛提供的指令,就像在shell裡一樣。這些指令包括
設定環境、檔案操作、呼叫某個功能等等。

回到頂部

可視模式

在正常模式按下v, V, <Ctrl>+v,可以進入可視模式。可視模式中的
操作有點像拿滑鼠進行操作,選擇文字的時候有一種滑鼠選擇的即視感,有時候
會很方便。

根據需要靈活快速的切換各種模式非常有用。

回到頂部

配置回到正常模式的快捷鍵

由於不論在其他什麼模式下,按一次或兩次<Esc>鍵都可以回到正常模式,我們
可以想見,<Esc>鍵會經常用到。由於<Esc>鍵在標準qwert鍵盤的左上角,對
於左手小指不靈活的朋友來說,按起來比較不方便(我就是如此),因此在上一篇
中我們通過配置.vimrc把<Esc>對映成了按兩下j鍵。

" 將ESC鍵對映為兩次j鍵                                       
inoremap jj <Esc>

j鍵正好在右手食指的基本鍵位上(一般上面還有個突起),用起來十分方便。
如果只讓我保留一個vim設定的話,我會選擇保留它。

相關推薦

vim模式模式切換

正文很多初學者啟動vim後,不知道怎麼輸入字元:按了半天字母,結果螢幕還是空的。vim和記事本或WORD不一樣,不是一開啟後就可以輸入文字,此時它處於正常模式。vim一共有4個模式:正常模式 (Normal-mode) 插入模式 (Insert-mode)命令模式 (Comm

iOSboundsnative bounds的故事(放大模式的糾結)

因為實習原因接觸iOS開發,做了一週多點的時間,遇到了一個棘手的需求,也因此瞭解到了關於iPhone系列適配以及放大模式的有趣規律。 “特殊”的需求 當iPhone XS MAX/XR使用者使用只適配了iPhone X/iPhone XS,並且隱藏了狀態

轉載CMMI敏捷開發模式比較

我曾經參與了一個新產品專案兩個版本的開發,分別採用了CMMI與專案級敏捷方式,總結一下兩種模式。 CMMI採用的是傳統的瀑布模式開發,開發流程是立項 ->需求分析->概要設計->詳細設計->編碼->單元測試->整合測試->系統測試->對外測試/開局測試。在

VirtualBoxVMware中的網路模式詳解

VirtualBox中有4中網路連線方式: NAT Bridged Adapter Internal Host-only Adapter VMWare中有三種,其實他跟VMWare 的網路連線方式都是一樣概念,只是比VMWare多了Internal方式。

硬碟CHS模式LBA模式

硬碟的chs模式是指chs(Cylinder/Head/Sector)模式,很久以前, 硬碟的容量還非常小的時候, 人們採用與軟盤類似的結構生產硬碟. 也就是硬碟碟片的每一條磁軌都具有相同的扇區數. 由此產生了所謂的3D引數 (Disk Geometry). 既磁頭數(Hea

C#單例模式&lt;機房重構&gt;

機房 .sh 不能 是否 gist 應用 調用方法 單例模式 sender 前言 在機房重構之前。我們學習了設計模式。在這次重構中,我們的任務就是將這些模式,加入到機房的重構中去。如今先來解決一個最簡單的問題——窗口的超生。 假設不加以限

FTP主動模式和被動模式的比較

edit 兩個 int cti 了解 選擇 監聽端口 通訊 mod 總是記不住FTP主動和被動模式的區別。放在這裏,以備日後查閱。 FTP是僅基於TCP的服務,不支持UDP。與眾不同的是FTP使用2個端口,一個數據端口和一個命令端口(也可叫做控制端口)。通常來說這兩個端

大戰設計模式16—— 橋接模式

操作 sign log 及其 hub www. .cn crete bstr 橋接模式(Bridge) 設計模式使用的例子https://github.com/LinkinStars/DesignPatternsAllExample 一、定義 將抽象部分與

javascriptjavascript設計模式之單例模式

函數 設置 tin 私有 資源 公有 key fun 初始化 單例模式: 定義:單例模式之所以這麽叫,是因為它限制一個類只能有一個實例化對象。 實現方法:判斷實例是否存在,如果存在則直接返回,如果不存在就創建了再返回。(確保一個類只有一個實例對象) 特點: 命名空間提供者,

python全棧開發補充單例模式的四種方式

實現 創建 初始 user 它的 pooled asa args 三種 一、什麽是單例模式 保證一個類只有一個實例,並提供一個訪問它的全局訪問點 二、優點 對唯一實例的受控訪問 單利相當於全局變量,但防止了命名空間被汙染 與單利模式功能相似的概念:全局變量、靜態變量

javascriptjavasrcipt設計模式之策略模式

影響 配置 可能 pan style 類庫 ava 自由 AC 策略模式支持在運行時由使用者選擇合適的算法,對於使用者而言不用關心背後的具體事項,而使用者自動根據當前程序執行的上下文和配置,從已有的算法列表中選擇出合適的算法來處理當前任務。 1.要解決的問題 2.如何實現

原創從策略模式閑扯到lamda表達式

可能 ... bubuko 收獲 方式 缺陷 表達式 return 分享 引言 策略模式,講這個模式的文章很多,但都缺乏一個循序漸進的過程。講lamda表達式的文章也很多,但基本都是堆砌一堆的概念,很少帶有自己的見解。博主一時興起,想寫一篇這二者的文章。需要說明的是,在看這

JVM開啟Debug模式

end ket add soc server -a nbsp lib bsp Jdk1.7之前: -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=8000,suspend=n jdk1.7之後: -agent

7、C++單例模式/工廠模式

一、單例模式     單例模式,可以說設計模式中最常應用的一種模式了,據說也是面試官最喜歡的題目。但是如果沒有學過設計模式的人,可能不會想到要去應用單例模式,面對單例模式適用的情況,可能會優先考慮使用全域性或者靜態變數的方式,這樣比較簡單,也是沒學過設計模式的人所能想到的最簡單的方式了。

java——單例模式學習理解

    單例模式,總而言之還是多種多樣的,理解不同的單例模式,對於開發過程中更是極為方便,以下彙總幾種單例的使用,積累備用。     一、只適合單執行緒環境 package test; /** * @author xiao

c++單例模式

文章目錄 1.單例模式介紹 2.餓漢模式 1)簡單瞭解 2)優點:簡單 3)缺點:啟動時可能有負載導致啟動很慢 4)程式碼實現 3.懶漢模式 1)簡單瞭解

C++單例模式:餓漢模式和懶漢模式

餓漢模式:提前建立一個靜態的類物件,把所有能夠建立物件的模組全部私有化,從外部需要建立類物件時只能返回事先建立好的唯一物件。就像一個特別飢餓的人,提前準備好食物,只要餓了,就可以立刻食用。 /*惡漢模式--單例模式*/ #include<iostream> using namespa

Linux橋接模式下,主機可以ping通Ubuntu虛擬機器但Ubuntu虛擬機器ping不通主機解決方案

使用的Windows10的主機,Ubuntu16.04的虛擬機器 使用橋接模式,可以從主機ping通虛擬機器,但是反過來的時候不可以ping通,所以猜測是防火牆的問題,但是關閉防火牆這個辦法,有點因噎廢食。 在網上查資料發現是Windows10的防火牆沒有開啟ICMPv4-In這個規則。所以

JavaScript常用設計模式及程式設計技巧(ES6描述)

前言 平時的開發中可能不太需要用到設計模式,但是 JS 用上設計模式對於效能優化和專案工程化也是很有幫助的,下面就對常用的設計模式進行簡單的介紹與總結。 1. 單例模式 定義:保證一個類僅有一個例項,並提供一個訪問它的全域性訪問點。 class Singleton { constructor(

雜談對"策略模式"的一點了解

什麼是策略模式? 個人認為,設計模式的定義是比較晦澀抽象的,瞭解設計模式的最合適的方法就是先看看它的使用場景和相關案例,Java的JDK中就有此設計模式的體現。先講一個比較簡單的,那就是File的檔案過濾機制。File類中有個list(FilenameFilter filter)的方法用於過濾File物件(如