centos의 모든 사용자를 위해 vim 매핑에 vi를 추가합니다.

centos의 모든 사용자를 위해 vim 매핑에 vi를 추가합니다.

어떤 이유로 vim이 설치되지 않은 AWS EC2의 특정 centos7 이미지를 사용하고 있습니다.

새로 부팅된 서버에서 이미 ansible 스크립트가 실행 중이므로 ansible을 통해 VIM을 추가할 계획입니다. 모든 사용자에 대해 vi 매핑의 일반적인 동작을 vim으로 설정하고 싶습니다.와는 별개로뿌리.

ansible을 사용하여 yum을 설치하는 것은 매우 간단합니다. 그런데 "alias vi=vim" 줄을 어디에 넣어야 할지 잘 모르겠습니다. /etc/bash.rc에 넣으면 루트에서도 작동할 수 있지만 이는 원하지 않습니다. 익숙한 "표준" vim 매핑 동작을 얻으려면 어떤 파일을 수정해야 합니까?

답변1

왜 루트도 원하지 않는지 모르겠지만 alias vi=vim그렇게 어렵지는 않습니다.

bash를 사용하고 있으므로 bash $UID또는 $EUID읽기 전용 변수를 사용하여 사용자가 루트인지 테스트할 수 있습니다. 따라서 다음에 별칭을 추가하려는 아이디어를 기반으로 합니다 /etc/bash.bashrc.

[ "$EUID" != "0" ] && alias vi=vim

이러한 변수가 없는 다른 bourne 유사 쉘의 경우 id예를 들어 .

[ "$(id -u)" != "0" ] && alias vi=vim

답변2

알고 보니 전혀 그럴 필요가 없었습니다. vim-enhanced yum 패키지는 설치 시 vi를 vim 별칭으로 자동 구성하는 것 같습니다. 그래서 yum 패키지를 완전히 업데이트하고 나면 원하는 별칭을 얻게 되었습니다. 아직 확실하지 않음어디그러나 앨리어싱은 완료되었습니다.

관련 정보