Vim의 : wq가 저장되지 않습니다


8

:wqVim에서 편집 한 텍스트 파일을 저장하는 데 사용하려고 하지만 입력 :wq하면 오류가 발생합니다.

E45: 'readonly' option is set (add ! to override)`  

like에 추가 !하면 다음 :wq과 같이 :wq!나타납니다.

"/etc/dhcp/dhcpd.conf"

"/etc/dhcp/dhcpd.conf" E212: Can't open file for writing

편집하려는 파일 dhcpd/etc/dhcpd경로에 있습니다.

어떻게해야합니까?


선호 :x하거나 ZZ종료하고 저장합니다. 변경시에만 작성됩니다.
Hauleth

답변:


14

다음과 같이 수퍼 유저 권한을 사용하여 파일을 열어야합니다.

sudo vi /etc/dhcp/dhcpd.conf

편집을 눌러 파일 i다음 저장 후 종료를 눌러 Esc중 다음과 :wq또는 :x하거나 :w저장할 수 있습니다.


제안 해 주신 Riking 에게 감사드립니다 sudoedit:를 사용 sudoedit /path/to/file/filename하는 대신 루트가 소유 한 파일을 편집 하는 데 사용할 수 있습니다 sudo <editor> /pat/to/file/filename. sudoedit가에 로그를 기록하므로 엔터프라이즈 레벨 머신 또는 프로덕션 머신에 유용합니다 /var/log/auth.log.

sudoedit의 기본 편집기를 변경하려면 다음을 수행하십시오.

sudo update-alternatives --config editor

을 누르고 Return원하는 편집기를 선택한 다음을 다시 누릅니다 Return.


참조 : sudoedit가 유리한 이유에 대한 리딧에 대한 토론


3
sudoedit이러한 상황을 선호 합니다. 임시 사본을 작성하고 편집기를 실행하며 결과를 복사합니다. 이전 nano에 해당 명령을 선택한 경우을 실행하십시오 EDITOR=vi sudoedit /etc/file.
8

1
@Riking :에 감사합니다 sudoedit. 존재 여부조차 몰랐습니다. 그러나 우연히 인터넷 검색을하는 동안 sudoedit. 나는 그것을 제안 할 것이지만, 그들이 사용해야 할 경우 사용자에게 남겨 두십시오.
jobin

sudoedit또한 EDITOR변수를 선택하면 대안을 구성하는 것보다 설정하는 것이 더 쉽습니다
muru

9

/etc/etc수퍼 유저 권한이 필요한 파일을 편집하려면 모든 구성 파일로 구성 되지만 언젠가는 사용하지 않는 것이 좋습니다 sudo. 그 당시에는

:w !sudo tee %

그런 다음 관리자 비밀번호를 입력하십시오

:q!

성공적으로 종료


1
로이 방법을 통해 저장할 수 있도록에 추가 cmap w!! w !sudo tee > /dev/null %할 수 있습니다 . 이 방법의 작품을보고 왜에 관심이 있다면 stackoverflow.com/questions/2600783/....vimrc:w!!
게르하르트 버거를
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.