vim no FreeBSD não reage corretamente nas teclas de seta e outros comportamentos do tipo vi

8

Eu tentei usar o vim no FreeBSD (via ssh no terminal compatível com xterm do Linux). No entanto, o vim comporta-se similar ao vi out-of-box. Por exemplo, ele não reage na tecla delete, insere o caractere F em vez de subir no modo de inserção, etc.

No FreeBSD X11 não está instalado.

Editar : como solicitado, eu postei 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 [email protected]
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  
    
por Maciej Piechotka 18.08.2010 / 13:29

5 respostas

8

Este é geralmente um problema de configuração de terminal. Verifique sua variável de ambiente $ TERM no lado do FreeBSD e verifique qual é a configuração do seu terminal local. Este é quase certamente o problema com as teclas de seta.

Além disso, certifique-se de ter o conjunto padrão de "unbreak my vim". Configurações do vimrc aplicadas.

set nocompat
set backspace=eol,start,indent

Se você tem certeza de que as configurações do terminal estão corretas, mas ainda está tendo problemas de retrocesso, dê uma olhada na ajuda do vim

:help fixdel
    
por 19.08.2010 / 00:59
6

Eu acabei de configurar um servidor FreeBSD 8.2 depois de trabalhar com Linux, e eu tive exatamente a mesma frustração com o VI. O problema é que o FreeBSD vem com padrões muito diferentes para o VI do que a maioria das distribuições Linux.

Graças ao tropeço nesta página: link , aqui está como eu configurei meu arquivo .vimrc para fazer com que o VI funcionasse da maneira que eu estou habituado a:

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

Eu usei o editor de texto nano para criar o arquivo porque o VI estava causando muitos problemas.

Para quem é novo no VI, basta criar um arquivo de texto em seu diretório pessoal chamado .vimrc e colar o conteúdo da caixa de código acima e salvar. Ou você pode tentar qualquer uma dessas opções no VI, digitando um : , em seguida, a opção, ou seja, :set ruler e pressionando Enter.

    
por 18.05.2011 / 10:57
3

Você está digitando "vim", ou assumindo que digitar "vi" executa o Vim?

No FreeBSD, o comando "vi" provavelmente fará com que você nvi .

    
por 18.08.2010 / 13:35
1

meu palpite está seguindo pode ser a possível razão para este problema:

  1. Pode estar no seu arquivo vimrc por engano alguém configurou o vim para se comportar como o vi.
    set compatible
  2. Seu vim está apontando para o vi binário original.
por 18.08.2010 / 23:01
1

A primeira coisa que faço depois de instalar o vim:

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

Isso tem padrões mais saudáveis, exceto pelo fato de eu definir background = dark.

    
por 18.05.2011 / 13:53