VI / VIM 操作快捷键(区分大小写)
模式间切换: 一般模式切换到编辑模式:插入模式: i I a A o O 替换模式; r R
一般模式切换到命令模式:冒号: 编辑和命令模式退回到一般模式: ESC
关于暂存文件.swp:
当文件因某些原因突然down了,自动在当前文件所在目录生成一个filename.swp文件,
当再次打开该文件后,会出现文件恢复界面,可以按最后一行提示,按
[O]pen Read-Only [E]dit anyway [R]ecover [D]elete [Q]uit [A]bort
注意:排除问题后,生成的.swp文件需要手动删除
关于.viminfo文件:
在home目录下,保存你的vim的操作,使得再次打开某文件时,恢复到当时状态(比如光标位置等)
一般模式:
移动光标 | |
h j k l | 对应 左 下 上 右; 前面可加数字,例如30j 表示下移30行 |
+, - | 移动到下一个或上一个非空行的 |
0 $ | 移动到行首或行尾,等于[home], [end] |
Ctrl + f (forward) | 等于page down |
Ctrl + b (backward) | 等于page up |
Ctrl+ u (up) | 下移半页 |
Ctrl + d (down) | 上移半页 |
H M L G | 移动到屏幕上,中,下,最后一行 |
gg | 移动到第一行 |
NG | 移动到第N行,set nu命令可以显示行 |
N <enter> | 下移 N 行 |
N <空格> | 右移N个字符 |
查找替换 | |
/word ? word | 向下或向上查找字符串word |
n N | 向下或向下继续查找 |
:n1,n2 s/word1/word2/gc | 第n1行到n2行之间把word1替换为word2, 最后的c表示替换前要确认 |
:1,$ s/word1/word2/gc | 第1行到最后行之间把word1替换为word2, 最后的c表示替换前要确认 |
删除(剪切),复制,粘贴 | |
nx nX | 向前或向后删除n个字符,没有n表示1个字符 |
ndd | 删除之后的n行,没有n表示删当前行(也是剪切) |
d1G dG d0 d$ | 删到第一行,删到最后一行,删到行首,删到行尾 |
nyy | 复制向下的n行 |
y1G yG y0 y$ | 复制到第一行,复制到最后一行,复制到行首,复制到行尾 |
yaw | 复制当前单词 |
p P | 粘贴到下一行或上一行 |
J | 把下一行接到当前行上 |
c | 重复删除多个数据,例如向下删除10行用10cj |
u ctrl+r . | 撤销上个动作,重复上个动作, 重复同一动作 |
指令模式
:w :w! :q :q! :wq :wq! | 保存,强制保存,退出,强制退出,保存并退出,强制保存并退出 |
ZZ | 存储后离开 |
:w [filename] | 另存为filename |
:n1,n2 w [filename] | 保存n1,n2之间的内容到filename |
:r[filename] | 不关闭当前文件时,再打开filename文件 |
:! cmd | 不关闭当前文件时,运行shell命令 |
:set nu :set nonu | 打开或关闭行号显示 |
区块操作模式
v | 字符选择 |
V | 行选择 |
Ctrl+v | 区块选择 |
y d | 将选择的地方复制或删除 |
多文件编辑
输入命令vim 后跟多个文件
:n | 编辑下一个文件?? |
:N | 编辑上一个文件 |
:files | 列出所有文件 |
|
|
多窗口编辑
:sp [filename] | 新打开一个窗口 |
Ctrl + w + j ctrl+w+ downkye | 移动到下一个窗口 |
Ctrl+w+k ctrl+w+upkey | 移动到上一个窗口 |
Ctrl+w+q | 关闭下一个窗口,若在当前窗口按:q 则关闭当前窗口 |
Vim的环境设定参数------输入:set all可查看所有选项
:set nu :setnonu | 设置是否显示行号 |
:set hlsearch :set nohlsearch | 设置是否高亮选中部分 |
:set autoindent :set noautoindent | 设置是否自动缩进 |
:set backup | 设置是否自动备份,如是,则在当前目录下保存filename~ |
:set ruler | 设置是否显示右下角状态栏 |
:set showmode | 设置是否在最下面显示—INSERT—之类 |
:set backspace=(012) | 设置backspace键允许删除的字符数量 |
:set all | 显示目前全部参数设置 |
:set | 显示与预设的不同的设置 |
:syntax on :syntax off | 打开关闭语法显示 |
:set bg=dark :set bg=light | 设置色调 |