GNOME 终端中禁用鼠标的 Neovim 在滚动时会移动光标

问题描述 投票:0回答:1

我在 GNOME 终端中使用 Neovim,并将

mouse=
选项设置为禁用所有鼠标功能。这就是我想要的方式,因为我一般不希望鼠标移动我的光标。

当我使用鼠标滚轮时,无论终端发送什么事件,都会上下移动光标。我宁愿让scrollsheel激活真正的滚动(如

<C-y>
<C-e>
),这就是如果
mouse=a
会发生的情况。请注意,我不想使用
mouse=a
或类似功能启用 Neovim 的鼠标处理。

当我使用鼠标滚轮且 Neovim 的鼠标处理被禁用时,当 Vim 收到终端发送的任何事件时,如何修改 Vim 的行为?

Fedora 下的 Neovim 0.9.1。

vim neovim mousewheel gnome-terminal
1个回答
0
投票

此行为是由终端仿真器将滚动功能映射到箭头键引起的。您可以将以下行添加到配置中以禁用与 Neovim 的所有鼠标交互(对于所有模式):

对于 Lua (

.lua
):

vim.opt.mouse = ""
vim.keymap.set({ "", "!", "t", "l" }, "<up>", "<nop>")
vim.keymap.set({ "", "!", "t", "l" }, "<down>", "<nop>")

要启用“真实滚动”,只需将

<nop>
<c-y>
键的右侧映射(即
c-e
)分别更改为
<up>
<down>

对于 VimL (

.vim
)

set mouse=
map <Up> <nop>
map! <Up> <nop>
tmap <Up> <nop>
lmap <Up> <nop>
map <Down> <nop>
map! <Down> <nop>
tmap <Down> <nop>
lmap <Down> <nop>

要查找存在哪些地图模式,请参阅

:h map-table

© www.soinside.com 2019 - 2024. All rights reserved.