FreeBSD의 vim은 화살표 키 및 기타 vi와 유사한 동작에 올바르게 반응하지 않습니다.


9

FreeBSD에서 vim을 사용하려고 시도했습니다 (Linux xterm 호환 터미널의 ssh를 통해). 그러나 vim은 vi out-of-box와 유사하게 동작합니다. 예를 들어 삭제 키에서 반응하지 않고 삽입 모드에서 위로 올라가는 대신 F 문자를 삽입하십시오.

FreeBSD X11이 설치되어 있지 않습니다.

편집 : 요청한대로 게시vim --version

# vim --version
VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Jul 28 2010 11:48:54)
Included patches: 1-6, 8-35, 37-48, 50-70, 73, 75-87, 90-92, 94-100, 102-137, 139-149, 151-171,     173-190, 192-193, 195-203, 206-211, 213-215, 217-218, 220-232, 234-246, 251-259, 261-301, 303-319, 321-322, 324-335, 337-351, 353-361, 363, 366-371, 373, 375-376, 378-383, 385-387, 389-398, 401-402, 404-411
Compiled by root@enterprise.piechotka.com.pl
Big version without GUI.  Features included (+) or not (-):
+arabic +autocmd -balloon_eval -browse ++builtin_terms +byte_offset +cindent 
-clientserver -clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments 
+cryptv +cscope +cursorshape +dialog_con +diff +digraphs -dnd -ebcdic 
+emacs_tags +eval +ex_extra +extra_search +farsi +file_in_path +find_in_path 
+float +folding -footer +fork() -gettext -hangul_input +iconv +insert_expand 
+jumplist +keymap +langmap +libcall +linebreak +lispindent +listcmds +localmap 
+menu +mksession +modify_fname +mouse -mouseshape +mouse_dec -mouse_gpm 
-mouse_jsbterm +mouse_netterm +mouse_sysmouse +mouse_xterm +multi_byte 
+multi_lang -mzscheme -netbeans_intg -osfiletype +path_extra -perl +postscript 
+printer -profile -python +quickfix +reltime +rightleft -ruby +scrollbind 
+signs +smartindent -sniff +startuptime +statusline -sun_workshop +syntax 
+tag_binary +tag_old_static -tag_any_white -tcl +terminfo +termresponse 
+textobjects +title -toolbar +user_commands +vertsplit +virtualedit +visual 
+visualextra +viminfo +vreplace +wildignore +wildmenu +windows +writebackup 
-X11 -xfontset -xim -xsmp -xterm_clipboard -xterm_save 
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
      user exrc file: "$HOME/.exrc"
  fall-back for $VIM: "/usr/local/share/vim"
Compilation: cc -c -I. -Iproto -DHAVE_CONFIG_H   -I/usr/local/include  -O2 -pipe -fno-strict-aliasing  -D_FORTIFY_SOURCE=1        
Linking: cc   -L/usr/local/lib -o vim       -lm -ltermlib -liconv  

Linux 박스에서 어떤 키맵을 사용하고 있습니까?
— gvkv

uk (/etc/conf.d/keymaps에서 설정) X11 영국 + 일부 사용자 정의. 나는 그놈 터미널을 사용합니다.
— Maciej Piechotka

공감할 이유가 있습니까?
— Maciej Piechotka

답변:


8

이것은 일반적으로 터미널 설정 문제입니다. FreeBSD 쪽에서 $ TERM 환경 변수를 확인하고 로컬 터미널 설정이 무엇인지 확인하십시오. 이것은 거의 확실히 화살표 키의 문제입니다.

이 외에도 표준 "unvi my vim".vimrc 설정이 적용되어 있는지 확인하십시오.

set nocompat
set backspace=eol,start,indent

터미널 설정이 정확하지만 여전히 백 스페이스 문제가있는 경우 vim의 도움을 살펴보십시오

:help fixdel

7

최근에 Linux로 작업 한 후 FreeBSD 8.2 서버를 최근에 설정했으며 VI와 똑같은 좌절감을 느꼈습니다. 문제는 FreeBSD는 대부분의 Linux 배포판과는 VI의 기본값이 매우 다르다는 것입니다.

