Appearance
vim 使用笔记
使用reg 寄存器粘贴数据
输入命令
:reg
c
// 获得列表
0 a
1 b
2 c
3 dd
// ... 略
使用寄存器的数据
normal模式下输入
"3p
c
// 结果
dd
复制的存入寄存器
"1 接下来使用y复制的内容会存入寄存器当中 同理 "3 会存入数字寄存器3当中
vim 替换字符aa
"删除双引号中的字,复制双引号里面的词"
删除
ci"
复制
yi"
递增数字
光标到数字上后按ctrl-a,在命令模式下 ctrl-x是递减
vim 宏录制
1 启动录制
q
2 提示会让你选择一个宏的按钮字母 e
3 开始按下重复的动作
4 结束
q
执行重复动作10次数(@e
代表执行一次)
10@e
光标跳转行中
gm
替换文本字符-全局
将所有a替换成b
:%s/a/b/ge
za 折叠当前代码块
跳转函数体代码块
{{ 上
}} 下
shift + * 跳转到下一个单词
VIM 如何快速选择html块
移到
<content>
,然后 vat
选中前一次可视化模式时选择的文本
gv
标记
m ——创建标记
' ——移动到标记的文本行首
` ——移动到标记的光标位置
:marks ——列示所有标记
:delmarks ——删除指定标记
:delmarks! ——删除所有标记
vim 和 vscode 搭配快速进关闭资源管理器(目录)
- 光标在文件内的时候 方案1: 光标会落在目录上
ctrl+w h 快速到右侧目录 此时光标会落在左侧
ctrl+b 此时可以关闭右侧列表
方案2: 按一下alt(按下alt就是选择软件本身vscode) 然后ctrl +b 也可以打开和关闭列表
如果光标软件上(alt)而不是编辑器文件中就可以使用 vscode 快捷键 ctrl+shft+e
计算
js
0 1
0 2
0 3
0 4
//ctrl+v j 块选中后 ctrl+r g ctrl+a 就会变成 有序排列,没有g的话就统一加1
vim高亮查找与取消
1: shift + "*" 向下查找并高亮显示
2: shift + "#" 向上查找并高亮显示
命令下输入: noh,取消高亮显示
gg=G`` 快速格式化文本返回编辑位置
快速给折叠成一行
ctrl+j
光标置于单词的任意位置,输入一个gb,就选中一相同的单词(想选中4个相同的单词就连续输入gb4次
gb
gd
跳转到定义方法
gh
查看当前方法详细说明类似(鼠标悬浮在当前文字上)
vai
如果在html里面或者函数里面,使用后当前光标的同级元素将会被选中
easymotion 快速跳转某个字符 (vscode 配置当前)
使用方法
空格 空格 f
json
{"before":["<space>","<space>","f"],"after":["<leader>","<leader>","s"]}
vscode 插件实现 clever-f + easymotion ,增强f功能(使用了这个配置,就不用上面的了)
json
{
"vim.normalModeKeyBindingsNonRecursive": [ { "before": [ "f" ], "after": [ "<leader>", "<leader>", "f" ] }, { "before": [ "F" ], "after": [ "<leader>", "<leader>", "F" ] }, { "before": [ "t" ], "after": [ "<leader>", "<leader>", "t" ] }, { "before": [ "T" ], "after": [ "<leader>", "<leader>", "T" ] } ],
"vim.visualModeKeyBindingsNonRecursive": [ { "before": [ "f" ], "after": [ "<leader>", "<leader>", "f" ] }, { "before": [ "F" ], "after": [ "<leader>", "<leader>", "F" ] }, { "before": [ "t" ], "after": [ "<leader>", "<leader>", "t" ] }, { "before": [ "T" ], "after": [ "<leader>", "<leader>", "T" ] } ]
}
返回上一次编辑的位置
- 只针对当前文件有效 g; 原理是
:changes
,目前vscode vim并没有支持当前命令changes命令
g;
- 打开刚刚编辑过的文件
:browse 空格后 按下tab 就可以显示最近修改的文件了
:browse filesname
- :bPreviou和:bNext
下一个缓冲区
:bn
上一个缓冲区
:bp
跳转当前文件夹命令的其他文件
不知道文件名字就按tab来展示
:e filename
直接搜索全文 并且跳转
ctrl+t
tabn 和tabp 跳转标签
:tabnew [++opt选项] [+cmd] 文件 建立对指定文件新的tab :tabp 前一个 :tabn 后一个
分屏
vsp
折叠
zM 折叠当前根节点全部代码块
zc
za
这两个命令很像,折叠当前作用域下的代码块
zO全部取消
理解 o是open。 c是close。
zf 折叠当前选中的代码块
其他折叠
shell
zfi{ # 折叠光标当前所在的大括号{里面的文本
zfa{ # 折叠光标当前所在的大括号{里面的文本和大括号本身
zfG # 从当前光标所在行开始,折叠到文件尾
zf10j # 从当前光标所在行开始,继续向下折叠10行
zfip # 折叠内部段落