Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.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:使用Ctrl-P和Ctrl-N进行类似grep的命令行搜索_Vim - Fatal编程技术网

Vim:使用Ctrl-P和Ctrl-N进行类似grep的命令行搜索

Vim:使用Ctrl-P和Ctrl-N进行类似grep的命令行搜索,vim,Vim,基本上,我不想完全使用我的箭头键 但要实现这一点,Ctrl-p需要 在中具有相同的功能 命令行作为我的向上箭头键 例如,我打字 :so 然后我向上按,它就变成这样了 :source $MYVIMRC 但当我按下Ctrl-p时,它只会转到最后一个执行的 命令 有人能帮我吗?非常感谢。在命令模式下,确实“移动到历史记录中与迄今为止输入的字符串匹配的上一个命令” 在命令模式下, 它有两个功能 在具有多种可能性的制表符完成后,它会“显示以前的匹配值”。 可以将其视为向后选项卡。大多数终端不区分Ta

基本上,我不想完全使用我的箭头键

但要实现这一点,Ctrl-p需要 在中具有相同的功能 命令行作为我的向上箭头键

例如,我打字

:so
然后我向上按,它就变成这样了

:source $MYVIMRC
但当我按下Ctrl-p时,它只会转到最后一个执行的 命令

有人能帮我吗?非常感谢。

在命令模式下,确实“移动到历史记录中与迄今为止输入的字符串匹配的上一个命令”

在命令模式下, 它有两个功能

  • 在具有多种可能性的制表符完成后,它会“显示以前的匹配值”。
    可以将其视为向后选项卡。大多数终端不区分Tab和Shift Tab,但它和CTRL-P在Vim的GUI版本中是相同的映射
  • 如果没有前面的制表符完成,它将“移动到历史记录中的上一个命令”(不尝试匹配到目前为止输入的文本)
您可以将CTRL-p重新映射为与您真正想要的相同:

:cmap <C-P> <Up>
:cmap
您可能还希望重新映射CTRL-N:

:cmap <C-N> <Down>
:cmap

非常感谢我一直在寻找的东西。我应该寻找:帮助重新映射命令行。我真傻,非常感谢,这真的很有帮助。
:cmap <C-N> <Down>