Setup exvim enviroment

本文介绍了如何通过Vundle在Exvim中管理plugins,包括安装步骤、配置修改,以及遇到的常见问题如`ag`命令找不到、工程状态丢失和服务器兼容性问题的解决方法。

1. 官方网站

exvim官方网站

sudo apt-get install ctags id-utils cscope silversearcher-ag

2. vundle管理plugins

【NOTE】按照官网安装步骤,会安装一些默认plugins。

  • 查看和修改.vimrc.plugins
打开默认未安装的plugins,比如airline.
打开plugins后,需要执行:PluginInstall命令进行安装。
  • 在**.vimrc**中安装plugins
若想使用vundle安装.vimrc.plugins中没有的插件, 需编辑.vimrc后,执行:PluginInstall命令
		{
			call vundle#begin()
			...
			Plugin 'blings/vim-airline'
			...
			call vundle#end()            " 必须
		}

3. 修改默认配置

  1. 默认的ex工程样式改为nerdtree
    ~/.vim/bundle/ex-vimentry/autoload/vimentry.vim
    nerdtree

  2. 修改默认的restore buffers
    ~/.vim/bundle/ex-vimentry/autoload/vimentry.vim
    在这里插入图片描述

4. Issues

  • Issue1) \bin\bash: ag: command not found.
		sudo apt install silversearcher-ag
  • Issue2) 再次打开exvim工程,未保存上一次打开的状态。

     	将enable_restore_bufs = false --> true.
     	(即default value = false,可在bundle/ex-vimentry/autoload/vimentry.vim中修改默认值)
    
  • Issue3)第一次打开exvim工程,有以下提示:

Error detected while processing function exgsearch#register_hotkey[1]..ex#keymap#register:
line   18:
E227: mapping already exists for \gs
E227: mapping already exists for \gg	
  • server_Issue) 有下面两种表现:

     	a) 使用全局搜索\gg时,报E484: can't open file /tmp/...
     	b) 打开vim工程是,终端报syntastic: error: can't run external programs(...) 
     	
     	Root cause: 用户指定的默认shell为/bin/csh, exvim不兼容。
     	Solution: 在/etc/passwd中,指定用户默认shell为/bin/bash或/bin/zsh.
    

5. 一些命令

  • :verbose map <所要查找的快捷键>
<think>嗯,用户这次提出了一个比较模糊的需求"Custom environment information",结合之前的引用内容和系统指令,我需要先拆解这个术语可能的含义。用户之前引用的材料涉及ASP.NET框架特性、Spring Security架构和HTTP安全头配置,推测ta可能在开发Web应用时遇到了环境定制需求。 从技术角度看,"自定义环境"至少包含三层含义:1) 运行时环境配置(如引用2提到的Spring Security运行时设置)2) 开发环境扩展(如引用4的第三方控件集成)3) 部署环境适配(如引用3的HTTP头安全策略)。用户没有说明具体技术栈,但引用1-3显示ta可能接触.NET和Spring生态。 考虑到用户前次询问过系统级引用规范,这次提问应该是延续技术架构探讨。需要重点回应三个维度:配置管理(如环境变量注入)、运行时扩展(如引用5的协议处理器注册)、安全策略(如引用3的Header定制)。由于引用2详细说明了Spring的架构抽象,可以优先展开这部分示例。 特别要注意避免假设用户技术栈,所以.NET和Spring的方案都需要涵盖。在HTTP安全头部分正好用上引用3的具体章节指引,这样既满足用户"参考站内引用"的要求,又能保持答案的普适性。最后生成的参考问题要引导用户明确具体场景,比如区分开发期配置和生产环境部署。 </think>关于"自定义环境信息"(Custom environment information),这通常指在软件开发或系统运维中根据特定需求定制的运行时配置、变量或元数据。以下是关键概念和应用场景: ### 一、核心概念 1. **环境变量** (`Environment Variables`) 通过`key=value`格式动态配置参数,例如: ```bash # .env 文件示例 DB_HOST=db.example.com API_KEY=sk_1234567890 ``` *适用场景*:区分开发/生产环境配置[^2]。 2. **配置文件** 如`appsettings.json`(.NET)或`application.yml`(Spring): ```json { "Logging": { "Level": "Debug", // 开发环境 "Path": "/var/log/app.log" } } ``` 3. **运行时注入** 如Spring的`@Value`注解动态获取值: ```java @Value("${custom.endpoint}") private String apiEndpoint; // 从环境配置注入 ``` ### 二、主要应用场景 1. **安全凭证管理** ```bash # 永不硬编码密钥! export AWS_SECRET_ACCESS_KEY="xXxXxXxXx" ``` 引用[3]的HTTP安全头配置也属于环境定制范畴。 2. **多环境适配** | 环境 | 数据库URL | 日志级别 | |------------|----------------------------|----------| | 开发(dev) | `jdbc:mysql://localhost:3306` | DEBUG | | 生产(prod) | `jdbc:mysql://cluster.prod:3306` | WARN | 3. **第三方集成扩展** 如引用[4]提到的Infragistics控件库,需配置许可证环境变量: ```powershell Setx IG_LICENSE "your_license_key" ``` ### 三、实现方式对比 | **方法** | 优点 | 缺点 | |------------------|---------------------------|--------------------------| | 环境变量 | 即时生效,跨平台 | 敏感数据需额外防护 | | 配置文件 | 版本可控,结构清晰 | 重启生效,有泄露风险 | | 密钥管理服务 | 高安全性(如AWS KMS) | 增加架构复杂度 | | 启动参数 | 快速覆盖临时配置 | 不适合长期配置 | > 关键原则:**敏感信息(API密钥/DB密码)必须通过密钥管理服务或加密存储**,禁止明文写入代码或配置文件[^3]。 ### 四、最佳实践 1. **配置分层加载** Spring Boot自动加载顺序: ```text 1. application.properties 2. application-{profile}.properties 3. 环境变量 4. 命令行参数 ``` 2. **.NET自定义配置处理器** 引用[1]提及的ASP.NET扩展性: ```csharp var builder = WebApplication.CreateBuilder(args); builder.Configuration.AddJsonFile("custom_env.json"); // 加载自定义配置 ``` 3. **协议处理器注册** 如引用[5]的alert协议注册,本质是扩展系统环境能力: ```reg Windows Registry [HKEY_CLASSES_ROOT\alert] @="URL:Alert Protocol" "URL Protocol"="" ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值