首先,其他的文字編輯器只有一種模式,就是插入模式。而vim一下子顛覆了我們的世界觀——有好多模式。這個是思維上的切換,很難也很重要!!!
其次,vim 提供乙個區分模式的使用者介面。也就是說在不同的模式下相同的鍵位可能產生的結果不一樣。好多快捷怎麼記憶?記憶後過段時間不使用又還給vim了。這個是因為沒有弄清楚職責和使用場景,沒有構建成套的vim知識體系。而我們這裡通過模式為載體來構建vim知識體系。
介紹vim的常用模式職責及模式切換,減少由於不斷思考和糾正什麼場景用什麼模式的什麼操作而引起的重複時間。
模式主要有兩大類:基礎模式和衍生模式。每一類又有好多模式。更詳細的可以直接使用:h vim-modes
這裡主要講的是基礎模式裡常用的4種模式。基於這4種模式會涉及到其他模式。
職責主要從以下兩個方面考慮
一次快捷鍵直接可以直接選中區域的操作,然後直接執行動作。即乙個移動+乙個動作,之前有提到的理想狀態。對比區別cmd-line的文字編輯場景。
這個中轉就是normal模式。
雖然有很多種模式。但是有些模式之間並不能切換。詳情可以通過:h vim-modes檢視
簡單記憶:切換模式之前先退到normal模式,然後再進去要切換的模式。有些特殊模式切換會在下面記錄
按esc或者ctrl+[,即可回到normal。網上也很多修改對映的。不過個人比較習慣按esc,剛好在切換模式,稍微調整一下思維,讓緊張的思維緩和一下。
按 /|?|:|!,即切換到cmd-line。
這個是最常用的切換模式。需要注意的是每乙個操作都是乙個獨立的完整概念,都有其對應場景。
這是乙個特殊從insert切換到insert normal,輸入ctrl+o。此時會執行"乙個"normal操作,然後繼續返回insert
應用場景
菜鳥vimer成長記 目錄
菜鳥vimer成長記 第0章 我眼中的vim學習 菜鳥vimer成長記 第1章 統一概念 菜鳥vimer成長記 第2.0章 模式初探 菜鳥vimer成長記 第2.1章 normal模式 菜鳥vimer成長記 第2.2章 visual模式 菜鳥vimer成長記 第2.3章 insert模式 菜鳥vim...
第20章迭代器模式
一 概念 二 uml圖 三 c 實現 lesson1.h ifndef lesson1 h define lesson1 h pragma once include include include include using namespace std class concreteaggregate...
016 第20章 迭代器模式
簡述 迭代器模式 提供一種方法順序訪問乙個聚合物件中的各個元素,而又不暴露該物件的內部表示。迭代器模式包括 抽象聚集類 具體聚集類 抽象迭代類 具體迭代類。抽象聚集類 封裝乙個抽象迭代類物件。具體聚集類 繼承自抽象聚集類。迭代器模式 1 include 2 include 3 using names...