Vim

分类下相关文章

左手 NeoVim,右手 VSCode (MarsCode 豆包 AI)

最近在开发一个公司内部系统,大量的 crud 接口,让人抓狂。 crud 真的太枯燥了。工地搬砖尚可以强健体魄,crud 只能摧残你的意志和身体。面对感觉永远写不完的增删改查接口清单,压力山大。 但是,我发现这种字段很多的需求,最适合 ai 来辅助生成。所以,我现在的工作标配是,左屏幕 vscode 加上 marscode 插件方便自动生成代码( 🔗 豆包 MarsCode 编程助手 ),右屏幕 neovim 方便快速编辑。用不起 cursor,windsurf,没办法。🤦‍♂️ 例如一大堆查询参数,都是无脑复制粘贴,但是你也不能马虎,一旦参数名没写对,就是一个 bug。而 ai 则可以根据 ...

阅读全文...

VS Code 上体验字节的豆包 MarsCode AI 编程助手

今天想找一个腾讯元宝的替代品,发现豆包 AI 不错,而且有翻译功能的快捷方式,比其他类 ChatGPT 客户端人性化太多了。 我觉得豆包这样的交互(包含了大量的特定场景的快捷方式,及特殊交互方式), 才是人机对话的合理方式。而不是只保留一个输入框,完全靠手动敲文字来交互。 在使用豆包时,无意发现右上角有个 🔗 豆包编程助手 的入口。大象 正在“豆包MarsCode AI 红人创造营”中借助 AI 工具创作精彩内容,请帮TA投上一票吧! 打开看了一下,这不就是 solos 大神推荐的 cursor IDE 的免费平替版本么? 哈哈,这下我等草根程序员也可以体验一下 TAB 写代码的爽快感啦。 安 ...

阅读全文...

调整 VS Code 菜单中的字体大小

不知道是不是年纪大了开始老花眼的缘故,我感觉 VS Code 界面上的字体有点小,看不清楚。。。 调整 VS Code Editor 中字体大小,我倒是可以通过设置中搜索 font size 找到,但是这个配置只对编辑区域生效,并不会影响到菜单等的字体大小。 解决办法 在 setting 中搜索 zoom: 找到 Window:zoom level 将默认值 0 修改为 1.1, 1.2 之类的大于 1 的值就能看到效果了。 感觉舒服了许多。 通用快捷键 其实用 Ctrl + 加号就能实现同样的效果,更浏览器放大字体是同样的快捷键。 注意:通过这个方式调整的字体大小,同样会影响到编辑区域的字 ...

阅读全文...

NeoVim ALE 插件安装并配置 Rust Analyzer

