sudoedit
. sudo vim
여기에는 몇 가지 장점이 있는데, 그 중 하나는 내 사용자의 ~/.vimrc
.
대신 사용할 수 있는 것이 있습니까 sudo vimdiff
?
내가 시도한 것
- 직접 사용하는 대신
vimdiff
수직 분할 모드에서 두 개의 파일을 연 다음:diffthis
두 파일 모두에서 실행할 수 있습니다. 그러나 .dll을 사용하여 하나의 파일 을sudoedit
열면 .sudoedit
/var/tmp
- 그래도 사용할 수는 있었지만
vim -O file1 file2
예상대로sudoedit -O
실패했습니다.
답변1
실행할 편집기를 결정하려면 , , 및 sudo
3개의 환경 변수를 순서대로 확인 하고 찾은 첫 번째 편집기를 사용하십시오. (찾지 못할 경우 기본값으로 돌아갑니다.)SUDO_EDITOR
VISUAL
EDITOR
따라서 다음과 같이 vim 대신 vimdiff를 실행하도록 할 수 있습니다.
$ VISUAL=vimdiff sudoedit file1 file2
sudoers 정책에서 특정 파일 편집만 허용하는 경우 이 작업이 실패할 수 있습니다. 이 경우 매개변수를 추가할 수 있습니다.
$ VISUAL='vimdiff file1' sudoedit file2
이 경우 file1
일반 사용자로 읽을 수 있지만 읽기 위해서는 루트 액세스가 필요하다고 가정합니다 file2
.
( VISUAL
익숙해서 사용하고 있으니 마음껏 사용해 보세요 SUDO_EDITOR
.)
답변2
이것은 까다로운 해결책입니다. 마음껏 최적화해주세요! 아마도 이것이 적용될 수 있을까요 ~/vimrc
?
이 두 파일을 열어보세요sudoedit
$ sudoedit file1 file2
:vsp | b2
모든 창에서 실행
:diffthis