File tree Expand file tree Collapse file tree 2 files changed +22
-0
lines changed Expand file tree Collapse file tree 2 files changed +22
-0
lines changed Original file line number Diff line number Diff line change @@ -4555,6 +4555,26 @@ If ARG is empty, maximize the current window height."
4555
4555
slist (cdr slist)))
4556
4556
(select-window (cadr (window-list ))))))
4557
4557
4558
+ (evil-define-command evil-window-exchange (count )
4559
+ " Without COUNT: exchange current window with next one.
4560
+ With COUNT: Exchange current window with COUNTth window."
4561
+ :repeat nil
4562
+ (interactive " <c>" )
4563
+ (let ((this-buffer (window-buffer )))
4564
+ (if (not count)
4565
+ (let ((next-buffer (window-buffer (next-window ))))
4566
+ (switch-to-buffer next-buffer nil t )
4567
+ (select-window (next-window ))
4568
+ (switch-to-buffer this-buffer nil t ))
4569
+ (let (other-window other-buffer)
4570
+ (save-window-excursion
4571
+ (evil-window-next count)
4572
+ (setq other-window (selected-window )
4573
+ other-buffer (window-buffer )))
4574
+ (switch-to-buffer other-buffer nil t )
4575
+ (select-window other-window)
4576
+ (switch-to-buffer this-buffer nil t )))))
4577
+
4558
4578
(evil-define-command evil-window-move-very-top ()
4559
4579
" Closes the current window, splits the upper-left one horizontally
4560
4580
and redisplays the current buffer there."
Original file line number Diff line number Diff line change 142
142
(define-key evil-window-map " v" 'evil-window-vsplit )
143
143
(define-key evil-window-map " w" 'evil-window-next )
144
144
(define-key evil-window-map " W" 'evil-window-prev )
145
+ (define-key evil-window-map " x" 'evil-window-exchange )
145
146
(define-key evil-window-map " +" 'evil-window-increase-height )
146
147
(define-key evil-window-map " -" 'evil-window-decrease-height )
147
148
(define-key evil-window-map " :" 'evil-ex )
177
178
(define-key evil-window-map " \C -v" 'evil-window-vsplit )
178
179
(define-key evil-window-map " \C -w" 'evil-window-next )
179
180
(define-key evil-window-map (kbd " C-S-W" ) 'evil-window-prev )
181
+ (define-key evil-window-map " \C -x" 'evil-window-exchange )
180
182
(define-key evil-window-map " \C -_" 'evil-window-set-height )
181
183
(define-key evil-window-map [C-down] 'evil-window-down )
182
184
(define-key evil-window-map [C-up] 'evil-window-up )
You can’t perform that action at this time.
0 commit comments