gpt4 book ai didi

vim - 在VIM中,如何避免执行长命令后出现回车提示?

转载 作者:行者123 更新时间:2023-12-02 19:55:27 26 4
gpt4 key购买 nike

我正在编写我的 vimrc 文件并执行一些 onoremap ,如下所示:

onoremap i@ :<c-u>execute "normal! /\\w\\+@\\w\\+\\.[0-9a-zA-Z.]\\+\r:nohlsearch\rvf@h"<CR>

对于这个,我映射了 i@ 对“下一个类似电子邮件的字符串的用户名”进行一些操作。它在足够大的 vim 窗口中运行良好。然而,当我在一个相对较小的 vim 窗口上测试它时,例如,点击 ci@ 来快速更改下一个类似电子邮件的字符串的用户名,此执行需要先按回车键才能继续我真的可以“改变”。这有点糟糕,因为我可能经常在非常小的窗口中执行 vim 操作。

我认为这里的回车提示是由于执行搜索命令时消息太长造成的。我在 google 上搜索了解决方案,我知道我可以在 vim 中设置 shortmess 标志来使消息更短或增加命令行显示的高度。但我认为这些解决方案并不是本质

此外,我不想省略外部命令行输出。 是否有某种方法可以完全避免仅因“消息空间不足”而导致的敲击输入提示?

或者我可以通过某种方式更改我的 onoremap 代码来满足此需求吗?

非常感谢:)

(谷歌解决方案:Avoiding the "Hit ENTER to continue" prompts)

编辑:我说的是“vim窗口”,但实际上问题并不是由于“vim中的窗口”很小而提示的,而是“vim在一个小终端显示中”。如果您分割了一个小 Vim 窗口,但仍然有一个长消息栏,则不会出现按回车提示。

最佳答案

Is there some way to totally avoid hit-enter prompts that are caused only by "not enough message space"?

没有。只有“更多提示”才能完全禁用。请参阅:help hit-enter .

I believe the hit-enter prompt here was caused by the too long message when executing the search command.

我猜,不是长度而是消息数量:一条消息用于回显映射,另一条消息用于 /输出。

尝试使用silent像这样:

onoremap <silent>i@ :<c-u>silent! execute ...

第一个<silent>抑制“echo”,第二个抑制命令的输出。

关于vim - 在VIM中,如何避免执行长命令后出现回车提示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57197024/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com