LixingTie的博客


人生就是在谱写一个程序,不必完美,有几个小bug,有酸,有甜,有苦,也有辣,这样才算是一个完整的人生.
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

VIM常用命令

Posted on 2010-07-15 13:52  LixingTie  阅读(281)  评论(0)    收藏  举报
标签
  • :tabnew 打开新标签页.
  • :tabe <file> 在新标签页打开文件.
  • <ctrl> + PageUp, PageDown 切换标签页.
  • :tabnext, tabprev 切换标签页,Putty 下只能用这个.
文件
  • :e <file> 打开文件.
  • :enew 新文件.
  • :w 保存.
  • :wa 全部保存.
  • :w <file> 另存为.
  • :wq 保存并退出.
  • :x 保存并退出.
  • :q 退出.
  • :qa 全部退出.
  • :q! 强制退出.
文本
  • esc 切换命令模式 (距离太遥远了,用 Ctrl+C 代替吧).
  • i 插入模式.
  • I 在当前行开头插入.
  • R 替换模式.
  • a 在光标后插入.
  • A 在当前行尾部插入.
  • v Visual 模式按字符选择.
  • V Visual 模式按行选择.
光标
  • h 左移光标.
  • j 下移光标.
  • k 上移光标.
  • l 右移光标.
  • gg 将光标移到文件头部.
  • G 将光标移到文件尾部.
  • #G 移动光标到指定行#. 例如: 5G
编辑
  • u 撤销.
  • . 重做.
  • dd 删除当前行.
  • #dd 删除几行. 例如: 3dd
  • d^ 删除到行首.
  • d$ 删除到行尾.
  • :#,&d 删除 # 到 & 行. 例如: 3,5d
  • yy 拷贝当前行到剪贴板.
  • #yy 拷贝 # 行到剪贴板.
  • y^ 从文件头开始拷贝.
  • y$ 拷贝到文件尾部.
  • :#,&y 拷贝 # 到 & 行. 例如: 4,5y
  • p 在光标后粘贴.
  • P 粘贴到光标前.
  • >> 增大缩进.
  • << 减少缩进.
  • == 自动缩进.
查找替换
  • /# 查找 #. 例如: /printf
  • ?# 反向查找 #.
  • n 查找下一个.
  • N 反向查找下一个.
  • :s/old/new/g 当前行无提示替换.
  • :%s/old/new/g 无提示替换.
  • :%s/old/new/gc 确认替换.
  • :#,&s/old/new/g 从 # 到 & 行无提示替换.
书签跳转
  • :marks 查看所有书签, 输入 ":<num>" 可跳转.
  • m<name> 定义书签, 如 ma 在当前行定义名为 a 的书签.
  • `<name> 跳转到某书签, "`" 为键盘 Tab 上一行第一键.
  • :jumps 查看所有跳转记录, 输入 ":<num>" 可跳转.
  • <ctrl> + o 返回上一次跳转处.
  • <ctrl> + i 和 <ctrl> + o 反向转处.
Ctags
  • :! ctags -R . 生成 ctags 文件.
  • <ctrl> + ] 查看函数定义.
  • <ctrl> + T 返回.
  • shift + k 查看函数 man 帮助信息.
Code
  • gg=G 源码格式化
其他
  • ! <command> 执行命令.
  • :r <file> 插入文件内容.
  • :r !<command> 插入命令输出结果.
  • :cd <path> 修改默认工作目录.