我写了一个Vim小功能,将光标移动到当前行的第一个字符。如果光标已经在第一个字符上,那么光标将移至第一列。我希望状态行中没有显示“:call FirstCharOrFirstCol()”。仅更改为noremap H :silent call…似乎还不够。

评论

只需注意一下:在VimScript文件(即* .vim)中,不需要前导:字符。

#1 楼

您可以通过定义静默映射来静默调用该函数:

noremap <silent> H :call FirstCharOrFirstCol()<cr>


有关更多信息,请参见:h :map-<silent>。特别注意,这将仅确保执行映射时不将命令回显到屏幕。 :silent命令用于使功能本身的输出静音(请参阅:h :silent)。

评论


不错,:silent是我追求的。值得注意的是,如果您的函数中有错误,除非使用!,否则您仍然会收到消息。我没有意识到我将代码置于无效状态,因此以为我没有正确使用:silent,因为它没有使回声静默并且我会在输出中看到错误!

–JonnyRaa
18年8月7日在10:01