系统相关
首页 > 系统相关> > linux – Vim:映射ctrl pgup和ctrl pgdn(CTRL Page Up / Down)组合键

linux – Vim:映射ctrl pgup和ctrl pgdn(CTRL Page Up / Down)组合键

作者:互联网

我正在尝试将Vim命令映射到ctrl pgup和ctrl pgdn组合键.这些密钥的vim语法不起作用(即< PageUp>和< PageDown>,或< C-PageUp>和< C-PageDown>).

由于默认的vim语法不起作用,我猜测终端没有发送Vtrl所期望的ctrl pgup和ctrl pgdn的字符代码.如果这是真的,我不知道如何找出文字键码是什么.我在Arch Linux上使用xfce4-terminal.

这是我尝试过的:

>通常的方法:

map <C-PageUp> :bp<cr>

>使用此答案的方法从命令行设置它:Why <C-PageUp> and <C-PageDown> not work in vim?

:map <CTRL-V><CTRL-PAGEUP> :bp<cr>

当我在命令行中键入上面的命令时,没有显示:

map  :bp<cr>

Vim说找不到映射.
>这个方法来自Vim wiki:http://vim.wikia.com/wiki/Mapping_keys_in_Vim_-Tutorial(Part_2)#Key_notation

set <PageUp>=<type Ctrl-V><type PageUp> "^[[5~
map <C-PageUp> :bp<cr>

>对答案的修改:

set <C-PageUp>=<type Ctrl-V><type Ctrl+PageUp> "^M
map <C-PageUp> :bp<cr>

>在意识到< type *>之后是一个用户命令,我做了这些命令,以及vim粘贴输出.我替换了< type *>使用此输出:

set <PageUp>=^[[5~
map <C-PageUp> :bp<cr>
" Also:
set <PageUp>=[[5~
map <C-PageUp> :bp<cr>
" Also:
set <PageUp>=<^[[5~>
map <C-PageUp> :bp<cr>
" Also:
set <PageUp>=<[[5~>
map <C-PageUp> :bp<cr>
" Also:
set <C-PageUp>=^M
map <C-PageUp> :bp<cr>
" Also:
set <C-PageUp>=<^M>
map <C-PageUp> :bp<cr>

>尝试5中的所有方法,但不先设置选项.例如.:

map <C-[[5~> :bp<cr>

>这个答案的方法:https://groups.google.com/forum/#!topic/vim_use/j85-2xQkb7s

map [5~ :bp<cr>

>这个答案的方法:https://superuser.com/questions/322983/how-to-let-ctrl-page-down-switch-tabs-inside-vim-in-terminal-app

 map \033[5;5~ :bp<cr>

>设置不同的术语选项:

 set term=xterm
 " Also:
 set term=xterm-256color

我的$TERM环境变量设置为xterm.
>使用此答案提示的一些方法:https://superuser.com/questions/480215/how-to-map-pagedown-and-pageup-keys-to-function-normally

 map <Esc>[5~ :bp<cr>
 map <kpp> :bp<cr>

>尝试使用.vim / after / plugin /下的文件而不是.vimrc中的所有内容.
>尝试上面的所有内容:MBEbp而不是:bp.

我还能尝试什么?

解决方法:

好吧,我明白了.我忽视了一些非常简单的事情,这通常适用于我.

ctrlpgup和ctrlpgdn已经是xfce4-terminal本身的键盘快捷键(用于切换终端选项卡).为了允许Vim使用这些组合键,终端本身不能使用它们.所以这是xfce4-terminal的一个问题,而不是Vim.

可以使用此处描述的方法取消设置xfce4-terminal快捷方式:
https://unix.stackexchange.com/questions/159979/xfce4-terminal-disable-individual-shortcut

简而言之,这是一个过程:

>打开设置(xfce4-settings-manager),转到外观>设置和切换启用可编辑加速器.
>编辑/创建〜/ .gtkrc-2.0并将此行追加到文件中:

gtk-can-change-accels=1

>打开xfce4终端窗口,然后在同一窗口中打开另一个选项卡.
>突出显示标签>在上一个选项卡上,按退格键,然后键入新的键盘组合.
>使用Tabs>重复步骤4下一个标签.
>将此命令放在.vimrc中:

map <C-PageUp> :bp<cr>

标签:linux,vim,terminal,key-bindings,xterm
来源: https://codeday.me/bug/20190519/1135514.html