File tree Expand file tree Collapse file tree 3 files changed +21
-3
lines changed Expand file tree Collapse file tree 3 files changed +21
-3
lines changed Original file line number Diff line number Diff line change @@ -1510,7 +1510,10 @@ Save in REGISTER or in the kill-ring with YANK-HANDLER."
1510
1510
;; Special exceptions to ever saving column:
1511
1511
(not (memq evil-this-motion '(evil-forward-word-begin
1512
1512
evil-forward-WORD-begin))))
1513
- (move-to-column evil-operator-start-col))))
1513
+ (move-to-column (if (and (eq most-positive-fixnum temporary-goal-column)
1514
+ (memq last-command '(next-line previous-line)))
1515
+ temporary-goal-column
1516
+ evil-operator-start-col)))))
1514
1517
1515
1518
(evil-define-operator evil-delete-line (beg end type register yank-handler)
1516
1519
"Delete to end of line."
@@ -1526,7 +1529,13 @@ Save in REGISTER or in the kill-ring with YANK-HANDLER."
1526
1529
(let ((temporary-goal-column most-positive-fixnum)
1527
1530
(last-command 'next-line))
1528
1531
(evil-delete beg end 'block register yank-handler))
1529
- (evil-delete beg end type register yank-handler))))
1532
+ (evil-delete beg end type register yank-handler)
1533
+ (evil-first-non-blank)
1534
+ (when (and (not evil-start-of-line) evil-operator-start-col)
1535
+ (move-to-column (if (and (eq most-positive-fixnum temporary-goal-column)
1536
+ (memq last-command '(next-line previous-line)))
1537
+ temporary-goal-column
1538
+ evil-operator-start-col))))))
1530
1539
1531
1540
(evil-define-operator evil-delete-whole-line
1532
1541
(beg end type register yank-handler)
Original file line number Diff line number Diff line change 389
389
(define-key evil-visual-state-map " R" 'evil-change-whole-line )
390
390
(define-key evil-visual-state-map " u" 'evil-downcase )
391
391
(define-key evil-visual-state-map " U" 'evil-upcase )
392
+ (define-key evil-visual-state-map " X" 'evil-delete-line )
392
393
(define-key evil-visual-state-map " z=" 'ispell-word )
393
394
(define-key evil-visual-state-map " a" evil-outer-text-objects-map)
394
395
(define-key evil-visual-state-map " i" evil-inner-text-objects-map)
Original file line number Diff line number Diff line change @@ -2135,7 +2135,7 @@ then enter the text in that file's own buffer."))
2135
2135
";; This <buffe[r]> is for notes,
2136
2136
and for Lisp evaluation."
2137
2137
("D")
2138
- "[a]nd for Lisp evaluation ."))
2138
+ "and for Lisp [e]valuation ."))
2139
2139
(ert-info ("Act on each line of block selection")
2140
2140
(evil-test-buffer
2141
2141
:visual block
@@ -2218,6 +2218,14 @@ ine3 line3 line3 l\n"))
2218
2218
("\C-w")
2219
2219
"alpha [b]ravo charlie delta")))
2220
2220
2221
+ (ert-deftest evil-test-visual-X ()
2222
+ "Test `X' in visual state."
2223
+ :tags '(evil)
2224
+ (evil-test-buffer
2225
+ "This is line one\nThis is lin[e] two\nThis is line three"
2226
+ ("v$oX")
2227
+ "This is line one\nThis is lin[e] three"))
2228
+
2221
2229
(ert-deftest evil-test-delete-back-to-indentation ()
2222
2230
"Test `evil-delete-back-to-indentation' in insert & replace states."
2223
2231
:tags '(evil)
You can’t perform that action at this time.
0 commit comments