short for | : | Vi IMproved |
是什么 ? | : | a highly configurable text editor for efficiently creating and changing any kind of text. |
开发语言 | : | C |
官方主页 | : | http://www.vim.org |
源码仓库 | : | https://github.com/vim/vim |
Vim
与Emacs
并列为Unix/Linux
系统用户最喜欢的编辑器。
Vim
被称为编辑器之神
,可以看出其把编辑器做到了极致。
Emacs
被称为神之编辑器
,可以看出其对学习之路极为陡峭,神才能使用得了。
Vim
是vi
的改良版本,它不仅兼容vi
的所有指令,而且还增加了非常多新的特性在里面。 代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
Vim
是跨平台的,可以运行于任何你能想到的操作系统中。
Vim
不仅可以在text-mode
,也可以使用GUI
, 这是我们今天仍然使用它的很重要的理由,因为GUI类型的编辑器做的好的有很多, 比如Visual Studio Code,但是,能运行在text-mode
也很重要, 因为很多环境下就没有GUI
,比如服务器、路由器等IoT设备,我们要在这些设备上修改文本,必然要使用它。
操作系统 | 包管理器 | 安装命令 |
---|---|---|
Windows | scoop | scoop install vim |
Windows | Chocolatey | choco install -y vim |
macOS | HomeBrew | brew install vim |
GNU/Linux | HomeBrew | brew install vim |
apt | sudo apt-get install -y vim | |
CentOS | yum | sudo yum install -y vim |
dnf | sudo dnf install -y vim | |
openSUSE | zypper | sudo zypper install -y vim |
Alpine Linux | apk | sudo apk add vim |
pacman | sudo pacman -Syyu --noconfirm | |
Gentoo Linux | Portage | sudo USE="python" emerge app-editors/vim |
Vim
中还包含ex
、rview
、rvim
、view
、viewdiff
、vi
命令。 而这些命令都是vim
命令的软连接。
Vim
是高度可配置的。Vim
允许用户根据自己的喜好随意进行配置。
Vim
有三种配置级别:
Vim
的系统级
配置文件名称为vimrc
, 但是由于安装方法不同和操作系统的不同,这个文件的位置也不同,有的可能位于/etc/vim/vimrc
, 有的可能位于/usr/share/vim/vimrc
或者是其他地方, 你可以通过sudo find / -name "vimrc"
这个命令找到他,不过,通常,我们不必理会它到底在哪里, 我们不要去修改他,因为修改了它之后,重新安装后就被还原了。Vim
的用户级
配置文件为~/.vimrc
,是一个隐藏文件, 这个文件由于在用户的${HOME}
目录下,只要我们的/home
挂载到了一个独立的磁盘上, 在重新安装操作系统的时候不格式化这个磁盘,就不会丢失。Vim
的用户级
配置的优先级高于系统级
配置。通常,我们只需要修改用户级
配置文件即可。这是推荐的做法。Vim配置
的语法是Vim
特有的命令。
Vim
的底行模式中可以执行命令, 你可以把Vim
的底行模式类比成操作系统中的Terminal,在Terminal中可以执行Shell命令;而在Vim
的底行模式下也可以执行命令, 但是能执行的不是操作系统的Shell命令,而是Vim
特有的命令, 我称之为Vim shell command
,不过,这些Vim shell command
与操作系统的Shell命令很相似。学起来也不复杂。
常见的Vim shell command
:
VimL
(Vim Language
)
VimL
也称为VimScript
或者Vim script
VimL
本质上就是由Vim shell command组成的有序集合。
vimrc
就是用VimL
编写的,Vim插件
也是用它来编写的。
通过插件可以把Vim
打造成一个IDE
,需要什么安装什么,选择多。
常用的Vim
插件: