Nvim :help
頁面,從 原始碼 使用 tree-sitter-vimdoc 解析器 產生。
{count}
條最近的訊息。{count}
條最近的訊息。<Space>
,這尤其有用。然後您將返回按下 Enter 的提示符,並且可以進一步向後滾動。注意:如果輸出已在 more 提示符下使用 "q" 停止,則只會顯示到此點。當另一個命令產生輸出時,先前的命令輸出將被清除。"g<" 的輸出不會被重新導向。E72: Close error on swap file或(翻譯)
E72: Errore durante chiusura swap file請使用
:help E72如果您很懶,不按 Shift 鍵也可以
:help e72
:echo v:errmsg或使用以下命令檢視最近訊息的列表
:messages請參閱上方的
:messages
。Add to read buffer makemap: Illegal mode Cannot create BalloonEval with both message and callback Hangul automata ERROR block was not locked Didn't get block nr {N}? ml_upd_block0(): Didn't get block 0?? pointer block id wrong {N} Updated too many blocks? get_varp ERROR u_undo: line numbers wrong undo list corrupt undo line missing ml_get: cannot find line {N} cannot find line {N} line number out of range: {N} past the end line count wrong in block {N} Internal error Internal error: {function} fatal error in cs_manage_matches Invalid count for del_bytes(): {N}這是內部錯誤。如果您可以重現它,請提交錯誤報告。 bugs
ATTENTION Found a swap file by the name ...請參閱 ATTENTION。
Buffer with this name already exists您不能有兩個名稱完全相同的緩衝區。這包括檔案的路徑。
Cannot switch buffer. 'winfixbuf' is enabled如果視窗啟用 'winfixbuf',您就不能更改該視窗的目前緩衝區。您需要先設定 'nowinfixbuf' 才能繼續。如果您的命令支援,您可以使用 [!] 強制視窗切換緩衝區。
Command too recursive當 Ex 命令執行另一個 Ex 命令,而該命令又執行另一個 Ex 命令時,就會發生這種情況。限制為 200 或 'maxfuncdepth' 的值,以較大者為準。如果超出此值,則可能存在無窮迴圈。可能涉及 :execute 或 :source 命令。
Cannot allocate colormap entry, some colors may be incorrect這表示 Vim 沒有足夠的顏色可用。它仍會執行,但某些顏色不會以指定的顏色顯示。請嘗試停止其他使用許多顏色的應用程式,或在啟動 gvim 後再啟動它們。已知瀏覽器會消耗大量顏色。您可以透過告訴 netscape 使用自己的色彩對應表來避免這種情況
netscape -install或告訴它將顏色限制為特定數量(64 個應該可以正常運作)
netscape -ncols 64也可以在您的 Xdefaults 檔案中使用一行來完成
Netscape*installColormap: Yes或
Netscape*maxImageColors: 64
Cannot expand wildcards檔案名稱包含奇怪的字元組合,導致 Vim 嘗試展開萬用字元,但失敗。這並不表示找不到相符的檔案名稱,而是表示模式不合法。
Cannot go back to previous directory展開檔案名稱時,Vim 無法回到先前使用的目錄。現在使用的所有檔案名稱可能都無效!您需要對目前的目錄具有執行權限。
Cannot open "{filename}" for writing Can't open file for writing由於某些原因,您要寫入的檔案無法建立或覆寫。原因可能是您沒有在目錄中寫入的權限,或者檔案名稱無效。
Can't open linked file for writing您正在嘗試寫入無法覆寫的檔案,並且該檔案是連結(硬連結或符號連結)。如果包含連結或檔案的目錄可寫入,則可能仍然可以寫入,但 Vim 現在不知道您是要刪除連結並在其位置寫入檔案,還是要刪除檔案本身並在其位置寫入新檔案。如果您真的想以這個名稱寫入檔案,您必須手動刪除連結或檔案,或更改權限,以便 Vim 可以覆寫。
Cannot unload last bufferVim 始終需要載入一個緩衝區,否則視窗中將沒有任何內容可以顯示。
Can't open errorfile <filename>使用 ":make" 或 ":grep" 命令時:無法開啟用於儲存錯誤訊息或 grep 輸出的檔案。這可能有多個原因
Can't open file C:\TEMP\VIoD243.TMP在 MS-Windows 上,當要讀取外部命令的輸出但命令未成功執行時,就會顯示此訊息。這可能是由許多原因造成的。請檢查 'shell'、'shellquote'、'shellxquote'、'shellslash' 和相關選項。也可能是找不到外部命令,沒有針對該情況的不同錯誤訊息。
Command not allowed from exrc/vimrc in current dir or tag search出於安全原因,不允許某些命令。這些命令主要來自目前目錄中的 .exrc 或 .nvimrc 檔案,或來自標籤檔案。另請參閱 'secure'。
Command too complex一個對應產生了一個很長的命令字串。可能是由間接呼叫自身的對應引起的。
CONVERSION ERROR當寫入檔案且出現文字「CONVERSION ERROR」時,表示將文字從內部使用的 UTF-8 轉換為檔案格式時,遺失了一些位元。該檔案將不會被標記為未修改。如果您關心資訊的遺失,請將 'fileencoding' 選項設定為另一個可以處理緩衝區中字元的值,然後再次寫入。如果您不在意,可以放棄緩衝區或重設 'modified' 選項。如果有備份檔案,當設定 'writebackup' 或 'backup' 時,它不會被刪除,因此如果您想放棄變更,可以將其移回原位。
Error writing to "{filename}" Error closing "{filename}" Error reading "{filename}"當 Vim 嘗試重新命名檔案,但簡單的檔案名稱變更不起作用時,就會發生此情況。然後將複製該檔案,但不知何故失敗了。結果可能是原始檔案和目的地檔案都存在,並且目的地檔案可能不完整。
Vim: Error reading input, exiting...當 Vim 無法在需要輸入時讀取鍵入的字元時,就會發生此情況。Vim 卡住了,它唯一能做的就是退出。當 stdin 和 stderr 都被重新導向並執行不退出 Vim 的腳本時,就會發生這種情況。
Error while reading errorfile無法讀取錯誤檔案。這不是由於無法辨識的錯誤訊息造成的。
Error while writing寫入檔案未成功完成。檔案可能不完整。
File exists (add ! to override) "{filename}" exists (add ! to override)您受到保護,不會意外覆寫檔案。如果您想寫入,請使用相同的命令,但在命令後加上 "!"。範例
:w /tmp/test變更為
:w! /tmp/test
Swap file exists: {filename} (:silent! overrides)您受到保護,不會覆寫 Vim 正在編輯的檔案。當您使用 ":w! filename" 並找到交換檔案時,就會發生這種情況。
{filename}
以尋找有關交換檔案的資訊。:silent! w! /tmp/test
File is loaded in another buffer您正在嘗試以另一個緩衝區中也使用的名稱寫入檔案。這將導致同一個檔案有兩個版本。
File not written: Writing is disabled by 'write' option「write」選項已關閉。這會導致所有嘗試寫入檔案的指令產生此訊息。這可能是因為使用了 -m 命令行參數所造成。您可以使用「:set write」開啟「write」選項。
"{filename}" is a directory您嘗試寫入一個與目錄同名的檔案。這是不可行的。您可能需要在名稱後附加檔名。
Mark has invalid line number您正在使用的標記具有不存在的行號。當您在另一個檔案中有標記,且其他程式從該檔案中刪除了行時,可能會發生這種情況。
Missing {. Missing }.在檔名中使用 {} 結構,但存在一個沒有匹配 } 的 {,反之亦然。它應該這樣使用:
{foo,bar}
。這會匹配 "foo" 和 "bar"。{number} more files to edit您正在嘗試退出,但參數列表中的最後一個項目尚未編輯。這可以防止您在仍有更多檔案要處理時意外退出。請參閱 參數列表。如果您確實要退出,只需再次執行即可。
No file name目前緩衝區沒有名稱。要寫入它,請使用「:w 檔名」。或者使用「:file 檔名」為緩衝區命名。
No file name for buffer {number}其中一個已變更的緩衝區沒有檔名。因此,無法寫入。您需要為緩衝區提供檔名。
:buffer {number} :file {filename}
No previous substitute regular expression在模式中使用「~」字元時,它會被替換為「:substitute」指令中先前使用的模式。如果尚未執行過此類指令,則會失敗。請參閱 /~。當使用「:s/pat/%/」時也會發生此情況,其中「%」代表先前的替換字串。
No previous regular expression當使用空的搜尋模式時,會使用先前的搜尋模式。但如果之前沒有搜尋,則無法執行。
No such abbreviation您使用了「:unabbreviate」指令,但參數不是現有的縮寫。此指令的所有變體都會給出相同的訊息:「:cunabbrev」、「:iunabbrev」等。請檢查結尾是否有空白。
No such mapping您使用了「:unmap」指令,但參數不是現有的映射。此指令的所有變體都會給出相同的訊息:「:cunmap」、「:unmap!」等。以下是一些提示:
<buffer>
」。:map-<buffer>No write since last change (add ! to override) No write since last change for buffer {N} (add ! to override)您正在嘗試放棄一個有變更的檔案。Vim 會保護您避免遺失您的工作。您可以寫入已變更的檔案(使用「:w」),或者,如果您確定,可以放棄它,並遺失所有變更。這可以透過在您使用的指令後加上「!」字元來完成。範例:
:e other_file變更為
:e! other_file
No write since last change for buffer "{name}"當您嘗試退出 Vim 時,如果某些緩衝區已變更,則會顯示此訊息。您必須寫入已變更的緩衝區(使用 :w),或使用指令強制放棄緩衝區,例如:「:qa!」。請小心,確保您沒有丟棄您真正想保留的變更。您可能忘記了某個緩衝區,尤其是在設定了 hidden 時。
[No write since last change]在執行 shell 指令時,如果至少有一個緩衝區已變更,則會出現此訊息。要避免此訊息,請重設 warn 選項。
Out of memory! Out of memory! (allocating {number} bytes) Cannot allocate any buffer, exiting... Cannot allocate buffer, using other one...喔喔。您一定是在做一些複雜的事情,或者其他程式正在消耗您的記憶體。小心!Vim 並未完全準備好應對記憶體不足的情況。首先確保已儲存任何變更。然後嘗試解決記憶體短缺問題。為了安全起見,請退出 Vim 並重新啟動。
Pattern too long這發生在具有 16 位元整數的系統上:已編譯的正規表示式模式長度超過約 65000 個字元。請嘗試使用較短的模式。當規則的偏移量不符合可用空間時也會發生此情況。請嘗試簡化模式。
'readonly' option is set (add ! to override)您正在嘗試寫入一個標記為唯讀的檔案。要強制寫入檔案,請重設 readonly 選項,或在您使用的指令後加上「!」字元。範例:
:w變更為
:w!
Read error in swap file Seek error in swap file read Oops, lost the swap file!!!Vim 嘗試從 交換檔案讀取文字,但發生錯誤。相關緩衝區中的文字現在可能已損壞!在您寫入緩衝區之前仔細檢查。您可能想要將其寫入另一個檔案並檢查差異。
Recursive use of :normal too deep您正在使用「:normal」指令,其參數又以遞迴方式使用「:normal」指令。這被限制為 maxmapdepth 個層級。此範例說明如何取得此訊息:
:map gq :normal gq<CR>如果您輸入「gq」,它將執行此映射,這將再次呼叫「gq」。
Scripts nested too deep可以使用「-s」命令行參數和
:source!
指令讀取腳本。然後,腳本可以再次讀取另一個腳本。這可以繼續約 14 個層級。當完成更多巢狀時,Vim 會假設存在遞迴迴圈,並停止並顯示此錯誤訊息。Swap file already exists (symlink attack?)當 Vim 嘗試開啟交換檔案時,發現它已存在或發現一個符號連結在其位置時,會顯示此訊息。這不應該發生,因為 Vim 已經檢查過該檔案不存在。要么是其他人在完全相同的時刻開啟了同一個檔案(非常不可能),要么是有人試圖進行符號連結攻擊(當在 /tmp 中編輯檔案或當 directory 以「/tmp」開頭時,可能會發生這種情況,這是一個糟糕的選擇)。
Tags file not sorted: {file name}Vim (和 Vi) 期望標籤檔案以 ASCII 順序排序。然後可以使用二元搜尋,這比線性搜尋快得多。如果您的標籤檔案未正確排序,請重設 tagbsearch 選項。僅當 Vim 在搜尋標籤時偵測到問題時,才會顯示此訊息。有時即使標籤檔案未正確排序,也不會顯示此訊息。
Too many different highlighting attributes in useVim 只能處理約 223 種不同的突出顯示。如果您遇到此限制,則表示您使用了太多具有不同參數的 :highlight 指令。「:highlight link」不計數。
Too many file names在展開檔名時,找到了多個匹配項。所使用的指令只允許一個匹配項。
Unable to open swap file for "{filename}", recovery impossibleVim 無法建立交換檔案。您仍然可以編輯檔案,但如果 Vim 意外退出,變更將會遺失。並且當編輯大型檔案時,Vim 可能會消耗大量記憶體。您可能想要變更 directory 選項以避免此錯誤。當 directory 為空時,不會顯示此錯誤。請參閱 交換檔案。
Use ! to write partial buffer當使用範圍寫入緩衝區的一部分時,覆蓋原始檔案是不尋常的。這可能是一個錯誤(例如,當使用「:w」時啟用視覺模式),因此 Vim 要求在指令後使用 !,例如:「:3,10w!」。
Warning: Cannot convert string "<Key>Escape,_Key_Cancel" to type VirtualBinding當啟動時會出現類似這樣的訊息。這不是 Vim 的問題,您的 X11 設定錯誤。
Warning: Changing a readonly file檔案是唯讀的,但您仍然在對其進行變更。您可以使用 FileChangedRO 自動指令事件來避免此訊息(自動指令必須重設 readonly 選項)。請參閱 modifiable 以完全禁止對檔案進行變更。此訊息僅在設定了 readonly 之後的第一次變更時顯示。
Warning: File "{filename}" has been created after editing started當您在 Vim 中編輯一個不存在的檔案時,而該檔案現在存在。您必須決定要保留 Vim 中的版本還是新建立的檔案。當 buftype 不為空時,不會顯示此訊息。
Warning: File "{filename}" has changed since editing started您已開始編輯的檔案已取得另一個時間戳記,並且內容已變更(更精確地說:如果使用目前的選項設定和自動指令再次讀取該檔案,您最終會得到不同的文字)。這可能意味著其他程式變更了該檔案。您必須找出發生了什麼,並決定要保留哪個版本的檔案。如果您想要自動執行此操作,請設定 autoread 選項。當 buftype 不為空時,不會顯示此訊息。另請參閱 FileChangedShell 自動指令。
SET TZ=-1
Warning: File "{filename}" has changed and the buffer was changed in Vim as well與上述情況類似,而且此 Vim 中檔案的緩衝區也已變更。您必須決定要保留此 Vim 中的版本還是磁碟上的版本。當 'buftype' 不為空時,不會顯示此訊息。
Warning: Mode of file "{filename}" has changed since editing started當緩衝區的時間戳記已變更,且內容仍然相同,但模式(權限)已變更時,就會發生這種情況。這通常發生在從版本控制系統中取出檔案時,這會導致唯讀位元被重設。重新載入檔案應該是安全的。設定 'autoread' 以自動重新載入檔案。
File "{filename}" no longer available您開始編輯的檔案已消失,或無法再存取。請務必將緩衝區寫入某處,以避免遺失變更。當 'buftype' 不為空時,不會顯示此訊息。
Warning: List of file names overflow您一定使用了非常多的緩衝區。現在可能會發生兩個緩衝區具有相同的編號,這會導致各種問題。您可能需要結束 Vim 並重新啟動它。
Buffer cannot be registered記憶體不足或緩衝區編號重複。在 W14 之後可能會發生。查詢緩衝區不一定總是有效,最好重新啟動 Vim。
Seek error in swap file write Write error in swap file這大多發生在磁碟空間不足時。Vim 無法將文字寫入 交換檔。這並無直接危害,但當 Vim 意外結束時,可能會遺失一些文字且無法復原。當此問題持續存在時,Vim 可能會耗盡記憶體。
\\ should be followed by /, ? or &以反斜線開頭的命令列或命令的範圍在錯誤的位置包含反斜線。這通常是由於停用了命令列續行所致。從 'cpoptions' 選項中移除 'C' 旗標以啟用它。
Argument required執行的 Ex 命令缺少必要的引數。
Invalid argument Invalid argument: {arg} Duplicate argument: {arg}Ex 命令或函式收到無效的引數。或 jobstart() 或 system() 收到無法執行的命令。
Trailing characters Trailing characters: {text}Ex 命令收到不允許的引數。或引數包含無效的字元且無法辨識。
Can't open file {filename} Can't read file {filename}Vim 無法讀取暫存檔。特別是在 Windows 上,這可能是因為 cmd.exe 的特殊字元逸脫不正確所致;此方法已在修補程式 7.3.443 中變更。嘗試對提供給 system() 的所有 Shell 引數使用 shellescape(),或明確使用 ^ 新增逸脫。另請參閱 'shellxquote' 和 'shellxescape'。
Ambiguous use of user-defined command有兩個使用者定義的命令具有共同的名稱前綴,而您使用命令列完成來執行其中一個命令。 user-cmd-ambiguous 範例
:command MyCommand1 echo "one" :command MyCommand2 echo "two" :MyCommand
Not an editor command您嘗試執行既不是 Ex 命令也不是使用者定義命令的命令。
Cannot set this option after startup您嘗試在啟動後設定僅允許在啟動期間變更的選項。
Command table needs to be updated, run 'make'只有在修改原始碼,並在 src/ex_cmds.lua 中新增命令後,才會發生這種情況。重新執行組建以更新查詢表。
Press ENTER or type command to continue當畫面上有一些內容供您閱讀,且畫面即將重新繪製時,會顯示此訊息
<Enter>
或 <Space>
以重新繪製畫面並繼續,否則不會使用該按鍵。 -> 按下「:」或任何其他「普通模式」命令字元以啟動該命令。請注意,在執行外部命令後,某些特殊按鍵(例如游標鍵)可能無法正常運作,因為終端機仍設定為執行外部命令的狀態。 -> 按下「k」、「<Up>
」、「u」、「b」或「g」以在訊息中向後捲動。這與在 more-prompt 時的方式相同。僅在 'more' 開啟時有效。 -> 當訊息從畫面頂端捲動並開啟 'more' 時,會忽略按下「j」、「f」、「d」或 <Down>
,以避免輸入過多「j」或「f」導致訊息消失。 -> 按下 <C-Y>
以將無模式選取複製 (yank) 到剪貼簿暫存器。 -> 使用功能表。會使用為命令列模式定義的字元。 -> 當 'mouse' 包含 'r' 旗標時,按一下滑鼠左鍵的作用與按下 <Space>
相同。這會導致無法選取文字。 -> 對於 GUI,在最後一行按一下滑鼠左鍵的作用與按下 <Space>
相同。-- More -- -- More -- SPACE/d/j: screen/page/line down, b/u/k: up, q: quit當畫面填滿訊息時,會顯示此訊息。僅在開啟 'more' 選項時顯示。會以 hl-MoreMsg 群組醒目提示。
<CR>
或 <NL>
或 j 或 <Down>
向下一行 d 向下翻頁(半個畫面) <Space>
或 f 或 <PageDown>
向下翻一頁 G 一路向下,直到出現按下 Enter 提示<BS>
或 k 或 <Up>
向上一行 u 向上翻頁(半個畫面) b 或 <PageUp>
向上一頁 g 返回開頭<Esc>
或 CTRL-C
停止列出 : 停止列出並輸入命令列 <C-Y>
將無模式選取複製 (yank) 到剪貼簿(「*」和「+」暫存器) {menu-entry}
功能表在命令列模式中定義的內容。 <LeftMouse>
下一頁*<Space>
,這尤其有用。