参考课程:https://www.imooc.com/learn/1129
第一章 初识
预备 markdown知识:
- 列表
- 加粗
- 斜体
删除线- 行内代码块’print(“This is code within certain line.”);’
- 超链接
- 无序列表1元素1
- 无序列表1元素2
- 无序列表2元素1
- 无序列表2元素2
- 文字引用:
纸上得来终觉浅,觉知此事要躬行,
- 代码块
方法1:使用4个空格(代码设置有问题)
import javax.swing.*;方法2:三个反引号
‘’’java
System.out.println(“The is a code patch.”);
System.exit();
‘’’
换行
hello
world段首缩进
你以为前面空几个空格就能缩进吗?
四个半角空格缩进
两个全角空格缩进
不断行的空白格数学公式(未配置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$
- 插入图片
- 插入表格
学号 姓名 分数 小明 男 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 学习笔记>###增删改查:
- 删除(必须熟练的点)
- x: 删除字符,nx删除n个字符
- d: dw //删除一个单词, dd //删除一行 ndd删除n行, dt( //删除括号内容, d$ //删除直到行尾, d0 删除直到行首
- v: v+l or j 选中 V为行选择 +g 全选
- 修改
- r(replace): 替换一个character R:不断替换后面的字符
- c(change): 配合文本对象快速修改 +t+目标位置 删除到目标位置的值再插入 cw删除单词插入
- s(substitute): 替换并进入插入模式 4s删除4个后替换 S:整行删除插入
- 查询
- / or ? 进行前向 or 反向搜索
- n/N 下一个/上一个
- 使用*/#进行当前字符相关字符串匹配
- 替换
- :% s/str1/str2/g 全局替换
- :[range]s[ubstitute/[pattern]/{string}/[flags] range:10,20 or %表示全文 flags: g全局执行,c确认替换, n返回匹配次数(仅仅匹配有多少行)
- 正则表达式查找替换 eg: % s/<quack>/jiao/g 仅替换单词quack(精确匹配单词)
###模式操作:
- 分屏:
- vs
- sp
- q退出屏幕
- 可视化模式
- 同上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