Linux

[Vim] 붙여넣기 시 자동 들여쓰기(계단) 현상 방지

비번변경 2022. 10. 18. 22:28

개요

Vim(vi) 편집기로 소스 코드 등을 복사하여 붙여 넣을 때 들여 쓰기로 인해 개행, code format이 엉망이 되는 경우가 존재한다.

 

예시 )

<repositories>
        <repository>
                <id>release repository</id>
                <name>Release Repository</name>
                <url>http://myhost/content/repositories/releases/</url>
                <releases><enabled>true</enabled></releases>
        </repository>
</repositories>

계단 현상

들여쓰기가 블록을 결정하는 언어인 경우에는 포맷을 맞추기 골치 아픈데, 간단하게 해결할 수 있는 방법을 적어둔다.

 

 

현재 모드 확인

:set 명령을 통해 현재 vim의 모드를 확인할 수 있다.

:set

현재 모드 확인

 

 

붙여넣기 모드 활성화

계단 현상이 발생할 때, set paste 명령으로 붙여 넣기 모드를 활성화한 후 코드를 붙여 넣으면 들여 쓰기 원본 형식을 유지하면서 소스를 붙여 넣을 수 있다.

:set paste

set paste 후

 

모드 확인

set paste 후 모드 확인

 

 

붙여넣기 모드 비활성화

붙여 넣기 모드를 다시 비활성화할 때는 set nopaste 명령을 사용하면 된다.

:set nopaste

 

 

참고 문서

https://vim.fandom.com/wiki/Toggle_auto-indenting_for_code_paste

https://www.lesstif.com/system-admin/vim-code-paste-auto-indent-6979764.html

https://happyoutlet.tistory.com/entry/vim-vim으로-붙여넣기-했을-때-계단현상-없애기