使用Vim进行文本编辑
$ vim file1 用vim打开file
$ vim file1 file2 用vim同时打开file和file2, 默认进入file1的编辑界面
$ vim -x file1 创建加密文档, 进入后会要求输入密码,确认密码
意外事故恢复文件
$ vim -r
:ewcover file1
命令行模式
Enter / ESC 进入普通模式
:noh 取消搜索
:h shiftwidth 打开shiftwidth的帮助文件
:ver 显示版本及参数
调整文本位置
:ce(center) 本行内容居中
:ri(right) 本行内容居左
:le(left) 本行内容居右
切换编辑的文件
$ vim file1 file2 用vim同时打开file和file2, 默认进入file1的编辑界面
:n 切换到file2的编辑界面
:n! 强制切换到file2, 之前的文件没有保存
:N 切换到file1的编辑界面
:N! 强制切换到file1, 之前的文件没有保存
进入Vim后打开新文件
:e file3 打开新文件file3
:e# 回到前一个文件
:ls 列出以前编辑过的文件
:b file2 直接进入文件file2编辑
:bd file2 删除以前编辑过的列表中的文件项目
:e! file4 打开file4, 并放弃正在编辑的文件
:f 显示正在编辑的文件名
:f new.txt 改变正在编辑的文件名字为new.txt
set功能 (设定值退出Vim后不会保存, 若要永久配置,需修改Vim配置文件)
:set shiftwidth(sw)? 查看缩进字符数
:set shiftwidth(sw)=10 设置缩进字符为10个
:set nu 显示行号
:set hls 设置搜索高亮
:set autoindent(ai) 设置自动缩进
:set autowrite(aw) 设置自动存档,默认未打开
:set background=dark/light 设置背景风格
:set backup(bk) 设置自动备份,默认未打开
:set cindent(cin) 设置C语言风格缩进
:set / :se 显示所有修改过的配置
:set all 显示所有的设定值
:set option ? 显示option的设定值
:set nooption 取消当前设定值
普通模式
: 进入命令行模式
F1 打开Vim帮助文档
x 删除光标处的字符, 或在可视模式下删除选区内容
. 重复执行上次的命令
dw / daw 删除一个单词
N command 执行指定次数相同的命令
ctrl+o 快速回到上一次光标所在位置 (可能会与浏览器快捷键冲突)
行间跳转
nG 游标移到第n行
gg 游标移到第一行
G 游标移到最后一行
2G 游标移到第2行
行内跳转
w 到下一个单词的开头
e 到当前单词的结尾
b 到前一个单词的开头
ge 到前一个单词的结尾
0 / ^ 到行首
$ 到行尾
f 字母 向后搜索指定字母并跳转到第一个匹配的位置
F 字母 向前搜索指定字母并跳转到第一个匹配的位置
t 字母 向后搜索指定字母并跳转到第一个匹配位置之前的一个字母
T 字母 向前搜索指定字母并跳转到第一个匹配位置之后的一个字母
复制文本
yy 复制游标所在的整行(3yy表示复制3行)
y^ 复制至行首,或y0。不含光标所在处字符
y$ 复制至行尾。含光标所在处字符
yw 复制一个单词
y2w 复制两个单词
yG 复制至文本末
y1G 复制至文本开头
粘贴文本
p(小写) 粘贴至光标后(下)
P(大写) 粘贴至光标前(上)
剪切
dd 剪切一行文本(可与p配合(ddp)实现交换上下行)
替换和Undo
r 字母 将游标所在字母替换为指定字母
R 连续替换,直到按下Esc
cc 替换整行,即删除游标所在行,并进入插入模式
cw 替换一个单词,即删除一个单词,并进入插入模式
C(大写) 替换游标以后至行末
~ 反转游标所在字母大小写
u{n} 撤销一次或n次操作
U(大写) 撤销当前行的所有修改
ctrl+r redo,即撤销Undo的操作
快速缩进
>> 整行向右缩进
<< 整行向左缩进
查找
/ 字符串 回车 从光标位置向下查找指定字符串
? 字符串 回车 从光标位置向上查找指定字符串
n 进入查找之后输入n 继续查找
N 进入查找之后输入N 反向查找
\* 向下查找游标所在处的单词
\# 向上查找游标所在处的单词
g\* 同\* , 但部分符合该单词即可
g\# 同\# , 但部分符合该单词即可
可视模式
v 进入字符选择模式, 光标移过的地方会被选取, 再次按下v取消选取
V(大写) 进入行选择模式,上下移动光标选中更多的行, 再次按下V取消选择
ctrl+v 进入区域选择模式,可以进行矩形区域选择, 再次按下ctrl+v 取消选择
d / x 在可视模式下删除选区内容
y 在可视模式下输入y复制选区内容
视窗操作
:new 打开一个新的Vim视窗, 进入并编辑一个新文件
:sp file1 打开新的水平分屏视窗来编辑file2
:vsp file2 打开新的垂直分屏视窗来编辑file2
Ctrl+w s 将当前窗口分割成两个水平的窗口
Ctrl+w v 将当前窗口分割成两个垂直的窗口
Ctrl+w q 即 :q 结束分割出来的视窗。如果在新视窗中有输入需要使用强制符!即:q!
Ctrl+w o 打开一个视窗并且隐藏之前的所有视窗
Ctrl+w j 移至下面视窗
Ctrl+w k 移至上面视窗
Ctrl+w h 移至左边视窗
Ctrl+w l 移至右边视窗
Ctrl+w J 将当前视窗移至下面
Ctrl+w K 将当前视窗移至上面
Ctrl+w H 将当前视窗移至左边
Ctrl+w L 将当前视窗移至右边
Ctrl+w - 减小视窗的高度
Ctrl+w + 增加视窗的高度
在vim中执行外部命令
:!ls 显示当前目录的内容
:!rm file 删除文件file
:w newFile 将当前Vim中正在编辑的文件另存为名为newFile的文件
如果你有需要, 这里可以免费下载本文的Vim命令文档, 文件名: Vim命令.txt
或者: 百度云盘下载