如何在CtrlP提示符下自定义映射-VIM

Whitesiroi

我正在使用ctrlP插件。

根据ctrlp的文档,我应该能够像这样重新映射

  let g:ctrlp_prompt_mappings = { 'PrtSelectMove("k")': ['<c-u>', '<up>'] }
  let g:ctrlp_prompt_mappings = { 'PrtSelectMove("j")': ['<c-d>', '<down>'] }
  let g:ctrlp_prompt_mappings = { 'PrtDelete()'       : ['<c-k>', '<del>'] }
  let g:ctrlp_prompt_mappings = { 'PrtExit()'         : ['<c-l>', '<esc>'] }

但这是行不通的,我尝试了几种变体-仍然得到相同的结果。

我想重新映射这四行(来自doc):

\ 'PrtDelete()':          ['<del>'],
\ 'PrtSelectMove("j")':   ['<c-j>', '<down>'],
\ 'PrtSelectMove("k")':   ['<c-k>', '<up>'],
\ 'PrtExit()':            ['<esc>', '<c-c>', '<c-g>'],

+++更新+++

  let g:ctrlp_prompt_mappings = {
  \ 'PrtDelete()': ['<c-k>', '<del>'],
  \ 'PrtExit()': ['<esc>', '<c-l>', '<c-g>'],
  \ 'PrtSelectMove("k")': ['<c-u>', '<up>'],
  \ 'PrtSelectMove("j")': ['<c-d>', '<down>'],
  \}

<c-u>起作用。<c-k>, <c-l>, <c-d>不起作用。

当我做 :echo g:ctrlp_prompt_mappings

{'PrtDelete()': ['<c-k>', '<del>'], 'PrtSelectMove("j")': ['<c-d>', '<down>'], 'PrtExit()': ['<esc>', '<c-l>', '<c-g>'], 'PrtSelectMove("k")': ['<c-u>', '<up>']}

+++更新2 +++

  let g:ctrlp_prompt_mappings = {
  \ 'PrtExit()':   ['<c-l>', '<esc>'],
  \ 'PrtSelectMove("k")': ['<c-u>', '<up>'],
  \ 'PrtSelectMove("j")': ['<c-d>', '<down>'],
  \ 'PrtBS()': ['<c-k>', '<bs>', '<c-]>'],
  \ 'ToggleByFname()': [''],
  \ 'PrtCurRight()': ['<right>'],
  \}

一切正常。<c-l>, <c-d>)开始工作,因为我将其从

  \ 'ToggleByFname()':      [''],
  \ 'PrtCurRight()':        ['<right>'],
挂载

如果您将建议的解决方案复制到剪贴板,

  let g:ctrlp_prompt_mappings = { 'PrtSelectMove("k")': ['<c-u>', '<up>'] }
  let g:ctrlp_prompt_mappings = { 'PrtSelectMove("j")': ['<c-d>', '<down>'] }
  let g:ctrlp_prompt_mappings = { 'PrtDelete()'       : ['<c-k>', '<del>'] }
  let g:ctrlp_prompt_mappings = { 'PrtExit()'         : ['<c-l>', '<esc>'] }

,然后使用进行“源”处理:@+,您会发现实际上是将变量覆盖了3次,因此仅保留了最后一行:

:echo g:ctrlp_prompt_mappings

output: {'PrtExit()': ['<c-l>', '<esc>']}

如果遵循文档中描述的模式,那就更好了:

 *'g:ctrlp_prompt_mappings'*
Use this to customize the mappings inside CtrlP's prompt to your liking. You
only need to keep the lines that you've changed the values (inside []): >
let g:ctrlp_prompt_mappings = {
\ 'PrtBS()': ['<bs>', '<c-]>'],
\ 'PrtDelete()': ['<del>'],
\ 'PrtDeleteWord()': ['<c-w>'],
\ 'PrtClear()': ['<c-u>'],
\ 'PrtSelectMove("j")': ['<c-j>', '<down>'],
\ 'PrtSelectMove("k")': ['<c-k>', '<up>'],
...
\}

每个大括号包含一个字典。您的方法定义了四个不同的字典,并将它们全部分配给同一个变量,而文档描述的形式定义了一个具有多个键/值对的字典。检查:help dict更多信息。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Vim CtrlP中自定义线条突出显示颜色?

来自分类Dev

Vim的“ Press Enter”提示符下的映射键

来自分类Dev

如何自定义zsh的vim模式?

来自分类Dev

在 zsh 提示符下自定义主机名

来自分类Dev

如何在VIM中打开Windows命令提示符到活动文件的当前目录?

来自分类Dev

编写vim插件时,如何为用户的自定义映射做好准备?

来自分类Dev

如何自定义命令提示符?

来自分类Dev

如何在Windows中打开“自定义”命令提示符?

来自分类Dev

如何在终端命令提示符的开头添加自定义形状?

来自分类Dev

如何在VIM中定义自定义RGB背景颜色?

来自分类Dev

如何在VIM中定义自定义RGB背景颜色?

来自分类Dev

如何从Windows Run(Win + R)打开最大化的Vim /命令提示符?

来自分类Dev

如何在后台首次运行/调用CtrlP-VIM

来自分类Dev

如何为Python开发自定义vim Windows?

来自分类Dev

如何在Vim for Java源文件中设置自定义延续行缩进

来自分类Dev

自定义Vim配色方案

来自分类Dev

自定义Vim配色方案

来自分类Dev

自定义vim突出显示

来自分类Dev

Vim制作自定义宏或命令

来自分类Dev

vim中的简单自定义语法

来自分类Dev

使用Vim运行自定义命令

来自分类Dev

vim自定义弹出菜单

来自分类Dev

如何在Vim中使用循环来定义多个映射

来自分类Dev

如何在Vim映射列表中搜索?

来自分类Dev

如何在Vim中映射<leader> char?

来自分类Dev

如何在Vim中映射命令?

来自分类Dev

Emmet-vim的Vim键映射

来自分类Dev

命令提示符自定义代码错误

来自分类Dev

vim:我可以仅使用键盘从vim复制文本并将其粘贴到shell提示符吗?