美文网首页
Vim编辑器入门

Vim编辑器入门

作者: IstvanShaw | 来源:发表于2018-06-16 03:34 被阅读0次

    我们常说:Linux中一切都是文件。因此使用文本编辑器编辑配置文件参数是一键非常重要的事情,而最为广大用户熟知的文本编辑器非vim莫属;今天我们就来简单了解一下vim文本编辑器的使用。

    一、vi与vim

    在学习vim的使用之前,我们需要介绍一下vi文本编辑器:

    • 所有类UNIX系统都会内置vi文本编辑器;
    • 很多软件的编辑接口会调用vi,比如之前介绍过的 crontab

    上述两个特点造就了可以成为vi高级版的vim如今地位。vim与vi最大的不同在于其语法高亮功能,该点使其不仅是一个文本编辑器,更是程序开发工具。

    二、vi的使用

    1. 让vi或者vim如此受欢迎的主要原因,在于其三种模式:
    • 一般模式
      打开一个文件就进入该模式;该模式中可以移动光标、对文本进行 复制 粘贴 删除 查找 等操作;


    • 编辑模式
      一般模式下,按 a,i,o 键可以进入( a 键 与 i 键分别是在光标后面一位和当前位置切换到编辑模式,而 o 键则是在光标的下面再创建一个空行,此时可敲击 a 键进入编辑模式);该模式中可以对文件文本进行编辑,按 Esc 键回到一般模式;
    • 命令行模式
      一般模式下,输入以 :,/,? 开头的命令进入;该模式中光标在屏幕最下一行,可以输入一些对文件操作的命令,按 Esc 键回到一般模式;

      ps:一般模式和编辑模式、一般模式和命令行模式之间可以互相切换,但是编辑模式和命令行模式之间无法互相切换。
    1. 一般模式和编辑模式常用快捷键
    快捷键 说明
    h 光标向左移动一个字符
    j 光标向下移动一行
    k 光标向上移动一行
    l 光标向右移动一个字符
    Ctrl+fPageDown 向下翻页
    Ctrl+bPageUp 向上翻页
    0Home 光标移动到所在行最前字符
    $End 光标移动到所在行最后字符
    G 光标移动到该文件最后一行
    gg 光标移动到该文件第一行
    XBackspace 删除光标前一个字符
    xDel 删除光标后一个字符
    [rownum]Enter 光标向下移动 [rownum]
    dd 删除(剪切)光标所在行
    [rownum]dd 删除(剪切)从光标处开始的 [rownum]
    yy 复制光标所在行
    [rownum]yy 复制光标处开始的 [rownum]
    n 显示搜索的下一个字符串
    N 显示搜索的上一个字符串
    u 撤销
    .Ctrl+r 重复上一个操作
    p 粘贴前剪切或复制的内容
    1. 命令行模式常用命令
    命令 说明
    :w 保存
    :q 退出
    :q! 放弃修改强制退出
    :wq! 强制保存退出
    :set nu 显示行号
    :set nonu 隐藏行号
    :[rownum] 跳转到 [rownum]
    :s/[str1]/[str2] 将当前行第一个 [str1] 替换为 [str2]
    :s/[str1]/[str2]/g 将当前行所有 [str1] 替换为 [str2]
    :%s/[str1]/[str2]/g 将全文所有 [str1] 替换为 [str2]
    ?[str] 搜索 [str]
    /[str] 反向搜索 [str]
    :set nu 显示行号

    三、vim的功能

    1. vim的保存文件、恢复与打开时的警告信息
      当我们在使用vim编辑文件时,vim会把我们进行的操作保存在以编辑文件名加.swp命名的隐藏临时文件中;
      当遇到其他用户在编辑同一个文件或者其他未知的原因导致vim崩溃后,我们可以使用这个临时文件恢复之前进行的操作;
    • 新建一个名为 xdltestvim.json 的文件,使用 Ctrl+z 快捷键使vim在后台运行
    vim xdltestvim.json
    
    • 使用 ls -al 命令查看当前文件夹信息,可以看到名为 .xdltestvim.json.swp 隐藏临时文件

    • 当我们尝试继续编辑 xdltestvim.json 这个文件时,会出现提示:



      并给出5个操作项:

    操作项 说明
    [O]pen Read-Only 只读模式打开文件
    [E]dit anyway 正常模式打开,不使用之前临时保存的操作,会改变之前的操作
    [R]ecover 恢复之前的操作,完成后需要手动删除隐藏临时文件
    [Q]uit 退出
    [A]bort 忽略,类似于 [Q]uit

    根据给定的操作快捷键可进行对应的操作。

    1. 块选择
      vim一般模式和编辑模式下可以使用快捷键进行文本的块选择:
    • v 字符选择,选择从按下 v 开始到当前光标位置的字符:

    • V 行选择,选择从按下 V 开始到当前光标位置的行:

    • Ctrl+v 矩形选择,选择从按下 Ctrl+v 开始到当前光标位置所画出矩形框内的字符:

    文本选择之后,可以使用之前介绍的 ydp 快捷键进行复制、删除、粘贴。

    1. 多文件编辑
      当我们想要把一个文件中的文本复制到另一个文件中时,就可以使用vim的多文件编辑功能;
    命令 说明
    vim [file1] [file2] 同时编辑文件 [file1][file2]
    :files 查看当前正在编辑的文件
    :n 切换到编辑下一个文件
    :N 切换到编辑上一个文件
    :files 查看当前正在编辑的文件
    1. 多窗口功能
      在vim命令行模式下使用 :sp [filename] 命令在同时以多个窗口中打开多个文件;

    多窗口功能常用快捷键:

    快捷键 说明
    Ctrl+w jCtrl+w ↓ 切换到下一个窗口
    Ctrl+w kCtrl+w ↑ 切换到上一个窗口
    Ctrl+w q 关闭下一个窗口,等同于先切换到下一个窗口再使用 :q 关闭
    1. vim常用命令示意图

    图片转自 deniro_li 的CSDN文章 vim 常用指令操作示意图

    相关文章

      网友评论

          本文标题:Vim编辑器入门

          本文链接:https://www.haomeiwen.com/subject/jjpveftx.html