bufread,bufnew keymaps修改电流缓冲液,而不是在neovim和vim中打开的缓冲区

发布于 2025-01-27 19:50:59 字数 1155 浏览 5 评论 0原文

我无法弄清楚为什么我的c ++文件缓冲区中的keymaps被 in 文件中的规则覆盖。我虽然bufread打开新文件后执行,对吗?

我有以下vimrc配置:

autocmd FileType cpp
    \  nnoremap <buffer> <f5> :up<cr>:!g++ -Wall -Wextra -Wshadow -Wno-sign-conversion -O2 -o a.out % && ./a.out < in<cr>
    \| nnoremap <buffer> <f6> :split in<cr>

autocmd BufRead,BufNew in
    \  nnoremap <buffer> <f5> :up<cr>:!./a.out < in<cr>
    \| nnoremap <buffer> <f6> :wq<cr>
    \| echom "in file loaded " . winbufnr(0)

f6之后的VIM输出(:Mess):

in file loaded 1
in file loaded 2

f6之后的NVIM输出:

in file loaded 1

按下F6之前没有输出。

当我在中打开文件从test.cpp(通过F6或Direct :sp)中打开时,C ++ keymaps不再存在,从test.cpp :

:nnoremap <buffer>

n  <F6>        *@:wq<CR>                                               
n  <F5>        *@:up<CR>:!./a.out < in<CR>

我的其他f5其他文件的keymaps工作正常。任何帮助都将受到赞赏

I can't scratch my head around why my keymaps in C++ file buffer are getting overwritten by rules for in file. I though BufRead executes after opening new file, right?

I have the following vimrc configuration:

autocmd FileType cpp
    \  nnoremap <buffer> <f5> :up<cr>:!g++ -Wall -Wextra -Wshadow -Wno-sign-conversion -O2 -o a.out % && ./a.out < in<cr>
    \| nnoremap <buffer> <f6> :split in<cr>

autocmd BufRead,BufNew in
    \  nnoremap <buffer> <f5> :up<cr>:!./a.out < in<cr>
    \| nnoremap <buffer> <f6> :wq<cr>
    \| echom "in file loaded " . winbufnr(0)

Output in vim after F6 (:mess):

in file loaded 1
in file loaded 2

Output in Nvim after F6:

in file loaded 1

There is no output before pressing F6.

When I open file in from test.cpp (either through F6 or direct :sp), C++ keymaps are no longer there, from test.cpp:

:nnoremap <buffer>

n  <F6>        *@:wq<CR>                                               
n  <F5>        *@:up<CR>:!./a.out < in<CR>

My other F5 keymaps for other files are working just fine. Any help is appreciated

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

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

发布评论

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

评论(1

(り薆情海 2025-02-03 19:50:59

BufNewFile事件替换,它可以按预期工作

Replaced BufNew with BufNewFile event and it works as expected

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