내가 어떻게 빨리 인용 / 인용을 끝내 말과 변화 (예를 들어, 인용 '
에 "
빔에서)? Surround.vim 플러그인 에 대해 알고 있지만 Vim 만 사용하고 싶습니다.
답변
Surround.vim이 가장 쉬운 해답이 될 것입니다. 실제로 사용하지 않으면 다음과 같이 할 수 있습니다. 반드시 가장 효율적인 것은 아니지만 서라운드 .vim이 작성된 이유입니다.
- 작은 따옴표를 사용하여 단어를 인용하십시오.
ciw'Ctrl+r"'
ciw
-커서가있는 단어를 삭제하고 삽입 모드로 끝납니다.'
-첫 번째 견적을 추가하십시오.Ctrl+r"
–"
마지막 yank / delete로 알려진 레지스터 내용을 삽입하십시오 .'
-닫는 따옴표를 추가하십시오.
- 작은 따옴표로 묶인 단어를 인용 해제하십시오
di'hPl2x
di'
-작은 따옴표로 묶은 단어를 삭제하십시오.hP
-커서를 한 자리 (열기 따옴표 상단)로 이동하고 방금 삭제 한 텍스트를 따옴표 앞에 놓습니다.l
-커서를 한 자리 (오픈 시세 상단) 오른쪽으로 이동하십시오.2x
-두 따옴표를 삭제하십시오.
- 작은 따옴표를 큰 따옴표로 변경
va':s/\%V'\%V/"/g
va'
-인용 된 단어와 따옴표를 시각적으로 선택하십시오.:s/
-교체를 시작하십시오.\%V'\%V
-시각적으로 선택된 영역 내에있는 작은 따옴표 만 일치시킵니다./"/g
-큰 따옴표로 모두 바꾸십시오.
답변
작은 따옴표를 사용하여 단어를 인용하십시오.
ciw'Ctrl+r"'
이런 식으로하는 것이 더 쉬웠습니다
ciw '' Esc P
답변
다음은 도움이 될 수있는 몇 가지 매핑입니다.
:nnoremap <Leader>q" ciw""<Esc>P
:nnoremap <Leader>q' ciw''<Esc>P
:nnoremap <Leader>qd daW"=substitute(@@,"'\\\|\"","","g")<CR>P
mapleader 변수를 변경하지 않은 경우 \q"
\q'
또는 을 사용하여 매핑을 활성화하십시오 \qd
. 커서 아래 단어 주위에 큰 따옴표를 추가하고 커서 아래 단어 주위에 작은 따옴표를 추가하고 커서 아래 단어 주위의 따옴표를 각각 삭제합니다.
답변
다른 명령 외에도 모든 단어를 큰 따옴표로 묶습니다 (댓글에 따라)
:s/\(\S\+\)/"\1"/
또는 백 슬래시 수를 줄이려면 \v
패턴의 시작 부분에 (매우 마술적인) 수정자를 넣을 수 있습니다
:s/\v(\S+)/"\1"/
답변
매크로 방법!
-
Enter 키를 눌러 q및 qQ 레지스터에 기록 (우리는 “따옴표”를 기억하는 바로 가기로 “q”를 사용한다).
-
를 눌러 shift+의 b현재 단어의 앞쪽으로 이동 커서
-
프레스 i타입 '(작은 따옴표)
-
를 esc누른 후 e를 눌러 단어 끝으로 이동
-
단어를 따옴표로 묶으려면을 누른 a다음을 '다시 누르 십시오.
-
를 눌러 esc일반 모드로 들어갑니다.
-
마지막으로 눌러 q
q
레지스터 에 기록됩니다 .
사용하는 방법
- 커서를 원하는 단어로 이동하십시오.
- 프레스 @q단어를 따옴표로 묶으려면 .
- 프레스 @@다른 단어로 반복하려면을 .
당신은 변경할 수 있습니다 step 4
{줄, 문자를 찾을 때까지의 단어 등}과 같은 내용으로 .
기록 된 매크로를 영구적으로 유지
- .vimrc를여십시오
- 파일 끝으로 이동
- 삽입 모드로 변경하십시오. 이것을 영구적으로 만들려면 다음을 입력하십시오.
@ q = ' ctrl+ r ctrl+ rq' 하자
-
저장하고 종료
-
파일을 열고 몇 마디로 이동
- 지금 눌러
@q
당신이 올바르게하면 마법의 말이 당신의 말에 나타납니다.
좋아하는 다른 매크로에 대해이 단계를 수행 할 수 있습니다.
답변
작은 따옴표로 묶는 것은 (예를 들어) ciw'<C-r>"'<esc>
작동하지만 반복 은 작동하지 않습니다. 시험:
ciw'<C-r><C-o>"'<esc>
기본 레지스터의 내용을 “문자 그대로”넣습니다. 이제 .
아무 단어 나 눌러 따옴표로 묶을 수 있습니다. , 자세한 내용 :h[elp] i_ctrl-r
에서 텍스트 개체에 대한 더:h text-objects
출처 : http://vimcasts.org/episodes/pasting-from-insert-mode/
답변
VSCodeVim 사용자는 다음을 수행 할 수 있습니다
vwS"
- 교체 가능
"
포장하고 싶은 . w
다른 선택 연산자로 바꿀 수 있습니다