Terminal's default preferences map Shift-Page Up and Shift-Page Down to the character sequences that tell programs like Vim and Emacs to scroll (
ESC [ 5 ~ and
ESC [ 6 ~).
If you want these keys to send character sequences to the terminal without the Shift modifier, you can customize the keyboard map:
Terminal > Preferences > Settings > [profile] > Keyboard
If you do this, I recommend you invert the meaning of the Shift modifier for these keys by swapping the mappings for the shifted and unshifted keys, so that the alternative behaviors are still available. Also, see the View menu, which contains scrolling commands that use the Command modifier so they're available regardless of the terminal keyboard map.
Similarly, Shift-Home and Shift-End are mapped to move to the start/end of the current line (
ESC [ H and
ESC [ F). These sequences are understood by Bash, but you may have to customize Vim to understand them, or edit the mappings specifically for Vim. Vim, Emacs, and some other programs send an escape sequence to put the terminal into “Application Cursor Mode”, where the Home/End keys send
ESC O H and
ESC O F, but Terminal (as of 10.9) does not implement this behavior. So you may wish to change the keyboard map to send these other codes instead (Bash also understands them). (On other OSes, Home and End are used for start/end of line, so Terminal provides them with the Shift modifier for symmetry.)
Control-Left Arrow and Control-Right Arrow are also mapped to "move to start/end of line" sequences by default, though they're different from the ones mapped to Shift-Home and Shift-End. Instead, they're mapped to the Emacs- and Bash-compatible sequences
ESC [ 5 D and
ESC [ 5 C. Assuming these aren't in use by Vim, the simplest approach would be to customize Vim to accept these, using ~/.vimrc.
Note that in more-recent versions of macOS, Terminal no longer has explicit mappings for Home and End in the preferences by default. Instead, it has a dynamic behavior where the keys automatically map to start/end-of-line when the alternate screen is active—e.g., when using a full-screen application like emacs, vim, screen or tmux. When using a line-oriented program like a shell on the main screen, they continue to scroll the terminal view by default. The Shift modifier inverts the behavior.