Jak w Vimie usunąć wszystko w cudzysłowie?

Odpowiedzi:

284

Wypróbuj następującą sekwencję, którą można określić jako „d” elete, „i” nside, quotes, więc: di"

Herbert Sitz
źródło
10
Zobacz także :help text-objectsinne rzeczy, które działają podobnie jak "w tej sytuacji.
Randy Morris,
32
@ funk-shun: Sprawdź, czy da"robi to, co chcesz. Mnemonik brzmiałby: „usuń cytat [blok]”. Usuwa z cudzysłowu do cudzysłowu oraz, jak sądzę, spacje po cudzysłowie zamykającym.
Herbert Sitz,
1
Dla mnie to di"<spacebar>. W przypadku niektórych klawiatur konieczne jest naciśnięcie spacji, aby wysłać znak podwójnego cudzysłowu.
André Staltz
2
@ funk-shun Jeśli próbujesz usunąć cudzysłowy, pozostawiając tekst w środku, sprawdź Vim-Surround .
Jonathan Dumaine
Dziwny błąd (?) Dla mnie: to nie zadziałało, jeśli zawijanie tekstu było włączone, a zawartość między cudzysłowami przepływała przez dwie linie. Musiałem zmienić rozmiar okna, aby wszystko było w jednej linii. Wtedy zadziałało dobrze.
nulluser
27

Poniższe zdanie umieszcza wszystko w cudzysłowie, będąc w trybie normalnym:

di"

gdzie:

  • d jest do usunięcia
  • i oznacza „wewnętrzny”, znajdujący się wewnątrz następującego znacznika.
  • ”służy do określenia, że ​​będziesz usuwać wewnątrz cudzysłowów.

Zwróć uwagę, że nie ma potrzeby umieszczania go w cudzysłowie, gdy go wywołujesz, własne polecenie szuka pierwszego wystąpienia tekstu w cudzysłowie w bieżącym wierszu i usuwa go, więc możesz zapisać niektóre naciśnięcia klawiszy.

Dodatkowo, jeśli chcesz usunąć również cudzysłowy, zastosuj następujące polecenie (a oznacza „i wokół niego”)

da"
aturegano
źródło