vi/vim常用命令

总结一下编辑器中的神vim的常用命令,直入主题。

三种模式

  • 一般模式
    关键:一般模式下无法直接键入内容到文件中
    直接打开文件进入一般模式,使用i I a A o O可进入到编辑模式
    使用: 则是命令模式
  • 编辑模式
    此模式常常用来输入编辑,ESC即可回到一般模式
  • 命令模式
    配置或者搜索替换都是在此模式下
    ESC即可回到一般模式
    一般最常见的是在编辑模式下进行编辑,不过有时候也会在一般模式下执行像复制 粘贴,命令模式会执行比如设置行号,搜索等。搞清楚每个模式下能干嘛,既是入门关键。

常用基本命令

一般模式

  • 光标移动
    • h j k l 移动光标(左下上右)
      ^ $ 移动到本行行首 行尾
      5j 向下移动5行,4l 向右移动4个字符,其他类比
    • gg 光标移动到首行行首
      G 光标移动到尾行行首
      12G 移动到12行行首
  • 剪切复制粘贴
    • 单字符剪切删除
      x 单剪切光标所在字符 X剪切光标前一字符 3x 从光标处开始向后剪切3个字符
      X 向前剪切 2X 从光标处开始向前剪切2个字符(此处不包括自己)
    • dd 剪切本行 2dd 从光标所在行开始剪切2行
      dG 剪切本行到行末所有 dgg 剪切本行到行首所有 (都包括本行)
    • D 从光标所在处开始向后剪切本行 2D 从光标所在处开始向后剪切2行(本行前面保留)
    • yy (Y效果一样)复制本行 3yy 从本行开始往下复制3行
    • p 粘贴
      其实y d可搭配的方式很多 比如d^则是从光标所在处剪切到本行行首,其实遵循的是光标的移动。
  • 进入编辑模式
    • i 光标所在处前一位置进入编辑 I 本行行首进入编辑
    • o 光标下一行另起一行进入编辑 O 光标上一行另起一行进入编辑
    • a 光标所在处后一位置进入编辑 A 本行行末进入编辑(和i刚好相反)
  • 其他
    • J 两行合并 去除换行符
    • u 撤销(后退)
    • ctrl+r 前进 (返回撤销的内容)
    • ctrl+f 向下翻页
    • ctrl+b 向上翻页

命令模式

- :set nu  /  :set nonu 显示行号/不显示行号
- /appserver 或者 ?appserver 在文章中查找appserver 按n下一个匹配之处 N上一个
- :w w! q q! wq wq!  保存/强行保存/退出/强行退出/保存退出/强行保存退出 !为强制执行
- :w test.bak 另存为
- :10, 30s/old/new/g 替换 10-30行中将字符old全部替换成new 如果不指定10,30则全文替换

编辑模式

此模式进行我们平常的编辑,按esc回到一般模式。

高级常用

Visual Block 块操作

以下都是在一般模式下操作,选择后有背景标识,之后再进行x d y等复制剪切操作。

  • v 字符选择
  • V 行块选择
  • ctrl+v 以四边形的方式选择,粘贴会保持原样

介绍另一个很常用的块操作,多行注释:

  1. 进入命令行模式,按ctrl + v进入 visual block模式,然后按j, 或者k选中多行,把需要注释的行标记起来
  2. 按大写字母I,再插入注释符,例如//
  3. 按esc键就会全部注释了
    取消注释(其实就是选中块剪切删除)
  4. 进入命令行模式,按ctrl + v进入 visual block模式,按字母l横向选中列的个数,例如 // 需要选中2列
  5. 按字母j,或者k选中注释符号
  6. 按d键就可全部取消注释

多窗口编辑

一般我们会有同时查看或编辑多文件的需求,而且还有复制等操作,除了不大好用的多文件编辑外,在一个面板中显示多个文件更合适。使用方式:在打开一个文件后再打开其他的文件。

  • :vs [filename] 横向分割显示新文件
  • :new [filename] 纵向分割显示新文件
  • :sp [filename] 同上new
  • ctrl+w 切换操作窗口 也可以用ctrl+w+j(方向键控制切换)

-------END---------
顺便当做自己的参考手册了。

你可能感兴趣的:(linux)