【问题标题】:use specific search with no highlight使用没有突出显示的特定搜索
【发布时间】:2018-02-11 14:19:03
【问题描述】:

例如我在python代码中,想在类之间跳转:

nnoremap <buffer> [c /^\s*class\ <CR>

如何防止它们在每次命令结束时以比:nohl 更优雅的方式突出显示?

【问题讨论】:

    标签: vim


    【解决方案1】:

    您可以通过使用:help search() 函数或编写自己的函数来避免突出显示搜索匹配项。

    search()

    nnoremap <buffer> <silent> [c :<C-u>call search('^\s*\zsclass\s')<CR>
    

    用你自己的函数

    " with ':help :normal'
    function! JumpToNextClass()
        normal! /^\s*\zsclass\s
    endfunction
    
    " with ':help search()'
    function! JumpToNextClass()
        call search('^\s*\zsclass\s')
    endfunction
    
    nnoremap <buffer> <silent> [c :<C-u>call JumpToNextClass()<CR>
    

    但这些都不重要,因为 Vim 已经带有 ]][[

    【讨论】:

    • 非常感谢@romainl 分享有关[[ 的信息,但我想知道,是否可以修补此问题并在嵌套定义中运行(在类方法中,它不适用于 python例如)。
    • 默认的 Python ftplugin 已经有一个映射到 [[]] 的函数,我假设它已经针对 Python 进行了调整。该函数已经非常通用,可以轻松提取为更通用的实用函数,您可以随意调整。
    猜你喜欢
    • 2018-07-26
    • 2012-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-21
    • 2018-03-19
    相关资源
    最近更新 更多