简介
Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。(主要是Vi/Vim属于Linux命令行必备软件)。
下载&安装
下载
可前往官网下载
安装
- Windows安装exe可执行文件即可
- Linux
ubuntu系统:sudo apt-get install vim-gtk
centos系统:yum -y install vim*- Mac
下载二进制文件Macvim
vim键位图
图片来自http://cenalulu.github.io/linux/all-vim-cheatsheat/
- 英文版
- 中文版
入门
vi/vim三种模式
- 命令模式(Command mode)
启动便会进入命令模式,这是键盘对于编辑器来说是命令,而不是字符。
常见命令:
i
进入编辑模式:
进入底线命令模式x
删除当前光标位置的字符
- 输入模式(Insert mode)
类似于Windows的记事本,快捷键也基本通用,不讲了。
- 底线模式(Last line mode)
底线命令模式有很多实用功能,最基本的几个字符如下:
w
保存q
退出!
强制
可以组合命令,比如wq!
表示强制保存退出。
关系如下:
图片来自runoob
进入vim
vim 文件名
文件名必须完整,包括后缀,若存在该文件,则编辑,否则会新建文件。
常用命令
光标移动
方式 | 说明 |
---|---|
h /← |
光标左移 |
j /↓ |
光标下移 |
k /↑ |
光标上移 |
l /→ |
光标右移 |
数字n +上述4种命令 |
执行n长度的移动 |
Ctrl +f |
上移一页=Page Down |
Ctrl +b |
下移一页=Page Up |
Ctrl +d |
下移半页 |
Ctrl +u |
上移半页 |
+ |
移动到非空下一行 |
- |
移动到非空上一行 |
n <space> |
光标右移这一行的n个字符单位 |
0 /Home |
移动到行首字符 |
$ /End |
移动到行末字符 |
H |
移动到屏幕最上方 |
M |
移动到屏幕中央 |
L |
移动到屏幕最下方 |
G |
移到最末行 |
数字n +G |
移动到第n行 |
gg |
移动到第一行,相当于1g |
数字n +Enter |
下移n行 |
搜索替换
方式 | 说明 |
---|---|
/word | 向下搜索单词word |
?word | 向上搜索单词word |
n |
重复上一步的搜索 |
N |
反向重复上一步的搜索 |
:n1,n2s/word1/word2/g |
替换从n1到n2行的word1为word2,s表示search(搜索),g可以理解为global(全局替换) |
:n1,n2s/word1/word2/gc |
加上c(confirm)表示替换前需要确认 |
删除、复制和粘贴
方式 | 说明 |
---|---|
x /X |
x相当于del,X相当于backspace,可以跟数字,比如nx表示向后删除n个字符 |
dd |
删除整行 |
ndd |
向下删除n行 |
d1G |
删除所在行到第一行 |
dG |
删除所在行到最末行 |
d$ |
删除所在光标到行末 |
d0 |
删除所在光标到行首 |
yy |
复制本行 |
nyy |
向下复制n行 |
y1G |
复制所在行到第一行 |
yG |
复制所在行到最末行 |
y0 |
复制所在字符到行首 |
y$ |
复制所在字符到行尾 |
p /P |
p向后粘贴,P向前粘贴 |
J |
合并下一行 |
u |
撤销 |
Ctrl +r |
重做 |
. |
重复前一个动作 |
切换到编辑模式
方式 | 说明 |
---|---|
i |
输入模式 |
r |
替换模式 |
Esc |
退出编辑模式 |
底线模式
在命令模式下按:
进入底线模式
方式 | 说明 |
---|---|
! |
强制执行,配合其他指令使用 |
:w |
写入数据可以接! |
:q |
退出,可以接! |
:! command |
暂时离开vim执行command命令 |
:set nu |
显示行号 |
:set nonu |
取消显示行号 |
常见问题
Windows乱码
- 用管理员权限打开gVim(否则可能无法保存)
- 点击编辑-启动设定
- 按
i
键进入编辑模式,在行首插入:
set fileencodings=utf-8,ucs-bom,cp936,big5
set fileencoding=utf-8
如图所示
4. 按:
键切换底线命令模式
5. 输入w!
强制保存
6. 输入q!
强制退出
总结
vi/vim很强大,但是并没有强大到不可替代的地步,但是它是命令行模式下非常强大的文本编辑器,非常适合服务器使用。