vim学习笔记

vim学习笔记(不要强行记忆,在使用中学习……)

前言

为什么写这篇文章

近日频频在linux上查询各种日志,经常会用到vim命令,遇到一些不常用的vim命令时,第一想法就是去百度、谷歌,每次找一个命令都得花费不少时间,这里把所有常用的vim命令做一个整理,也分享给同样经历的同学,也方便自己以后查阅。

准备工作

为了方便在window下进行学习,先下载一个gvim的编辑器。

  • 软件 点击下载
  • 注意:vim有两种模式,编辑模式和命令/正常(Normal)模式,编辑模式到命令/正常(Normal)模式通过Esc键进行切换。

光标移动

  • k:k 向上移动
  • h:h 向左边移动
  • l:l 向右边移动
  • j:j 向下移动
         ^
         k                           
    < h     l >                   
         j                           
         v
    
  • G :Shift+g 跳转到文本的最后一行
  • Ctrl + f:下一页
    Ctrl + b:上一页 / 关键字从前往后搜索,n搜索往下下一条,N 搜索往上一条
    *? 关键字从后往前搜索,n搜索往下下一条,N 搜索往上一条

插入和退出

  • i:在光标所在位置左边开始插入文本
  • a:在光标所在位置右边开始插入文本
  • q:退出vim编辑,不保存
  • q!:强行退出vim编辑,不保存
  • wq:保存所有修改
  • wq!:强制保存所有修改

删除类操作

  • x:删除光标所在位置的字符
  • dw:删除从光标处至一个单字/单词的末尾,包括空格
  • de:删除从光标处至一个单字/单词的末尾,包括空格
  • d$:删除从光标处至行末
  • dd:删除光标所在的整行
  • 2dd:删除光标及光标下一行两行

撤销类操作

  • u:小写u,撤销上一次操作
  • U:大写U,撤销光标所在行所做的改动

置入类操作

  • p:小写p,将最后一次删除的内容放置光标之
  • P:大写P,将最后一次删除的内容放置光标之

更改类操作

  • cw:替换光标所在字符

搜索类操作

  • /:输入 / 以及尾随的字符串可以用以在当前文件中从前往后查找该字符串,要查找同上一次的字符串,只需要按 n 键。要向相反方向查找同上一次的字符串,请输入 Shift-N 即可。
  • ?:和 / 类似,只是检索的方式是你逆向的,从后往前
  • %:按 % 可以查找配对的括号 )、]、}
  • :nohl:取消搜索高亮显示
  • :set nu:显示行号

替换类操作

  • r:输入r和一个字符,将替换光标所在位置的字符
  • :s/old/new:在光标所在行内替换头一个字符串 old 为新的字符串 new
  • :s/old/new/g:在光标所在行内替换所有的字符串 old 为新的字符串 new,请输入
  • :#,#s/old/new/g:在两行内替换所有的字符串 old 为新的字符串 new
  • %s/old/new/g:在文件内替换所有的字符串 old 为新的字符串 new
  • %s/old/new/gc:进行全文替换时询问用户确认每个替换需添加 c 选项
  • 10,20s/old/new:把第 10 行到 20 行之间所有 old 替换为 new