为什么不“映射!”:q”在 vim 中工作?

发布于 2024-12-11 20:43:17 字数 93 浏览 0 评论 0原文

我输入 :map!:q 在命令行模式下,然后返回正常模式,按 ctrl-q,但 vim 不退出。为什么?

I input :map! <C-q> :q <CR> in command line mode, then return to normal mode, and press ctrl-q, but vim does not quit. Why?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

妄想挽回 2024-12-18 20:43:17

正如 Johnsyweb 所建议的,Ctrl-Q 首先不会到达 Vim。这也适用于流行的 Ctrl-S。 来修复,因为它会强制这些控制序列到达应用程序。

silent !stty -ixon > /dev/null 2>/dev/null

这两个问题都可以通过添加到 .vimrc

As Johnsyweb suggested, Ctrl-Q does not reach Vim in the first place. This holds for the popular Ctrl-S as well. Both can be fixed by adding

silent !stty -ixon > /dev/null 2>/dev/null

to your .vimrc as it forces these control sequences to reach the application.

笨笨の傻瓜 2024-12-18 20:43:17

为什么有人想要在已有的过多方法中添加另一种退出 Vim 的方法 超出了我的范围。但是...

在 Fedora 15 上,Ctrl-Q 可能会被您的终端捕获为 XON简历 ),因此无法到达 Vim退出应用程序。

您可以检查映射中是否存在错误或冲突,如下所示:

:verbose map! <C-Q>

:map! 用于在 插入命令行模式。

正常模式 映射 (通常)指定如下:

:nmap <C-Q> :q<CR>

Why anyone would want to add yet another way of quitting Vim to the plethora already available is beyond me. However...

On Fedora 15, Ctrl-Q is likely being captured by your terminal as XON (resume) and therefore not reaching Vim to quit the application.

You can check if there's an error in your mapping or a clash like so:

:verbose map! <C-Q>

:map! is for specifing mappings in insert and command-line modes.

normal-mode mappings are (usually) specified like so:

:nmap <C-Q> :q<CR>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文