[toc]
纵使荆棘布满,我何曾退却一步
区块链技术(也称之为分布式账本技术),是一种互联网数据库技术,其特点是去中心化,公开透明,让每一个人均可参与的数据库记录
❤️💕💕关于区块链技术,可以关注我,共同学习更多的区块链技术。个人博客http://nsddd.top
更新时间为
2022 - 09 - 12
-
F:高亮字母
-
E:切换标签左
-
R:切换标签右
o:在当前标签页打开链接、书签、历史记录。如下图所示,按下o输入关键字后可以看到有符合条件的历史记录、书签等结果,可以通过上下箭头选择项目后按下Enter键即可在当前标签页打开所选的项目。
O(Shift+o):在新标签页打开链接、书签、历史记录等。和o一样,只有一点不同,o在当前标签页打开选择的项目,而O在新标签页打开。
普通模式下按下/就可以进入查找状态,输入关键字后定位到第一个匹配项而且也能够看到匹配项的个数。
-
vim中使用/ 或者? 进行向前或者向后搜索
-
n是跳转到下一个 或者+
-
N是跳转到上一个 -
vim的搜索与替换
:[range]s[ubstitute]/{pattern}/{string}/{flags}
range:表示范围 --%表示全部
pattern表示要替换的模式
string是替换后的文本
flags表示常用标志
g:全局
c:确定
n:匹配次数
例如:
:% s/return/return 0/g
:2,18 s/retuen/return 0/g 选择2到18行
备注:可以支持正则表达式
先使用ls列出当前的缓存区,然后就可以用 :b n跳转到第n个缓存区
CTRL + w s水平分割
CTRL + w v垂直分割
或者:sp或者:vs
vim -o one.txt two.txt 水平多个窗口打开多个文件
vim -O one.txt two.txt 垂直多个窗口打开多个文件
:all 为列表中的文件各开一个窗口(可vertical)
:split 上下分割当前窗口,在上面打开新窗口
:vsplit 左右分割窗体,在左边打开新窗口
:split two.c 在新窗口编辑文件
:3split alpha.c 设定新窗口的高度
:new 创建新窗口创建新文件在当前窗口上面
:vnew 创建新窗口创建新文件在当前窗口左面
:vertical new 等同于vnew
:vertical 加在任何分割窗口的命令前面,使其垂直分割
CTRL-W w 窗口切换
CTRL-W CTRL-W 和CTRL+W w一样
:close 关闭窗口
:only 关闭其他所有窗口
CTRL-W + 增大窗口,可以用计数器
CTRL-W - 减小窗口,可以用计数器
15CTRL-W _ 指定当前窗口高度为15
CTRL-W _ 最大化当前窗口
CTRL-W h move to the window on the left
CTRL-W j move to the window below
CTRL-W k move to the window above
CTRL-W l move to the window on the right
CTRL-W t move to the TOP window
CTRL-W b move to the BOTTOM window
CTRL-W H move window to the far left
CTRL-W J move window to the bottom
CTRL-W K move window to the top
CTRL-W L move window to the far right
:qall 退出所有窗口
:wall 存储所有文件
:wqall 存储并退出所有文件
:qall! 放弃存储退出所有文件
vim已经打开,再打开新的文件
:vs 文件名 --横屏打开新的文件
vim的text object 文本对象
例如删除单词dw
y:yank复制
p:put粘贴
vim的宏我觉得是一个特别有用的工具,如果用的好的话,宏太聪明了
宏可以看作一系列操作的集合 vim使用q来录制,同时使用q来结束录制
-q后面需要加入寄存器名称 --@后面需要加寄存器名称 放在寄存器中 使用q 来保存 使用@ 来回放 使用I 到某一行开头,插入 使用A 到结尾,插入
shift -v 行的选择,用j下移 这时候在命令行模式用normal @a
在vim 中,使用CTRL + n ,CTRL + p补全单词 使用ctrl + x ,ctrl + f补全文件名 使用ctrl + x,ctrl + o 补全代码,需要开启文件类型,使用vim 插件
其实第一反应是利用正则表达式来操作,但是让用正则表达式以外的操作方式,查了不少方法,最终发现了VIM的宏,觉得挺有意思的,特地记录一下
宏是用来重复执行一组操作的
操作方式为:宏是用来重复执行一组操作的
-
在普通模式下,按q 开启宏操作方式
-
随后输入一个宏名作为寄存器,为了方便,可以输入一个小写字母,但不要用大写字母哟
-
输入要批量操作的内容,VIM会将此时所有的操作记录在寄存器中
-
操作完成后,再次在普通模式下按q 结束宏记录
-
之后可以调用宏操作,调用方式有两种,一种是在普通模式下按@宏名,另一种方式是在命令模式下输入normal @宏名
先是在普通模式下依次按下q和a,其中a是我们的宏名
完成这一步可以看到在VIM窗口的左下角出现了记录中recording
字样,表明随后的操作都将记录在VIM的宏中
随后,我们按下i
进入输入模式,并输入
number <回车>
接下来用两种方式调用宏
如果想知道宏名中有哪些操作,可以在命令模式下输入
:register @h
需要注意的是:宏名如果是大写,大写字母的作用是在现有宏中添加操作的
对一个现有的宏,如果我们想修改里面的操作,如果我们按照
q
a
<一系列操作>
q
这个方式操作只会覆盖掉原有的宏,并不会在原有宏的基础上增加操作
有时我们会用到变量,而宏中也可以设定变量,操作方式如下
在进入宏记录后,在命令行输入
:let i = 1 <回车>
按 i 进入输入模式
按Ctrl r = 三个按键
在输入变量名 i 即可插入变量
我们按照这个步骤试一下,过程如下
q
b
:let i = 1 <回车>
进入输入模式,并输入Ctrl r = i <回车>
退出输入模式,并结束宏记录
普通模式下按下 @b
可以看到在宏b
中设置的变量在宏a
中依旧可以调用
如果我们对变量 i
不断进行累加,可以在宏a
中加入let i = i + 1
此时,我们也可以在其他宏中更改变量i
,比如我们新建一个宏,如下:
q
c
在命令行输入
:let i = 10 <回车>
q
普通模式下输入 @a
下面就可以改变i
q
m
命令行输入 :let i = i + 50 <回车>
q
普通模式下按 @a
/* 在宏中设置变量 */
q
a
:let i = 1 <回车>
:let j = 2 <回车>
q
/* 在宏中键入内容 */
q
a
i
number 组合键 i + number 1 = number 组合键 j <回车>
ESC
:let i = i + 1 <回车>
:let j = j + 1 <回车>
q
/* 打印 */
普通模式下输入 20@a
-
✴️版权声明 © :本书所有内容遵循CC-BY-SA 3.0协议(署名-相同方式共享)©