由于默认的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>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。