2010-09-10 14 views
5

W Vimie, jest to szybkie 3-znakowe polecenie zmiany tego, co znajduje się wewnątrz bieżącego cytowanego ciągu znaków (np. Ci "), ale czy istnieje prosty sposób na zmianę tego, jakiego rodzaju cytaty obecnie otaczają kursor ?Zmień cytaty w cudzysłowach w Vim

Czasami potrzebuję przejść od "bla" do "" "bla" lub "bla" do "bla" (w kodzie źródłowym Pythona) i najlepiej byłoby zrobić to szybko za pomocą domyślnych powiązań klawiszy .

Odpowiedz

18

Spróbuj wtyczki surround.vim. Uważam, że jest to niezbędny dodatek do każdej instalacji vim.

+0

To fajna wtyczka! –

+0

wygląda idealnie, dzięki! – Mzzzzzz

+0

Aby przejść od cytatów do potrójnych cudzysłowów, wykonaj 'ysa" "wysa" "'. Warto umieścić w makrze lub wiążące go. Na przykład ': noremap : normal ysa" "wysa" "' spowoduje powiązanie tego z 'Ctrl' +' c'. Alternatywnie, możesz po prostu zamapować ': noremap : normal ysiw" w 'aby otoczyć dowolne słowo cudzysłowami, a następnie nacisnąć' Ctrl' + 'c' lub cokolwiek innego twoje powiązanie jest * n * razy aby dodać * n * zestawy Cytat: – Jay

2

Surround.vim jest super, ale nie sądzę, będzie ona obsługiwać tripl e-cytowane potrzeby bezpośrednio.

Sposób, w jaki robiłem rzeczy wzdłuż tych linii (gdy otaczanie nie było odpowiednie) było użycie %, dokonanie zmiany, a następnie podwójne cofnięcie, aby powrócić do punktu początkowego. Na przykład. jeśli kursor znajduje się gdzieś w cudzysłowie, wykonaj f'%, dokonaj zmiany, a następnie podwójnie cofnij i ..

+0

Nie wiedziałem o podwójnym backtick, podjąłbym to samo podejście, z wyjątkiem tego, że zrobiłbym odrzut. –