Nvim 的 :help
頁面,是使用 tree-sitter-vimdoc 解析器,從 原始碼 產生 而來。
:autocmd UIEnter * let g:gui = filter(nvim_list_uis(),{k,v-> v.chan==v:event.chan})[0].rgb
{X}
{Y}
E466{X}
和 {Y}
座標。這些座標應指定視窗左上角的位置 (以像素為單位)。當 GUI 視窗尚未開啟時,這些值會被記住,直到視窗開啟為止。位置會進行調整,使視窗盡可能符合螢幕大小。{width}
{height}
將視窗高度設定為 {width}
乘以 {height}
個字元。已過時,請使用 ":set lines=11 columns=22"。:set guioptions=mlrb
)+------------------------------+ ` | File Edit Help | <- Menu bar (m) ` +-+--------------------------+-+ ` |^| |^| ` |#| Text area. |#| ` | | | | ` |v|__________________________|v| ` Normal status line -> |-+ File.c 5,2 +-| ` between Vim windows |^|""""""""""""""""""""""""""|^| ` | | | | ` | | Another file buffer. | | ` | | | | ` |#| |#| ` Left scrollbar (l) -> |#| |#| <- Right ` |#| |#| scrollbar (r) ` | | | | ` |v| |v| ` +-+--------------------------+-+ ` | |< #### >| | <- Bottom ` +-+--------------------------+-+ scrollbar (b) `
:let did_install_default_menus = 1如果您也想避免 Syntax 選單
:let did_install_syntax_menu = 1Syntax 選單中的第一個項目可用於在選單中顯示所有可用的檔案類型 (可能需要一些時間才能載入)。如果您希望在啟動時已經存在所有檔案類型,請新增
:let do_syntax_sel_menu = 1請注意,當執行
:syntax on
或 :filetype on
時,或在您的 .vimrc 檔案被載入後,會來源 menu.vim。這表示 'encoding' 選項和訊息的語言 (:language messages
) 必須在此之前設定好 (如果您想要變更它們)。:source $VIMRUNTIME/menu.vim :set wildmenu :set cpo-=< :set wcm=<C-Z> :map <F4> :emenu <C-Z>按下
<F4>
會啟動選單。您現在可以使用游標鍵來選取選單項目。按下 <Enter>
來執行它。如果您想要取消,請按下 <Esc>
。:menu File.Save :w<CR> :inoremenu File.Save <C-O>:w<CR> :menu Edit.Big\ Changes.Delete\ All\ Spaces :%s/[ ^I]//g<CR>最後一個命令會在選單列中建立一個名為 "Edit" 的新項目,按住滑鼠按鈕會彈出一個包含項目 "Big Changes" 的選單,這是包含項目 "Delete All Spaces" 的子選單,選取時會執行該操作。
<Tab>
將選單名稱與右對齊文字分開。這可以用來顯示等效的輸入命令。文字 "<Tab>" 可以在此處方便使用。如果您使用真正的 Tab,請別忘記在其前面加上反斜線!範例:amenu &File.&Open<Tab>:e :browse e<CR>[字面翻譯] 使用快捷鍵「F」(同時按住
<Alt>
鍵),然後按下「O」,即可使用此選單。第二部分顯示為「Open :e」。「:e」靠右對齊,而「O」下方有底線,表示它是快捷鍵。<C-C>
<C-\>
<C-G>
插入模式 <C-\>
<C-O>
命令列模式 <C-C>
<C-\>
<C-G>
待操作模式 <C-C>
<C-\>
<C-G>
:amenu File.Next :next^M等同於
:nmenu File.Next :next^M :vmenu File.Next ^C:next^M^\^G :imenu File.Next ^\^O:next^M :cmenu File.Next ^C:next^M^\^G :omenu File.Next ^C:next^M^\^G注意:在插入模式下,由於使用了
CTRL-O
,此方法僅適用於單個一般模式指令。如果您有兩個或多個指令,則需要使用「:imenu」指令。對於在任何模式下插入文字,您可以使用表達式暫存器:amenu Insert.foobar "='foobar'<CR>P特殊文字
<Cmd>
表示開始一個「指令選單」,它會直接執行指令,而不會變更模式。當您可能會使用「:...<CR>」時,您可以改用「<Cmd>...<CR>」。請參閱 <Cmd> 以取得更多資訊。範例anoremenu File.Next <Cmd>next<CR>請注意,命令列模式中的
<Esc>
會像在映射中一樣執行指令。這是 Vi 相容的。請使用 CTRL-C
來離開命令列模式。:menu <silent> Settings.Ignore\ case :set ic<CR>使用此選單時,「:set ic」不會回顯。不過,仍會顯示已執行指令的訊息。若要也關閉這些訊息,請在已執行指令中新增「:silent」
:menu <silent> Search.Header :exe ":silent normal /Header\r"<CR>「<silent>」也可以在「<script>」之後立即出現。
:80menu Buffer.next :bn<CR>預設選單的優先順序如下:File 10 Edit 20 Tools 40 Syntax 50 Buffers 60 Window 70 Help 9999
:menu 80.500 Buffer.next :bn<CR>僅當項目不放置在正常位置時,才需要給定子選單優先順序。例如,將子選單放在其他項目之前
:menu 80.100 Buffer.first :brew<CR>或將子選單放在其他項目之後,而具有預設優先順序的其他項目會放在其之前
:menu 80.900 Buffer.last :blast<CR>當缺少數字時,會使用預設值 500
:menu .900 myMenu.test :echo "text"<CR>選單優先順序僅在建立新選單時使用。當它已經存在時,例如,在另一種模式下,優先順序將不會變更。因此,只需要在第一次使用選單時給定優先順序。快顯選單是例外。每個模式(一般模式、待操作模式、視覺模式、插入模式、命令列模式)都有單獨的選單。這些選單中的順序可能會有所不同。這與選單列選單不同,選單列選單在所有模式下都具有相同的順序。注意:目前子選單優先順序不適用於所有 GUI 版本。
:menu Example.item1 :do something :menu Example.-Sep- : :menu Example.item2 :do something different請注意,分隔符號也需要 rhs。它是什麼並不重要,因為永遠不會選取該項目。使用單個冒號以保持簡單。
:amenu icon=/usr/local/pixmaps/foo_icon.xpm ToolBar.Foo :echo "Foo"<CR> :amenu icon=FooIcon ToolBar.Foo :echo "Foo"<CR>
:amenu icon=foo 1.42 ToolBar.Foo :echo "42!"<CR>2) 名為「BuiltIn##」的項目(其中 ## 是數字)被視為 Vim 中可用的內建點陣圖的數字 ##。目前有 31 個編號從 0 到 30,涵蓋大多數常見的編輯操作 內建工具。
:amenu ToolBar.BuiltIn22 :call SearchNext("back")<CR>3) 具有其他名稱的項目首先會在 'runtimepath' 中的「bitmaps」目錄中搜尋。如果找到,則會使用點陣圖檔案作為工具列按鈕圖片。請注意,確切的檔案名稱是作業系統特定的:例如,在 Win32 下,命令
:amenu ToolBar.Hello :echo "hello"<CR>
:amenu ToolBar.Open :e
anoremenu PopUp.Go\ to\ definition <Cmd>lua vim.lsp.buf.definition()<CR>
amenu PopUp.Open\ in\ web\ browser gx
anoremenu PopUp.Inspect <Cmd>Inspect<CR>
anoremenu PopUp.-1- <Nop>
vnoremenu PopUp.Cut "+x
vnoremenu PopUp.Copy "+y
anoremenu PopUp.Paste "+gP
vnoremenu PopUp.Paste "+P
vnoremenu PopUp.Delete "_x
nnoremenu PopUp.Select\ All ggVG
vnoremenu PopUp.Select\ All gg0oG$
inoremenu PopUp.Select\ All <C-Home><C-O>VG
anoremenu PopUp.-2- <Nop>
anoremenu PopUp.How-to\ disable\ mouse <Cmd>help disable-mouse<CR>
<Tab>
鍵可用於補完選單項目的名稱。{menu}
從命令列執行 {menu}
。預設是執行一般模式選單。如果指定了範圍,則會執行可視模式選單。如果從 <c-o>
使用,則會執行插入模式選單。例如::emenu File.Exit:[range]em[enu]
{mode}
{menu}
與上述類似,但執行 {mode}
的選單:'n': :nmenu 一般模式、'v': :vmenu 可視模式、's': :smenu 選擇模式、'o': :omenu 運算符等待模式、't': :tlmenu 終端模式、'i': :imenu 插入模式、'c': :cmenu 命令列模式。:unmenu! Edit.Paste這將會從插入和命令列模式的「編輯」選單中移除「貼上」項目。
<Tab>
鍵可用於補完適用模式的選單項目名稱。:unmenu * " remove all menus in Normal and visual mode :unmenu! * " remove all menus in Insert and Command-line mode :aunmenu * " remove all menus in all modes, except for Terminal " mode :tlunmenu * " remove all menus in Terminal mode如果您想擺脫選單列
:set guioptions-=m停用選單
:menu disable &File.&Open\.\.\. :amenu enable * :amenu disable &Tools.*此指令的適用模式與所有選單指令相同。請注意,像是 "&" 之類的字元需要包含在內,才能找到翻譯後的名稱。當參數是 "*" 時,所有選單都會受到影響。否則,給定的選單名稱及其下的所有現有子選單都會受到影響。
:nmenu Words.Add\ Var wb"zye:menu! Words.<C-R>z <C-R>z<CR> :nmenu Words.Remove\ Var wb"zye:unmenu! Words.<C-R>z<CR> :vmenu Words.Add\ Var "zy:menu! Words.<C-R>z <C-R>z <CR> :vmenu Words.Remove\ Var "zy:unmenu! Words.<C-R>z<CR> :imenu Words.Add\ Var <Esc>wb"zye:menu! Words.<C-R>z <C-R>z<CR>a :imenu Words.Remove\ Var <Esc>wb"zye:unmenu! Words.<C-R>z<CR>a(右側(rhs)以 <> 符號表示,您可以複製/貼上此文字來試用這些映射,或將這些行放入您的 gvimrc 中;"<C-R>" 是
CTRL-R
,"<CR>" 是 <CR>
鍵。 <>){menupath}
{rhs}
為選單或工具定義提示。(僅限於 X11 和 Win32 GUI){menupath}
移除選單或工具的提示。(僅限於 X11 和 Win32 GUI):amenu MyMenu.Hello :echo "Hello"<CR>提示定義如下
:tmenu MyMenu.Hello Displays a greeting.並使用以下命令刪除它
:tunmenu MyMenu.Hello目前只有 X11 和 Win32 GUI 支援工具提示。但是,它們應該在不久的將來會出現在其他 GUI 平台上。
{name}
與上述類似,但使用滑鼠指標的位置而不是游標的位置。:popup File這將使「檔案」選單(如果有的話)出現在文字游標處(如果使用了 !,則為滑鼠指標處)。
:amenu ]Toolbar.Make :make<CR> :popup ]Toolbar這會建立一個不存在於主選單列上的快顯選單。