자식은 vim 임시 파일을 무시
git이 모든 디렉토리에서 (시스템 전체 또는 단일 프로젝트를 위해 로컬로) vim에 의해 생성 된 임시 파일을 무시하도록하는 올바른 방법은 무엇입니까?
Vim 임시 파일은 ~로 끝나므로 파일 .gitignore
에 줄을 추가 할 수 있습니다
*~
Vim은 swp 및 swo 확장자를 가진 스왑 파일도 만듭니다. 그것들을 제거하려면 다음 줄을 사용하십시오.
*.swp
*.swo
이것은 단일 프로젝트의 모든 vim 임시 파일을 무시합니다.
전역 적으로 수행하려면 집에서 .gitignore 파일을 만들고 (다른 이름이나 위치를 지정할 수 있음) 다음 명령을 사용할 수 있습니다.
git config --global core.excludesfile ~/.gitignore
그런 다음 무시하려는 파일을 해당 파일에 추가하기 만하면됩니다.
또는 다음과 유사한 행을 .vimrc
파일 에 추가하여 스왑 파일을 별도의 위치에 저장하도록 vim을 구성 할 수 있습니다 .
set backupdir=$TEMP//
set directory=$TEMP//
자세한 내용은이 vim 팁 을 참조하십시오.
이는 리포지토리가 아니라 사용자별로 만 수행해야하는 것입니다. Joe가 emacs를 사용하는 경우 emacs 백업 파일을 무시하고 싶지만 vi를 사용하는 Betty는 vi 백업 파일을 무시하려고합니다 (대부분의 경우 유사하지만 24,893 개의 공통 편집기가 있으며 꽤 좋습니다. 다양한 백업 확장 프로그램을 모두 무시하려고 우스운 일입니다.)
즉, 아무것도 넣지 마십시오 .gitignore
나에 core.excludes
에서 $GIT_DIR/config
. $HOME/.gitconfig
대신 nunopolonia가 제안한대로 정보를 입력 --global
하십시오. "전역"은 시스템 별이 아니라 사용자 별을 의미합니다.
모든 사용자에 대해 시스템 전체에서 구성을 원한다면 (다른 사용자도) 다른 메커니즘이 필요합니다. 리포지토리를 초기화하기 전에 템플릿을 설정했을 수 있습니다.
또한 다음과 같은 파일을 무시하는 것이 좋습니다.
.*.swp
.*.swo
끝나는 파일이있을 수 있습니다. .swp
"git commit"전에 vim을 종료하십시오.
메이크업에 vim
(백업 파일을 다른 폴더를 사용하는 /tmp
예를 들어)
set bdir-=.
set bdir+=/tmp
vim에서 .swp 파일의 현재 폴더 사용을 중지하려면 :
set dir-=.
set dir+=/tmp
-=, +=
vim은 bdir, dir에 대한 다른 기본값을 가지고 있기 때문에 일반적으로 사용하는 것이 좋으며 , 우리는 모든 것을 지우고 싶지 않습니다. bdir, dir 에 대한 자세한 내용은 vim help를 확인하십시오 .
:h bdir
:h dir
스왑 파일 확장자를 생성하는 실제 VIM 코드는 다음과 같습니다 .
/*
* Change the ".swp" extension to find another file that can be used.
* First decrement the last char: ".swo", ".swn", etc.
* If that still isn't enough decrement the last but one char: ".svz"
* Can happen when editing many "No Name" buffers.
*/
if (fname[n - 1] == 'a') /* ".s?a" */
{
if (fname[n - 2] == 'a') /* ".saa": tried enough, give up */
{
EMSG(_("E326: Too many swap files found"));
vim_free(fname);
fname = NULL;
break;
}
--fname[n - 2]; /* ".svz", ".suz", etc. */
fname[n - 1] = 'z' + 1;
}
--fname[n - 1]; /* ".swo", ".swn", etc. */
다음 형식의 스왑 파일이 생성됩니다.
[._]*.s[a-v][a-z]
[._]*.sw[a-p]
[._]s[a-v][a-z]
[._]sw[a-p]
VIM 용 github 자체 gitignore 파일에 포함 된 것은 거의 입니다.
다른 사람들이 올바르게 지적했듯이이 .gitignore는 .svg 이미지 파일과 .swf adobe 플래시 파일 도 무시 합니다.
나는 이것이 git vim에 의해 생성 된 임시 파일을 무시한다는 것을 알았다
[._]*.s[a-w][a-z]
[._]s[a-w][a-z]
*.un~
Session.vim
.netrwhist
*~
확실한,
프로젝트의 홈 디렉토리에 ".gitignore"를 생성해야하며
*.swp
그게 다야
하나의 명령으로
project-home-directory$ echo '*.swp' >> .gitignore
# VIM: Temperory files
*~
# VIM: Swap-files
[._]*.s[a-w][a-z]
[._]s[a-w][a-z]
# VIM: Commands :cs, :ctags
tags
cscope.*
# VIM session
Session.vim
# VIM: netrw.vim: Network oriented reading, writing, browsing (eg: ftp scp)
.netrwhist
스왑 파일의 이름은 일반적으로 확장자가 ".swp"인 편집중인 파일과 동일합니다.
- 유닉스에서는 '.' 편집 된 파일과 동일한 디렉토리에 파일 이름을 교환하기 위해 앞에 붙습니다. 이렇게하면 스왑 파일이 디렉토리 목록에 표시되지 않습니다.
- MS-DOS 시스템 및 'shortname'옵션이 켜져 있으면 '.' 원래 파일 이름에서 '_'로 바뀝니다.
- 이 파일이 이미 존재하는 경우 (예 : 충돌에서 복구 할 때) 경고가 표시되고 ".swo", ".swn"등의 다른 확장자가 사용됩니다.
- 기존 파일을 덮어 쓰지 않습니다.
- 스왑 파일은 Vim이 파일 편집을 중지하자마자 삭제됩니다.
'.'의 대체 '_'는 MS-DOS 호환 파일 시스템 (예 : 크로스 도스, 멀티 도스)의 문제를 피하기 위해 수행됩니다.
http://vimdoc.sourceforge.net/htmldoc/recover.html
http://www.vim.org/scripts/script.php?script_id=1075
myy 경우 임시 파일은 이미 이전 작업으로 커밋되었으므로 .gitignore를 수정해도 커밋 된 파일에는 영향을 미치지 않습니다 ... git rm files_to_be_ignored --cache
먼저 커밋 한 다음 완료해야합니다.
소스 제어를 사용중인 경우 vim 임시 파일은 매우 쓸모가 없습니다.
따라서 vim을 작성하지 않도록 구성 할 수 있습니다.
~ / .vimrc를 편집하고 다음 줄을 추가하십시오.
set nobackup
set noswapfile
참고 URL : https://stackoverflow.com/questions/4824188/git-ignore-vim-temporary-files
'IT story' 카테고리의 다른 글
UNIX 쉘 스크립트의 목록에서 고유하거나 다른 값을 선택하십시오. (0) | 2020.04.23 |
---|---|
Angular 2에서 조건부 속성을 추가하는 방법은 무엇입니까? (0) | 2020.04.23 |
Windows .exe를“디 컴파일”할 수 있습니까? (0) | 2020.04.23 |
파이썬에서 YYYY-MM-DD로 오늘 날짜를 얻으시겠습니까? (0) | 2020.04.23 |
Rails에서 모델의 테이블 이름 매핑을 명시 적으로 어떻게 지정합니까? (0) | 2020.04.23 |