vim的一些操作技巧

很多时候需要用到vim,特别是查日志,学习一些常用的vim技巧还是很有必要的

命令模式

  • h/j/k/l:分别表示向左/向下/向上/向右移动光标
  • shift+g:到最后
  • ctrl+f:向前一页
  • ctrl+b:向后一页
  • ctrl+d:向前半页
  • ctrl+u:向后半页
  • ctrl+e:向上滚动
  • ctrl+y:向下滚动
  • x:删除当前光标所在的字符
  • dd:删除一行
  • J:删除当前行的换行符,两行合并一行
  • u:撤销上一次操作
  • ctrl+r:重做
  • a:追加输入
  • o:在当前行后另起一行输入
  • ZZ:保存并退出
  • q!:放弃编辑并退出
  • G:跳转到最后一行
  • gg:跳转到第一行
  • e!:放弃所有修改重新编辑
  • help {subject}:帮助文档
  • w:向后移动一个单词
  • 3w:向后移动三个单词
  • b:向前移动一个单词
  • 3b:向前移动三个单词
  • e:光标移动到下一个单词的最后一个字符
  • 3e:光标移动到后三个单词的最后一个字符
  • ge:光标移动到上一个单词的最后一个字符
  • 3ge:光标移动到前三个单词的最后一个字
  • $:移动到行尾
  • 0/^:移动到行首
  • [n]fh:移动到h的单词上
  • [n]Fh:反向搜索
  • %:匹配括号
  • [n]G:定位到到n行
  • [n]%:定位到百分之n行
  • H,M,L:分别跳转到当前屏幕的第一行,中间行,最后一行
  • ctrl+g:显示当前光标所在位置
  • set number:显示行号
  • set nonumber:不显示行号
  • set ruler:一直显示光标位置
  • zz:把当前行放到屏幕正中央
  • zt:把当前行放到屏幕顶端
  • zb:把当前行放到屏幕底端
  • /string:查找;按n可以往下查找,N反向查找,和?string效果相同,支持正则表达式
  • set ignorecase/noignorecase:设置是否忽略大小写
  • :或/加上下箭头,可以翻看历史查询
  • /word>:查找单词word,不会查到类似words的词,但会匹配aword这类词
  • /\:只匹配word单词
  • set hlsearch:搜索高亮处理
  • hlsearch:暂时关闭高亮,下次搜索还会按照原来设置的
  • set nowrapscan/wrapscan:设置搜索到头时要不要重新搜索
  • [n]G/gg:跳转到n行
坚持原创技术分享,您的支持将鼓励我继续创作!