我最近在 Windows 7 上安装了 vim 作为独立的二进制文件。
我应该把我的 .vimrc 文件放在哪里?
在我工作的 Linux 服务器上,管理员没有安装 cscope,我从主目录中的源代码安装它并将其添加到 $PATH。问题是,/etc/vimrc 有一个对 /usr/bin/cscope 的引用,它不存在,每次我启动 vim 时,它都会抱怨这个,我必须按下该消息才能消失。
有趣的是,如果我从 $PATH 中删除 cscope,我不会得到这种行为——所以有可能 vim 正在测试 cscope 是否存在于某处,然后才执行 cscope 配置——但是它出错了!
所以我的问题是:我可以在我的 .vimrc 中设置一些东西,这样它就不会获取全局 /etc/vimrc 的来源吗?我不想将 cscope 移出 PATH,因为我不想每次从命令行运行它时都输入完整的目录名称。
我在多台计算机之间共享我的 VIM 配置文件。但是,我希望某些设置特定于某些计算机。
例如,高分辨率笔记本电脑上的字体大小应该与低分辨率桌面不同。更重要的是,我希望 Windows 上的 gVIM 表现得更像 windows,而 OSX 上的 MacVim 表现得更像 maccy,而 Linux 上的 gVIM 表现得像往常一样。(这可能是一种奇怪的情绪,但我非常习惯在切换操作系统时切换心理模式)
有没有办法在.vimrc机器或操作系统相关中进行一些设置?
我在 Linux Mint 13(使用 MATE)下运行 Vim 7.3,但我无法将文本保存到系统剪贴板。我在终端中运行 Vim 并使用CTRLINSERT. 当我在 Vim 中选择文本(使用鼠标或在可视模式下)时,CTRLINSERT不会复制任何文本。此外,当我右键单击时,复制是灰色的。此外,我无法通过使用 vim 命令拉到相应的寄存器来写入系统缓冲区。但是,我可以在插入模式下进行粘贴(使用SHIFTINSERT或右键单击粘贴)。我也可以使用相同的技术直接从终端复制文本,而不是来自 Vim 的文本。
这是我当前的 ~/.vimrc。相关部分最有可能set clipboard=autoselect,unnamed,exclude:cons\|linux。如果我放在finish~/.vimrc 的顶部,我有同样的问题,所以我认为该行是错误的,但我已经尝试过set clipboard=unnamed并且有相同的行为。
是否有另一个配置文件影响 Vim 的行为?如何更改 ~/.vimrc 以允许我从 Vim 复制文本?
我刚刚为 Vim添加了Git Gutter 插件,它显示了根据git diff. 它使用Sign Column来显示每行旁边的字符。
目前该列出现在保存时,这很不和谐。我希望该列始终显示,即使是空的。
如何使标志栏始终可见?
我在 vim 中有缓冲区列表。我可以使用 :sb[N] 水平分割缓冲区,其中 N 是缓冲区编号。如何垂直拆分缓冲区?
是.vimrc和.viminfo相同的文件,但不同的名字呢?
在每个教程中都有更改的建议.vimrc,但我没有这个文件,只有.viminfo. 他们是一样的吗?
我想修改 my.vimrc以从外部文件中读取变量的值。我怎样才能做到这一点?
具体来说,我和一个朋友与我们的.vim文件共享一个 git repo ,但是我们在配置中想要的内容有一些小的差异。所以大部分文件都是通用的,但是我们使用 if 语句来确定是否加载用户特定的部分,如下所示:
let whoami = "user2"
if whoami == "user1"
...
Run Code Online (Sandbox Code Playgroud)
在检查我们共同.vimrc的源代码控制之后,我们每个人都必须更改let whoami分配,以便加载我们自己的部分。相反,我想保留一个单独的文件,每个人的文件都可能不同,vim 将从中加载该变量值。
也许另一个角度是:vim 会自动读取我.vim目录中的所有文件吗?如果是这样,我们每个人都可以在其中放置一个名为 username.vim 的符号链接,并将其链接到一个对我们每个人来说都不同的外部文件。
是否可以将其.vimrc放入.vim文件夹,以便我只需将整个文件夹而不是文件夹和文件同步到其他计算机?