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"


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"
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.