【Linux】vim详细介绍(四)


什么是 vim

点击跳转至官网了解更多
Vim是一款功能强大的文本编辑器,适用于各种编程和文本处理任务,最初由Bram Moolenaar开发于1991年。它是Vi编辑器的增强版,Vi是Unix系统上的一款文本编辑器。Vim的名称代表“Vi IMproved”(Vi的改进版)。

Vim有着丰富的功能和强大的定制性,是程序员和系统管理员等专业用户的首选编辑器之一。

vim的主要功能:

  1. 模式:Vim具有多种模式,包括一般模式、编辑模式、可视模式、底行模式等。普通模式下可以执行各种编辑命令,插入模式用于输入文本,可视模式用于选择文本,底行模式用于执行命令。
  2. 快捷键:Vim通过使用快捷键来执行各种编辑操作,这些快捷键可以大大提高编辑效率。
  3. 强大的搜索和替换功能Vim支持使用正则表达式进行搜索和替换,还支持全局替换、逐个替换等功能。
  4. 语法高亮:Vim可以根据文件的语法类型进行高亮显示,使代码更易于阅读和编辑。
  5. 自动补全:Vim具有自动补全功能,可以根据已输入的内容提示可能的选项,提高编码效率。
  6. 分屏和标签页:Vim支持将编辑区域分割成多个窗口,并且可以使用标签页来管理多个文件。
  7. 插件系统:Vim具有丰富的插件系统,用户可以根据自己的需要安装各种插件来扩展编辑器的功能。

vim的三种模式

