เป็นกลุ่มเพื่อแทนที่ Vi


29

พวกคุณทุกคนรู้วิธีเปลี่ยนตัวแก้ไขคอนโซล linux จาก vi เป็นกลุ่มทุกครั้งที่เราเรียกใช้ vi? ฉันใช้ Ubuntu และ Fedora Core


2
เพียงแค่อยากรู้อยากเห็น: สิ่งที่แตกต่าง Linux คือว่า? ฉันจำไม่ได้ว่าเคยเห็น Vi โรงเรียนเก่าเป็นค่าเริ่มต้น
ไบรอันรัสมุสเซน

2
ในความเป็นจริงมันไม่น่าเป็นไปได้อย่างยิ่งที่จะ vi เพราะนั่นไม่ใช่รหัส FOSS

จากหน่วยความจำคือ distro (ฉันคิดว่ามันเป็น RHEL) พวกเขากำหนดค่าคำสั่งviให้เป็นโหมดคลาสสิคใน VIM
Seh Hui Leong

4
ทำไมจึงเรียกใช้ vi ถ้าคุณชอบเสียงเรียกเข้า? ส่งออก EDITOR = เป็นกลุ่ม?
Tadeusz A. Kadłubowski

Arch ยังมีโคลน "vi" เป็นค่าเริ่มต้นแทนที่จะเป็นกลุ่ม
WhyNotHugo

คำตอบ:


34

ก่อนอื่นให้แน่ใจว่าคุณได้ติดตั้งแพ็คเกจ Vim ที่เหมาะสม ค่าเริ่มต้นในหลาย ๆ ระบบคือการติดตั้งแพ็คเกจ Vim ขั้นต่ำที่ใกล้เคียงกับ Vi ในการใช้งาน

สำหรับระบบที่ใช้ Red Hat (RHEL, CentOS, Fedora) คุณจำเป็นต้องมีแพ็คเกจเสริม vim เช่นจากระบบ CentOS ที่ฉันติดตั้ง:

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

'common' มีไลบรารีทั่วไปที่ใช้โดยแพ็คเกจ Vim ทั้งหมด 'minimal' เป็นโปรแกรมเรียกทำงานตัวแก้ไข vi ธรรมดาที่ติดตั้งไว้

สำหรับระบบที่ใช้ Debian (เช่น Ubuntu) คุณต้องมี 'vim' ตัวอย่างเช่น:

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

ควรติดตั้งสิ่งเหล่านี้ตามค่าเริ่มต้น บน Debian / Ubuntu คุณสามารถอัพเดตตัวแก้ไขระบบเริ่มต้นสำหรับผู้ใช้ทั้งหมด:

sudo update-alternatives --config vi

เลือกรุ่นที่คุณต้องการจากเมนูการเลือก โพสต์สคริปต์การติดตั้งสำหรับแพคเกจที่เป็นกลุ่มควรมีการปรับปรุงนี้อยู่แล้ว ใช้--config editorเพื่อเปลี่ยนเครื่องมือแก้ไขค่าเริ่มต้นสำหรับผู้ใช้ทั้งหมดในระบบ (เช่นค่าเริ่มต้นดั้งเดิมของ Ubuntu 9.04 คือ nano เป็นต้น)

ในที่สุดต่อผู้ใช้สำหรับการแจกจ่ายให้ตั้งค่านามแฝงในโปรไฟล์ผู้ใช้ ตัวอย่างเช่นถ้าเชลล์ทุบตีแก้ไข ~ ชื่อผู้ใช้ / .bashrc:

alias vi="vim"

นอกจากนี้คุณอาจตรวจสอบระบบ vimrc (/ etc / vimrc, โดยปกติ) เพื่อดูว่าเปิดใช้งานโหมดความเข้ากันได้หรือไม่

set cp
set compatibility

จะบอกให้ Vim ทำตัวเหมือน Vi เก่ามากขึ้นไม่ว่าคุณจะใช้ Vim ต่อไปได้อย่างไร เปลี่ยนเป็น 'nocp' หรือ 'nocompatibility' เพื่อทำให้ Vim มีประโยชน์มากขึ้น


2
ใน Ubuntu รุ่นล่าสุดจะติดตั้งเฉพาะ vim-tiny เท่านั้น ติดตั้งเป็นกลุ่มเพื่อรับเวอร์ชันเต็ม
Hamish Downer

28

ใน. bashrc ของคุณ:

alias vi=vim

2
สิ่งนี้จะไม่ส่งผลกระทบต่อสิ่งใดก็ตามที่ไม่ได้ใช้ bash เช่นเมื่อคุณกด "v" ภายในเวลาน้อยกว่า (1) จะยังคงเรียกใช้ "จริง" vi
Kevin Panko

2
ตัวแปรสภาพแวดล้อมEDITORและVISUALจะมีความสำคัญเมื่อคุณกดคำสั่งvเริ่มต้น viดังนั้นในการ.bashrcส่งออกของคุณEDITORหรือVISUALด้วยvimค่าของมัน; เช่นexport EDITOR=vimและexport VISUAL=vimใน.bashrc
Nitrodist

10

หากเป็นระบบ Debian หรือ Ubuntu และคุณต้องการทำให้ระบบการเปลี่ยนแปลงนี้กว้างคุณควรใช้update-alternatives(ระบุด้วย--config editorตัวเลือกและควรเป็นสีทอง)


9

หากคุณต้องการการเปลี่ยนแปลงเฉพาะสำหรับ id ของคุณและภายในเซสชันเทอร์มินัล: alias vi ถึง vim ตามที่ AI แนะนำ

หากคุณต้องการการเปลี่ยนแปลงทั้งระบบบนเครื่องของคุณให้ soft-link เป็นกลุ่มใน/ usr / local / bin :

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

หมายเหตุ: โปรแกรมสามารถเพิกเฉยต่อนามแฝงใด ๆ ใน vi โดยเรียกใช้command viหรือ\viแทนที่จะเป็นเพียงแค่ vi


3

dists บางตัวใช้โหมดโรงเรียนเก่าของ vim: s ที่มีพฤติกรรมเหมือน vi

ตรวจสอบว่า. vimrc ของคุณมี

set nocompatible

ฉันถูกหลอกโดยสองสามครั้งนี้ ....


1

บนระบบ Debian เมื่อคุณเรียกใช้ vim-tiny ที่เป็นค่าเริ่มต้นเป็น 'vi' จะใช้ไฟล์ RC อื่น - /etc/vim/vimrc.tiny

หากต้องการให้ 'vi' ทำหน้าที่เหมือน 'vim' ให้แก้ไข /etc/vim/vimrc.tiny และเปลี่ยนบรรทัด:

set compatible

อ่าน:

set nocompatible

0

ฉันไม่ได้ต้องการที่อยู่ใน.profileบนใช้ :

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

export EDITOR=vim

ดังนั้นมักจะมีไม่ว่าจะถูกต้องหรือเป็นvi


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