Vim 小知识

Vim 文编编辑器

说明:Vim 是 Vi 的增强版,Ubuntu 默认安装了 Vi ,没有安装 Vim,但使用几乎一样。以下使用 Vim来介绍,最好使用 Vim,因为 Vi 有点难用

Vim 常用操作

vim 介绍

  1. vim 是一个功能强大的全屏幕文本编辑器
  2. 作用:建立、编辑、显示文本文件
  3. vim 没有菜单,只有命令
  4. vim 工作模式
    • 进入 vi filename ,已有文件,则进入文件命令模式;没有,则创建文件,再进入文件命令模式
    • 命令模式,
      1. 插入模式:使用 i\a\o 进入插入模式;使用 esc 回到命令模式
        • i 光标前插入
        • a 光标后插入
        • o 换行插入
      2. 编辑模式:命令以回车结束\运行
    • 退出 ,命令模式下输入命令 wq 退出并保存;q! 强制退出(如果:文件使用 vi filename 创建,退出没有保存,则文件也不会存在);w 保存文件

插入命令

  1. 在命令模式下输入插入命令

    • 如表

      命令 作用
      a 光标后插入
      A 光标所在行末尾插入
      i 光标前插入
      I 光标所在行首插入
      o 光标下出入新行
      O 光标上出入新行

定位命令

  1. 在命令模式下输入

    • 如表

      命令 作用
      :set number / set nu 设置行号
      :set nonumber / set nonu 取消行号
      G / gg 到最后一行 / 到第一行
      nG 到第几行
      :n 到第几行
      $ 移至行尾
      0 移至行首

删除命令

  1. 在命令模式下输入

    • 如表

      命令 作用
      x 删除光标所在处字符
      nx 删除光标所在处后 n 个字符
      dd 删除光标所在行,ndd 删除 n 行
      dG 删除光标所在行及到文件末尾内容
      D 删除光标所在处到行尾内容
      :n_1,n_2d 删除指定范围的行

复制和剪切命令

  1. 在命令模式下输入

    • 如表

      命令 作用
      yy 复制当前行
      nyy 复制当前行一下的 n 行
      dd 剪切当前行
      ndd 剪切当前行一下 n 行
      p / P 粘贴在当前光标行所在行下或行上

替换和取消命令

  1. 在命令模式输入

    • 如表

      命令 作用
      r 取代光标所在字符
      R 从光标所在处开始替换字符,按 esc 结束
      u 取消上一步操作

搜索和搜索替换命令

  1. 在命令模式下输入

    • 如表

      命令 作用
      /string 搜索指定字符串
      搜索时忽略大小写 :set ic
      键入 n 表示查看下一个搜索结果
      :%s/old/new/g 全文替换指定字符串(old)
      注意转义字符 \/ 表示 /
      :n_1,n_2s/old/new/g 在 n_1 到 n_2 行内替换
      注意转义字符 \/ 表示 /

保存和退出命令

  1. 在命令模式下输入

    • 表格

      命令 作用
      :w 保存修改
      :w new_filename 另存为指定文件
      :wq 保存修改并退出
      ZZ 快捷键,保存修改并退出
      :q! 不保存修改退出
      :wq! 保存修改并退出(文件所有者及 root 可使用)

Vim 使用技巧

说明:一下设置可以写入用户目录下的 .vimrc 文件写入配置信息,使用 vim 设置永久有效

导入命令执行结果 :r !命令

  1. 介绍
    • 将命令执行的结果写入,使用 vim 编辑器打开的文件
  2. 实例
    • 使用 cat 文件1 ,将 文件1导入 vim 打开的文件中
      1. r !cat 文件1
      2. 直接使用文件名 :r !文件1 ,也可以导入文件1内容
    • 导入当前时间 date
      1. r !date

在 vim 中查看命令执行结果 :!命令

  1. 介绍

    • 不需要退出 vim 编辑器,直接使用 :!命令 查看执行结果
  2. 实例

    • 在 vim 编辑器下,使用 :!ls

      ss@localcomputer:~/桌面/test$ vim a
      
      a  abc
      
      请按 ENTER 或其它命令继续
      

定义快捷键 :map 快捷键 触发命令

  1. 介绍
    • 将一个或多个命令,使用一个快捷方式代替
  2. 实例
    • 使用自定义快捷键注释代码
      1. 加注释::map ctrl+y I# 使用 ctrl+y 代替行首插入 I ,插入 #,按 ESC 键退出插入模式
      2. 解除::map ctrl+t 0x 使用 ctrl+t 代替光标移至行首,使用 x 删除光标所在处 #,按 ESC 键退出插入模式
    • 可是使用快捷键,输入邮箱等一些常用信息
      1. 插入邮箱::map ctrl+y [email protected] 使用 ctrl+y 代替进入插入模式,插入邮箱地址

连续注释

  1. 介绍
    • 就是多行一起注释,会使用正则表达式
  2. 实例
    • 以 # 为注释符的多行注释
      1. :n_1,n_2s/^/#/g
      2. 相反 :n_1,n_2s/^#//g
    • 以 // 为注释符的多行注释
      1. :n_1,n_2s/^/\/\//
      2. 相反 :n_1,n_2s/^\/\///g\ 是转义字符
    • 在行尾插入相同字符
      1. 在行尾插入 hello::%s/$/hello/g

替换 ab 替代 原字符集

  1. 介绍
    • 将一段常用字符集,使用简单的几个字符代替
    • vim 插入时,空格 / 回车,会有显示
  2. 实例

分屏

打开文件并且分屏

  1. 垂直分屏
    • 命令 vim -o[n] file1 [file2……]
      1. n 表示分屏个数(可以省略)
      2. file 表示文件
    • 一般使用 vim -o file1 file2 垂直创建或打开两个文件
    • 如果写 n,但 n 与文件数相等,会创建无名文件
  2. 水平分屏
    • 命令 vim -O[n] file1 [file2……]

Vim命令模式下分屏

说明:也可以新建文件

  1. 垂直分屏
    • 命令 :split [file1]
      1. 写 file,将 file 与当前文件垂直分屏
      2. 不写 file,将当前文件垂直分开,同时分屏的文件同步
    • 命令 :vs [file1]
      1. 只读,可还行
  2. 水平分屏
    • 命令 :vsplit [file1]
    • 命令 :vs [file1]
  3. 新建文件垂直分屏
    • 命令 :new [file1]
      1. 写 file 会新建一个文件
      2. 不写 file 会新建一个无名文件

移动光标

  1. 将光标移动到另一个屏幕中

    • 如表格

      光标方向 命令
      上移 ctrl+w k
      下移 ctrl+w j
      左移 ctrl+w h
      右移 ctrl+w l
      移动到下一个 ctrl+w w
      移动上一个 ctrl+w p

关闭分屏

说明:此处使用的命令是在文件名由修改的情况下使用

  1. 关闭除当期分屏的所有分屏
    • 命令 :only
      1. 分屏有修改不可关闭
  2. 关闭所有分屏
    • 命令 :qa
      1. 同样分屏有修改不可关闭

设置 vim 分屏

  1. 当前窗口与下一个对调(优先上下,其次左右)
    • 命令 ctrl+w x
  2. 所有窗口恢复均等
    • 命令 ctrl+w =

你可能感兴趣的:(Vim 小知识)