2010-06-22 33 views

回答

22

除了在驚歎號力的東西,比如寫,它會變成一個命令的情況下,轉換爲切換命令。所以,如果我這樣做:

:set cursorline 

我的光標所在的行將突出顯示。我可以將其關閉:

:set nocursorline 

或者我可以這樣做:

:set cursorline! 

該命令的兩個設置之間翻轉,時斷時續。

我經常關閉和開啓光標線突出顯示,並且toggle命令讓我可以通過簡單的功能鍵映射來完成。如果沒有切換,我需要兩個映射:一個打開它,另一個打開它。或者我必須編寫一個函數來確定cursorline設置是打開還是關閉,然後打開相反的設置。

這適用,因爲據我所知,所有具有開啓和關閉設置,如hlsearch,粘貼,使用CursorColumn,數量,INSEARCH等

還要注意感嘆號將切換命令行設置沒有版本的命令。例如,你也可以切換使用光標線設置:

:set nocursorline! 
33

的!限定符告訴Vim強制執行操作。例如,如果該文件是隻讀的,則可以使用:w!無論如何寫它。如果該文件被修改,並且您希望退出而不保存,則可以使用:q !. :WQ!只是意味着強制寫入並退出一個命令。

+0

是我最近更改映射:按Ctrl + S使用的是:更新,現在是:W!,因爲我有一個持久的準備,只有文件。由於這種變化,我將來會遇到問題嗎? – alexchenco 2010-06-22 15:43:13

+2

@janoChen,是的,你會習慣'Ctrl-S'並且不會練習':w!'足夠:) – OscarRyz 2010-06-22 16:11:42

+0

@janoChen:Ctrl + S似乎沒有默認映射,所以應該有別處沒有問題。唯一的問題可能是意外保存在您不想覆蓋的只讀文件上。 – 2010-06-22 16:44:43

22

感嘆號通常意味着強制執行某些操作。

exlamation標記的另一種用法:!後跟一些命令,直接從編輯器執行此命令。

:! ls /etc 
9

這實際上取決於所考慮的命令。關於你列舉的那些,它會像其他人已經回答你一樣強制執行命令。

不過,也有其他的命令,如:global:map:make:silent,...,那裏的爆炸(!)有其他影響。閱讀他們的文檔:

:help help 

(我們可以給爆炸,我們希望在我們定義的命令任何意義)

相關問題