简介
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很强大,但是并没有强大到不可替代的地步,但是它是命令行模式下非常强大的文本编辑器,非常适合服务器使用。