繁体   English   中英

Vim功能在终端Vim中不响应

[英]Vim function won't respond in terminal vim

我偶然发现了一个与Textmate中的功能相似的功能。

这将显示当前单词的突出显示组。

一切在gvim中都可以正常运行,但是在使用vim时不会得到输出,这让我感到困惑。

这是相关的部分:

nmap <C-S-P> :call <SID>SynStack()<CR>
function! <SID>SynStack()
  if !exists("*synstack")
    return
  endif
  echo map(synstack(line('.'), col('.')), 
  \       'synIDattr(v:val, "name")')
endfunc$

我的问题是,为什么它会这样,以及如何解决(如果可能)-.-

感谢您能提供的任何帮助。

问题是这一行:

nmap <C-S-P> :call <SID>SynStack()<CR>

它要求VIM到呼叫控制小号 HIFT p映射到SynStack宏。 但是,最终使用ASCII字符和ECMA-48控制序列的诸如xterm之类的终端无法将它们区别对待:

  • 呼叫控制小号 HIFT P
  • 呼叫控制小号 HIFT p
  • 呼叫控制P
  • 呼叫控制p

它们全部作为控件 P进入(忽略大小写)。 gvim在不同的环境中工作,在该环境中,可以将大多数修饰符组合区分开。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM