【问题标题】:VIM - open file in readonly mode via :tabfindVIM - 通过 :tabfind 以只读模式打开文件
【发布时间】:2021-01-26 08:58:27
【问题描述】:

任务很简单

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

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

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

我期待 :tabfind sview som 之类的东西,按 TAB 键查找文件并按 RETURN

VIM 中有没有可用的命令?

【问题讨论】:

    标签: vim editor


    【解决方案1】:

    你可以照常开始:

    :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>
    

    【讨论】:

    • 太棒了。但由于某种原因无法映射。似乎马特的解释对我有用。感谢您的帮助
    • @Subi for some reason couldn't map:h map-bar。基本上,必须对 bar 进行转义才能在映射中使用。如果我每次忘记这样做时只得到一枚硬币。
    • @Subi 对不起,我忘记逃跑了。
    【解决方案2】:

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

        :tab view <TAB>
    

    或来自所有子目录

        :tab view **<TAB>
    

    但是如果你真的想扫描'path',AFAIK,你没有比自己设置只读更好的了。例如,

        :tab find +set\ ro <TAB>
    

    【讨论】:

    • 帮助了我的问题。映射到一个键,就像一个魅力 nnoremap &lt;C-f&gt; :tab find +set\ ro
    猜你喜欢
    • 1970-01-01
    • 2012-09-29
    • 1970-01-01
    • 1970-01-01
    • 2010-12-10
    • 2018-07-27
    • 2012-03-17
    • 1970-01-01
    • 2012-05-01
    相关资源
    最近更新 更多