Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
vim中不区分大小写的f键?_Vim - Fatal编程技术网

vim中不区分大小写的f键?

vim中不区分大小写的f键?,vim,Vim,是否有人知道如何在vim正常命令模式下使“f”键不区分大小写运行 范例 function! OpenCurrentFileInMarked() 在上面的行中,如果我在行的开头,我希望能够键入'fi',得到第一个'I',然后是';'在函数名中间切换到首都“i”。我更希望“f”键总是与大小写无关。默认情况下,对我来说会更好 常规vim命令无法执行此操作。但是,您可以将f键绑定到它。这里的简单答案是:使用插件。其他人以前也有过这个想法 :跨行查找字符 此插件的主要目的是使f和t跨越行边界 要使它

是否有人知道如何在vim正常命令模式下使“f”键不区分大小写运行

范例

function! OpenCurrentFileInMarked()

在上面的行中,如果我在行的开头,我希望能够键入'fi',得到第一个'I',然后是';'在函数名中间切换到首都“i”。我更希望“f”键总是与大小写无关。默认情况下,对我来说会更好

常规vim命令无法执行此操作。但是,您可以将f键绑定到它。

这里的简单答案是:使用插件。其他人以前也有过这个想法

  • :跨行查找字符

    此插件的主要目的是使
    f
    t
    跨越行边界

    要使它们忽略大小写,您需要
    在vimrc中设置g:fanfingtastic_ignorecase=1

  • :改进的f/t命令

    这里也一样

    要使其忽略大小写,您需要再次在vimrc中设置一个变量,这一次
    让g:ft\u improved\u ignorecase=1

本手册的第一部分(不区分大小写f)实际上在参考手册中作为如何使用
getchar()函数的示例:

此示例重新定义“f”以忽略大小写:

:nmap f :call FindChar()<CR>
:function FindChar()
:  let c = nr2char(getchar())
:  while col('.') < col('$') - 1
:    normal l
:    if getline('.')[col('.') - 1] ==? c
:      break
:    endif
:  endwhile
:endfunction
:nmap f:callfindchar()
:函数FindChar()
:设c=nr2char(getchar())
:while col('.')
请参阅
:help getchar()


您需要保存返回的字符,并为其编写类似的映射;如果你想让它也起作用的话。

谢谢你给我指出
f
组合键。我甚至不知道那个;)。另请参见vi.SE上的Q/A:注意:仅为
f
命令创建一个函数将削弱部分
命令。我打开编写器,因为它们的功能对大小写不敏感,因为:1)我重新映射;to:为了更方便地访问命令模式,2)他们已经在将f、f、t、t移动到一个函数中时遇到了麻烦,所以它可能是eay。还有一个:。我更喜欢它,因为我设法使用自定义键而不是f/t。