Vim: Map ctrl+pgup and ctrl+pgdn (CTRL+Page Up/Down) key combinations

Viewed 5279

I'm trying to map Vim commands to the ctrl+pgup and ctrl+pgdn key combinations. The vim syntax for these keys does not work (i.e., <PageUp> and <PageDown>, or <C-PageUp> and <C-PageDown>).

Since the default vim syntax doesn't work, I'm guessing that the Terminal isn't sending the character codes for ctrl+pgup and ctrl+pgdn which Vim is expecting. If that's true, I'm not sure how to find out what the literal key codes are. I'm using xfce4-terminal on Arch Linux.

Here's what I've tried:

  1. The usual method:

    map <C-PageUp> :bp<cr>
    
  2. Setting it from the command line with this answer's method: Why <C-PageUp> and <C-PageDown> not work in vim?

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

    When I type the command above in the command line, nothing shows:

    map  :bp<cr>
    

    And Vim says No mapping found.

  3. This method from the 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>
    
  4. A modification of that answer:

    set <C-PageUp>=<type Ctrl-V><type Ctrl+PageUp> "^M
    map <C-PageUp> :bp<cr>
    
  5. After realizing that <type *> was a user command, I did these commands, and vim pasted output. I replaced <type *> with this output:

    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>
    
  6. Trying all of the methods in 5, but without setting an option first. E.g.:

    map <C-[[5~> :bp<cr>
    
  7. The method from this answer: https://groups.google.com/forum/#!topic/vim_use/j85-2xQkb7s

    map [5~ :bp<cr>
    
  8. The method from this answer: https://superuser.com/questions/322983/how-to-let-ctrl-page-down-switch-tabs-inside-vim-in-terminal-app

     map \033[5;5~ :bp<cr>
    
  9. Setting different term options:

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

    My $TERM environment variable is set to xterm.

  10. Using some of the methods which this answer hints at: https://superuser.com/questions/480215/how-to-map-pagedown-and-pageup-keys-to-function-normally

     map <Esc>[5~ :bp<cr>
     map <kpp> :bp<cr>
    
  11. Trying everything above with a file under .vim/after/plugin/ instead of in .vimrc.
  12. Trying everything above with :MBEbp instead of :bp.

What else can I try?

2 Answers
Related