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 |
设置色调 |