vim使用教程

2,792 阅读3分钟

「这是我参与11月更文挑战的第7天,活动详情查看:2021最后一次更文挑战」。

简介

Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。(主要是Vi/Vim属于Linux命令行必备软件)。

下载&安装

下载

可前往官网下载

安装

Windows安装exe可执行文件即可

Linux

ubuntu系统:sudo apt-get install vim-gtk centos系统:yum -y install vim*

Mac

下载二进制文件Macvim

vim键位图

图片来自cenalulu.github.io/linux/all-v…

  • 英文版
  • 中文版

入门

vi/vim三种模式

  • 命令模式(Command mode) 启动便会进入命令模式,这是键盘对于编辑器来说是命令,而不是字符。 常见命令:
  1. i进入编辑模式
  2. :进入底线命令模式
  3. x删除当前光标位置的字符
  • 输入模式(Insert mode) 类似于Windows的记事本,快捷键也基本通用,不讲了。
  • 底线模式(Last line mode) 底线命令模式有很多实用功能,最基本的几个字符如下:
  1. w保存
  2. q退出
  3. !强制 可以组合命令,比如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/Xx相当于del,X相当于backspace,可以跟数字,比如nx表示向后删除n个字符
dd删除整行
ndd向下删除n行
d1G删除所在行到第一行
dG删除所在行到最末行
d$删除所在光标到行末
d0删除所在光标到行首
yy复制本行
nyy向下复制n行
y1G复制所在行到第一行
yG复制所在行到最末行
y0复制所在字符到行首
y$复制所在字符到行尾
p/Pp向后粘贴,P向前粘贴
J合并下一行
u撤销
Ctrl+r重做
.重复前一个动作

切换到编辑模式

方式说明
i输入模式
r替换模式
Esc退出编辑模式

底线模式

在命令模式下按:进入底线模式

方式说明
!强制执行,配合其他指令使用
:w写入数据可以接!
:q退出,可以接!
:! command暂时离开vim执行command命令
:set nu显示行号
:set nonu取消显示行号

常见问题

Windows乱码

  1. 用管理员权限打开gVim(否则可能无法保存)
  2. 点击编辑-启动设定
  3. i键进入编辑模式,在行首插入:
set fileencodings=utf-8,ucs-bom,cp936,big5
set fileencoding=utf-8

如图所示 4. 按:键切换底线命令模式 5. 输入w!强制保存 6. 输入q!强制退出

总结

vi/vim很强大,但是并没有强大到不可替代的地步,但是它是命令行模式下非常强大的文本编辑器,非常适合服务器使用。