适用于 Fuchsia 开发的 Vim 工具

功能

fuchsia.vim 脚本会设置 Vim 以执行 以下:

  • 设置路径,以便 :findgf 知道如何查找文件。
  • 启用 FIDL 语法突出显示(使用 /tools/fidl/editors/vim/)。
  • 集成基本构建系统,以便 :make 构建并填充 QuickFix 窗口。
  • 配置 YouCompleteMe (YCM) 提供错误检查、代码补全和源代码导航 紫红树。

安装

具体步骤如下:

  1. 更新登录脚本
  2. 运行 fx set 命令
  3. 更新 Vim 启动文件
  4. 重启 Vim 以配置 YouCompleteMe
  5. 构建编译数据库

更新登录脚本

将以下代码行添加到启动脚本(通常为 ~/.bashrc)中:

export FUCHSIA_DIR=<your_fuchsia_source_directory>

运行 fx set 命令

此命令采用 fx set [PRODUCT].[BOARD] 格式。例如:

fx set core.x64

更新 Vim 启动文件

如果您的 ~/.vimrc 文件中存在以下行,请将其移除:

filetype plugin indent on

然后,将以下几行代码添加到您的 ~/.vimrc 中:

if $FUCHSIA_DIR != ""
  source $FUCHSIA_DIR/scripts/vim/fuchsia.vim
endif
filetype plugin indent on

重启 Vim 以配置 YouCompleteMe

要配置 YouCompleteMe (YCM),您需要 fuchsia.vim 文件。

重启 Vim 以运行 source $FUCHSIA_DIR/scripts/vim/fuchsia.vim (请参阅~/.vimrc 更新 Vim 启动文件)。

如需验证您的 YCM 能否正常运行,请将光标放在 .cc.h 文件,然后按 Ctrl+] 以导航到 标识符。

自动设置格式

Google 的 vim-codefmt 可以自动设置格式 保存代码。可使用软件包管理器进行安装,例如 Vundlevim-plug

提供用于设置格式和语法突出显示 GN 文件的插件 单独。通过 以下示例 .vimrc 演示了如何开启 GN 自动格式化功能 :

call plug#begin('~/.vim/plugged')
Plug 'google/vim-maktaba'
Plug 'google/vim-glaive'
Plug 'google/vim-codefmt'
Plug 'https://gn.googlesource.com/gn', { 'rtp': 'misc/vim' }
call plug#end()
call glaive#Install()

" Set gn path to the Fuchsia prebuilt.
let g:gn_path = systemlist('source ' . g:fuchsia_dir . '/tools/devshell/lib/vars.sh && echo $PREBUILT_GN')[0]
execute ':Glaive codefmt gn_executable="' . g:gn_path . '"'

augroup autoformat_gn
  autocmd!
  autocmd FileType gn AutoFormatBuffer gn
augroup END

如需了解如何突出显示 Rust,请参阅特定于 Rust 的语言 指南