簡體   English   中英

Vim 命令行模式——如何確認選擇?

[英]Vim command line mode - how to confirm selection?

在 zsh 中,如果您在主目錄中鍵入ls <Tab> ,它將顯示您家中的所有非隱藏文件,然后每個<Tab>循環遍歷文件名。

當當前突出顯示的文件名是我想要的時,如果該項目是一個目錄,我輸入/來確認我的選擇,如果它是一個文件,我使用<Space>

正如這篇文章所指示的,我在我的.vimrc中添加了這兩行,以完成 vim zsh 式完成。

set wildmode=longest,list,full
set wildmenu

但是當 vim 循環選擇選項時,我如何確認選擇?
Like in my home dir I start vim, and :e + some tabs, when the selection is on my document dir, how can I confirm it? <Enter>將完成命令, <Esc><Cc>取消它,而/附加一個反斜杠,因此命令變為:e document//不是我想要的。

從 vim 文檔(:help wildmenu):

While the "wildmenu" is active the following keys have special meanings:

[...]
<Down> - in filename/menu name completion: move into a subdirectory or submenu
[...]

所以我認為這至少得到了你所追求的一部分。

以防萬一其他人(如我)來到這里並感覺@Geoff 的回答並不像 vim 那樣。

我發現Ctrl + D完全符合 OP 的要求。 :help cmdline-completion更多信息

我使用<space>來選擇。

cnoremap <expr> <space>  wildmenumode()?"\<space>\<BS>":"\<space>"

舊帖子,但我正在尋找相同的答案。 根據:help wildmenu

CTRL-Y      - accept the currently selected match and stop
              completion.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM