zoukankan      html  css  js  c++  java
  • Vim 安装和配置、优化

    Vim 介绍

    Vim 安装

    Vim 配置(CentOS 环境)

    • 编辑配置文件是:sudo vim /etc/vimrc

    Vim 基础快捷键

    • 注意
      • 严格区分字母大小写
      • 含有 Ctrl 字眼都表示 Ctrl 键盘按钮
      • 特定符号需要配合 Shift 键,比如字母键盘区上面的数字区:!@#%%^&*()
      • 要按出冒号键 : 也是需要 Shift 的
    • 移动
      • j,下
      • k,上
      • h,左
      • l,右
      • v,按 v 之后按方向键可以选中你要选中的文字
      • gg,跳到第 1 行
      • G,跳到最后一行
      • 16G 或 :16,跳到第 16 行
      • $,到本行 行尾
      • 0,到本行 行头
      • w,到下一个单词的 开头
      • e,到下一个单词的 结尾
      • Ctrl + u,向文件 首翻 半屏
      • Ctrl + d,向文件 尾翻 半屏
      • Ctrl + f,向文件 尾翻 一屏
      • Ctrl + b,向文件 首翻 一屏
      • *,匹配光标当前所在的单词,移动光标到 下一个 匹配单词
      • #,匹配光标当前所在的单词,移动光标到 上一个 匹配单词
      • ^,到本行第一个单词头
      • g_,到本行最后一个单词尾巴
      • %,匹配括号移动,包括 (、{、[
    • 插入
      • I,在当前 行首 插入
      • A,在当前 行尾 插入
      • i,在当前字符的 左边 插入
      • a,在当前字符的 右边 插入
      • o,在当前行 下面 插入一个新行
      • O,在当前行 上面 插入一个新行
    • 编辑
      • 删除
        • x,删除 光标后 的 1 个字符
        • 2x,删除 光标后 的 2 个字符
        • X,删除 光标前 的 1 个字符
        • 2X,删除 光标前 的 2 个字符
        • dd,删除当前行
        • cc,删除当前行后进入 insert 模式
        • dw,删除当前光标下的单词/空格
        • d$,删除光标至 行尾 所有字符
        • dG,删除光标至 文件尾 所有字符
        • 3dd,从当前光标开始,删掉 3 行
        • echo > aa.txt,从 bash 角度清空文件内容,这个比较高效
      • 复制
        • y,复制光标所选字符
        • yw,复制光标后单词
        • yy,复制当前行
        • 4yy,复制当前行及下面 4 行
        • y$,复制光标位置至 行尾 的内容
        • y^,复制光标位置至 行首 的内容
      • 粘贴
        • p,将粘贴板中内容复制到 光标之后
        • P,将粘贴板中内容复制到 光标之前
      • 其他
        • ddp,交换当前光标所在行和下一行的位置
        • u,撤销
        • :wq,退出并 保存
        • :q!,退出并 不保存
        • Ctrl + v,进入 Vim 列编辑
        • guu,把当前行的字母全部转换成 小写
        • gUU,把当前行的字母全部转换成 大写
        • g~~,把当前行的字母是大写的转换成小写,是小写的转换成大写
        • :saveas /opt/setups/text.txt,另存到 /opt/setups/text.txt
    • 搜索
      • /YouMeek,从光标开始处向文件尾搜索 YouMeek 字符,按 n 继续向下找,按 N 继续向上找
      • ?YouMeek,从光标开始处向文件首搜索 YouMeek 字符,按 n 继续向下找,按 N 继续向上找
    • 替换
      • :%s/YouMeek/Judasn/g,把文件中所有 YouMeek 替换为:Judasn
      • :%s/YouMeek/Judasn/,把文件中所有行中第一个 YouMeek 替换为:Judasn
      • :s/YouMeek/Judasn/,把光标当前行第一个 YouMeek 替换为 Judasn
      • :s/YouMeek/Judasn/g,把光标当前行所有 YouMeek 替换为 Judasn
      • :s#YouMeek/#Judasn/#,除了使用斜杠作为分隔符之外,还可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符,该命令表示:把光标当前行第一个 YouMeek/ 替换为 Judasn/
      • :10,31s/YouMeek/Judasn/g,把第 10 行到 31 行之间所有 YouMeek 替换为 Judasn

    Vim 的特殊复制、黏贴

    • Vim 提供了 12 个剪贴板,分别是:0,1,2,3,4,5,6,7,8,9,a,",默认采用的是 ",也就是双引号,可能你初读感觉很奇怪。你可以用 Vim 编辑某个文件,然后输入::reg。你可以看到如下内容:
      • vim
    • 复制到某个剪切板的命令:"7y,表示使用 7 号剪切板。
    • 黏贴某个剪切板内容:"7p,表示使用 7 号剪切板内容进行黏贴

    Vim 配置

    • 我个人本地不使用 Vim 的,基本上都是在操作服务器的时候使用,所以这里推荐这个配置文件
      • vim-for-server
      • 在假设你已经备份好你的 Vim 配置文件后,使用该配置文件:curl https://raw.githubusercontent.com/wklken/vim-for-server/master/vimrc > ~/.vimrc
      • 效果如下:
        • vim-for-server
    • 需要特别注意的是,如果你平时粘贴内容到终端 Vim 出现缩进错乱,一般需要这样做:
      • 进入 vim 后,按 F5,然后 shift + insert 进行粘贴。这种事就不会错乱了。
      • 原因是:vim ~/.vimrc 中有一行这样的设置:set pastetoggle=<F5>

    其他常用命令

    • 对两个文件进行对比:vimdiff /opt/1.txt /opt/2.txt

    资料

  • 相关阅读:
    Chandy-Lamport_algorithm
    3 differences between Savepoints and Checkpoints in Apache Flink
    列数 行数 表数 限制
    数据收集、传输、元数据管理、作业流调度、海量数据查询引擎、数据可视化
    分析云负载均衡产品
    端口被占用通过域名的处理 把www.domain.com均衡到本机不同的端口 反向代理 隐藏端口 Nginx做非80端口转发 搭建nginx反向代理用做内网域名转发 location 规则
    JSON Web Token
    查看开启端口的应用
    If the parts of an organization (e.g., teams, departments, or subdivisions) do not closely reflect the essential parts of the product, or if the relationship between organizations do not reflect the r
    微服务架构的理论基础
  • 原文地址:https://www.cnblogs.com/kcxg/p/10996248.html
Copyright © 2011-2022 走看看