Vim命令行imap问题

Vim命令行imap问题

在 gvim 上我可以使用

imap <C-s> <ESC>:w
imap <C-c> and etc...

但我无法在 vim (终端) 上使用 imap?我如何在终端上使用某些 imap?

答案1

imap 命令在终端中运行良好。问题在于终端对某些控制字符有特殊处理,使用它们来控制终端行为,并且不会将这些字符转发给在终端中运行的应用程序。Ctrl-S 和 Ctrl-Q 通常用于流量控制。Ctrl-C 通常会导致向应用程序发送 INTR(中断)信号。

应用程序可以告诉终端不要特殊处理某些字符,而是转发它们。Vim 会自行处理 Ctrl-C,您应该能够 imap 它。(我刚刚尝试过,它对我有用。)但是,Vim 不会告诉终端转发 Ctrl-S 和 Ctrl-Q,因此您必须自己告诉终端执行此操作。一种方法是在运行 vim 之前在 shell 提示符下执行此命令:

stty -ixon

相关内容