Vim에서 파일을 일괄 처리하고 탭을 공백으로 변경하는 방법은 무엇입니까?
过去多啦不再A梦
过去多啦不再A梦 2017-05-16 16:41:14
0
10
756

예전에는 코딩 습관이 별로 좋지 않아서 코드에 탭을 많이 사용했어요.
이제 탭을 공백으로 변환하고 싶은데 vimrc然后执行:ret命令就可以了,问题是需要被处理的文件有很多,手动为每个文件执行:ret 명령을 설정하는 것은 실용적이지 않습니다. 어떤 각도에서 이 문제를 해결할 수 있나요?

过去多啦不再A梦
过去多啦不再A梦

모든 응답(10)
大家讲道理

예를 들어, Python 파일만 처리하려는 경우 프로젝트 루트 디렉터리로 CD를 이동합니다.
1. $> vim `find . -type f -name "*.py"` // VIM으로 처리할 모든 파일 열기
2. :argdo :ret | update // vim 매개변수 목록의 모든 파일에 대해 :ret 명령을 실행하고 저장합니다

또한 bufdo 및 windo 명령 사용법에 대해 자세히 알아볼 수 있습니다.

위는 원본 포스터의 문제에 대해 VIM이 일일이 할 필요 없이 쉽게 이 작업을 수행할 수 있다는 점을 보여주기 위한 것입니다. 물론 위의 아이디어에 따라 스크립트를 작성하는 것도 좋은 방법입니다.

習慣沉默

sed를 사용해 보세요:sed -i -e "s/t/ /g" *.py

洪涛

vim을 사용하지 말고 스크립트를 작성하여 처리하는 것이 좋습니다.
쉘로 작성할 수 있으며 find + sed 명령으로 수행할 수 있습니다. Python으로도 작성할 수 있으며 os.path.walk는 파일을 탐색하여 한 줄씩 스캔합니다.

伊谢尔伦

으아악

大家讲道理

이런 문제는 정규식을 사용해서 해결할 수 있지만, vim을 사용하여 하나씩 처리하는 것은 피하는 것이 좋습니다. 정규식을 실행하려면 Python 스크립트를 작성하는 것이 좋습니다.

黄舟

expand 쉘 명령이 이를 수행합니다.

某草草

일괄 처리에는 정규식을 사용하는 것이 더 편하지만 꼭 vim을 사용해야 한다면 @shizhz 님의 답변이 좋습니다.

Peter_Zhu

sed -i "s/t/ /g" *.py

给我你的怀抱

으아아아

vi(m)의 비대화형 모드를 사용하세요.
^I使用CTRL+V+I들어가세요.
EOF 뒤에는 공백을 사용할 수 없습니다.
vi(m) 명령 앞에 공백이 있을 수 없습니다.

我想大声告诉你

:h retab

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