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.