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