在 NeoVim 中浏览 Rust Loco 项目代码时,想查看默认的 route 配置有哪些。 例如,src/app.rs 中,定义了: fn routes(_ctx: &AppContext) -> AppRoutes { AppRoutes::with_default_routes() .add_route(controllers::notes::routes()) .add_route(controllers::auth::routes()) .add_route(controllers::user::routes( ...

阅读全文...

VIM 中进行英文单词拼写检查

最近写代码时,发现好多的单词拼写错误,既有自己拼写错误的,也有三方 API 中的字段拼写错误,更有产品文档中的,及 UI 设计稿中的。 有些一眼就能辨识出来,有些很难察觉,特别是比较长的单词。 例如: registration 拼写成了 registartion。 浏览器比较好,非常智能,比如正在使用的 Edge,就自动标注了第二个单词有拼写错误。 但是在 VIM 中,就很难发现,一旦上线,就是非常尴尬的 bug。 于是查了一下,发现 VIM 居然自带了单词拼写检查功能。 开启 :set spell 关闭 set nospell 效果 VIM 会在拼写错误的单词下面加上下划线。 但是,没 ...

阅读全文...

VIM 在 tabnew 中打开目前鼠标所在行文本所指向的文件

例如,在 VIM 中打开某个文件,其中一行是文件路径,如: /etc/timezone 如果想在 VIM / NeoVIM 中,通过快捷键,在 tabnew 中打开目前鼠标所在行文本所指向的文件。 可以使用 Ctrl+w gf tips: ctrl + w 看似难记,实际跟分屏切换命令的前缀是一样的。 如果不想在 tabnew 中打开,而是当前 window,可以直接使用 gf 然后就能使用 buffer 相关的命令,在原文件与目标文件间切换。 使用场景 比如在代码注释/文档中,注明了相关联的代码文件,就可以直接写上目标文件的地址。 然后通过 gf 快捷键快速打开。 buffer 相关命 ...

阅读全文...

VS Code Snippet 插件 HyperSnips,完美替代 VIM UltiSnips

完了,我发现一个插件,可以完美让我从 vim 切换到 vs code ... UltiSnips 是我唯一留恋的一个 VIM 插件,但是当我发现 VS Code 的 HyperSnips 插件之后,我感觉完全使用 VS Code 作为日常开发环境了。 HyperSnips HyperSnips is a snippet engine for vscode heavily inspired by vim's UltiSnips. VS Code HyperSnips 相对 VIM UltiSnips 的优势 用 JS 来开发扩展功能,挺方便,省去了安装配置 Python 的麻烦 最近 WS ...

阅读全文...

使用 ALE 替换 vim-go 插件

我目前 NeoVim 里安装了两个 go 相关的插件: vim-go ALE (Asynchronous Lint Engine) 今天在保存代码修改时,一如既往的卡顿了10几秒,这种情况在1分钟之后就会消失。 可是,我安装的 ALE 号称是异步的啊。。。要不我安装他干啥。。。 我突然感觉可能问题出在了 vim-go 上,除了 gd 快速查看定义,似乎我也没有用过其他功能。 而且我担心 vim-go 和 ALE 都带了 gofmt,会不会保存时调用两次,造成冲突。 于是,干脆把 vim-go 卸载了。 卸载之后果然如预期的一般丝滑。。。再也不会卡顿了。 修改配置 将记不住的 ALEG ...

阅读全文...

VIM 中编辑 Javascript 保存时使用 ESLint 进行语法检查

为何迫切需要语法检查 昨天再次因为一个语法错误,交流浪费了不少时间。本以为是小改动,改完没看就发给别人了,没想到还是出错了。 对于需要编译的语言还好,编译时可以过滤掉语法错误。 但是对于 js 这种动态语言,特别是单文件,没有打包需求的情况下。 极易写出有语法错误的代码。之前是使用 gulp 插件实现的 js 语法检查。 对于写 tampermonkey 这种单文件的小功能,我只能在 VIM 里进行配置了。 全局安装 ESLint sudo npm install eslint --global (不推荐) VIM Syntastic 配置 Syntastic 是 VIM 的一个语法检查插件 ...

阅读全文...

VIM Markdown 中打开当前光标所在的文件链接

由于我把记录每天 TODO 事项放在了 markdown 文件中,当需要记录具体某个事项的细节时,还是新开一个文档比较清晰,所以需要能在 VIM 中快速打开,或者新建文件。 vim-markdown 插件 原来 vim-markdown 组件是支持这个功能的: https://github.com/preservim/vim-markdown 安装: Plugin 'godlygeek/tabular' Plugin 'preservim/vim-markdown' NeoVim 中使用也完全没有问题。 ge 命令 要打开光标所在的文件链接,只需要在 VIM 中依次按下: ge 此时就 ...

阅读全文...

Vim 编辑 markdown 侧边栏显示 toc 二级标题目录

最近在写的 markdown 文档越来越长,文档一长就显得杂乱无章。 如果能像 word 一样,在侧边栏显示各级标题,结构能清晰不少。 而且,我也只用二级标题,应该更清楚才对。 vista.vim 虽然 vista.vim 主要用于代码文件的函数、变量、类列表展示。 但是其内置了 markdown 的子标题的展示功能。看了一下截图效果非常好,于是决定试一下。 https://github.com/liuchengxu/vista.vim 安装 vista.vim 如果用的 vundle, vimrc 中配置; 用 Neovim 修改 init.vim Plugin 'liuchengxu/vi ...

阅读全文...

Neovim 配置 UltiSnips

安装完成 Neovim 之后,我首先要保证 UltiSnips 插件能够正常使用。 其他插件可以后面慢慢改,但是如果不能使用 snippet 我基本就失去了写代码的能力。 最终效果: Vim 配置文件迁移到 Neovim 基本原则 If you wish to migrate your existing Vim configuration to NeoVim, simply copy your ~/.vimrc to ~/.config/nvim/init.vim. UltiSnips 自动提示框不见了 打开 Neovim 之后,发现基础的 UltiSnips snippet 是可以用的 ...

阅读全文...

Ubuntu 安装 Neovim

GitHub Copilot 支持了 Neovim,但是没有支持 vim。所以,我决定试一把 Neovim。折腾了一天,也仅仅是安装完成,而要兼容之前的 Vim 配置,还遥遥无期。。。 进入正题,在 Ubuntu 18.04 上,我尝试过 3 种方式安装 Neovim 尝试过的安装方式 失败:直接下载编译好的 nvim-linux64.tar.gz。但是运行后,会报错找不到 lua 失败:源码编译安装。make 时会大量从 github 下载,网络问题会超时失败 成功:apt install。唯一成功的方式 apt install Neovim 参考 https://github.com/ ...

阅读全文...

VIM 中执行 GoInstallBinaries 安装依赖失败

在 VIM 中安装了 vim-go 插件,但是在为其安装依赖时,执行 :GoInstallBinaries 失败,报错信息: vim-go: errcheck not found. Installing github.com/kisielk/errcheck to folder /home/zhongwei/go/bin/ Error downloading github.com/kisielk/errcheck: github.com/kisielk/errcheck (download)^@package golang.org/x/tools/go/analysis: unrecogn ...

阅读全文...

VS Code 还是比 Vim 更适合写 Antd Pro 项目

不得不承认,VS Code 的发展真是快,很多功能已经超出了我的预期。 虽然我还是将 Vim 作为主力开发工具,但是在写 JS 项目时,还是想尝试一下 VS Code,跟上时代的脚步。 VS Code 写 Antd Pro 的一些优势 VS Code 的 OUTLINE 可以直观的看到当前文件中的方法大纲,VIM 就得自己配置 VS Code 可以显示哪些变量没有使用。Vim 虽然也能支持,但是我实在不想在 Ubuntu 中自己折腾 nodejs 环境。 可以快速的定位到引用的其他文件变量的定义 VS Code 现在支持在 Remote Explorer 中查看、编辑 WSL 中的项目代码文 ...

阅读全文...