本文列出了常用的快捷键和命令操作。并精简的摘录了部分 vim 用户手册中的内容,作为帮助平时使用过程中的一个快速的查询,若有细节不甚清楚,请查阅手册。
1. 常用快捷键
按键 | 功能 |
---|---|
y (yank) | 复制选择 |
d (delete) | 删除选择 |
v (visual char) | 可视字符(高亮选择字符) |
V (visual line) | 可视行(高亮选择行) |
control + v (visual block) | 可视块(高亮选择块) |
u (undo) | 撤销 |
control + r (redo) | 重做 |
2. 常用命令
命令 | 功能 |
---|---|
:n(next file) | 编辑下一个文件 |
:N(next file 的反向) | 编辑上一个文件 |
:files | 列出当前打开的所有文件 |
:sp(split) | 分离窗口 |
:set | 设置环境变量 |
3. vim 用户手册(摘录)
usr_07 编辑多个文件
07.1 编辑另一个文件
先保存当前文件,再在 Vim 中打开另一个文件
:write
:edit foo.txt
放弃当前修改并编辑新的文件
:edit! foo.txt
隐藏当前文件并编辑新的文件
:hide edit foo.txt
07.2 文件列表
启动时打开多个文件
vim one.c two.c three.c
编辑下一个文件
:next
:next!
:wnext
查看整个文件列表
:args
回到前一个文件
:previous
:wprevious
移动到列表中的最后一个文件
:last
移动到列表中的第一个文件
:first
向后跳两个文件:
:2next
自动保存文件
:set autowrite
自动保存的文件功能关闭
:set noautowrite
编辑另一个文件列表
:args five.c six.c seven.h
:args *.txt
:args!
若使用了文件列表,在所有文件均被编辑过后退出,否则报错;再次执行科成功退出
*arglist-quit*
07.3 从一个文件跳到另一个文件
回到上一个文件(轮换)
Ctrl-^
跳转到你上次离开这个文件时的位置(预定义标记)
`"
跳转到你最后一次修改文件的位置(预定义标记)
`.
在当前文件的中间 (50%) 建立一个 J 标记 (文件标记)
50%mJ
在文件的最后一行放一个标记 Y(文件标记)
GmY
现在你可以使用 “J" 命令跳回到 foo.txt 的中间。或者在另一个文件中输入 "
Y” 跳回到 bar.txt 的末尾。
文件标记会被一直记住直到被重新定义。这样,你可以在一个文件中留下一个标记,然后任意做一段时间的编辑,最后用这个标记跳回去。让文件标记符和对应的位置建立一些关系常常是很有用的。例如,用 H 表示头文件(Head File),M 表示 Makefile 而 C 表示 C 的代码文件。
要知道一个标记在什么地方,在 “:marks” 命令中加上标记名作为参数即可
:marks M
你还可以带多个参数
:marks MCP
在整个跳转序列中前后跳转
CTRL-O
CTRL-I
07.4 备份文件
产生备份文件,备份文件的文件名是在原始文件的后面加上一个 ~
:set backup
修改备份文件扩展名
:set backupext=.bak
指定备份文件的目录
:backupdir
保 留 原 始 文 件
:set patchmode=.orig
07.5 文件间拷贝文本
拷贝一段文本:
编辑一个你要拷贝文本的文件,把光标移到要拷贝的文本的开始处,用 “v” 命令启动可视模式,然后把光标移到要拷贝文本的结尾处,输入 “y” 拷贝文本。
vjjj$y
拷贝一行文本:
用 “V” 命令选中整行的内容并拷贝
拷贝一块文本:
用 CTRL-V选择一个矩形列块并拷贝
使用 “Y” 拷贝一个单行
使用”yaw” 拷贝一个单词
“p” 命令把文本粘贴到光标之后,”P” 命令则粘贴到光标之前。
使用名称为 a 到 z 的寄存器(多个剪切板)
拷贝一个句子到 f 寄存器 (f 表示 First)
"fyas
拷贝三个整行到寄存器 l (l 表示 line)
"l3Y
拷贝一个文本列块到寄存器 b (代表 block) 中
CTRL-Vjjww"by
粘贴f 寄存器中的内容
"fp
删除一个单词并写到 w 寄存器中
"wdaw
添 加 到 文 件
将文本中选中部分(无选中部分则为整个文件)写入到 logfile 文件的末尾
:write >> logfile
07.6 显示文件
用只读模式启动 Vim(在 write 命令前面加上 ! 可以强制写入)
vim -R file
在 Unix,如下命令可以完成相同的功能:
view file
禁止文件修改
vim -M file
可以用下面的命令去掉这层保护
:set modifiable
:set write
07.7 修改文件名
另存为
:saveas foo.c
重命名:
:file foo.c
未完待续……