add better tmux and nvim navigation
This commit is contained in:
20
.config/nvim/lua/plugins/vim-tmux-navigator.lua
Normal file
20
.config/nvim/lua/plugins/vim-tmux-navigator.lua
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
return {
|
||||||
|
'christoomey/vim-tmux-navigator',
|
||||||
|
cmd = {
|
||||||
|
"TmuxNavigateLeft",
|
||||||
|
"TmuxNavigateDown",
|
||||||
|
"TmuxNavigateUp",
|
||||||
|
"TmuxNavigateRight",
|
||||||
|
"TmuxNavigatePrevious",
|
||||||
|
"TmuxNavigatorProcessList",
|
||||||
|
},
|
||||||
|
keys = {
|
||||||
|
{ "<c-h>", "<cmd><C-U>TmuxNavigateLeft<cr>" },
|
||||||
|
{ "<c-j>", "<cmd><C-U>TmuxNavigateDown<cr>" },
|
||||||
|
{ "<c-k>", "<cmd><C-U>TmuxNavigateUp<cr>" },
|
||||||
|
{ "<c-l>", "<cmd><C-U>TmuxNavigateRight<cr>" },
|
||||||
|
{ "<c-\\>", "<cmd><C-U>TmuxNavigatePrevious<cr>" },
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
end
|
||||||
|
}
|
||||||
@@ -22,6 +22,8 @@ set hidden
|
|||||||
set backspace=indent,eol,start
|
set backspace=indent,eol,start
|
||||||
set hlsearch
|
set hlsearch
|
||||||
set noswapfile
|
set noswapfile
|
||||||
|
set mouse= "remove mouse
|
||||||
|
set clipboard=unnamedplus
|
||||||
|
|
||||||
" Rendering
|
" Rendering
|
||||||
set ttyfast
|
set ttyfast
|
||||||
@@ -53,7 +55,6 @@ au FileType python
|
|||||||
\ softtabstop=4
|
\ softtabstop=4
|
||||||
\ shiftwidth=4
|
\ shiftwidth=4
|
||||||
\ encoding=utf-8
|
\ encoding=utf-8
|
||||||
\ makeprg=flake8\ %
|
|
||||||
|
|
||||||
au FileType markdown
|
au FileType markdown
|
||||||
\ set spell spelllang=en_us
|
\ set spell spelllang=en_us
|
||||||
|
|||||||
@@ -16,19 +16,27 @@ bind-key -T copy-mode-vi v send-keys -X begin-selection
|
|||||||
bind-key -T copy-mode-vi C-v send-keys -X rectangle-toggle
|
bind-key -T copy-mode-vi C-v send-keys -X rectangle-toggle
|
||||||
bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel
|
bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel
|
||||||
|
|
||||||
|
# Smart pane switching with awareness of Vim splits.
|
||||||
|
# See: https://github.com/christoomey/vim-tmux-navigator
|
||||||
|
is_vim="ps -o state= -o comm= -t '#{pane_tty}' \
|
||||||
|
| grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|l?n?vim?x?|fzf)(diff)?$'"
|
||||||
|
bind-key -n 'C-h' if-shell "$is_vim" 'send-keys C-h' 'select-pane -L'
|
||||||
|
bind-key -n 'C-j' if-shell "$is_vim" 'send-keys C-j' 'select-pane -D'
|
||||||
|
bind-key -n 'C-k' if-shell "$is_vim" 'send-keys C-k' 'select-pane -U'
|
||||||
|
bind-key -n 'C-l' if-shell "$is_vim" 'send-keys C-l' 'select-pane -R'
|
||||||
|
tmux_version='$(tmux -V | sed -En "s/^tmux ([0-9]+(.[0-9]+)?).*/\1/p")'
|
||||||
|
if-shell -b '[ "$(echo "$tmux_version < 3.0" | bc)" = 1 ]' \
|
||||||
|
"bind-key -n 'C-\\' if-shell \"$is_vim\" 'send-keys C-\\' 'select-pane -l'"
|
||||||
|
if-shell -b '[ "$(echo "$tmux_version >= 3.0" | bc)" = 1 ]' \
|
||||||
|
"bind-key -n 'C-\\' if-shell \"$is_vim\" 'send-keys C-\\\\' 'select-pane -l'"
|
||||||
|
|
||||||
|
bind-key -T copy-mode-vi 'C-h' select-pane -L
|
||||||
|
bind-key -T copy-mode-vi 'C-j' select-pane -D
|
||||||
|
bind-key -T copy-mode-vi 'C-k' select-pane -U
|
||||||
|
bind-key -T copy-mode-vi 'C-l' select-pane -R
|
||||||
|
bind-key -T copy-mode-vi 'C-\' select-pane -l
|
||||||
|
|
||||||
# VIM like pane moving
|
|
||||||
bind h select-pane -L
|
|
||||||
bind j select-pane -D
|
|
||||||
bind k select-pane -U
|
|
||||||
bind l select-pane -R
|
|
||||||
|
|
||||||
# Remap arrow keys (normally pane switch) to be resize,
|
|
||||||
# which will now be double-mapped with ctrl+arrow
|
|
||||||
bind -r Up resize-pane -U
|
|
||||||
bind -r Down resize-pane -D
|
|
||||||
bind -r Left resize-pane -L
|
|
||||||
bind -r Right resize-pane -R
|
|
||||||
|
|
||||||
set -g renumber-windows on
|
set -g renumber-windows on
|
||||||
set-option -g allow-rename off
|
set-option -g allow-rename off
|
||||||
|
|||||||
3
.gitignore
vendored
3
.gitignore
vendored
@@ -1 +1,2 @@
|
|||||||
nvim/lazy-lock.json
|
.config/nvim/lazy-lock.json
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user