http://jmcpherson.org/vimrc.html 페이지로 넘어 가서 VI가 익숙한 방식으로 VI가 작동하도록 .vimrc 파일을 설정하는 방법은 다음과 같습니다.

set nocompatible
set autoindent
set smartindent
set tabstop=4
set shiftwidth=4
set showmatch
set guioptions-=T
set vb t_vb=
set ruler
set nohls
set incsearch
set virtualedit=all
set bs=2

VI가 너무 많은 어려움을 겪었 기 때문에 나노 텍스트 편집기를 사용하여 파일을 만들었습니다.

VI를 처음 사용하는 사람은 홈 디렉토리에 .vimrc라는 텍스트 파일을 생성하고 위의 코드 상자 내용을 붙여 넣어 저장하십시오. 또는 옵션을 입력 한 :다음 :set ruler엔터를 쳐서 VI에서 바로 해당 옵션을 시도 할 수 있습니다 .


질문을 해석 할 때, 그는 단순히 삭제 키에 대해 묻지 않았거나 삽입 모드에서 문자를 입력하는 화살표 키를 요구 한 것 같습니다. 필자는 FreeBSD를 처음 사용하는 Linux 사용자이며 대부분의 Linux 배포판에서 사용되는 표준 기본값과 비교할 때 VI 기본값으로 좌절했습니다. 내가 게시 한 옵션은 vim-enhanced를 설치할 때 Linux에서 일반적으로 작동하는 것처럼 VI가 작동하도록합니다. 그래서 나는 그것이 받아 들여진 대답에 좋은 추가 물이라고 생각하며 터미널 설정을 엉망으로 만들 필요가 없습니다 (적어도 나는 필요하지 않습니다). 내 정보가 다른 사람들을 돕기를 바랍니다.
— 벤 바론

3

"vim"을 입력 중이거나 "vi"를 입력하면 Vim이 실행된다고 가정합니까?

FreeBSD에서 "vi"명령을 사용하면 nvi 가 될 것 입니다.


vim을 입력하고 있습니다.
— Maciej Piechotka

터미널에서 다음을 사용하십시오. -a vi를 입력하고 -a vim을 입력하십시오. 그 후 : ls -ld / usr / bin / vi 및 ls -ld / usr / bin / vim을 사용하여 기호 링크가 있는지 확인하십시오.
— bitek

which vim-> /usr/local/bin/vim, which vi-> /usr/bin/vi. 나는 type그런 명령이 없다. symlink는 없습니다.
— Maciej Piechotka

"type"은 Bash 내장입니다. "type -p"는 "which"와 동일하며 "type -a"는이를 확장합니다. "vim --version"의 출력을 게시 할 수 있습니까?
— Warren Young

주요 게시물에 게시
— Maciej Piechotka

1

내 생각에 따라이 문제의 가능한 원인이 될 수 있습니다.

  1. 누군가 vim을 vi처럼 동작하도록 설정 한 실수로 vimrc 파일에있을 수 있습니다.
    set compatible
  2. vim이 원래 vi 바이너리를 가리키고 있습니다.

언급했듯이 그것은 가리키고 있지 않습니다. 나는 vimrc비슷한 파일 이 없습니다 .
— Maciej Piechotka

@Maciej이지만 freebsd는 기본값을 설정합니다. vim 기본값을 망쳐 놓은 모든 배포판에 니켈이 있다면 : h 호환을 읽습니까? freebsd에있는 vimrc 파일을 확인 했습니까?
— xenoterracide

@Maciej : .vimrc를 확인 했습니까?
— Hemant

.vimrc가 없습니다
— Maciej Piechotka

1

vim을 설치 한 후 가장 먼저해야 할 일은 :

cp ${LOCALBASE:-"/usr/local"}/share/vim/vim*/vimrc_example.vim ~/.vimrc

background = dark를 설정 한 것을 제외하고는 가장 정상적인 기본값을 갖습니다.


고마워 그것은 나를 위해 많은 것들을 고쳤습니다. 물론 많은 추가 자료가 있지만 좋은 출발점입니다.
— beatgammit
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.