• VIM的使用


    打开文件

    [root@stardust ~]# vim passwd +n           # 打开在第n行
    [root@stardust ~]# vim passwd +            # 打开在最后一行
    [root@stardust ~]# vim passwd +/ssh        # 打开在第一个被PATTERN匹配到的行

    编辑模式

    进入插入模式

    • i 光标前编辑
    • a 光标后编辑
    • o 光标下方新行编辑
    • O 光标上方新行编辑
    • I 光标所在行的行首输入
    • A 光标所在行的行尾输入

    光标跳转

    • h 光标左移
    • j 光标下移
    • k 光标上移
    • l 光标右移

    • w 光标跳转至下一个单词词首

    • e 光标跳转至下一个单词词尾
    • b 光标跳转至前一个单词词首

    • $ 光标移动至行尾

    • ^ 光标移动至行首第一个非空字符
    • 0 光标移动至行首

    • gg 光标跳转至文件首

    • G 光标跳转至文件尾

    字符编辑

    • x 删除光标所在处的字符
    • r 替换光标所在处的字符
    • p P 粘贴剪切的内容
    • d 删除字符 配合光标跳转字符使用 实现范围删除
    • D 删除至行尾 相当于d$
    • dd 删除整行
    • y 复制字符 配合光标跳转字符使用 实现范围复制
    • yy 复制整行
    • c 删除字符并可以直接编辑 配合光标跳转字符使用
    • C 删除字符并可以直接编辑 相当于c$
    • cc 删除整行 并可以直接编辑
    • u 撤销刚才的操作
    • Ctrl + r 恢复刚才的撤销操作
    • . 重复上一次的编辑操作

    翻屏操作

    • Ctrl + f 向文件尾部翻一屏
    • Ctrl + b 向文件首部翻一屏

    可视化模式

    配合编辑模式中的操作方式使用

    • v 按照字符选定
    • V 按照行选定
    • Ctrl + v 按照块选定

    末行模式

    内建的命令行接口

    地址定界

    • M 第M行
    • M, N 从M行开始到N行结束
    • M, +N 从M行 往后N行,即M行到M+N行
    • . 当前行
    • $ 最后一行
    • % 全文 相当于 1,$
    • /pat1/,/pat2/ 从第一个匹配的pat1到第一次匹配的pat2中间的行

    编辑命令

    配合地址定界使用

    • d 删除
    • y 复制
    • w /PATH/TO/SOMEWHERE 将范围内的行另存至指定文件中
    • r /PATH/FROM/SOMEFILE 在指定位置 插入指定文件中的内容

    • s/要查找的内容/替换为的内容/修饰符

      • 第一项 要查找的内容支持使用正则
      • 第二项 替换为的内容不能使用正则,但可以使用1 2后向引用,还可以使用&引用前面查找到的内容
      • 修饰符 i不区分大小写 g全局替换

    进阶操作

    多文件模式

    • next 后一个文件
    • prev 前一个文件
    • first 第一个文件
    • last 最后一个文件
    • qall 退出所有文件
    • wall 保存所有文件 不退出
    • wqall 保存退出所有文件
    • qall! 不保存退出所有文件

    窗口分隔模式

    [root@stardust ~]# vim -o file1 file2 file3        # -o 打开多个文件 水平展示
    [root@stardust ~]# vim -O file1 file2 file3        # -O 打开多个文件 垂直展示
    # 使用`Ctrl + w` + 方向键 控制窗口切换

    单文件窗口分割

    • Ctrl + w,s split 水平分割
    • Ctrl + w,v vertical 垂直分割
    • Ctrl + w,方向键 窗口切换

    定制vim的工作特性

    配置文件 /etc/vimrc,~/.vimrc

    • set nu,set nonu 显示行号 默认关闭
    • set ai,set noai 自动缩进 默认关闭
    • set sm,set nosm 括号匹配 默认开启
    • set hlsearch,set nohlsearch 搜索高亮 默认开启
    • syntax on,syntax off 语法高亮 默认开启
    • set ic,set noic 忽略字符大小写 默认关闭
    • set ts=4 设置tab为4个空格
    • set expandtab,set noexpandtab 设置tab是否转换为空格

    Linux系统内置vimtutor命令,帮助大家学习vim的操作





  • 相关阅读:
    Spring Cloud Alibaba Sentinel 服务限流降级
    干掉 Feign,Spring Cloud Square 组件发布
    Linux命令之free
    Java 导入excel获取表格信息
    [转] 阿里云服务器 liunx 安装配置 redis
    tomcat 动态日志查看
    linux服务器只部署了2个项目,却时常内存占满的问题解决路程
    电脑换了,重装了,配置了环境,然后重新导入项目, 结果爆红
    IDEA External libraries 不显示Maven中引入的repository
    linux 手动释放buff/cache
  • 原文地址:https://www.cnblogs.com/hemingyuan/p/7914471.html
Copyright © 2020-2023  润新知