Vim이 다른 텍스트 편집기보다 큰 파일을 더 빨리 열 수있는 이유는 무엇입니까?


10

큰 로그 파일을 열 때 (음, 거의 즉시 그들을로드하기 때문에, 난 항상 빔 사용했습니다 큰하지만 80메가바이트은! 많은 텍스트는 여전히). 메모장, 메모장 ++ 등과 같은 다른 텍스트 편집기는 파일을 처리하고로드하는 데 10 초 이상 걸립니다. 그 이유는 무엇입니까? Vim을 그렇게 빨리 만드는 이유는 무엇입니까?


8
구문 강조 표시를 켜고 느린 vim이 될 수있는 방법에 놀라십시오
Marco

11
가까운 유권자들에게 : 나는이 질문 건설적 이라고 주장합니다 . 답변에서 알 수 있듯이, Vim이 다른 편집기보다 큰 파일로 더 효율적으로 만드는 기술이 있습니다. 그것은 사실 / 참조에 의해 뒷받침 될 수있는 구체적인 대답입니다. 그리고 왜 사람들이 이것을 현지화 된 것으로 간주 할 수 있는지 잘 모르겠습니다. 편집기 가 작은 지리적 영역, 특정 시점 또는 매우 좁은 상황 이상에 영향을 미치는 파일을 처리하는 방법에는 분명한 차이가 있습니다 .
Bob

1
@ 밥-나는이 질문에 대한 답변이 어떻게 문제를 해결하는지 알지 못합니다.
Nifle

답변:


16

편집자가 큰 파일 처리를 최적화하는 데 사용할 수있는 많은 트릭이 있습니다.

하나는 필요한 것만 사용하는 것입니다. 즉, 행 수, 너비 측정, 단어 줄 바꿈, 구문 강조, XML 유효성 검사, HTML 렌더링, 실행 취소 등과 같은 항목에 대해 전체 파일을 구문 분석하지 않습니다. Vim에 사용 가능한 LargeFile 플러그인 이있어 Vim의 여러 기능을 사용할 수 없습니다 "사용자가 정의한대로" "큰"파일이 열릴 때. 큰 파일의 빠른 로딩 빔의 위키 페이지는 장애인 기능 중 일부 언급 : 모드 읽기 전용 (구문 강조 / 구문 분석) 파일 형식, 해제 취소, 스위치를 무시합니다. 다른 변화도 있지만 속도보다는 메모리 절약을 목표로하는 것 같습니다.

다른 하나는 메모리 매핑입니다. 전체 파일을 메모리로 읽는 대신 기본 OS에 파일보기를 프로세스 메모리 공간에 직접 맵핑하도록 지시하십시오. Vim이 특히이 작업을 수행하는지 확실하지 않지만 다른 편집자가 할 수 있습니다.

그것들은 아마도 가장 큰 2 일 것입니다. 그러나 확실히 더 있습니다.


이러한 기술을 사용하여 vim에 대한 참조가 있습니까?
slhck

특히 메모리 매핑에 대해서는 언급 할 수 없지만 첫 번째는 확실히 할 수 있습니다. 다음에 편집하십시오.
afrazier

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