FreeBSDのvimが矢印キーやその他のviのような動作に正しく反応しない


9

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 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 2010

uk(/etc/conf.d/keymapsで設定)。X11英国では、一部のカスタマイズ。私はgnome-terminalを使用しています。
Maciej Piechotka、2010

反対票を投じる理由はありますか?
Maciej Piechotka 2016

回答:


8

これは通常、端末設定の問題です。FreeBSD側の$ TERM環境変数を確認し、ローカル端末の設定を確認してください。これはほぼ確実に矢印キーの問題です。

これに加えて、 "unbreak 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を動作させるために.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を入力してEnter キーを押すことにより、VIでこれらのオプションのいずれかを試すことができます。


私が質問を解釈すると、彼は削除キーについてだけではなく、挿入モードで文字を入力する矢印キーについても質問していないようです。彼は初めてFreeBSDを使用するLinuxユーザーであり、ほとんどのLinuxディストリビューションで使用されている標準のデフォルトと比較して、VIのデフォルトに不満を感じているようです。私が投稿したオプションは、vim-enhancedのインストール時にLinuxで通常行うようにVIを機能させます。したがって、これは受け入れられた回答への良い追加であると思います。また、端末設定をいじる必要はありません(少なくとも私は必要としませんでした)。うまくいけば、私の情報が他の人を助けます。
Ben Baron、

3

「vim」と入力していますか、それとも「vi」と入力するとVimが実行されると想定していますか?

FreeBSDでは、コマンド「vi」でnviを取得できる可能性があります。


vimと入力しています。
Maciej Piechotka、2010

端末での使用:-a viと-a vimを入力します。その後、ls -ld / usr / bin / viおよびls -ld / usr / bin / vimを実行して、シンボリックリンクがあるかどうかを確認します。
bitek 08/10/18

which vim-> /usr/local/bin/vimwhich vi-> /usr/bin/vi。私にはtype->そのようなコマンドはありません。シンボリックリンクはありません。
Maciej Piechotka、2010

「type」はBashビルトインです。「type -p」は「which」と同じで、「type -a」はそれを拡張したものです。「vim --version」の出力を投稿できますか?
ウォーレンヤング

メインポストに投稿
Maciej Piechotka

1

私の推測は、この問題の考えられる理由である可能性があります:

  1. 誰かが誤ってvimをviのように動作するように設定したため、vimrcファイルにある可能性があります。
    set compatible
  2. vimが元のviバイナリを指しています。

述べたように、それは指していない。vimrc似たようなファイルはありません。
Maciej Piechotka、2010

@Maciejですが、freebsdはデフォルトを設定します。vimのデフォルトを台無しにしたすべてのディストリビューションにニッケルがあったら...:h互換を読んだことがありますか?freebsdがおそらく持っているvimrcファイルを確認しましたか?
xenoterracide 2010

@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.