เป็นกลุ่มใน FreeBSD ไม่ตอบสนองต่อปุ่มลูกศรอย่างถูกต้องและพฤติกรรมเหมือน vi อื่น ๆ


9

ฉันพยายามใช้ vim บน FreeBSD (ผ่าน ssh บนเทอร์มินัลที่รองรับ xterm) อย่างไรก็ตามเสียงเรียกเข้ามีลักษณะคล้ายกับ 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  

คุณใช้ Keymap ใดในกล่อง Linux
gvkv

uk (ตั้งค่าใน /etc/conf.d/keymaps) ใน X11 uk + การปรับแต่งบางอย่าง ฉันใช้ gnome-terminal
Maciej Piechotka

เหตุผลใดสำหรับ downvote
Maciej Piechotka

คำตอบ:


8

นี่เป็นปัญหาการตั้งค่าเทอร์มินัลโดยทั่วไป ตรวจสอบตัวแปรสภาพแวดล้อม $ TERM ของคุณที่ด้าน FreeBSD และตรวจสอบว่าการตั้งค่าเทอร์มินัลท้องถิ่นของคุณคืออะไร นี่เป็นปัญหากับปุ่มลูกศรอย่างแน่นอน

นอกจากนี้ตรวจสอบให้แน่ใจว่าคุณใช้ชุดการตั้งค่า "unbreak my vim" .vimrc มาตรฐานแล้ว

set nocompat
set backspace=eol,start,indent

หากคุณแน่ใจว่าการตั้งค่าเทอร์มินัลนั้นถูกต้อง แต่คุณยังคงมีปัญหา Backspace ให้ดูที่ความช่วยเหลือของกลุ่ม

:help fixdel

7

ฉันเพิ่งตั้งค่าเซิร์ฟเวอร์ FreeBSD 8.2 หลังจากทำงานกับ Linux เป็นส่วนใหญ่และฉันก็รู้สึกหงุดหงิดเหมือนกันกับ VI ปัญหาคือ FreeBSD มาพร้อมกับค่าเริ่มต้นที่แตกต่างกันมากสำหรับ VI มากกว่า distros 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

ฉันใช้โปรแกรมแก้ไขข้อความนาโนเพื่อสร้างไฟล์เพราะ VI ทำให้ฉันมีปัญหามาก

สำหรับผู้ที่ยังใหม่กับ VI เพียงสร้างไฟล์ข้อความในโฮมไดเร็กตอรี่ของคุณชื่อ. vimrc และวางเนื้อหาของกล่องรหัสด้านบนและบันทึก หรือคุณสามารถลองใช้ตัวเลือกเหล่านี้ได้ใน VI โดยพิมพ์:จากนั้นเลือกตัวเลือกเช่น:set rulerและกดปุ่ม Enter


เมื่อฉันตีความคำถามดูเหมือนว่าเขาไม่ได้ถามถึงปุ่มลบหรือเพียงแค่ปุ่มลูกศรที่พิมพ์ตัวอักษรในโหมดแทรก สำหรับฉันแล้วเขาเป็นผู้ใช้ Linux ที่ใช้ FreeBSD เป็นครั้งแรกและผิดหวังกับค่าเริ่มต้น VI เมื่อเทียบกับค่าเริ่มต้นมาตรฐานที่ใช้ใน Linux distros ส่วนใหญ่ ตัวเลือกที่ฉันโพสต์จะทำให้ VI ทำงานเหมือนปกติใน Linux เมื่อติดตั้ง vim-enhanced ดังนั้นฉันคิดว่ามันเป็นสิ่งที่ดีนอกเหนือจากคำตอบที่ยอมรับและยังไม่จำเป็นต้องยุ่งกับการตั้งค่าเทอร์มินัล (อย่างน้อยฉันก็ไม่จำเป็นต้อง) หวังว่าข้อมูลของฉันจะช่วยเหลือผู้อื่น
Ben Baron

3

คุณกำลังพิมพ์ "vim" หรือสมมติว่าการพิมพ์ "vi" ทำงานเป็นกลุ่มหรือไม่

บน FreeBSD, คำสั่ง "vi" มีแนวโน้มที่จะได้รับคุณNVI


ฉันพิมพ์เสียงเรียกเข้า
Maciej Piechotka

ในเทอร์มินัลใช้: พิมพ์ -a vi และพิมพ์ -a vim หลังจากนั้น: ls -ld / usr / bin / vi และ ls -ld / usr / bin / vim เพื่อดูว่ามีลิงก์สัญลักษณ์หรือไม่
30467 กัด

which vim-> /usr/local/bin/vim, ->which vi /usr/bin/viฉันไม่มีtype-> ไม่มีคำสั่งดังกล่าว ไม่มี symlink
Maciej Piechotka

"type" เป็น Bash ในตัว "type -p" นั้นเหมือนกับ "ซึ่ง" และ "type -a" ก็แค่ขยายออกไป คุณสามารถโพสต์ผลลัพธ์ของ "vim --version" ได้หรือไม่?
Warren Young

โพสต์ในโพสต์หลัก
Maciej Piechotka

1

การเดาของฉันต่อไปนี้อาจเป็นสาเหตุที่เป็นไปได้สำหรับปัญหานี้:

  1. อาจอยู่ในไฟล์ vimrc ของคุณโดยไม่ได้ตั้งใจมีคนตั้งค่ากลุ่มให้ทำตัวเหมือน vi
    set compatible
  2. เสียงเรียกเข้าของคุณกำลังชี้ไปยังไบนารี vi ดั้งเดิม

ตามที่ระบุไว้มันไม่ได้ชี้ ฉันไม่มีvimrcไฟล์ใด ๆหรือคล้ายกัน
Maciej Piechotka

@Maciej แต่ freebsd ตั้งค่าเริ่มต้นใด ๆ ถ้าฉันมีนิกเกิลสำหรับทุก distro ที่เมาค่าเริ่มต้นเป็นกลุ่ม ... คุณอ่าน: h เข้ากันได้? คุณได้ตรวจสอบไฟล์ vimrc ที่ freebsd อาจมี?
xenoterracide

@Maciej: คุณตรวจสอบ. vimrc หรือไม่
Hemant

ฉันไม่มี. vimrc
Maciej Piechotka

1

สิ่งแรกที่ฉันทำหลังจากติดตั้งเป็นกลุ่ม:

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

นั่นเป็นค่าเริ่มต้นที่มีสติมากที่สุดยกเว้นว่าฉันตั้ง background = dark


ขอบคุณสำหรับสิ่งนี้. มันแก้ไขสิ่งต่าง ๆ มากมายสำหรับฉัน แน่นอนว่ามันมีสิ่งพิเศษมากมาย แต่มันเป็นจุดเริ่มต้นที่ดี
beatgammit
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.