FreeBSD 上的 vim 无法正确响应箭头键和其他类似 vi 的行为

FreeBSD 上的 vim 无法正确响应箭头键和其他类似 vi 的行为

我尝试在 FreeBSD 上使用 vim(通过 Linux xterm 兼容终端上的 ssh)。然而,vim 的行为与开箱即用的 vi 类似。例如,它不会对删除键做出反应,在插入模式下插入 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 [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  

答案1

这一般是终端设置问题。检查 FreeBSD 端的 $TERM 环境变量,并检查本地终端设置是什么。这几乎肯定是方向键的问题。

除此之外,请确保您应用了标准的“unbreak my vim”.vimrc 设置集。

set nocompat
set backspace=eol,start,indent

如果您确定终端设置正确,但仍然遇到退格问题,请查看 vim 的帮助

:help fixdel

答案2

在主要使用 Linux 之后,我最近刚刚设置了一台 FreeBSD 8.2 服务器,并且我对 VI 也有同样的挫败感。问题是 FreeBSD 的 VI 默认值与大多数 Linux 发行版截然不同。

感谢偶然发现这个页面:http://jmcpherson.org/vimrc.html,下面是我设置 .vimrc 文件以使 VI 按照我习惯的方式工作的方法:

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

我使用nano文本编辑器来制作该文件,因为VI给我带来了很多麻烦。

对于任何 VI 新手,只需在主目录中创建一个名为 .vimrc 的文本文件,然后粘贴上面代码框中的内容并保存。或者,您可以直接在 VI 中尝试任何这些选项,方法是键入:选项,即:set ruler,然后按 Enter 键。

答案3

你是在输入“vim”,还是假设输入“vi”会运行 Vim?

在 FreeBSD 上,命令“vi”可能会让你英维

答案4

安装 vim 后我做的第一件事:

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

除了我设置背景=黑暗之外,它具有最合理的默认值。

相关内容