vscode? 爬吧
自言自语
以前vscode还很轻量,但是随着版本的更新,逐渐也开始变得臃肿了起来,打开个自己的小项目居然也能吃我2g内存??
我之所以不用jb全家桶的编辑器就是因为太臃肿了,我的内存吃不消,才用的vscode,结果你个浓眉大眼的也开始这么吃内存,那我只能拥向编辑器之神!vim!
vscode给我爬!
此项目已重构至这个地址 -> https://github.com/New-arkssac/MyVimrc
这是一位咸鱼的VIMRC
这是自用的NEOVIM的配置, 有一些功能我自己实现的(maybe have some bug?)
使用这些配置文件的话,默认你已经对vim的操作有一定的了解~ 以下把MYVIMRC统称为此配置
成品展示
安装前的环境配置
如果你想使用这些配置的话你需要安装一些依赖环境呢~
- 安装Python3
- 安装Nerd-Font此配置中使用里大量的Nerd-Font字体
Icon
如果你能忍受乱码的话这个选项不是必须的 - 安装Nodejs
- 此配置中集成了
Go, C, Python3, Lua
的编程环境所以你需要使用的话你需要请安装他们 - 安装
Curl
上传图床功能是使用的此软件来实现的 - 如果你是
linux
用户且使用的是x11
标准图形桌面,你得需要额外安装xclip
此软件是Neovim
与x11
标准图形桌面的剪切板进行交互的,windows则不需要,因为windows有强大的powershell
- 最后你还得安装一个Rg 功能请行查看
配置特性
ok看到这里已经默认你已经完成以上的配置了
现在可以开始介绍啦~
基础快捷键
快捷键 | 模式 | 行为 |
---|---|---|
Space |
NORMAL | LEADER键替换成了空格 |
; |
NORMAL | ; 被映射成了 : |
s |
NORMAL | nop 被映射成了空 |
sr |
NORMAL | 重新加载$VIMRC文件 |
S |
NORMAL | 保存当前文件 |
Q |
NORMAL | 关闭当前窗口 |
Alt-rk |
NORMAL | 重新加载当前文件 |
k |
NORMAL | 无论在哪直接编辑$VIMRC文件 |
窗口快捷键
快捷键 | 模式 | 行为 |
---|---|---|
sl |
NORMAL | 向右分屏 |
sh |
NORMAL | 向左分屏 |
sk |
NORMAL | 向上分屏 |
sj |
NORMAL | 向下分屏 |
st |
NORMAL | 创建一个新标签页 |
su |
NORMAL | 向左移一个标签页 |
si |
NORMAL | 向右移一个标签页 |
q |
NORMAL | 关闭所有窗口 |
l |
NORMAL | 向右移动一个窗口 |
h |
NORMAL | 向左移动一个窗口 |
k |
NORMAL | 向上移动一个窗口 |
j |
NORMAL | 向下移动一个窗口 |
Up |
NORMAL | 上方窗口增加5行长度 |
Down |
NORMAL | 下方窗口增加5行长度 |
Left |
NORMAL | 左方窗口增加5字符宽度 |
Right |
NORMAL | 右方窗口增加5字符宽度 |
实用快捷键
快捷键 | 模式 | 行为 |
---|---|---|
sp |
NORMAL | 开启拼写检查 |
uu |
NORMAL | 开启修改历史 |
> |
VISUAL | 选中的行向右缩进 |
< |
VISUAL | 选中的行向左缩进 |
p |
VISUAL | 粘贴寄存器内容 |
Ctrl-c |
VISUAL | 复制选中的字符到系统剪切板 |
Ctrl-p |
NORMAL | 粘贴系统剪切板里的字符 |
Ctrl-p |
INSERT | 粘贴系统剪切板里的字符 |
插件
插件管理器
主题
- lualine
lualine十分强大不仅可以设置statusline
还可以设置tabline
以及winbar
不过为仅仅使用了
不过这里的配置仅仅设置了statusline
和tabline
想要设置的可以自行官方文档修改schema.lua
在此配置中statusline mod
块还会根据系统切换Icon哦 - nightfox
主题配色 - nvim-navic
在statusline
里显示代码上下文信息
代码补全
cmp快捷键
快捷 | 行为 |
---|---|
Up |
光标向上移动 |
Down |
光标向下移动 |
Enter |
选择光标选中的提示 |
Tab |
光标向下移动 |
LSP快捷键
快捷 | 行为 |
---|---|
gd |
转跳到光标下关键词的定义 |
gr |
展开当前管标下关键词的引用出 |
gk |
显示光标下关键词的签名 |
= |
转跳到下一个错误处 |
- |
转跳到上一个错误处 |
sdn |
重命名光标下的关键词 |
Ctrl-l |
INSERT模式下在函数括号内显示函数签名 |
代码高亮
代码块
- 代码块引擎 LuaSnip
- 代码块来源 friendly-snippets
文件树
快捷键 | 行为 |
---|---|
u |
返回上一层目录 |
s |
上下分屏打开文件 |
v |
左右分屏打开文件 |
t |
新建标签页打开文件 |
S |
用系统默认程序打开文件 |
/ |
搜索文件 |
更多操作请看插件官方文档
一个很酷的通知系统
一个很酷的默认启动屏
快捷键 | 行为 |
---|---|
e |
编辑一个新的文件 |
g |
当前目录下初始化一个Golang项目 |
c |
当前目录下初始化一个Clang项目 |
p |
当前目录下初始化一个Python项目 |
r |
查看之前编辑过的文件 |
s |
编辑$MYVIMRC |
q |
退出 |
一些很酷的图标Icon
Git
快捷键 | 行为 |
---|---|
Space-ui |
提交当前代码块 |
Space-uh |
撤回当前提交的代码块 |
Space-ua |
浮窗显示当前行的blame |
Space-tb |
虚拟字体当前行的blame |
Space-ud |
显示版本差异 |
代码诊断
基于LSP的代码诊断,自动转调到错误处
快捷键 | 行为 |
---|---|
Space-o |
开启代码诊断窗口 |
模糊查询
快捷键 | 行为 |
---|---|
n |
查询已开启的缓冲区 |
; |
查询工作目录下文件内容 |
F |
查询工作目录下文件 |
异步执行编译项目
快捷键 | 行为 |
---|---|
so |
在当前目录下创建.tasks文件 |
i |
运行当前文件的可执行文件 |
b |
编译当前文件 |
n |
编译当前项目 |
DEBUG
快捷键 | 行为 |
---|---|
Ctrl-q |
退出DEBUG |
F5 |
开始DEBUG |
F4 |
使用当前配置重新DEBUG |
F9 |
打断点 |
Alt-l |
DEBUG步进一 |
Alt-i |
手动输入监听参数 |
Alt-' |
开启栈堆 |
编辑历史
快捷键 | 行为 |
---|---|
Space-uu |
展开编辑历史 |
缓冲区导航
快捷键 | 行为 |
---|---|
Space-m |
展开关键词列表 |
翻译
快捷键 | 行为 |
---|---|
Space-t |
翻译光标下的单词 |
自己写的功能
初始化项目
快捷键 | 模式 | 行为 |
---|---|---|
s\ |
NORMAL | 初始化项目 |
目前仅支持初始化 go, c, python
三个项目
如果想添加其他额外的项目请自行修改project.lua
以及alpha.lua
使用 alpha
初始化
快捷键初始化
注释
快捷键 | 模式 | 行为 |
---|---|---|
Ctrl-/ |
NORMAL | 注释当前行 |
V-Ctrl-/ |
VISUAL | 注释选中的行 |
仅能使用在 go、c、py、lua、vim
中
如果想要添加注释自己想要的语言请自行修改comment.lua 文件
粘贴剪切板图片
快捷键 | 模式 | 行为 |
---|---|---|
sp |
NORMAL | 粘贴剪切板里的截图 |
sP |
NORMAL | 将剪切板里的图片上传到图床并粘贴 |
sy |
NORMAL | 展开已经粘贴过的图片的剪切板 |
,p |
INSERT | 粘贴剪切板里的截图 |
,P |
INSERT | 将剪切板里的图片上传到图床并粘贴 |
,y |
NORMAL | 展开已经粘贴过的图片的剪切板 |
此功能仅能在 windows、wsl、x11linux
下使用,x11标准的linux需要安装 xclip
上传功能是使用的 curl
所以还得有 curl
的依赖
所有操作均会在当前目录下创建一个 img
目录,上传和粘贴的图片均会在里面
目前并不打算支持其他系统,如果要支持其他系统的话请自行修改clipboard.lua
Markdown
快捷键 | 模式 | 行为 |
---|---|---|
,b |
INSERT | 加粗 字体 |
,m |
INSERT | |
,i |
INSERT | 斜体 字体 |
,x |
INSERT | 行内代码块 |
,c |
INSERT | 多行代码块 |
,h |
INSERT | - [ ] 清单 |
,j |
INSERT | * [ ] 清单 |
,a |
INSERT | 图片 |
,1 |
INSERT | # H1 |
,2 |
INSERT | ## H2 |
,3 |
INSERT | ### H3 |
,4 |
INSERT | #### H4 |
,5 |
INSERT | ##### H5 |
,l |
INSERT | 分隔符 |
,f
去往下一个占位符 <++>
结语
vim所吃的内存
vscode所吃内存
完美拉开差距
-
vim
牛逼,居然给vim做出了vscode的功能。
太强了