Vim thay Vi


29

Các bạn, có ai biết cách thay đổi trình soạn thảo giao diện điều khiển linux từ vi thành vim mỗi khi chúng ta thực thi vi không? Tôi đang sử dụng Ubuntu và Fedora Core


2
Chỉ tò mò: Những gì Linux dist. phải không Tôi không thể nhớ mình từng thấy trường Vi cũ như mặc định.
Brian Rasmussen

2
Trên thực tế, nó cực kỳ khó có thể là vi, vì đó sẽ không phải là mã FOSS.

Từ bộ nhớ là một số distro (tôi nghĩ đó là RHEL), họ đã cấu hình lệnh vithành chế độ cổ điển trong VIM.
Seh Hui Leong

4
Tại sao thực thi vi nếu bạn thích vim? EDITOR xuất khẩu = vim?
Tadeusz A. Kadłubowski

Arch cũng có một bản sao "vi" theo mặc định, thay vì vim.
WhyNotHugo

Câu trả lời:


34

Trước tiên, hãy chắc chắn rằng bạn đã cài đặt các gói Vim thích hợp. Mặc định trên nhiều hệ thống là cài đặt gói Vim tối thiểu gần với Vi hơn về chức năng.

Trên các hệ thống dựa trên Red Hat (RHEL, CentOS, Fedora), bạn cần gói tăng cường vim, ví dụ từ hệ thống CentOS tôi đã cài đặt:

vim-common-7.0.109-4.el5_2.4z
vim-enhanced-7.0.109-4.el5_2.4z
vim-minimal-7.0.109-4.el5_2.4z

'chung' chứa các thư viện chung được sử dụng bởi tất cả các gói Vim. 'Minimal' là các trình thực thi trình soạn thảo vi đơn giản như được cài đặt theo mặc định.

Trên các hệ thống dựa trên Debian (như Ubuntu), bạn cần 'vim'. Ví dụ:

ii  vim                  2:7.2.079-1ubuntu5  Vi IMproved - enhanced vi editor
ii  vim-common           2:7.2.079-1ubuntu5  Vi IMproved - Common files
ii  vim-runtime          2:7.2.079-1ubuntu5  Vi IMproved - Runtime files
ii  vim-tiny             2:7.2.079-1ubuntu5  Vi IMproved - enhanced vi editor - compact version

Chúng nên được cài đặt theo mặc định. Trên Debian / Ubuntu, bạn có thể cập nhật trình chỉnh sửa hệ thống mặc định cho tất cả người dùng:

sudo update-alternatives --config vi

Chọn phiên bản bạn muốn từ menu chọn. Mặc dù vậy, các kịch bản cài đặt bài đăng cho gói vim đã được cập nhật. Sử dụng --config editorđể thay đổi trình chỉnh sửa mặc định cho tất cả người dùng trên hệ thống (ví dụ mặc định ban đầu của Ubuntu 9.04 là nano).

Cuối cùng, trên cơ sở mỗi người dùng cho bất kỳ phân phối nào, hãy thiết lập bí danh trong hồ sơ người dùng. Ví dụ: nếu shell là bash, hãy chỉnh sửa ~ tên người dùng / .bashrc:

alias vi="vim"

Ngoài ra, bạn có thể kiểm tra vimrc hệ thống (/ etc / vimrc, thường) để xem chế độ tương thích có được bật không.

set cp
set compatibility

Sẽ bảo Vim cư xử giống Vi cũ hơn, bất kể bạn đã xử lý bằng cách sử dụng Vim như thế nào ở trên. Thay đổi thành 'nocp' hoặc 'nocompabilities' để làm cho Vim trở nên hữu ích hơn.


2
Trên các phiên bản gần đây của Ubuntu, chỉ có vim-tiny được cài đặt theo mặc định. Cài đặt vim để có phiên bản đầy đủ.
Hamish Downer

28

Trong .bashrc của bạn:

alias vi=vim

2
Điều này sẽ không ảnh hưởng đến bất cứ thứ gì không sử dụng bash, ví dụ: khi bạn nhấn "v" bên trong ít hơn (1), nó vẫn sẽ chạy vi "thực".
Kevin Panko

2
Các biến môi trường EDITORVISUALsẽ được ưu tiên khi bạn nhấn vvào vilệnh mặc định . Vì vậy, trong .bashrcxuất khẩu của bạn EDITORhoặc VISUALvới vimgiá trị của nó; ví dụ, export EDITOR=vimexport VISUAL=vimtrong.bashrc
Nitrodist

10

Nếu đó là hệ thống Debian hoặc Ubuntu và bạn muốn làm cho hệ thống thay đổi này rộng ra, bạn nên sử dụng update-alternatives(chỉ định với các --config editortùy chọn và bạn nên là vàng)


9

Nếu bạn chỉ cần thay đổi cho id của mình và trong phiên cuối: bí danh vi đến vim theo đề xuất của AI.

Nếu bạn muốn thay đổi toàn hệ thống trên máy của mình, hãy liên kết mềm với vim trong / usr / local / bin :

sudo ln -s `which vim` /usr/local/bin/vi

Lưu ý: Các chương trình có thể bỏ qua mọi bí danh trên vi bằng cách chạy command vihoặc \vithay vì chỉ vi.


3

Một số dists sử dụng chế độ trường học cũ của vim: s nơi nó hoạt động như vi.

kiểm tra xem .vimrc của bạn có chứa

set nocompatible

Tôi đã bị lừa bởi điều này một vài lần ....


1

Trên các hệ thống Debian, khi bạn thực thi vim-tiny mặc định là 'vi', một tệp RC khác được sử dụng - /etc/vim/vimrc.tiny.

Để làm cho 'vi' hoạt động giống như 'vim' hơn, hãy chỉnh sửa /etc/vim/vimrc.tiny và thay đổi dòng:

set compatible

đọc:

set nocompatible

0

Tôi đã làm như thế .profiletrên bằng :

if [ -f "/usr/bin/vim" ];
 alias vi="vim"
else
 alias vim="vi"
fi

export EDITOR=vim

Vì vậy, luôn luôn có nó đúng hoặc như .


0

Nếu bạn sử dụng , hãy đặt dòng dưới đây vào ~/.config/fish/config.fish:

alias vi="vim"
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.