美文网首页
Linux 使用 vim 编辑器

Linux 使用 vim 编辑器

作者: 暴躁程序员 | 来源:发表于2023-11-28 12:22 被阅读0次

    一、vim 编辑器的使用

    vim 纯文本编辑器,是 vi 编辑器的增强版,建议使用 vim

    vim fileName        // 有文件则进入,没有则创建文件进入
    

    二、vim 三种模式

    vim 的三种模式:命令模式、输入模式、编辑模式

    1. 命令模式

    控制台输入:vim fileName ,默认进入命令模式,输入以下命令从命令模式进入输入模式

    a            // 光标所在字符后插入(追加)
    A            // 光标所在行尾处插入
    i            // 光标所在字符前插入(插入)
    I            // 光标所在行首处插入
    o            // 光标下插入新行(新行)
    O            // 光标上插入新行
    
    1. 输入模式

    在输入模式下,可执行录入文本等操作,按 ESC 键,从输入模式进入命令模式

    1. 编辑模式

    在命令模式下,输入英文冒号:进入编辑模式,编辑模式下的常见命令如下:

    w             // 保存不退出
    q             // 退出不保存
    wq            // 保存并退出(快捷键 shift+zz)
    q!            // 强制退出不保存 (用于修改数据后,强制不保存退出)(所有人)
    wq!           // 强制保存并退出 (用于文件没有写权限的时候,修改后,保存退出)(管理员和文件当前所属者)
    

    三、命令模式下的常见操作

    注意:以下命令都是在命令模式下执行的,不可在插入模式下执行

    1. 控制移动光标
    ↑ ↓ ← →           // 光标上下左右移动
    gg                // 光标移动到文件头
    shift + g         // 光标移动到文件尾
    ^                 // 光标移动到行首
    $                 // 光标移动到行尾
    :n                // 移动到第几行
    
    1. 删除、剪切字符
    x                 // 删除单个字母
    nx                // 删除n个字母
    dd                // 删除单行,或者剪切单行
    ndd               // 删除多行,或者剪切多行
    :nl,n2d           // 删除指定范围内的字符,或者剪切范围内字符
    dG                // 从光标所在行删除到行尾,放在行首就是清空文件
    
    1. 复制(整行)
    yy                // 复制光标所在行
    nyy               // 复制多行
    
    1. 粘贴(整行)
    p                  // 粘贴到光标前
    shift + p          // 粘贴到光标后
    
    1. 撤销
    u                  // 撤销
    ctrl+r             // 反撤销
    
    1. 查找
    /查找内容           // 从光标所在处向下查找
    ?查找内容           // 从光标所在处向上查找
    n                  // 下一个
    shift + n          // 上一个
    
    1. 替换
    :1,100s/old/new/g          // 替换第一行到第十行的所有old为new
    :%s/old/new/g              // 替换整个文件old为new
    
    :1,10s/^/#/g               // 注释1 ~ 10 行
    :1,10s/^#//g               // 取消1 ~ 10 行注释
    
    

    四、vim 常见配置命令

    临时修改 vim 编辑器的展示

    :set nu                    // 显示行号
    :set nonu                  // 取消行号
    :syntax on                 // 显示特殊内容颜色
    :syntax off                // 不显示特殊内容颜色
    

    五、vim 常见操作

    1. 把其他文件的内容导入到光标位置
      在命令模式下,光标先放在要粘贴的位置,执行
    :r /xxx/xxx/文件名         // 把文件内容导入到光标位置
    
    1. 在 vim 中执行系统命令,且不影响 vim 操作
      在 insert 编辑模式下,输入
    :!系统命令                 // 比如,:!date, 在vim编辑器中,使用系统命令,并按任意键返回到vim编辑器中
    
    1. 将系统命令的结果导入到 vim 编辑器中光标所在位置
    :r !命令                    // 比如,:r !date ,将系统时间写入到光标所在位置
    
    1. 注释快捷键设置

    在命令行配置只是临时生效,系统重启将失效,永久生效需要写入配置文件:~/.vimvc 5.

     // 自定义快捷键语法::map 快捷键 快捷键执行的命令
    :map ctrl+p I#<ESC>          // 按ctrl+p时,在行首加上 # 注释
    :map ctrl+b ctrl+x           // 按ctrl+b时,删除行首第一个字母,取消注释
    
    1. 字符串模板
      可以把一些常用的长字符串设置成模板,方便编辑时使用,用于提升编辑效率,比如:邮箱
    :ab 源字符 替换为字符                 // 字符替换
    :ab myemail 872831515@qq.com         // 当在文档中插入 myemail 时,会自动转化为 872831515@qq.com,建议源字符特殊且长一些否则影响编辑
    
    
    1. 多文件打开
      在vim中可同时打开多个文件
    vim -o /xxx/file1 /xxx/file2         // 小写的o,上下分屏打开两个文件,按ctrl + w 上下箭头进行文件切换
    vim -O /xxx/file1 /xxx/file2         // 大写的O,左右分屏打开两个文件,按ctrl + w 左右箭头进行文件切换
    

    六、注意

    1. 当vim编辑器执行的过程中意外关闭了文件,会生成对应文件的.swp文件,再次进入时显示文件已经打开,原因是服务器备份了之前修改的文件
    // 解决方式一: 覆盖文件
    vim -r 文件名           
    
    // 解决方式二:查看并删除swp文件
    ls -la
    rm -rf .文件名.swp
    
    1. 所有命令必须在英文键盘下输入才生效

    相关文章

      网友评论

          本文标题:Linux 使用 vim 编辑器

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