Awesome Neovim
精选的Neovim插件集合,主要针对Neovim特有功能。这意味着Vim兼容的插件不在此列出。
Neovim 是一个基于Vim的文本编辑器,专为可扩展性和可用性而设计,鼓励新的应用和贡献。
功能特性
- 插件管理器 - 多种插件管理解决方案
- LSP支持 - 语言服务器协议集成
- 智能补全 - 代码自动补全功能
- 语法高亮 - 基于Tree-sitter的语法解析
- 文件浏览 - 高效的文件管理系统
- 色彩方案 - 丰富的主题和配色方案
- 状态栏 - 可定制的状态显示
- 模糊查找 - 快速文件内容搜索
- 终端集成 - 内置终端支持
安装指南
前置要求
确保已安装以下工具:
# 安装必要依赖
sudo apt install jq git# 安装GitHub CLI
gh auth login
环境配置
- 确保已安装Neovim最新版本
- 配置GitHub CLI进行身份验证
- 克隆项目仓库:
git clone https://github.com/rockerBOO/awesome-neovim.git
cd awesome-neovim
使用说明
查看插件列表
项目按功能分类组织插件,包括:
- 插件管理器 - 管理Neovim插件安装
- LSP - 语言服务器协议支持
- 补全 - 代码自动补全引擎
- 语法 - 语法高亮和解析
- 文件浏览器 - 文件系统导航
- 色彩方案 - 界面主题定制
自动化脚本使用
项目提供多个实用脚本:
# 检查PR合规性
./scripts/batch_pr_compliance.sh <PR编号># 分析仓库质量# 强制重新分析
核心代码
#!/bin/bashlocal repo_url="$1"local temp_dir=$(mktemp -d)# 移除尾部.gitrepo_url=$(echo "$repo_url" | sed 's/\.git$//')# 克隆仓库if git clone --depth 1 "$repo_url" "$temp_dir"; then)echo "Total Lines: $line_count"if [ "$line_count" -lt 5 ]; thenfi# 检查描述信息echo ":warning: WARNING: No clear project description found"firm -rf "$temp_dir"return 0fidonerm -rf "$temp_dir"return 1elseecho ":cross_mark: Failed to clone repository"rm -rf "$temp_dir"return 1fi
}
PR审查状态检查
#!/bin/bash
# 函数:检查PR审查状态
check_review_status() {local pr_number="$1"# 获取PR审查和提交数据local pr_data=$(gh pr view "$pr_number" --json reviews,commits --jq '{reviews: [.reviews[] | select(.state != "PENDING") | {state: .state,submittedAt: .submittedAt,author: .author.login}],commits: [.commits[] | {oid: .oid,authoredDate: .authoredDate}]}')# 检查是否有非待处理的审查local review_count=$(echo "$pr_data" | jq '.reviews | length')if [ "$review_count" -eq 0 ]; thenecho ":information: PR $pr_number: No reviews yet"return 0fi# 获取最新审查日期local latest_review_date=$(echo "$pr_data" | jq -r '.reviews | map(.submittedAt) | max')if [ "$latest_review_date" == "null" ]; thenecho ":information: PR $pr_number: Reviews exist but no submission date available"return 0fi# 检查审查后是否有新提交local commits_after_review=$(echo "$pr_data" | jq --arg date "$latest_review_date" \'.commits | map(select(.authoredDate > $date)) | length')if [ "$commits_after_review" -gt 0 ]; thenecho ":police_car_light: PR $pr_number: Has new commits after latest review - needs re-review"elseecho ":check_mark_button: PR $pr_number: No new commits after latest review"fi
}
YAML文件修复工具
#!/bin/bash
# 修复GitHub workflows中常见yamllint问题的脚本
fix_yaml_file() {local file="$1"echo "Fixing $file..."# 创建备份cp "$file" "${file}.bak"# 修复尾部空格sed -i 's/[[:space:]]*$//' "$file"# 如果缺少文档起始标记则添加if ! head -1 "$file" | grep -q "^---"; thensed -i '1i---' "$file"fi# 如果文件末尾缺少换行符则添加if [ -n "$(tail -c1 "$file")" ]; thenecho "" >> "$file"fiecho "Fixed $file"
}# 修复所有workflow文件
for file in .github/workflows/*.yml; doif [ -f "$file" ]; thenfix_yaml_file "$file"fi
doneecho "All YAML files processed. Checking yamllint again..."
yamllint .github/workflows/ --format parsable | head -20
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)
公众号二维码

公众号二维码
