vim 的快捷键问题

Vim、Emacs配置和使用
回复
pangding
帖子: 48
注册时间: 2011-03-01 23:14

vim 的快捷键问题

#1

帖子 pangding » 2012-06-27 1:10

在终端里用 vim,map 到 <M-p> 或者 <A-p> 这样的键上好像都不管用。终端的 alt 快捷键已经禁止了,我觉得不是键冲突的原因。同样的映射在 gvim 里到是没问题。
map 到 <Esc>p 上,到是可以用。不过一是,<Esc> 按完之后会进入按键等待,不是太爽。还一个就是按完 <Esc> 之后,本来按比如 p 呀,想粘贴点东西之类的,结果却触发了映射。

大家也遇到过相同的情况吗?有没有解决办法?


另外再问一个不太相关的。执行自己写的 vim 脚本,里面有不少指令会回显出一堆信息。比如 :s 呀,:d 之类的。
如果不关心这些信息的话,除了在脚本里每条语句前都加上 silent 以外,还有别的方法吗?
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: vim 的快捷键问题

#2

帖子 lilydjwg » 2012-06-27 1:29

前一个问题,我是这样做的:

https://github.com/lilydjwg/dotvim/blob ... escalt.vim

这样只需要 map <M-x> 就行了。至于等待的问题,脚本里已经设置了 'ttm' 选项。如果还有问题请仔细看下文档。
PS: 这样做有个问题是,在 Cygwin 命令行中会报错。
头像
fanhe
帖子: 2357
注册时间: 2007-03-24 23:45

Re: vim 的快捷键问题

#3

帖子 fanhe » 2012-06-27 9:00

silent 是最好的方法了
当然你也可以重定向 :h redir
pangding
帖子: 48
注册时间: 2011-03-01 23:14

Re: vim 的快捷键问题

#4

帖子 pangding » 2012-06-27 11:03

lilydjwg 写了:前一个问题,我是这样做的:

https://github.com/lilydjwg/dotvim/blob ... escalt.vim

这样只需要 map <M-x> 就行了。至于等待的问题,脚本里已经设置了 'ttm' 选项。如果还有问题请仔细看下文档。
PS: 这样做有个问题是,在 Cygwin 命令行中会报错。
长知识了,谢谢。
pangding
帖子: 48
注册时间: 2011-03-01 23:14

Re: vim 的快捷键问题

#5

帖子 pangding » 2012-06-27 11:06

fanhe 写了:silent 是最好的方法了
当然你也可以重定向 :h redir
考虑了 :redir。不过即使 :redir 了该输出的还是会输出。
现在发现把不想输出的东西放在一个函数里,脚本里写 :silent call function() 就行了。
回复