1 基本使用
基本移动
h (left) j (down) k (up) l (right)
新建或者打开文件vim 文件名字
不保存更改退出:q!
保存文件退出:wq
删除光标所在的单个字符x
进入插入模式i 插入点进行插入 a 追加插入
2 多次操作和undo
向下移动到下一个单词的第一个字符,单词的意思是空格分割的英文字符串,不包括标点w
向下移动到下一个单词的最后一个字符e
删除一定的字符,后一位表示终止点;d 起止标志符
删除光标所在位置一直到下一个单词dw
删除光标所在位置一直到本行末尾d$
删除光标所在的整行dd
命令重复执行的此处,次数由数字表示,加载操作字符和位置字符的中间;操作字符表示要做什么,比如删除操作;次数字符表示做的次数;起止字符表示单位,比如单词,行尾等等操作字符+字数字符+起止字符
向后移动两个单词2w
光标移动到本行的行首0 或者 ^
光标移动到本行行尾巴$
undo和redo,撤回和重做操作;对于每一次操作都可以使用撤回;维护一个操作栈结构u 撤回刚刚的操作 U 撤回本行中所有的操作
CTRL-R 重做刚刚的撤回
3 替换更改和剪切粘贴
最近一次删除的内容粘贴到光标后的位置p
更换光标所在的字符为后面输入的字符rw re ri r就是replace
删除部分内容并进入插入模式进行修改,change的缩写,中间可以插入次数字符来表示删除的范围c+起止字符 cw c2w ce c$ c^
4 检索,括号匹配,替换字符串
大范围移动光标和移动到确定行
CTRL-g 在状态行显示文件名字,行数和光标所在行
G 光标移动到文件末尾
行数 G 移动到指定的行数
gg 移动到文件的第一行
检索字符串
/关键词 向下搜索
?关键词 向上搜索
n 检索结果中的下一个匹配
N 检索结果中的上一个匹配
光标历史位置移动,维护一个光标位置的历史位置
CTRL-o 后退一个光标历史位置
CTRL-i 前进一个光标历史位置
圆括号,花括号,方括号的匹配
% 光标在两个配对括号中之间移动,在括号范围内,跳转到最近的括号
替换字符串,全局替换,指定行数范围替换和确认替换
:s/old/new 替换在本行出现的第一个old
:s/old/new/g 替换在本行出现的所有old
:#,#s/old/new/g 替换在两个行数#之间出现的所有old
:%s/old/new/g 替换在文件中出现的所有old
:s/old/new/c 每一次替换之前都加上c,confirm,需要确认
5 外部命令,VISUAL模式,转存
外部命令的执行
:!SHELLCOMMAND 感叹号后面的外部shell命令和在外面执行是一样的``:!ls
文件另存为:w FILENAME 把本文件的内容转存在另一个文件中
visual模式,选中可见的部分文件内容v :w 文件转存
retrieve,拉取文件或者标准输出的内容插入光标的下一行:r FILENAME 把另一个文件的内容插入光标的下一行``:r !SHELLCOMMAND 命令的输出插入到光标的下一行
6 选中拷贝粘贴,选项设定开关
新开一行并且进入插入模式o 在光标下开一行``O 在光标上一行新开一行
光标移动到下一格,并进入插入模式a
光标移动到行尾,并进入插入模式A
拷贝在VISUAL模式下选中的内容
y yank拷贝选中的内容``p 将刚刚选中的内容插入到光标下一行
REPLACE模式
R 进入替换模式,和插入模式相对,键入的新内容会替换后面的原有内容
选项设定
:set OPTION
设定选项开关
:set ic ignorecase
检索结果忽略大小写
:set is incsearch
检索中包括了部分匹配
:set hls hilightsearch
检索结果加上高亮
关闭设定选项
:set noOPTION
前面加上no就是关闭对应的选项
:set noic
7 窗口切换,帮助,补全和用户手册
获取帮助
:help COMMAND 对于命令的帮助显示一个新的窗口
在窗口之间切换
CTRL-W CTRL-W 连击两次control+w可以在vim的窗口之间切换
冒号进入命令模式,可以使用补全机制
TAB 一个个显示补全的命令
CTRL-D 显示所有可以匹配的命令