vim에서 괄호 (또는 중괄호)로 일부 텍스트를 묶는 방법이 있습니까?Vim과 괄호로 묶음
즉, 어떻게하면 좋을까요?
초기 문자열 :
It is sunny outside.
최종 문자열 : 재미 노트에
It is (sunny) outside.
은, 난 그냥이 질문을 제출 :w
을했다.
해피 viming, SOCommunity!
vim에서 괄호 (또는 중괄호)로 일부 텍스트를 묶는 방법이 있습니까?Vim과 괄호로 묶음
즉, 어떻게하면 좋을까요?
초기 문자열 :
It is sunny outside.
최종 문자열 : 재미 노트에
It is (sunny) outside.
은, 난 그냥이 질문을 제출 :w
을했다.
해피 viming, SOCommunity!
Surround.vim 트릭을 수행해야합니다. '.'을 사용하여이를 반복하려면 here을 참조하십시오.
:s//
(search and replace)을 사용하지 않으시겠습니까?
예는 :
:s/sunny/\(sunny\)/
당신은 아마 마음에 다른 뭔가를 가지고 있지만, 나는 그것이 무엇인지 질문에서 말할 수 없다.
이미 작성된 단어를 두 번 타이핑하기 때문에, 원하는 단어를 선택하고 괄호를 써야합니다. – Titou
당신은 그 sort'a 일에 대한 간단한 매핑을 정의 할 수 있습니다. 이것은 그것을해야만한다. 일반 모드에서 z를 입력하면 괄호 안에 단어가 나타납니다. 사용하여 공백 5 글자 단어, 그룹 경기를보기 위해
:%s~\v(\w{5}) ~(\1) ~g
위 검색 : 이런 식으로 뭔가를 들어
:nnoremap <leader>z viw<esc>a)<esc>hbi(<esc>lel
굉장합니다. 간단한 2 버튼 "리더 + z"를 누르십시오. 이것은 내가 좋아하는 대답입니다 –
왜보기 모드에서 전달합니까? 간단한 움직임은'그것을 을하는 것 : nnoremap
는 외부 플러그인을 사용하는 것보다 범위 및 그룹과 재생 아마 더 낫다()를 사용하고 그룹화 된 일치 주변의 둘러싼 괄호로 대체합니다.
한 단어를 들어, 내가 사용하고 :이다
bcw()<Esc>P
는 괄호 다음 종료 삽입 모드를 입력 한 단어를 잘라 삽입 모드로 전환, 단어의 시작으로 이동 다시 단어를 붙여 넣으십시오.
닉 등록을 덮어 쓰게됩니다.
당신은 물론 당신이 필요로하는 어떤 움직임과 선택 유형 BCW을 대체 할 수있는 내가 어떤 플러그인을 사용하지 않으 쉽게 휴대 내 dotfiles로 제한 모두를 유지하려는
5cc{<Enter>}<Esc>P
있다. 내가 생각할 수있는 가장 쉬운 방법은 단순히 그것을 기록하고 재생하는 것입니다. 세션 전반에 걸쳐 더 자주 사용할 계획이라면 .vimrc에 키를 매핑 할 수 있지만 필자는 (그리고 어떤 키 스트로크를 매핑 할 것인지를 결정할 때 정말로 나쁘다).
vim에 대한 초보자 수준의 이해가 있다고 가정 할 때 대괄호로 묶으려는 라인이 있다고 가정 해 봅니다. 예 :
hello world
정상 모드로 이동합니다. 녹음을 시작하려면 q1
을 누르십시오. 이제
ESC ^i[ ESC $a] ESC
이 괄호로 현재 행을 떠나 다음을 수행합니다. 이제 임의의 회선을 선택하고 @1
을 눌러 반복 할 수 있습니다.
예를 들어 현재 단어가 단순히 다음과 같은 조리법을 기록하고 재생 paranthesised해야 할 것이다 경우
ESC bi[ ESC ea] ESC
당신은 키 입력을 최적화하기 위해 당연히 시도 할 수 있지만 지금은 나를 위해 역할을한다.
여기에 surround.vim을 사용하는 예가 나와 있습니다.
초기 문자열 :
It is sunny outside.
ysiw
그런 다음 그래서 )
입력 : 정력 일반 모드에서 (이 경우 맑은 하늘) 유형 원하는 단어 위에 커서를 놓은
최종 문자열 :
It is (sunny) outside.
,
여분 공간 : ysiw(
등 사용 개구 괄호 또는 브래킷, 괄호 및 괄호 사이의 공간을 둘러싸고 눌러 비주얼 모드로 들어가 카메라 모드
쉬운 단어 + 단부) 시작할 v
. 이제 을 입력하면 단어가 공백으로 묶입니다. 그러나 S)
대신 닫음 )
을 사용하면 공백으로 둘러싸이지 않습니다.
이것은 모든 브래킷 쌍 주변 인 <> [] {}()
에만 적용되며 ()
이 아닙니다. S<
의 동작은 태그 인클로저가 S>
인 경우에만 <>
으로 서라운드 할 수 있기를 기대합니다.
더 :
유형 cs('
[C] hange : 중괄호
여기서도 다른 예제 추가 할 수도 동일한 할 }
하였다
타입 ysiw
[s] 주변 지역 (에서 '
cs'(
는에 주변 '에서 변경() [D] elete (
[S] urroundings 모두
더욱에
ds(.
:
왜 Tpope의 나머지를 인용하지 링크를 클릭하여 우리를 구하기위한 페이지?
// 인용 시작 :
이 예제와 함께 설명하는 것이 가장 쉬운 방법이다.
을 눌러 내부
cs"'
에 "Hello World!" 변경하려면
'Hello world!'
-
이제
cs'<q>
안녕하세요로 변경 세계를 눌러!
-
완전한 원을 이동하려면를 눌러
cst"
는에 "Hello World!"를 얻을 수 있습니다
-
누르 완전히
ds".
안녕하세요 세계 구분 기호를 제거하려면!
-
지금의 커서로 "안녕하세요"를 눌러
ysiw]
(IW 텍스트 개체입니다).[안녕하세요] 전 세계!그 중괄호를 만들고 공백을 넣으려면 {공백이없는 경우} 대신 {
cs]{
{Hello} world!
-
지금
yssb
또는yss)
괄호의 전체 라인을 포장.({안녕하세요} 세계!)
- 원본 텍스트
되돌리기 :
ds{ds)
안녕하세요 세계!
-
안녕하세요 강조한다 :
ysiw<em>
안녕하세요 세상을!
-
마지막의 시각적 모드를 해보자. 대문자
V
(줄 바꿈 시각 모드)을 누르고S<p class="important">
을 누릅니다.<p class="important"> <em>Hello</em> world! </p>
이 플러그인은 HTML 및 XML 편집, 현재 빔의 땅에서 언더필 보인다 틈새 시장에 매우 강력하다. (HTML/XML 삽입과 반대로, 많은 플러그인을 사용할 수 있습니다.) 태그 쌍을 동시에 추가, 변경 및 제거하는 것은 쉽습니다. 당신이 repeat.vim을 설치하는 경우
.
명령은 ds
, cs
및 yss
작동합니다.
마치 매크로처럼 쉽게 작업을 완료 할 수 있지만 특히 처방하지 않습니다. VIM에서는 여전히 아주 초록색입니다. 그러나 '단어의 시작 부분으로 이동, 왼쪽 괄호 삽입, 단어 끝으로 이동, 오른쪽 괄호 삽입'과 같은 것은 대부분의 경우 작동하는 매크로처럼 들립니다. – Triptych
@Triptych - 내가 제안한 방식대로 매크로 대신 매핑. 내 대답을 보라. – Rook