VIM - 通过 :tabfind 以只读模式打开文件

VIM - open file in readonly mode via :tabfind

任务简单

假设我有一个名为 Project/Sample/something.py 的文件。我已经在 vimrc 中设置了路径来获取目录 Project

中的所有文件

如果我 :tabfind som 并按 TAB 键,它会自动填充文件名 (Project/Sample/something.py),然后按 RETURN 键将在编辑模式下打开文件。

我想做同样的任务,但不是以编辑模式打开文件,而是希望以只读模式或查看模式打开文件

我期待类似 :tabfind sview som 按 TAB 键查找文件并按 RETURN

在VIM中有可用的命令吗?

:find 的真正作用是,它还会扫描 'path' 选项下列出的所有目录。然而 command-line 完成本身通常可用于所有命令。所以如果你只需要从当前目录补全文件名(参见:h :cd:h 'autochdir'等),你可以做

    :tab view <TAB>

或者也从所有子目录

    :tab view **<TAB>

但是如果你真的想扫描 'path',据我所知,你没有什么比自己设置只读更好的了。例如,

    :tab find +set\ ro <TAB>

您可以照常开始:

:tabfind som<Tab>

然后附加:| set ro 以设置 :help 'readonly'

:tabfind Project/Sample/something.py | set ro

哪个容易映射:

nnoremap <key> :tabfind \|set ro<S-Left><S-Left>

并像这样使用:

<key>som<Tab><CR>