3 votes

vim-tmux-navigator pour utiliser le préfixe tmux à la place de C-[hjkl]

J'ai installé vim-tmux-navigator du côté de tmux et du côté de vim et je peux naviguer entre les volets de vim et les fenêtres de tmux en utilisant Ctrl-[hjkl]

MAIS : Cela signifie que les raccourcis de readline (ou bash ?) sont écrasés, par ex. Ctrl-k (supprimer jusqu'à la fin de la ligne), que je veux utiliser.

Toutes mes tentatives de remapper les clés pour qu'elles nécessitent le préfixe tmux, par ex. Ctrl-b [hjkl] vim-tmux-navigator ont échoué.

Quelqu'un a-t-il une solution à ce problème ?

Note : J'utilise C-b comme exemple, pour lequel il y a une bonne solution ci-dessous. J'ai utilisé C-Space, ce qui complique un peu les choses.

4voto

Bob2Chiv Points 945

Oui, il est possible de remapper les raccourcis clavier afin d'utiliser <C-b> (votre préfixe tmux) suivi de [hjkl] pour changer de volet, et \ pour passer au volet précédent.

Notez que vous devez configurer cela à la fois dans Vim et dans tmux.

C'est le Configuration de Vim pour ces combinaisons de touches :

let g:tmux_navigator_no_mappings = 1

nnoremap <silent> <C-b>h :TmuxNavigateLeft<cr>
nnoremap <silent> <C-b>j :TmuxNavigateDown<cr>
nnoremap <silent> <C-b>k :TmuxNavigateUp<cr>
nnoremap <silent> <C-b>l :TmuxNavigateRight<cr>
nnoremap <silent> <C-b>\ :TmuxNavigatePrevious<cr>

Ajoutez ces lignes à votre .vimrc .

Et dans votre .tmux.conf utilisez le extrait (pas le TPM) pour le configurer, puis changez les liaisons principales en :

bind-key h if-shell "$is_vim" "send-keys C-b h"  "select-pane -L"
bind-key j if-shell "$is_vim" "send-keys C-b j"  "select-pane -D"
bind-key k if-shell "$is_vim" "send-keys C-b k"  "select-pane -U"
bind-key l if-shell "$is_vim" "send-keys C-b l"  "select-pane -R"
bind-key \ if-shell "$is_vim" "send-keys C-b \\" "select-pane -l"

(En bref, supprimez le C- et aussi la -n ce qui les fait fonctionner sans préfixe. Ensuite, mettez à jour le send-keys pour envoyer les clés attendues par Vim, qui sont les mêmes, avec le préfixe).

Vous pourriez vouloir mettre à jour le copy-mode-vi mais les touches que vous souhaitez utiliser ne sont pas claires, car aucun "préfixe" n'est activé dans ce mode... Vous devriez peut-être réfléchir à ce sujet.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X