在这里插入图片描述

  • 命令模式(command mode)

    以 vim 打开一个文件就直接进入一般模式了(这是默认的模式,也简称为一般模式)。 在这个模式中, 你可以使用“上下左右”按键来移动光标,你可以使用“删除字符”或“删除整列”来处理文件内容, 也可以使用“复制、贴上”来处理你的文件数据。

  • 插入模式 (insert mode)

    在一般模式中可以进行删除、复制、贴上等等的动作,但是却无法编辑文件内容的! 要等到你按下“i, I, o, O, a, A, r, R”等任何一个字母之后才会进入编辑模式。 注意了! 通常在 Linux 中,按下这些按键时,在画面的左下方会出现“ INSERT 或 REPLACE ”的字样,此时才可以进行编辑。 而如果要回到一般模式时, 则必须要按下“Esc”这个按键即可退出插入模式。

  • 底行模式 (last line mode)

    在一般模式当中,输入“ : ? / 三个中的任何一个按钮,就可以将光标移动到最下面那一列。 在这个模式当中, 可以提供你“搜寻数据”的动作,而读取、存储、搜索、替换、离开 vim 、显示行号等等的动作则是在此模式中达成的!

  • vim打开文件后为命令模式(command mode)

    1. 打开一个文件vim filename

    2. 打开多个文件vim file1 file2 …

      使用 :e file 命令打开其他文件

      使用:sp filename 启动新窗口打开文件

  • 从命令模式(command mode)进入插入模式(Insert mode)

    1. 按i在当前位置编辑
    2. 按a在当前位置的下一个字符编辑
    3. 按o插入新行,从行首开始编辑
  • 插入模式(insert mode)下按ESC键退回命令模式(command mode)

  • 命令模式(command mode)下按 : 或 / 或 ?等即可进入底行模式(last line mode)

    1. 输入 :set nu 显示行号
    2. 输入 :1,$s/word/WORD/g 将全部的word替换为WORD
    3. 输入 /word 向下搜索word,之后按n继续搜索
    4. 输入 ?word 向上搜索word,之后按n继续搜索
    5. 更多命令介绍在底行模式的可用按钮说明中
  • 底行模式(last line mode)下按ESC键或Enter键返回到命令模式(command mode)

  • 底行模式(last line mode)下退出

    1. 输入:q退出
    2. 输入 :wq保存后退出
    3. 输入:q!强制退出
    4. 输入 :wq!强制保存退出
  • 命令模式可用的按钮说明,光标移动、复制、粘贴等

    操作说明
    移动光标的方法
    h 或 ←光标向左移动一个字符
    j 或 ↓光标向下移动一个字符
    k 或 ↑光标向上移动一个字符
    l 或 →光标向右移动一个字符
    nG移动到这个文件的第 n 列。 (可配合 :set nu)
    例,100G为移动到第100行
    n 或 n ↓光标向下移动 n 列(常用)
    例,100 ↓为移动到101行,不同于100G
    x, X在一列字当中,x 为向后删除一个字符,X 为向前删除一个字符
    nxn 为数字,连续向后删除 n 个字符。 举例来说,我要连续删除 10 个字符, “10x”。
    dd删除光标所在的那一整列(常用)
    nddn 为数字。 删除光标所在的向下 n 列,例如 20dd 则是删除 20 列 (常用)
    yy复制光标所在的那一列(常用)
    nyyn 为数字。 复制光标所在的向下 n 列,例如 20yy 则是复制 20 列(常用)
    p, Pp 为将已复制的数据在光标下一列贴上,P 则为贴在光标上一列。举例来说,我目前光标在第 20 列,且已经复制了 10 列数据。则按下 p 后,那 10 列数据会贴在原本的 20 列之后,亦即由 21 列开始贴。但如果是按下 P 呢?那么原本的第 20 列会被推到变成 30 列。 (常用)
  • 底行模式的可用按钮说明

    操作说明
    :w将编辑的数据写入硬盘文件中(常用)
    :w!若文件属性为“只读”时,强制写入该文件。不过,到底能不能写入, 还是跟你对该文件的文件权限有关啊!
    :q离开 vi (常用)
    :q!若曾修改过文件,又不想储存,使用 ! 为强制离开不储存盘案。
    :wq储存后离开,若为 :wq! 则为强制储存后离开 (常用)
    :w [filename]将编辑的数据储存成另一个文件(类似另存新文件)
    :r [filename]在编辑的数据中,读入另一个文件的数据。 亦即将 “filename” 这个文件内容加到光标所在列后面
    :n1,n2 w [filename]将 n1 到 n2 的内容储存成 filename 这个文件。
    :! command暂时离开 vi 到命令行界面下执行 command 的显示结果。例如 “:! ls /home“即可在 vi 当中察看 /home 下面以 ls 输出的文件信息!
    /word向光标之下寻找一个名称为 word 的字串。
    (按下后继续按n可连续搜索)
    ?word向光标之上寻找一个字串名称为 word 的字串。
    (按下后继续按n可连续搜索)
    :n1,n2s/word1/word2/g在第 n1 与 n2 列之间寻找 word1 这个字串,并将该字串取代为 word2 !
    例 :1,$s/word1/word2/g,将第一行和最后一行中所有的word1替换为word2
    :1,$s/word1/word2/gc从第一列到最后一列寻找 word1 字串,并将该字串取代为 word2 ! 且在取代前显示提示字符给使用者确认 (confirm) 是否需要取代!
    (替换时可以选中行首^和行尾$)
    :sp filename开启一个新窗口,如果有加 filename, 表示在新窗口打开一个新档案,否则表示两个窗口为同一个档案内容(同步显示)。如果需要更换窗口,可以同时按下ctrl w ↑ 或者 ctrl w ↓进行更换。想要结束选中的窗口,可以同时按下ctrl w q。
    :set nu临时设置显示行号,设置之后,会在每一列的字首显示该列的行号
    (这是一个vim环境设置的命令)
  • vim环境设置命令

    • 常用命令1
    命令功能详细说明
    :set nu打开行号显示在每一行的左侧显示该行的行号,方便导航和定位。
    :set nonu关闭行号显示停止显示每行的行号。
    :set hlsearch打开高亮搜索在搜索时,匹配的文本会被高亮显示,以突出显示搜索结果。
    :set nohlsearch关闭高亮搜索停止匹配文本高亮显示。
    :set autoindent打开自动缩进在输入新行时,新行会自动与上一行保持相同的缩进,使代码更易于阅读和维护。
    :set noautoindent关闭自动缩进输入新行时,不会自动应用与上一行相同的缩进,使用者需要手动缩进文本。
    :syntax on打开语法高亮Vim 会根据文件类型自动高亮显示关键字、注释等,提高代码可读性。
    :syntax off关闭语法高亮停止对文件的语法高亮显示,适用于不希望使用语法高亮的情况,例如在查看纯文本文件时。
    :set bg=light设置背景颜色为亮色设置 Vim 编辑器的背景颜色为亮色主题,适合在明亮的环境下使用,如白天工作环境。
    :set bg=dark设置背景颜色为暗色设置 Vim 编辑器的背景颜色为暗色主题,适合在暗色环境下使用,如夜间工作环境。
    • 常用命令2
    命令功能详细说明
    :set显示所有当前设置的选项显示所有当前设置的选项,但不包括它们的值。
    :set all显示所有当前设置的选项及其值显示所有当前设置的选项及其值,帮助用户了解当前 Vim 的所有设置选项。
    :set showmode打开显示模式在底部显示当前处于插入模式还是命令模式,帮助用户了解当前 Vim 处于哪种模式下。
    set showcmd显示命令在底部状态栏显示当前的命令
    :set ruler打开标尺在底部显示当前光标所在位置的行号和列号,帮助用户准确定位。
    :set backup打开备份在编辑文件时,Vim 会在保存之前创建一个备份文件,以防止意外丢失数据。
    :set tabstop=n设置制表符宽度为 n设置制表符的宽度为 n 个空格,例如 set tabstop=4 设置制表符宽度为 4 个空格
    :set ignorecase忽略大小写在搜索时忽略大小写匹配
    :set smartcase智能大小写只有搜索词中包含大写字母时,才区分大小写
    :set backup备份文件在保存文件时创建备份文件,备份文件的命名规则为 filename~
    :set list显示不可见字符显示不可见字符,如空格和制表符
    :set showmatch自动高亮匹配的括号在插入括号时,自动高亮显示匹配的括号

