crontab의 기본 텍스트 편집기를 vim으로 변경


100

우분투 9.10을 사용하고 있으며 기본 텍스트 편집기는 nano입니다. (모두가 아닌가요?)

일반적으로 모든 것을 vi 또는 gedit하지만 crontab -enano로 열리 므로 문제가되지 않습니다 . sudo update-alternatives --config editor옵션 3 ( "/ usr / bin / vim.basic")을 사용하여 vim으로 변경하려고했습니다 . 이것은 sudo와 non-sudo 모두를 위해 변경되었습니다. 그러나 crontab -e여전히 나노를 엽니 다. 어떤 아이디어? 최대

답변:


124

crontab -e명령은 환경 변수를 확인합니다 $EDITOR하고 $VISUAL있으므로, 기본 텍스트 편집기의 재정에 대한 ...

export VISUAL=vim

또는

export EDITOR=vim

트릭을해야합니다.


6
다른 사용자의 crontab을 편집하는 sudo -E crontab -e경우 sudo -E지정은 env 변수 사용을 사용하십시오.
MarkHu

89

우분투에서 실행하려고 : select-editor대화식으로 생성되는 ~/.selected_editor:

# Generated by /usr/bin/select-editor
SELECTED_EDITOR="/usr/bin/vim.basic"

나는 이것을 시도했고 (sudo와 내 사용자 아래에서) 내가 변경 한 옵션을 다시 호출했을 때 여전히 나노에 있었다. 어쨌든 EDITOR env var로 수정했지만 어쨌든 더 잘 언급 할 것이라고 생각했습니다. 건배
맥스 윌리엄스

4
위의 답변은 효과가 없었습니다 ...
mlissner

2
예, / usr / bin / sensible-editor에서 사용하는 ~ / .sensible_editor가 변경되었습니다. 편집기를 지정하는 환경 변수가 없으면 crontab은 전자가 사용자 별 구성을 허용하므로 편집기가 아닌 합리적인 편집기를 실행하는 것으로 보입니다.
eel ghEEz

2
@MaxWilliams에서 select-editor를 실행하면 이전에 선택한 내용이 표시되지 않으며 ~ / .sensible_editor에 저장됩니다.
eel ghEEz

5
@eelghEEz-무슨 뜻 ~/.selected_editor인가요? 그것이 내 시스템에 있고 다른 곳에서 본 것입니다.
Wilson F

12

당신이 nano너무 싫어한다면 당신 은 그것을 제거 할 수 있습니다 :

sudo apt-get remove nano

crontab그런 다음 기본값을 다음으로 설정해야합니다 EDITOR(나에게는 vim.basic).


수퍼 유저 계정으로 크론 작업을 실행하지만 개발자 계정으로 로그인합니다. 따라서 개발자 계정에서해야합니다 sudo crontab -e. export EDITOR=vim수퍼 유저 계정과 개발자 계정의 .bashrc를 모두 설정 했지만 sudo crontab -e여전히 나노로 시작했습니다. nano를 제거한 후에는 vim을 엽니 다. 감사!
아룬

1
이것은 나를 위해 일한 유일한 솔루션입니다. 이 전에 4-5 가지를 시도 :)
찰리 윈

OP가 의미하는 것처럼 나노가 필요하지 않은 경우에는 이것이 최상의 솔루션입니다. 왜 그것이 나에게 먼저 발생하지 않았는지 확실하지 않습니다. 아마도 crontab이 다음으로 사용할 수있는 편집기로 기본값이 될지 알지 못했을 것입니다! 대단하다
누가

11

보낸 사람 man crontab:

-e 옵션은 편집기를 사용하여 현재 crontab을 편집하는 데 사용됩니다
VISUAL 또는 EDITOR 환경 변수로 지정됩니다. 당신 후
편집기를 종료하면 수정 된 crontab이 자동으로 설치됩니다.
캘리 환경 변수 중 어느 것도 정의되지 않은 경우
기본 편집기 / usr / bin / editor가 사용됩니다.

에 추가 ~/.bashrc:

export EDITOR=vim

4

더 나은 선택은 한 명의 사용자가 아닌 편집기의 대안을 설정하는 것입니다.

sudo update-alternatives --install /usr/bin/editor editor /usr/bin/vim 100

3
변경을 요청하지 않은 다른 사용자의 설정을 변경하는 것이 더 좋은 이유는 무엇입니까?
15

3
export EDITOR=vi && crontab -e 

데비안 스퀴즈 작업


2
약간의 설명은 먼 길을 갈 것입니다.
ChrisF

3
이것은 EDITOR 환경 변수를 설정하고 그 후 crontab 파일을 편집하며 EDITOR=vim crontab -e한 번만 작동합니다.
0x4a6f4672

3

불행히도 나는 의견이나 투표를 할 수 없습니다.

우분투에서 구성 파일은 ~/.selected_editor

다음 명령 으로 기본 편집기를 다시 선택할 수 있습니다 .

$ select-editor

홈 디렉토리에서 파일을 제거해도 작동합니다.

$ rm ~/.selected_editor

변수 설정 만 가능 $VISUAL하거나 $EDITOR작동하지만 환경에서 실행되는 스크립트에 변수 를 작성하는 경우에만 지속됩니다.

rc 파일에 추가

$ echo "export VISUAL=/usr/bin/vi" >> ~/.bashrc

그러나 마지막 솔루션을 사용하지 않는 것이 좋습니다.


추천하지 않으면 왜 제공 했습니까?
Ramhound

다른 사람들이 그런 방식을 선호 할 수도 있기 때문에 완성을 위해서입니다.
André

0

~/.sensible_editor파일을 가장 잘 제거한 다음 실행 crontab -e하면 기본 편집기를 선택하라는 메시지가 표시됩니다.
그때부터 당신의 선호는 ~/.sensible_editor파일에 기억 될 것 입니다.


왜 이것이 투표에 실패했는지 확실하지 않은 것은 그것이 내가 필요로하고 완벽하게 일한 것입니다.
rob

우분투는 모른다 emacsclient.
15:35에

-1

데비안의 경우 다음을 사용하십시오.

sudo update-alternatives --config editor command

 ----------------------------------------------------------
06  * 0          /bin/nano            40       
07  1            /bin/nano            40       
08  2            /usr/bin/vim.basic   30        
09  3            /usr/bin/vim.tiny    10        

'2'를 선택하고 Enter를 누르십시오. 알았다!


슈퍼 유저에 오신 것을 환영합니다! 질문을주의 깊게 다시 읽으십시오. 귀하의 답변은 원래 질문에 대한 답변이 아닙니다 . OP는 이미이 문제를 시도했지만 문제를 해결하지 못했습니다.
DavidPostill

-1

가장 원하지 않는 제품을 완전히 제거하는 것이 가장 쉽습니다. 다른 모든 설정 변경은 자동입니다.

apt-get install vim -y && apt-get remove nano -y


-1

일부 데비안 컴퓨터와 같은 구형 컴퓨터에서는 이것이 작동하며 가장 휴대하기 쉬운 솔루션입니다.

mv /usr/bin/editor /usr/bin/.editor
ln -s $(which vim) /usr/bin/editor

아니요, /usr/bin수동으로 아무것도 엉망으로 만들지 마십시오 . 이러한 위치는 dpkg직접 관리 하지 않아야합니다.
tripleee
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.