发布于 2026-01-06 0 阅读
0

Vim 作为 Flutter IDE

Vim 作为 Flutter IDE

如果你是一位热爱 Vim 并用它来代替其他 IDE 的 Flutter 开发者,那么这篇文章正是为你准备的。接下来,我们将介绍如何配置 Vim 以支持 Dart 编程语言和 Flutter 框架。

假设您熟悉 vim 并知道如何安装插件。

支持 Dart 文件

为了支持 Dart 文件类型、语法高亮和缩进,有一个名为 `dart-syntax-highlight` 的 Vim 插件dart-vim-plugin。如果您使用 ` Vundlevm` 管理 Vim 插件,只需将其添加到您的 ` .vim.config` 文件中即可.vimrc

Plugin 'dart-lang/dart-vim-plugin'
Enter fullscreen mode Exit fullscreen mode

添加dart-vim-plugin到 vim 后,它支持 Dart 语法并高亮显示你的代码。

vim 中的 Dart 语法高亮

:DartFmt此外,您还可以分别使用 `format`和 `analytics`命令格式化和分析您的代码:DartAnalyzer

自动完成

有两个插件可以为 vim 添加 Dart 自动补全功能:

  1. dart-lsc-vim
  2. coc.nvim

Dart LSC VIM

Dart SDK 自带一个分析服务器,可以运行在语言服务器协议 (LSP) 模式dart-lsc-vim下。该插件可以帮助你将 Dart 分析服务器注册为语言服务器vim-lsc。同样,使用 Vundle 可以轻松安装两者vim-lsc-dartvim-lsc如下所示:

Plugin 'natebosch/vim-lsc'
Plugin 'natebosch/vim-lsc-dart'
Enter fullscreen mode Exit fullscreen mode

如果你喜欢,vim-plug那么你可以使用:

Plug 'natebosch/vim-lsc'
Plug 'natebosch/vim-lsc-dart'
Enter fullscreen mode Exit fullscreen mode

通过添加g:lsc_auto_maptrue,您将应用所有默认的按键映射vim-lsc

let g:lsc_auto_map = v:true
Enter fullscreen mode Exit fullscreen mode

默认的按键映射vim-lsc如下:

  • 'GoToDefinition': <C-]>,
  • 'GoToDefinitionSplit': [ <C-W>], <C-W><C-]>],
  • '查找引用':gr
  • 'NextReference' <C-n>:,
  • 'PreviousReference': <C-p>,
  • '查找实现':gI
  • '查找代码操作':ga
  • '重命名':gR
  • 'DocumentSymbol': go,
  • 'WorkspaceSymbol' gS:,
  • 'SignatureHelp' gm:,

通过 vim-lsc-dart 实现 Dart 自动完成

CoC.nvim

CoC.nvimvim (>= 8.1)是一个用于和 的智能感知引擎neovim (>=0.3.1)。它是一个代码补全框架和语言服务客户端,支持 VSCode 的扩展功能。如果您已安装,
可以CoC.nvim通过在 中添加以下代码行来安装它.vimrcVundle

Plugin 'neoclide/coc.nvim'
Enter fullscreen mode Exit fullscreen mode

通过 Vundle安装后coc.nvim,您应该将分支更改为releasein ~/.vim/bundle/coc.nvim

cd ~/.vim/bundle/coc.nvim
git checkout release
Enter fullscreen mode Exit fullscreen mode

如果您使用vim-plug,您可以将以下行添加到.vimrc

Plug 'neoclide/coc.nvim', {'branch': 'release'}
Enter fullscreen mode Exit fullscreen mode

在 Vim 中添加coc.vim插件以启用 Flutter 支持后,您应该coc-flutter通过在 Vim 中运行以下命令来安装它。

:CocInstall coc-flutter
Enter fullscreen mode Exit fullscreen mode

通过 coc.nvim 实现 Dart 自动补全

go-to definition您可以添加配置项,例如find references,等等。更多配置信息,go-to implementation请查看CoC.nvim's README文件。

nmap <silent> gd <Plug>(coc-definition)
nmap <silent> gy <Plug>(coc-type-definition)
nmap <silent> gi <Plug>(coc-implementation)
nmap <silent> gr <Plug>(coc-references)
Enter fullscreen mode Exit fullscreen mode

希望这篇教程能帮助你轻松配置 vim,将其用作 Flutter IDE。

我们非常感谢您的反馈。

文章来源:https://dev.to/tavanarad/vim-as-a-flutter-ide-4p16