.viminfo和.vimrc文件

  1. .vimrc 文件
    • 作用.vimrc 文件是 Vim 的配置文件,用于定义用户的偏好设置和自定义命令。在这个文件中,你可以设置编辑器的外观、行为、键绑定、插件等等。所有在 .vimrc 文件中设置的选项都会在启动 Vim 时被加载。
    • 位置.vimrc 文件通常位于用户的主目录下(在 Unix/Linux 系统中为 ~/.vimrc
    • 编辑:你可以使用任何文本编辑器来编辑 .vimrc 文件,添加或修改配置选项以满足你的需求。
  2. .viminfo 文件
    • 作用.viminfo 文件用于存储 Vim 的会话信息,包括历史命令、搜索历史、撤销历史、文件位置等。当你退出 Vim 时,会话信息会被保存到 .viminfo 文件中;当你重新启动 Vim 时,Vim 会从 .viminfo 文件中读取信息以恢复你上次编辑的状态。
    • 位置.viminfo 文件通常也位于用户的主目录下(在 Unix/Linux 系统中为 ~/.viminfo
    • 编辑:一般情况下,你不需要手动编辑 .viminfo 文件。Vim 会自动管理这个文件,你只需要了解它的存在和作用即可。

这两个文件对于定制和管理 Vim 编辑器都非常重要。通过编辑 .vimrc 文件,你可以根据个人喜好配置 Vim 的外观和行为;而 .viminfo 文件则帮助你在 Vim 的不同会话之间保持状态一致性。

  • 99
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值