Evil-emacs:最後に貼り付けたテキスト(gvなど)を選択する方法は?


7

最後に貼り付けたテキストを視覚的に選択するにはどうすればよいevil-emacsですか?

gv最後のビジュアル選択を再選択します。最後に貼り付けたテキストと同じ機能/スニペットが欲しいのですが。


パッケージを書いてくれる人を求めているようです...
wasamasa

このような存在が必要だと思っていました。その時は自分でやってみます。
Unfun Cat

回答:


5

私の.vimrc中で

nnoremap <leader>v '[V']

正確にこれを行うには。

驚くべきことに、シーケンス'[V']は問題evilなく動作します。Emacsにショートカットを作成するために、次の関数を記述しました。

(defun my/evil-select-pasted ()
  (interactive)
  (let ((start-marker (evil-get-marker ?\[))
        (end-marker (evil-get-marker ?\])))
        (evil-visual-select start-marker end-marker)))

関数は、例えば以下<leader>vを使用してバインドできますevil-leader

(evil-leader/set-key "v" 'my/evil-select-pasted)

私はEmacsに比較的慣れていないので、これは理想的ではないかもしれませんが、私にとってはうまくいきます。

私がそこに着いた方法:

C-h k ''実行することを示していますevil-goto-mark-line。ソースを見るとevil-commands.elショーevil-goto-mark-lineの用途evil-goto-mark、自身が使用可能evil-get-marker機能を。を見てevil-states.el、で見つかっC-h k Vevil-visual-select関数につながります。


spacemacsでは機能しませんが、evilを指定したため、すべてを受け入れます。:
Unfun Cat

最新のspacemacs、devブランチで動作します。
Meitham 16

2

@andreasソリューションを使用して最後に貼り付けたテキストを選択し、そのインデントを変更しようとした後、.evil-repeat)でインデントを繰り返すとエラーが発生しました。私は関数を次のように変更する必要がありましたが、これでうまくいきます。

(defun evil-select-pasted ()
  "Visually select last pasted text."
  (interactive)
  (evil-goto-mark ?\[)
  (evil-visual-char)
  (evil-goto-mark ?\]))
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.