VIM基本操作
来源:互联网 发布:linux系统数据库备份 编辑:程序博客网 时间:2024/05/21 00:00
VIM操作
2017/9/17 21:55:14
移动
h | 左 | j | 下 | k | 上 | l | 右 | 正常模式
ESC | 正常模式 | 如果按一次不行就多按几次
退出
:q | 退出 | :q! | 丢弃所有的改动,强制退出 | 插入
i | 在当前字符的左边插入 | I | 在当前行首插入 | a | 在当前字符的右边插入 | A | 在当前行尾插入 | o | 在当前行下面插入一个新行 | O | 在当前行上面插入一个新行 | c{motion} | 删除 motion 命令跨过的字符,并且进入插入模式 | d{motion} | 删除 motion 命令跨过的字符 | 常用命令(motion)
fx | 移动光标到当前行的下一个 x 处 | tx | 移动光标到当前行的下一个 x 处,但是是移动到 x 的左边一个位置 | FX | 移动光标到当前行的上一个 x 处 | TX | 移动光标到当前行的上一个 x 处,但是是移动到 x 的左边一个位置 | w | 光标往后移动一个词 | 0 | 移动光标到当前行首。(是数字0) | ^ | 移动光标到当前行的第一个字母位置 | $ | 移动光标到行尾 | ) | 移动光标到下一个句子 | ( | 移动光标到上一个句子 | ggVG | 全选gg移动到顶部vG或者VG全部选中高亮 | ggyG | 全选复制gg移动到顶部yG全部复制 | ggdG | 全选删除gg移动到顶部dG全部删除 | 整个文件里面有效移动光标
Ctrl-f | 向下移动一屏 | Ctrl-d | 向下移动半屏 | Ctrl-b | 向上移动一屏 | Ctrl-u | 向上移动半屏 | G | 到文件尾 | numG | 移动光标到指定的行(num) | gg | 到文件首H:移动光标到屏幕上面 | M | 移动光标到屏幕中间 | L | 移动光标到屏幕下面 | * | 读取光标处的字符串,并且移动光标到它再次出现的地方 | # | 读取光标处的字符串,并且移动光标到它再次出现的地方(方向相反) | /text | 从当前光标处开始搜索字符串 text,并且到达 text 出现的地方。必须使用回车来开始这个搜索命令。如果想重复上次的搜索的话,按 n移动到下个 text 处,N 移动到上一个 text 处 | ?text | 从当前光标处开始搜索字符串 text,并且到达 text 出现的地方。必须使用回车来开始这个搜索命令。如果想重复上次的搜索的话,按 n移动到下个 text 处,N 移动到上一个 text 处 | m{a-z} | 在当前光标的位置标记一个书签,名字为 a-z 的单个字母。书签名只能是小写字母。你看不见书签的存在,但它确实已经在那里了 | `a | 到书签 a 处。注意这个不是单引号,它一般位于大部分键盘的 1 的左边 | `. | 到你上次编辑文件的地方。这个命令很有用,而且你不用自己去标记它 | %. | 在成对的括号等符号间移动,比如成对的 [ ] , { }, ( ) 之间。将光标放到任意符号上,然后通过 % 来移动到和这个符号匹配的符号上,% 还可以正确的识别括号的嵌套层数,总是移动到真正匹配的位置上。因此这个命令在编辑程序代码的时候非常有用,可以让你方便的在一段代码的头尾间移动 | 有效的移动大段的文本
v | 按字符选择。经常使用的模式,所以亲自尝试一下它 | V | 按行选择。这在你想拷贝或者移动很多行的文本的时候特别有用 | C-V | 按块选择。非常强大,只在很少的编辑器中才有这样的功能。你可以选择一个矩形块,并且在这个矩形里面的文本会被高亮 | 剪切和拷贝
d | 剪贴选择的内容到剪贴板 | y | 拷贝选择的内容到剪贴板 | c | 剪贴选择的内容到剪贴板并且进入插入模式 | d{motion} | 剪切 motion 命令跨过的字符到剪贴板。比如,dw 会剪切一个词而 dfS 会将从当前光标到下一个 S 之间的字符剪切至剪贴板 | y{motion} | 和上面类似,不过是拷贝 | c{motion} | 和 d{motion} 类似,不过最后进入插入模式 | dd | 剪切当前行 | yy | 拷贝当前行 | cc | 剪切当前行并且进入插入模式 | D | 剪切从光标位置到行尾到剪贴板 | Y | 拷贝当前行 | C | 和 D 类似,最后进入插入模式。 | x | 剪切当前字符到剪贴板 | s | 和x类似,不过最后进入插入模式 | 粘贴
p | 粘贴 | 使用多重剪贴板
“:reg” | 比如:我们要拷贝当前行到寄存器 k。你应该按 “kyy | 避免重复
. 命令 | 在 VI 里面,输入 . (小数点符号),将会重复你输入的上一个命令。比如,你上个命令为“dw”(删除一个词),VI 将会接着再删除一个词。 | 配置
. 设置缩进 | :set smartindent | . 显示光标行列信息 | :set ruler | . 查看制表符 | :set list | . 查看行数信息 | set number | . 关键字高亮 | :syntax on | . 多文件编辑 | : split two.c |