vi편집기로 코딩할때 컬러로 나오는 방법점알려주세요
글쓴이: nidle / 작성시간: 목, 2006/03/23 - 10:51오전
안녕하세요. vi편집기사용할때 환경설정이나 c코딩할때 컬러로 나오게 하는 방법을 알고싶습니다
/etc/vimrc파일도 편집해보구 이곳저곳 알아봤는데 잘안되더라구요,
이상한건 일반계정으로 들어가면 컬러로 나오는데 유독 root계정으로 들어가면 흑백으로 나옵니다.
fedora4사용하고 있습니다. 어떤분은 vi 와 vim하고 는 다른거라는데 vimrc가 vi편집기 환경설정파일 아닌가요
Forums:
:syntax on 을 했는데도
:syntax on
을 했는데도 그렇다면,
shell 상에서 확인할 수 있는 TERM 환경변수가 다르기 때문일 것입니다.
---
http://coolengineer.com
리눅스에 포함된거면
리눅스에 포함된거면 vi가 아니라 vim일겁니다
/etc/vimrc 는 전역설정파일이고요
홈디렉토리에 .vimrc (~/.vimrc)를 만드시면 그 계정에만 적용됩니다
pynoos님 답변대로 :syn on 하셔도 안나오면
셸에서 echo $TERM 하셔서 터미널환경변수를 확인해보세요
~/.bashrc 에서 변경해주시면 아마 될겁니다.
답변 감사합니다. 환경변수를 확인해봤습니다
일반유저상태와 root계정의 환경변수 모두
echo $TERM결과
xterm 으로 나왔습니다
홈디렉토리에 모두 .vimrc파일은 없구요
다만 다른게 있다면 일반유저 홈에는 .viminfo가 있더라구요
etc에있는 파일은 전역이니 일반계정하고 똑같이 나와야되는거 같은데
root계정은 안되네요, 일반계정은 :syn on/off가 먹히는데
root계정은 별반응이 없네요 ㅠ.ㅠ 머 꼭필요한건아니지만.. 왠지 안되니
오기가 생기네요 ^^ 되야 될텐데
같은 vim이라도 다른
같은 vim이라도 다른 실행 파일일 겁니다. 보통 Redhat 계열은 두 종류의 vim을 제공하는데, 공유 라이브러리를 (가능한) 쓰지 않고, 최소한 기능만 가지고 있는 /bin/vi와 공유 라이브러리를 쓰고, 많은 기능을 가지고 있는 /usr/bin/vim을 제공합니다. 또한 /usr/bin/vi는 /usr/bin/vim으로 symbolic link되어 있습니다.
아마 root로 로긴했을 경우, vi를 실행하면 /bin/vi가 실행되고, 대개 /bin/vi는 syntax highlight 기능이 없습니다.
일반 사용자로 로긴했을 경우, vi를 실행하면 /usr/bin/vi가 실행되고, 이 것은 /usr/bin/vim으로 링크가 되어 있어서 syntax highlight 기능이 있는 full vim이 실행될 것입니다.
--
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://www.cinsk.org/cfaqs/
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
감사합니다!!!
2015년에도 도움을 얻고 가네요 KLDP 짱! cinsk님 짱!
답변 감사합니다. 정말 그렇네요,, ^^
감사합니다. cinsk님 말씀대로 vim을로 실행하니 컬러가 나오네요,,
전에 레드햇9에서는 안그랬던거 같은데 ㅋㅋ
좋은정보 감사합니다.
조금 더 추가 답변.
저도 헤메다가 답을 발견하고 이 게시를 읽었네요. 다른 분들에게 도움이 되고자 달아 봅니다.
로긴 후 $which vi를 해보면 root와 일반계정이 다른 결과가 나올 껍니다.
# root
$which vi
/bin/vi
# user
$ which vi
alias vi='vim'
/usr/bin/vim
보시다 시피 일반계정에는 vi의 alias가 vim으로 설정되어 있습니다. 당연히 full Path를 입력하지 않으면 vim이 실행 됩니다.
/root/.bashrc 파일을 편집해 alias를 거는것도 좋은 방법이나 두 계정의 .bash_profile, .bashrc를 아무리 뒤져봐도 관련 설정이
없는데 설정이 다르게 나타나는데 의문을 품어 봤습니다.
원인은 아래 파일 때문 입니다. (RHEL 6.X 기준)
$cat /etc/profile.d/vim.sh
if [ -n "$BASH_VERSION" -o -n "$KSH_VERSION" -o -n "$ZSH_VERSION" ]; then
[ -x /usr/bin/id ] || return
ID=`/usr/bin/id -u`
[ -n "$ID" -a "$ID" -le 200 ] && return ## ID로 판별해 alias를 거느냐 마느냐
# for bash and zsh, only if no alias is already set
alias vi >/dev/null 2>&1 || alias vi=vim
fi
이유는 모르겠지만 UID로 판별해 alias를 설정하는데 UID 200 이하 즉, 시스템 계정이냐 아니냐로 판별 합니다.
즉, vim.sh 파일에서 해당 조건문을 수정하면 다음 로그인시 반영 됩니다.
댓글 달기