Vim에서 expandtab 옵션이 켜져있을 때 탭 문자를 삽입하는 방법


352

삽입 모드에 있고 expandtab옵션이 켜져 Tab ↹있는 경우을 누르면 구성된 수의 공백이 삽입됩니다.

그러나 때로는 실제 탭 문자를 삽입하고 싶습니다.

이 작업을 수행하는 방법을 알고 있습니까?

답변:


516

<CTRL-V><Tab>"삽입 모드"에서 사용할 수 있습니다 . 삽입 모드에서 <CTRL-V>다음 문자의 리터럴 사본을 삽입합니다.

이 작업을 자주 수행 해야하는 경우 @ Dee`Kej는 (댓글에서) 설정 Shift+ Tab를 사용 하여이 매핑으로 실제 탭을 삽입하도록 제안했습니다 .

:inoremap <S-Tab> <C-V><Tab>

@feedbackloop에서 언급 한 바와 같이 또한, Windows에서 당신은 눌러야 할 수도 있습니다 <CTRL-Q>보다는 <CTRL-V>.


33
그리고 사용하는 .여러 개의 탭을 삽입 할 경우 마지막 명령을 반복 할 수 있습니다.
Xavier T.

10
명령 모드에 있었기 때문에이 조합을 사용하는 데 문제가있었습니다. 편집 모드에서이 명령을 실행하십시오.
mgfernan 2016

11
기술적으로 INSERT 모드.
mkmurray

2
참고 : Windows에서 GVIM을 사용하는 경우, 당신은 가능성이 사용해야합니다 CTRL+ Q대신 - 볼 stackoverflow.com/questions/6951672/...을
feedbackloop

8
나는이 경우에 대한 간단한 지름길을 가지고 있으며 작동하는 것 같습니다 (다른 것을 깨지 않음) .-- 파일에 inoremap <S-Tab> <C-V><Tab>넣을 수 있습니다 ~/.vimrc.
Dee'Kej

34

다음과 같이 Vim 내에서 expandtab 옵션을 비활성화 할 수 있습니다.

:set expandtab!

또는

:set noet

추신 : 삽입 탭이 끝나면 "set expandtab"또는 "set et"로 다시 설정하십시오.

추신 : .vimrc (softtabstop)에서 탭이 4 공백으로 설정되어있는 경우 탭을 두 번이 아닌 한 번 눌러 탭을 삽입 할 수 있도록 8 공백으로 설정할 수도 있습니다 (softtabstop = 8 설정) ).


한마디로 : set etset noet스위치 tabspace필요성.
에릭 왕

Ctrl + V로 인해 붙여 넣기가 발생하여 키 바인딩을 조정할 시간이 없었습니다. 도움이되었습니다
Shirish Hirekodi

2

의 문서에서 expandtab:

expandtab켜져 있을 때 실제 탭을 삽입하려면을 사용하십시오 . 참조 및 인 - expandtab . 이 옵션은 옵션이 설정되면 재설정되고 옵션이 재설정되면 복원됩니다 .CTRL-V<Tab>:retab
pastepaste

paste옵션 을 토글하기위한 매핑이 있다면

set pastetoggle=<F2>

당신은 또한 할 수 있습니다 <F2>Tab<F2>.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.