VI가 Centos와는 Ubuntu에서 왜 다르게 행동합니까?
문제
나는 매일 VI를 사용하는 것이 점점 더 편안 해졌지만, 저를 귀찮게하는 한 가지는 Ubuntu에서 그것을 사용할 때 Centos (및 아마도 다른 장소)에서 사용할 때와 다르게 행동한다는 것입니다. 나는 실제로 Centos에서 작동하는 방식을 선호합니다.
우분투에서 나를 괴롭히는 세 가지가 있습니다.
CentOS 삽입 모드에는 삽입 모드에 있다는 바닥에 큰 대담한 통지가 있지만 우분투에는 통지가 없으므로 어떤 모드에 있는지 알 수 없습니다.
CentOS 삽입 모드에서는 위/다운 키를 누를 수 있으며 커서가 위아래로 이동합니다. 그러나 Ubuntu에있을 때 위아래로 누르면 문자 A와 B를 각각 새 라인에 삽입합니다.
CentOS 삽입 모드에서 백 스페이스 키를 사용할 수 있으며 커서 이전의 문자를 삭제하지만 Ubuntu에서는 경고음 소리가 들리며 아무 일도 일어나지 않습니다. 명령 모드에서 삭제 키를 누를 수 있지만 백 스페이스 키를 누를 수 있습니다.
이러한 차이점이 내가 살아야 할 것이 있습니까? 아니면 쉬운 수정입니까?
해결책
우분투에서 기본 VIM 설치는 패키지에서 나옵니다. vim-tiny
, 그것은 전부가 아닙니다.
당신은 아마도 다음을 원할 것입니다.
apt-get install vim
또는
apt-get install vim-full
다른 문제 중 일부는 백 스페이스 키 및 기타 문제의 문제처럼 들립니다. VIM의 정식 버전을 얻으면 .VIMRC에 추가하십시오.
set nocompatible
set t_kb=^H
fixdel
(중요한 참고 : 그 ^h는 문자 그대로의 Ctrl-H 문자이며, 삽입 모드에서 ctrl-v ctrl-h를 수행함으로써 얻을 수 있습니다)
다른 팁
이전에 제공된 답변은 저에게 효과가 없었습니다.
OS 설치를 가능한 한 재고로 남겨두고 구성 파일을 가능한 한 간단하게 유지하는 것이 좋습니다. 우분투 12.04 에서이 세 가지 문제를 해결하기 위해 다음을 수행했습니다.
"~/.vimrc"에서 선을 삽입하십시오.
NOCP를 설정하십시오
BS = 2를 설정하십시오
vim-full을 설치하는 것 외에도 아직 hava a ~/.vimrc
:
$ cp /usr/share/vim/vimcurrent/vimrc_example.vim ~/.vimrc
이 예 .vimrc
이미 가장 중요한 설정을 만들고 사용자 정의를위한 좋은 시작입니다.
VI를 말할 때 VIM을 의미한다고 생각 하시겠습니까? 그리고 적어도 두 번째 포인트는 VIM/Term Combo의 콘솔/터미널 문제인 것 같습니다. 아래 페이지는 몇 가지 수정 사항을 제시하지만 작업을 할 수있는 것은 없습니다 (Vim Over Putty를 Ubuntu Dev Box에 사용합니다).
http://vim.wikia.com/wiki/fix_broken_arrow_key_navigation_in_insert_mode
.vimrc에서 다음을 사용하여 3 번째 포인트를 덮어 쓸 수 있습니다.
Backspace = Indent, EOL, START를 설정하십시오
(1) 확인하는지 확인하십시오 showmode
설정은 둘 다 다릅니다.
(2) 이것에 대해 알지 못한다. 나는 이것이 VI 자체보다 터미널과 더 관련이 있다고 생각한다.
(3) 사용해보십시오 :map <BS> :normal d
?
Centos에서 VI는 다른 프로그램 인 VIM에 대한 별칭이지만 최근의 Ubuntu 버전에서는 VI가 아닌 VI를 의미합니다. 차이는 두 가지 다른 프로그램 인 VI와 VIM의 차이가 있는지 확인합니다.
VIM을 좋아한다면 VI가 아닌 VIM을 실행하십시오. 이것은 우분투에서도 작동합니다
내 .VIMRC에서 이것을 설정했습니다 ..
set term=builtin_ansi
나는 Debian 7 Inside에 WdmyCloud를 가지고 있습니다.
cp /usr/share/vim/vimcurrent/debian.vim ~/.vimrc
필자의 경우 .vim 파일은 다음과 같이 생성됩니다.
set nocompatible
fixdel
내가 추가하면 set t_kb=^H
, 백 스페이스 키는 삭제 키로 hehaves 만 있습니다.