2012-07-24 13 views

Odpowiedz

127

Użyj ci", co oznacza: zmień to, co znajduje się wewnątrz podwójnego cudzysłowu.

Można również manipulować innych obiektów tekstowych w podobny sposób, np:

  • ci' - zmiana wewnątrz pojedynczych cudzysłowów
  • ciw - zmiana wewnątrz wyrazu
  • ci( - zmiany w nawiasach
  • dit - usuń wewnątrz znacznika HTML itp.

Więcej informacji na temat różnych obiektów tekstowych vim here.

+4

a wskaźnik do '.. pomocy motion.txt' na dokładkę – romainl

+0

Wydaje się, że działa tylko z 'vim', ale NIE' vi'. (Nie jestem pewien) –

+0

Dla mnie działa to tylko w bieżącej linii, a nie w dokumencie. –

3

Od już wewnątrz cudzysłowów można zrobić

di" 

Przeczytaj go jako usuwać wewnątrz "

+5

Kursor nie musi być w ciągu cudzysłowu, ponieważ polecenie domyślnie zmienia pierwszy taki ciąg w linia –

+1

To bardzo dobrze wiedzieć! Po prostu pokazuje, że powinienem czytać rzeczy nieco ostrożniej. :) –

19

Można wybrać pomiędzy cytatami, a następnie usunąć (d), zmiana (c) itd. Za pomocą

vi" 

Podobnie można zastąpić nawiasy klamrowe, klamry, elementy XML itd., A więc:

vi(
vi{ 
vit 

lub po prostu zmienić/usunąć, zrobić odpowiedni di", ci" itp Podstawiając a dla i będzie obejmującym otaczające elementy (więc znaku lub zmienić nawiasach i zawartość, na przykład)

3

I Utworzono wtyczkę: vim-textobj-quotes: https://github.com/beloglazov/vim-textobj-quotes

Zapewnia obiekty tekstowe dla najbliższych par cudzysłowów dowolnego rodzaju i obsługuje cytaty obejmujące wiele wierszy. Używanie tylko iq lub aq pozwala na operowanie na treści pojedynczych ('), podwójnych (") lub cudzysłowów (`), które obecnie otaczają kursor, znajdują się przed kursorem lub za (w tej preferencje), innymi słowy, przeskakuje do przodu lub do tyłu, gdy jest to konieczne, aby dotrzeć do ofert.

Łatwiej zrozumieć patrząc na przykłady (kursor jest pokazany z |):

  1. Przed: foo '1, |2, 3' bar; po naciśnięciu klawisza diq: foo '|' bar
  2. Przed: foo| '1, 2, 3' bar; po naciśnięciu klawisza diq: foo '|' bar
  3. Before: foo '1, 2, 3' |bar; po naciśnięciu klawisza diq: foo '|' bar
  4. Before: foo '1, |2, 3' bar; po naciśnięciu klawisza daq: foo | bar
  5. Przed: foo| '1, 2, 3' bar; po naciśnięciu klawisza daq: foo | bar
  6. Przed: foo '1, 2, 3' |bar; po naciśnięciu daq: foo | bar

Powyższe przykłady są podane dla pojedynczych cudzysłowach, wtyczka działa dokładnie w ten sam sposób dla podwójnych (") iz powrotem (`) cytaty

Można również używać innych operatorów. : ciq, diq, yiq, viq itp

Proszę spojrzeć na stronie github połączonego powyżej więcej szczegółów

+1

świetny, użyteczny +1 – Nikola

Powiązane problemy