vi命令
来源:互联网 发布:剑灵动漫人物捏脸数据 编辑:程序博客网 时间:2024/06/05 08:18
- 移动命令(光标定位)
- h j k l 左下上右移动光标
- H 跳到屏幕上的第一行
- M 跳到屏幕的中间行
- L 跳到屏幕上的最后一行
- w 光标以单词向前移动至单词第一个字母
- b 与w相反,向后移动至单词的第一个字母
- %: 移动到与制匹配的括号上去(),{},[],<>等
- CTRL+G 得到当前光标在文件中的位置
- CTRL+d 向下移动半屏 CTRL+u 向上移动半屏 CTRL+f 向下移动一屏 CTRL+b 向上移动一屏
- Ctrl-w h,Ctrl-w j,Ctrl-w k,Ctrl-w l 切换到左下上右窗口
- $ 当前行的末尾 ^ 当前行第一个字母
- gg 文件头 G 文件尾
- `` 回到光标跳转前的位置 `. -- 此命令相当强大, 它移动光标到上一次的修改点.
- 行号+G 跳转到指定行 :set 10 跳转到指定行10行处
- zj 移动到下一个折叠的开始处 zk 移动支折叠的结束处
- zz 移动屏幕,将光标所在的位置移动到中间行
- fx 向右跳到本行字符x处(x可以是任意字符) Fx 向左跳到本行字符x处输入; 表示继续住下找 输入,表示反方向找
[separator]
- 删除、复制、修改
- dd 删除一行 dw 删除一个单词(光标在词首) daw 同dw,光标在单词的任意处 d$ 删除到行尾
- shift+j 删除行尾的换行符 x 删除单个字符 D 同d$,但比d$更简捷
- yy 复制一行 yw 复制一个单词(同上) yaw 同上y$ ...
- cc 修改... cw 修改.... caw 修改... c$ 修改.... cl 修改当前字符
(、[、{、}、]、)内数据选择
daB 删除{}及其内的内容 (在非v可视模式下)
diB 删除{}中的内容
ab 选择()中的内容
ib 选择()中的内容( 不含() )
aB 选择{}中的内容
iB 选择{}中的内容( 不含{} )
- 自动补齐
- CTRL+p 向上查找匹配单词 CTRL+n 向下查找匹配单词(其次还匹配文件名,匹配行,但不常用,这里就不罗列) 不断输入此命令则循环查找
- 关于ctags,在源文件中方便的跳转搜索类和函数的功能,现在还不熟悉,在以后的更新中,会加入这部份内容。
- <C-X><C-L> 行自动完成(超级有用)
补充内容:
ctags -f /usr/share/vim/vim63/funcs.tags -R /opt/j2sdk/src /usr/src/kernels/2.6.9-5.EL-i686
^p 自动补齐上下文已有相近项
^n 自动补齐~/.tags中的相近函数
^[ 显示~/.tags中的光标下的函数的原型,
按^t退出函数
:pta 函数名预览窗口快速打开相应函数所在文件,并将光标定位在对应函数的开头
K 显示光标下的C函数的man说明手册
- CTRL+p 向上查找匹配单词 CTRL+n 向下查找匹配单词(其次还匹配文件名,匹配行,但不常用,这里就不罗列) 不断输入此命令则循环查找
- 多文件操作(虽不常用,但很实用)
- :ls (:buffers) 显示buffer列表
- :bn 转到下一个buffer :bp 转到上一个buffer
- :b 3 转到编号为 3 的buffer
- :sp(:vsp) 横、竖分割打开新文件
- :e 文件名 vim 将在原窗口中打开新的文件, 若旧文件编辑过, 会要求保存.
- :set diff 此命令用于比较两个文件(很实用的东东,但要求是在同一窗口中打开的两个文件,最好用vsp打开)
补充内容:
:%!xxd 按十六进制查看当前文件
:%!xxd -r 从十六进制返回正常模式
:n1,n2 co n3 将 n1 行到 n2 行之间的内容拷贝到第 n3 行下。
:n1,n2 m m3 将 n1 行到 n2 行之间的内容移至第 n3 行下。
:n1,n2 d 将 n1 行到 n2 行之间的内容删除。
:n1,n2 w filename 将 n1 行到 n2 行之间的内容保存到文件 filename 中
:n1,n2 w! Command 将文件中n1行到n2行的内容作为 Command的输入并执行之,
若不指定 n1、n2,则将整个文件内容作为 Command 的输入。
:r! Command 将命令 Command 的输出结果放到当前行。
:nr <文件> 把<文件>插入到第n行
:so <文件> 读取<文件>,再执行文件里面的命令(文件中的命令应该都是一些ex命令)
:l1,l2w <文件> 把第l1和第l2行之间的文本写到<文件>中去
:w >> <文件> 添加到<文件>末尾. 也可以使用行号
:e! 重新编辑当前文件,忽略所有的修改
- 查找、替换
- / 向下查找 ? 向上查找 * 表示查找光标所停留的单词 n 跳转到下一匹配结果 N 跳转到上一匹配结果
- %s/aa/bb/g 将文档中出现的所有包含 aa 的字符串中的 aa 替换为 bb(较常用)
- 寄存器的使用(较有用)
- 在复制前可以先指定一个寄存器,方法是在双引号后跟一个字母,例如"a指定了寄存器a,"B指定了寄存器B。
- "ayy把当前行放进了寄存器a,以后就可以用"ap来粘贴寄存器a里的内容了。
- 使用:reg来查看当前寄存器中的内容。
- Vim提供了一个很有用的特殊寄存器"+,它的内容就是系统剪贴板的内容。可以在Vim里用"+p粘贴出来。
- 其它常用命令
- :x=> 保存并退出,:q!=>强行退出,:e!=>放弃修改文件内容,重新载入该文件,ZZ =>同:x命令,:only =>在一个窗口显示多个文件的情况下,仅保留一个文件
- CTRL+z 挂起文件 shell下jobs 显示挂起文件夹的编号
- :set number(:set nu) 显示行号 :set
- :set nonu 取消显示的行号
- :eaho $LANG 显示编码
- :set enc=utf-8 设置文字编码
- 按v进入“选择模式” 选中要编辑的文字,按“+”符号可自动对齐
- zc 折叠 zr(zR)打开所有折叠 zm(zM)关闭所有折叠
- TAB 制表符 >>(<<) 输入此命令则光标所在行向右(向左)移动一个TAB(符号前可加数字)
- u 撤消命令 ctrl+r 恢复命令
- VI命令
- vi命令
- VI 命令
- vi命令
- vi命令
- VI命令
- vi 命令
- vi命令
- vi命令
- Vi命令
- vi命令
- Vi命令
- Vi命令
- VI命令
- vi命令
- VI命令
- Vi命令
- vi 命令
- Linux设备驱动开发详解--笔记4--Linux内核模块
- 成才须要长期努力
- Linux设备驱动开发详解--笔记5--Linux文件与设备系统
- 线程安全
- SQL 2008 清除日志文件
- vi命令
- Linux设备驱动开发详解--笔记6--字符设备驱动
- Linux设备驱动开发详解--笔记7--并发控制
- 打开图片文件时提示:windows找不到文件..........
- 记录一下
- Linux设备驱动开发详解--笔记8--阻塞与非阻塞I/O
- Linux下select和poll的用法
- Linux设备驱动开发详解--笔记9--异步通知与异步I/O
- C#基础二