2013-02-20 12 views
13

Chciałbym mieć żadnego usunięty tekst zawsze wchodzić numerowanych rejestrach, ale często mam iść, aby znaleźć coś niedawno usuniętego w numerowanych rejestrach i to nie dlatego, że był tam mniej niż jedna linia.Czy można nie używać małego rejestru usuwania vima?

numerowana rejestr 1 zawiera tekst usunięty przez najnowszego usunąć lub zmienić polecenia, chyba że polecenie określone kolejny rejestru lub tekst jest mniej niż jedna linia (mała kasowania zarejestrować służy wtedy). Z każdym kolejnym usunięcia lub zmiany, Vim przesuwa poprzednia zawartość rejestru 1 do rejestru 2, 2 do 3, a więc dalej, tracąc poprzednia zawartość rejestru 9.

Jest to dość rzadka rzecz, ale kiedy to się dzieje, jest to naprawdę denerwujące, ponieważ muszę cofnąć z powrotem do punktu, w którym usunąłem tekst, a następnie albo usunąć do nazwanego rejestru, albo natychmiast użyć usuniętego tekstu, zanim zniknie z rejestru 0, ponieważ usunę coś innego (bezpańskie białe znaki, zły komentarz, cokolwiek) na mojej drodze do wklejania małego tekstu, który właśnie usunąłem.

Chciałbym, aby mały warunek usuwania nie miał znaczenia dla tekstu wprowadzanego do rejestrów o numerach 1-9. Ktoś wie, jak to osiągnąć?

+0

AFAIK tego zachowania nie można zmienić. Wymienione rejestry są precyzyjnie zaprojektowane do przechowywania rzeczy do późniejszego wykorzystania i tak powinieneś je wyrzucać. Alternatywnie, możesz użyć rejestru czarnych dziur ('" _'), aby usunąć rzeczy, których nie obchodzi i utrzymać swoje czyste rejestry numerowane. Mam 'nnoremap d" _d' i 'inoremap d" _d' do tego. – romainl

Odpowiedz

6

Podczas another such feature request on Reddit, okazało się, że był to błąd w vim, że zrobił dokładnie to, że gdy

:set clipboard^=unnamed 

To bug has been fixed w vim 7.3.649. Jeśli więc używasz starszej wersji, możesz nadal czerpać korzyści z błędu :-)

Jeśli naprawdę uważasz, że jest to przydatne zachowanie, możesz zgłosić prośbę o ulepszenie na vim_dev mailing list, ale generalnie dodatkowe opcje są marszczone na. Twoje szanse są wyższe, jeśli możesz przedstawić przekonujący argument, a także dostarczyć kompletną łatkę wraz z dokumentacją i testami.

+0

lista dyskusyjna vim_dev wydaje się niedostępny, nie jest to rodzaj śledzenia błędów używam neovim, nie wiesz, czy istnieje taka funkcja istnieje – Himura

+0

@Himura [list dyskusyjnych] (https: // grupy. google.com/forum/#!forum/vim_dev) jest obecnie aktywny (przynajmniej regularnie otrzymuję wiadomości), jednak NeoVim to osobny projekt, znajdziesz go tam jako narzędzie do śledzenia błędów (https: // github. com/neovim/neovim/issues). –

+0

Dzięki za odpowiedź, już ją znalazłem i dodano problem https://github.com/neovim/neovim/issues/8121 – Himura

Powiązane problemy