FreeBSD üzerindeki vim, ok tuşlarına ve diğer vi benzeri davranışlara doğru tepki vermez


9

FreeBSD'de vim kullanmaya çalıştım (Linux xterm uyumlu terminalde ssh aracılığıyla). Bununla birlikte vim, kutudan çıktığı gibi çalışır. Örneğin silme tuşuna tepki vermiyor, ekleme modundayken yukarı gitmek yerine F karakteri giriyor vb.

FreeBSD X11'de yüklü değildir.

Düzenleme : Sorduğum gibivim --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 kutusunda hangi tuş haritasını kullanıyorsunuz?
gvkv

uk (/etc/conf.d/keymaps içinde ayarlanır). X11 uk + bazı özelleştirme. GNOME terminal kullanıyorum.
Maciej Piechotka

Downvote için herhangi bir neden var mı?
Maciej Piechotka

Yanıtlar:


8

Bu genellikle bir terminal ayarı sorunudur. FreeBSD tarafında $ TERM ortam değişkeninizi ve yerel terminal ayarınızın ne olduğunu kontrol edin. Bu neredeyse kesinlikle ok tuşlarıyla ilgili bir sorundur.

Buna ek olarak, standart "vimimi kırma" .vimrc ayarları uyguladığınızdan emin olun.

set nocompat
set backspace=eol,start,indent

Terminal ayarlarının doğru olduğundan eminseniz ancak hala geri alma sorunları yaşıyorsanız vim'in yardımına bakın

:help fixdel

7

Son zamanlarda çoğunlukla Linux ile çalıştıktan sonra bir FreeBSD 8.2 sunucusu kurdum ve VI ile aynı hayal kırıklığına uğradım. Sorun, FreeBSD'nin VI için çoğu Linux dağıtımından çok farklı varsayılanlarla gelmesidir.

Bu sayfaya tökezlediğimiz için teşekkürler: http://jmcpherson.org/vimrc.html .Vimrc dosyamı VI'nın alıştığım şekilde çalışmasını sağlamak için şu şekilde ayarladım:

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

Dosyayı yapmak için nano metin düzenleyicisini kullandım çünkü VI bana çok sorun çıkarıyordu.

VI için yeni olan herkes için, ana dizininizde .vimrc adlı bir metin dosyası oluşturun ve yukarıdaki kod kutusunun içeriğini yapıştırın ve kaydedin. Veya bu seçeneklerden herhangi birini VI :sonra doğrudan bir seçenek yazıp :set rulerenter tuşuna basarak deneyebilirsiniz .


Soruyu yorumlarken, sadece silme tuşunu değil, ekleme modunda harfleri yazarak ok tuşlarını sormuş gibi görünüyor. Bana öyle geliyor ki, ilk kez FreeBSD kullanan bir Linux kullanıcısı ve çoğu Linux dağıtımında kullanılan standart varsayılanlara kıyasla VI varsayılanları ile sinirli. Gönderdiğim seçenekler, VI'yı vim gelişmiş yüklerken genellikle Linux'ta olduğu gibi çalıştıracak. Bu yüzden kabul edilen cevaba iyi bir katkı olduğunu düşünüyorum ve ayrıca terminal ayarlarıyla uğraşmaya gerek yok (en azından ihtiyacım yoktu). Umarım bilgilerim başkalarına yardımcı olur.
Ben Baron

3

"Vim" mi yazıyorsunuz, yoksa "vi" yazmanın Vim'i çalıştırdığını mı düşünüyorsunuz?

FreeBSD'de "vi" komutunun size nvi getirmesi muhtemeldir .


Vim yazıyorum.
Maciej Piechotka

Terminal kullanımında: -a vi ve tip -a vim yazın Bundan sonra: ls -ld / usr / bin / vi ve ls -ld / usr / bin / vim sembolik bir bağlantı olup olmadığını görmek için.
bitek

which vim-> /usr/local/bin/vim, which vi-> /usr/bin/vi. Benim type-> böyle bir komutum yok. Hiçbiri sembolik değildir.
Maciej Piechotka

"type" bir Bash yerleşkesidir. "type -p", "hangisi" ile aynı şeydir ve "type -a" yalnızca bunu genişletir. "Vim --version" çıktısını gönderebilir misiniz?
Warren Young

ana mesaja gönderildi
Maciej Piechotka

1

tahminim bu sorunun olası nedeni olabilir:

  1. Yanlışlıkla vimrc dosyanızda birisi vim'i vi gibi davranmaya ayarlamış olabilir.
    set compatible
  2. Vim'iniz orijinal vi ikilisini gösteriyor.

Belirtildiği gibi işaret etmiyor. Herhangi bir vimrcveya benzer dosyam yok.
Maciej Piechotka

@Maciej ama freebsd herhangi bir varsayılan ayarlamaz. Eğer vim varsayılanları berbat her dağıtım için bir nikel olsaydı ... h uyumlu okudunuz mu? freebsd muhtemelen vimrc dosyasını kontrol ettiniz mi?
Ağustos'ta xenoterracide

@Maciej: .vimrc'i kontrol ettiniz mi?
Hemant

Ben .vimrc
Maciej Piechotka

1

Vim kurduktan sonra yaptığım ilk şey:

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

Bunun arkaplan = karanlık ayarlaması dışında, en aklı başında varsayılan vardır.


Bunun için teşekkürler. Benim için çok şey düzeltti. Tabii ki çok fazla şey var, ama iyi bir başlangıç ​​noktası.
beatgammit
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.