Screen Command Disable the Control Key Ctrl-A to Use It in Vim

How to enter ^A in screen command

Gnu screen documents how to use its command key Ctrl-A, check the exception in "5.1 Default Key Bindings" section of the documentation:

https://www.gnu.org/software/screen/manual/screen.html#Default-Key-Bindings

5.1 Default Key Bindings

As mentioned previously, each keyboard command consists of a C-a followed by one other character. For your convenience, all commands that are bound to lower-case letters are also bound to their control character counterparts (with the exception of C-a a; see below).

C-a a
(meta)
Send the command character (C-a) to window.

So, press Ctrl-A then A to send Ctrl-A signal into program running inside the gnu screen.

Using Ctrl-A in Vim command line to increment a number

You have to use normal to execute normal mode commands in command mode:

:g/searchString/ normal ^A

Note that you have to press Ctrl-VCtrl-A to get the ^A character.

How do I disable the Press ENTER or type command to continue prompt in Vim?

Found out one workaround: Add an extra <CR>
to the map command.

map <F5> :wall!<CR>:!sbcl --load foo.cl<CR><CR>

Remap CTRL-A in command line mode

This works for me; note that in the terminal, Ctrl-S and Ctrl-Q are special sequences for flow control. See here for how to unconfigure that, or use another left-hand side for your mapping, e.g. <C-g>.

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

Alright, I figured it out. I was overlooking something extremely simple, which is usually the case for me.

ctrlpgup and ctrlpgdn were already keyboard shortcuts in xfce4-terminal itself (for switching Terminal tabs). In order to allow Vim to use these key combinations, they cannot be used by the Terminal itself. So this was an issue with xfce4-terminal, not Vim.

xfce4-terminal shortcuts can be unset with the method described here:
https://unix.stackexchange.com/questions/159979/xfce4-terminal-disable-individual-shortcut

In short, here's the process:

  1. Open ~/.config/xfce4/terminal/accels.scm and uncomment/edit the lines:

    (gtk_accel_path "<Actions>/terminal-window/next-tab" "")
    (gtk_accel_path "<Actions>/terminal-window/prev-tab" "")

    (You can verify this change by opening a new window and clicking Tabs in the Menubar: The Previous Tab and Next Tab items should no longer display shortcuts to their right.)

  2. Put this command in .vimrc:

    map <C-PageUp> :bp<CR>
    map <C-PageDown> :bn<CR>

    Consider nmap instead, to restrict the shortcut to NORMAL mode.

How can I temporarily make the window I'm working on to be fullscreen in vim?

If I understand what you're asking, I think you'll find the ZoomWin plugin helpful (GitHub). If you've got a bunch of split windows, and you want to temporarily make the current window the only visible one, you can hit <C-w>o. When you want to revert to the previous split state, hit <C-w>o again.

[Edit] Note on key mappings:

The default key mapping for this plugin is <C-w>o, but that conflicts with a default Vim key mapping. By default, that does :only, which makes the current window the only window. If you'd like to retain that functionality, you can remap ZoomWin to another key. I remap it to <C-w>w, because I like to use the :only option as well. Here's my mapping:

nnoremap <silent> <C-w>w :ZoomWin<CR>

Note that this also overrides a default Vim mapping, related to moving to other visible windows (:help CTRL-W_w), but I never used that one anyway.

How to disable keybinding in Tmux

First of all, I would say that the Ctrl-S (suspend the output) "feature" doesn't belong to tmux. The Ctrl+S and Ctrl+Q is actually the XON/XOFF protocol. It lives with Unix/linux for long time.

You can disable it by:

stty -ixon

or

stty stop undef

you could check by stty -a before and after the change. easier is, try the commands above, and press Ctrl-S to see if it worked.

good luck.



Related Topics



Leave a reply



Submit