You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何禁用Neovim中S-Up触发PgUp、S-Down触发PgDown的默认行为

解决Neovim中/默认映射为PgUp/PgDown的问题

核心原因

Neovim的终端UI默认会将<S-Up>和<S-Down>这类修饰键组合转译为<PageUp>/<PageDown>,这属于终端输入处理层面的行为,并非普通Vim映射,因此unmap命令无法生效。

具体解决方法

在Neovim配置文件(init.vim或init.lua)中添加对应配置:

VimScript(适用于init.vim)

" 禁用<S-Up>转译为PgUp
tnoremap <S-Up> <S-Up>
" 禁用<S-Down>转译为PgDown
tnoremap <S-Down> <S-Down>

Lua(适用于init.lua)

-- 禁用<S-Up>转译为PgUp
vim.keymap.set('t', '<S-Up>', '<S-Up>')
-- 禁用<S-Down>转译为PgDown
vim.keymap.set('t', '<S-Down>', '<S-Down>')

原理说明

通过在终端模式(t模式)下将<S-Up>/<S-Down>映射回自身,强制Neovim保留原始按键序列,不再自动转译为翻页键。完成配置后,即可在普通/插入等模式下自定义这两个按键的映射。

验证方式

配置生效后,在Neovim中执行:verbose tnoremap <S-Up>,若能看到自己设置的映射,说明配置成功,此时按下<S-Up>不会再触发PgUp的行为。

内容的提问来源于stack exchange,提问作者RodolfoAP

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 12:42:33