저는 vim을 많이 사용하는데 제가 사는 지역에서는 정전이 자주 발생합니다. 그래서 결과적으로 *.swp
내 컴퓨터에 많은 파일이 흩어져 있게 되었습니다.
확장자가 , 또는인 시스템 전체의 rm
모든 파일을 삭제하는 명령 별칭을 원합니다 ..swp
~
.netrwhist
.log
.bak
(또는 적어도 내 홈 디렉토리에). 내가 여기 있어도 ~/Desktop
.
이것을 어떻게 구현합니까?
답변1
이렇게 하면 이름 이 , .swp
또는 다른 곳으로 끝나는 홈 디렉터리의 모든 파일이 삭제됩니다 . 프롬프트, 확인, 복구가 없으며 파일이 영원히 사라졌습니다.~
.netrwhist
.log
.bak
find ~ -type f \( -name '*.swp' -o -name '*~' -o -name '*.bak' -o -name '.netrwhist' \) -delete
(위험해 보이기 때문에 일부러 생략했습니다 *.log
. 임시 파일의 일반적인 확장자가 아니며 해당 이름을 가진 임시가 아닌 파일이 많이 있습니다.)
운영 체제가 Linux가 아닌 -delete
경우 -exec rm {} +
.
다음을 설정하여 스왑 파일을 디렉터리에 넣도록 Vim을 구성해야 할 것입니다.directory
옵션:
set dir=~/tmp/vim-swap-files//,/var/tmp//
먼저 디렉터리를 만듭니다. 마지막으로 //
스왑 파일 이름에 원본 파일의 디렉터리 위치를 포함시켜 다른 디렉터리에 있는 같은 이름의 파일이 충돌을 일으키지 않도록 하는 것입니다.
다음 명령을 사용하여 백업 파일에 대해 동일한 작업을 수행할 수 있습니다.backupdir
옵션, 별 의미가 없더라도 말이죠.
Emacs를 사용하는 경우 다음을 설정하세요.auto-save-file-name-transforms
각 파일이 디렉터리를 가리키도록 합니다.
(setq auto-save-file-name-transforms
'("\\`.*\\'" "~/tmp/emacs-auto-save-files/\\&" t))
답변2
특별히 vim 파일을 대상으로 하는 경우 이 backupdir
변수를 사용하는 것이 좋습니다. :h backupdir
설명하다:
'backupdir' 'bdir' string (default for Amiga: ".,t:",
for MS-DOS and Win32: ".,c:/tmp,c:/temp"
for Unix: ".,~/tmp,~/")
global
{not in Vi}
List of directories for the backup file, separated with commas.
- The backup file will be created in the first directory in the list
where this is possible. The directory must exist, Vim will not
create it for you.
[... snip ...]
.vimrc에서 다음 줄을 사용합니다.
set backupdir=~/.vim-tmp,~/.tmp,~/tmp,/var/tmp,/tmp
또한, ~/.vim-tmp 디렉터리가 없으면 생성해야 합니다. 디렉터리가 자동으로 생성되지 않기 때문입니다.
답변3
단답형 ~로 끝나는 시제 삭제
find . -type f \( -iname "*~" \) -delete
또는 .swap 등과 같은 다른 것들도 있습니다.
find . -type f \( -iname "*.swp" \) -delete