Vim의 수정 가능성 이해

Vim의 수정 가능성 이해

운영 체제 업그레이드(Linux) 중에 Vim 또는 그 일부도 업데이트됩니다.

이제 가끔 파일을 저장할 때(파일이 저장되지 않음) 다음 오류가 발생합니다.

E21: 변경할 수 없습니다. "수정 가능"이 꺼졌습니다.

나는 그것을했고 :help E21설명서에는 다음과 같이 말했습니다.

        {not in Vi}     *E21*
When off the buffer contents cannot be changed.  The 'fileformat' and
'fileencoding' options also can't be changed.
Can be reset with the |-M| command line argument.

이것이 무엇을 의미하는지 잘 모르겠습니다. 일반적인 방법으로 편집기를 사용하고 실행하면 아무 것도 변경되지 않습니다. 작업 흐름도 동일합니다. 나는 다른 창을 열어서 CTLR-W N파일을 로드 및 편집하고 창 사이를 전환하는 등의 작업을 수행합니다.

이 동작을 비활성화하는 방법과 부작용이 무엇인지 알고 싶습니다.

답변1

이를 사용하여 :verbose set modifiable?플러그인이 이 옵션을 설정하고 있는지 확인할 수 있습니다. 옵션이 플러그인에 의해 수정된 경우 해당 옵션이 표시됩니다 Last set from /path/to/plugin/file(값 표시와 함께).

어쩌면 Netrw 플러그인을 사용하고 있을 수도 있습니다. Vim과 함께 번들로 제공되며 로컬 디렉터리 "편집"(내용 나열, 보기/편집할 파일 선택) 및 원격 파일/디렉터리 액세스를 처리합니다. 나는 그것이 modifiable(다른 옵션과 함께) 혼란스럽다는 것을 알고 있습니다. 최신 Vim과 함께 번들로 제공되는 버전에는 버그가 있을 수 있습니다. 를 사용하여 현재 설치된 Netrw의 버전 번호를 확인할 수 있습니다 :echo g:loaded_netrwPlugin.

문제가 Netrw와 관련된 것 같으면 다른 설치를 시도해 볼 수 있습니다.릴리스 버전, 아니면 아마도개발 버전.

답변2

이는 읽기 전용 파일을 열 때 발생합니다. 파일 권한 확인: 사용자에게 파일에 대한 쓰기 권한이 없는 것 같습니다. 또는 파일 시스템이 읽기 전용으로 마운트될 수 있습니다( df /path/to/file파일이 어떤 파일 시스템에 있는지 확인하고 마운트 옵션을 사용 mount하거나 확인하세요).cat /proc/mounts

또 다른 가능성은 잘못된 디코딩 플러그인이 있지만 다른 오류 메시지가 예상된다는 것입니다.

관련 정보