vim中的一些命令是首先輸入冒號(:)來給出的,例如。 :wq保存文件並退出。儘管一些命令不需要冒號,例如替換命令(R)。我想知道這兩種方法有什麼區別?有什麼具體規則哪些需要冒號,哪些不冒號?爲什麼vim中的某些命令需要冒號而有些不需要?
回答
你必須看看Vim的前身history of vi的解釋。很久以前,當用鍵盤和連接的打印機(稱爲終端)進行文本編輯時,沒有鼠標,除了紙張之外沒有顯示,因此幾乎沒有交互性。編輯由一個名爲ex的編輯器組成,由短暫的助記命令組成。您發佈了一條命令來處理一行或多行(例如:substitute/foo/bar
),並且編輯服從。如果你不確定命令的效果,你可以使用:print
。
時間過去了,視頻終端出現了,vi編輯器併入ex命令(因爲他們是有用的,程序員使用它們),但引入了更多交互式命令喜歡刪除(x
),插入(i
) , 等等。 ex命令仍以命令行模式提供,該命令以:
開頭,並以結束輸入。
Vi和Vim的是在這方面特別的,因爲他們有這些不同模式其中相同的密鑰意味着取決於哪種模式一個是不同的東西。要成爲Vim的精通,你必須瞭解不同的模式,以及如何最好地使用它們來實現編輯目標。
:help vim-modes
爲您提供出色的綜合性幫助設施的起點。
您處於vim
的不同模式。 vim
有6種基本模式。他們是
在Normal
模式你不不需要鍵入:
,可以通過按Esc鍵來達到此模式。
「不需要」冒號的命令稱爲「正常(模式)命令」。
「需要」冒號的命令稱爲「Ex命令」。
Vim的,是一個模式編輯器,有是上下文給你所處的模式許多命令。最明顯的影響是,打擊在不同環境下同一鍵可能會產生不同的結果。
在插入模式下,鍵盤上的大多數鍵都用於實際輸入字符到文檔中。
你,你做切換到正常模式猛拉,放,刪除,移動你的鼠標... 正常模式是激光聚焦編輯Vim的是著名的和使用的命令一樣dcggsi/.*
等。
您通過點擊:
在正常/* *可視化模式下輸入命令行模式。它通常用於兩件事情:
- 執行管理任務(寫入磁盤,交換緩衝區,打開文件...)像
:m10
或:t1
或:g/foo/d
- 使用酷編輯命令...
的你可以在這個模式下使用的許多命令都是Vim過去的(非常強大的)殘餘部分,被稱爲Ex命令。
簡而言之,既沒有正常模式命令也沒有Ex命令以冒號開頭。冒號只是用來改變模式。
- 1. 爲什麼有些變量需要引號而不需要引號
- 2. 爲什麼某些組件需要「需要UIExplorerBlock」和「需要UIExplorerPage」?
- 3. 爲什麼有些命令在Unix上需要鎖而其他命令不需要?
- 4. 爲什麼有些房產要求「強」,有些則不需要?
- 5. 爲什麼有些變量需要全局性而其他變量不需要?
- 6. 某些WCF操作需要身份驗證,有些則不需要。怎麼樣?
- 7. 爲什麼有些升壓功能不需要命名空間
- 8. 爲什麼/某些課程需要一切可能的論證,有些則不需要?
- 9. 爲什麼只有一些Tkinter回調函數需要參數,而另一些則不需要
- 10. 爲什麼java中的某些代碼需要try catch語句?
- 11. 爲什麼在某些情況下需要將#放在Lisp中?
- 12. 在Ruby on Rails中,爲什麼有些寶石需要config/initializers/foo.rb,有些寶石不需要?
- 13. Restelet路由:有些資源需要認證,有些則不需要。怎麼做?
- 14. 爲什麼某些OCaml函數需要()作爲參數?
- 15. 爲什麼try/catch在某些情況下需要,而不是其他情況?
- 16. 爲什麼有些課程需要主要方法而其他課程則不需要?
- 17. 爲什麼指令ng-href需要{{}}而其他指令不需要?
- 18. 爲什麼在庫中需要一些罐子,有些不在戰爭中?
- 19. Ruby on Rails - 爲什麼某些數據需要加密?
- 20. 爲什麼運行某些goroutines需要time.sleep?
- 21. 爲什麼某些MySQL字段現在需要默認值?
- 22. 爲什麼代表需要某些方法?
- 23. 爲什麼括號需要
- 24. Spry Tabbed Pannels某些Tabs可以工作,有些不需要
- 25. 某些字符是否需要在vim中被轉義搜索?
- 26. 爲什麼在這些導入後需要分號?
- 27. 需要一些幫助配置Vim
- 28. Vim的錯誤:不能當運行一些命令需要臨時文件
- 29. 爲什麼有些頁面需要訪問令牌,其他頁面不需要使用Graph API?
- 30. 爲什麼我需要按列分組,而不需要分組?
更經常使用的命令會變成「正常」命令,您不需要冒號。因爲只有很多字符可以用作普通命令,所以其餘的命令都會被寫入:命令 – yosukesabai
@yosukesabai:雖然這聽起來合乎邏輯,但這是對[vi history]的修正主義解釋(http://en.wikipedia。組織/維基/ VI)。 –