• vim 学习笔记


    参考课程:https://www.imooc.com/learn/1129

    第一章 初识


    预备 markdown知识:

    1. 列表
    • 加粗
    • 斜体
    • 删除线
    • 行内代码块’print(“This is code within certain line.”);’
    • 链接
    • 无序列表1元素1
    • 无序列表1元素2
    • 无序列表2元素1
    • 无序列表2元素2
    1. 文字引用:

      纸上得来终觉浅,觉知此事要躬行,

    2. 代码块
    • 方法1:使用4个空格(代码设置有问题)
      import javax.swing.*;

    • 方法2:三个反引号
      ‘’’java
      System.out.println(“The is a code patch.”);
      System.exit();
      ‘’’


    1. 换行
      hello
      world

    2. 段首缩进
      你以为前面空几个空格就能缩进吗?

           四个半角空格缩进
         两个全角空格缩进
        不断行的空白格

    3. 数学公式(未配置latex)

    • 段落
      $$left [ – frac{hbar^2}{2 m} frac{partial^2}{partial x^2} + V right ] Psi = i hbar frac{partial}{partial t} Psi$$
    • 行内
      This is inline: $mathbf{x}boldsymbolbeta + boldsymbolvarepsilon$
    1. 插入图片
      alt text替换文本
      bangdream
    2. 插入表格
      学号 姓名 分数
      小明 75
      小红 79
      小陆 92
      左对齐 中间对齐 右对齐

    一、进入编辑的方式:

    • i(insert):在光标(cursor)前面插入 I:insert before line
    • a(append):在光标后面插入 A:append after line
    • o(open a line below) O:Open a lina above

    二、Vim为何会有这些模式:

    大专栏  vim 学习笔记>

    ###增删改查:

    1. 删除(必须熟练的点)
    • x: 删除字符,nx删除n个字符
    • d: dw //删除一个单词, dd //删除一行 ndd删除n行, dt( //删除括号内容, d$ //删除直到行尾, d0 删除直到行首
    • v: v+l or j 选中 V为行选择 +g 全选
    1. 修改
    • r(replace): 替换一个character R:不断替换后面的字符
    • c(change): 配合文本对象快速修改 +t+目标位置 删除到目标位置的值再插入 cw删除单词插入
    • s(substitute): 替换并进入插入模式 4s删除4个后替换 S:整行删除插入
    1. 查询
    • / or ? 进行前向 or 反向搜索
    • n/N 下一个/上一个
    • 使用*/#进行当前字符相关字符串匹配
    1. 替换
    • :% s/str1/str2/g 全局替换
    • :[range]s[ubstitute/[pattern]/{string}/[flags] range:10,20 or %表示全文 flags: g全局执行,c确认替换, n返回匹配次数(仅仅匹配有多少行)
    • 正则表达式查找替换 eg: % s/<quack>/jiao/g 仅替换单词quack(精确匹配单词)

    ###模式操作:

    1. 分屏:
    • vs
    • sp
    • q退出屏幕
    1. 可视化模式
    • 同上v, V, ctrl+v 批量选择
    • 加y 复制 加y 复制 p粘贴

    ###编辑技巧

    • 错误处理:ctrl+h, ctrl+w, ctrl+u
    • gi 快速切换到最后一次编辑的地方并插入
    • 修改快捷键方便手 键盘HKKB or Poker2
    • u撤销上一步。ctrl+r恢复撤销
    • 真正快速编译的技巧是放弃中文输入

    ###快速移动

    • hjkl
    • 在单词之间移动:w/W 移动到下一个word/WORD开头,e/E下一个word/WORD结尾
    • b/B移动到上一个word/WORD开头: WORD以空格分割
    • 行间快速移动:f+字符, ;下一个, ,上一个 t+字符 跳转到前一个字符 F在行尾反过来搜
    • 0移动到行首,$移动到行尾; ^移动到行首第一个非空白字符(同o+w), g_
    • ()句子间移动,{}段落间移动
    • 页面移动:gg文件开头,G文件结尾,ctrl+o快速返回, HML页面开头中间结尾, Ctrl+u,ctrl+f上下翻页,zz把屏幕放中间

    ###vim多文件编辑

    • Buffer 指的是打开的一个文件的内存缓冲区
    • ls 列出当前缓冲区, b n跳转到第n个缓冲区, :bpre :bnext :bfirst :blast b+BufferName
    • e 打开新的文件,分配新的缓冲区
    • 多窗口设置不同缓冲区进行编辑
    • ctrl+w hjkl切换窗口, ctrl+w+H/L移动窗口
    • ctrl+w+= 所有窗口大小相等 ctrl+w+_/|最大化活动窗口宽度高度
    • 标签页,使用不多 tabnew gt切换

    ###文本对象处理

    • [number][text object]
    • number次数 commond:d(elete) c(hange) y(yank) obj: w, s, P
  • 相关阅读:
    9个offer,12家公司,35场面试,从微软到谷歌,应届计算机毕业生的2012求职之路(转)
    Path Sum(参考别人,二叉树DFS)
    tcp/ip
    常见Unix指令
    Pascal's Triangle II
    Implement strStr()
    LeetCode总结
    从LLVM源码学C++(一)
    面试题:1到N中,1出现的次数
    面试题:数组划分成两个子数组,和的差值的绝对值最小
  • 原文地址:https://www.cnblogs.com/lijianming180/p/12346624.html
Copyright © 2020-2023  润新知