vim trên FreeBSD không phản ứng chính xác trên các phím mũi tên và các hành vi giống như vi khác


9

Tôi đã thử sử dụng vim trên FreeBSD (thông qua ssh trên thiết bị đầu cuối tương thích Linux xterm). Tuy nhiên vim hành xử tương tự như vi ngoài hộp. Ví dụ, nó không phản ứng với phím xóa, chèn ký tự F thay vì đi lên trong khi ở chế độ chèn, v.v.

Trên FreeBSD X11 chưa được cài đặt.

Chỉnh sửa : Như đã hỏi tôi đăngvim --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  

Sơ đồ bàn phím nào bạn đang sử dụng trên hộp Linux?
gvkv

uk (đặt trong /etc/conf.d/keymaps). Trong X11 uk + một số tùy chỉnh. Tôi sử dụng thiết bị đầu cuối gnome.
Maciej Piechotka

Bất kỳ lý do cho downvote?
Maciej Piechotka

Câu trả lời:


8

Đây thường là một vấn đề thiết lập thiết bị đầu cuối. Kiểm tra biến môi trường $ TERM của bạn ở phía FreeBSD và kiểm tra cài đặt thiết bị đầu cuối cục bộ của bạn là gì. Điều này gần như chắc chắn là vấn đề với các phím mũi tên.

Ngoài ra, hãy đảm bảo bạn đã áp dụng cài đặt tiêu chuẩn "unbreak my vim" .vimrc.

set nocompat
set backspace=eol,start,indent

Nếu bạn chắc chắn rằng cài đặt thiết bị đầu cuối là chính xác, nhưng bạn vẫn gặp sự cố về backspace, hãy xem trợ giúp của vim

:help fixdel

7

Gần đây tôi đã thiết lập một máy chủ FreeBSD 8.2 sau khi hầu hết làm việc với Linux và tôi đã có cùng sự thất vọng với VI. Vấn đề là FreeBSD đi kèm với các mặc định cho VI rất khác so với hầu hết các bản phân phối Linux.

Nhờ tình cờ vào trang này: http://jmcpherson.org/vimrc.html , đây là cách tôi thiết lập tệp .vimrc của mình để VI hoạt động theo cách tôi đã sử dụng:

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

Tôi đã sử dụng trình soạn thảo văn bản nano để tạo tập tin vì VI đang gây cho tôi rất nhiều rắc rối.

Đối với bất kỳ ai mới sử dụng VI, chỉ cần tạo một tệp văn bản trong thư mục chính của bạn có tên .vimrc và dán nội dung của hộp mã ở trên và lưu lại. Hoặc bạn có thể thử bất kỳ tùy chọn nào trong VI bằng cách nhập a :rồi tùy chọn, tức là :set rulernhấn enter.


Khi tôi giải thích câu hỏi, có vẻ như anh ta không chỉ hỏi về phím xóa, hoặc chỉ các phím mũi tên gõ các chữ cái trong chế độ chèn. Theo tôi, lần đầu tiên anh ấy là người dùng Linux sử dụng FreeBSD và thất vọng với các mặc định VI so với các mặc định tiêu chuẩn được sử dụng trong hầu hết các bản phát hành Linux. Các tùy chọn tôi đã đăng sẽ giúp VI hoạt động giống như thường thấy trong Linux khi cài đặt vim-advanced. Vì vậy, tôi nghĩ rằng đó là một bổ sung tốt cho câu trả lời được chấp nhận và cũng không cần phải lộn xộn với cài đặt thiết bị đầu cuối (ít nhất là tôi không cần phải làm vậy). Hy vọng thông tin của tôi giúp người khác.
Ben Baron

3

Bạn đang gõ "vim" hay giả sử rằng gõ "vi" chạy Vim?

Trên FreeBSD, lệnh "vi" có thể giúp bạn nhận được nvi .


Tôi đang gõ vim.
Maciej Piechotka

Trong một thiết bị đầu cuối sử dụng: gõ -a vi và gõ -a vim Sau đó: ls -ld / usr / bin / vi và ls -ld / usr / bin / vim để xem có liên kết tượng trưng không.
cắn

which vim-> /usr/local/bin/vim, which vi-> /usr/bin/vi. Tôi không có type-> không có lệnh như vậy. Không có gì là symlink.
Maciej Piechotka

"loại" là một nội dung Bash. "Loại -p" giống như "trong đó" và "loại -a" chỉ kéo dài điều đó. Bạn có thể đăng đầu ra của "vim --version" không?
Warren Young

đăng trong bài chính
Maciej Piechotka

1

Tôi đoán là sau đây có thể là lý do có thể cho vấn đề này:

  1. Có thể trong tệp vimrc của bạn do nhầm lẫn ai đó đã đặt vim hoạt động như vi.
    set compatible
  2. Vim của bạn đang trỏ đến nhị phân vi ban đầu.

Như đã nêu nó không chỉ. Tôi không có bất kỳ vimrctập tin tương tự.
Maciej Piechotka

@Maciej nhưng freebsd không đặt mặc định. Nếu tôi có một niken cho mọi bản phân phối làm hỏng mặc định vim ... bạn đã đọc: h tương thích chưa? Bạn đã kiểm tra tệp vimrc mà freebsd có thể có chưa?
xenoterracide

@Maciej: bạn đã kiểm tra .vimrc chưa?
Hemant

Tôi không có .vimrc
Maciej Piechotka

1

Điều đầu tiên tôi làm sau khi cài đặt vim:

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

Điều đó có hầu hết các mặc định lành mạnh, ngoại trừ việc tôi đặt nền = tối.


Cám ơn vì cái này. Nó đã sửa rất nhiều thứ cho tôi. Tất nhiên, nó có rất nhiều thứ bổ sung, nhưng đó là một điểm khởi đầu tốt.
beatgammit
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.