标签: vimrc

如何设置 vim 以编辑具有两种不同类型缩进的 Makefile 和普通代码文件?

我使用的是 Mac OSX 10.7.5,.vimrc 的内容如下:

set tabstop=4
set shiftwidth=4
set softtabstop=4
set expandtab
set shiftround  
set smarttab    
set autoindent  
set copyindent  

autocmd FileType make setlocal noexpandtab
Run Code Online (Sandbox Code Playgroud)

我想要做的是,当我编辑 .js、.html 等普通文件时,我希望我的制表符缩进 4 个空格而不是普通制表符。

但是当我编辑 Makefile 时,我需要它是一个普通的制表符,而不是 4 个用于缩进的空格。

我认为 .vimrc 中的上述设置会给我这个,但对我不起作用,因为当我编辑 Makefile 时,我仍然得到 4 个空格用于缩进。

不确定我在这里做错了什么?

vim tabs vimrc makefile

24
推荐指数
2
解决办法
2万
查看次数

为什么 Vim 会忽略 ~/.vim/after/ftplugin 中的文件?

我的本地 Vim 配置似乎有问题,但我不确定它是什么。我需要覆盖一些特定于文件类型的设置。根据多个教程/howtos,我~/.vim/after/ftplugin/cpp.vim使用适当的setlocal语句创建,但似乎没有被阅读。我查了一下~/.vim/after是在runtimepath.

我用autocmd FileType cpp setlocal ...in解决了这个问题~/.vimrc,但这已经超出了重点。关于如何诊断/解决这个问题的任何建议?还是我只是忽略了一些明显的东西?

vim vimrc

23
推荐指数
2
解决办法
8280
查看次数

总是使用 :set paste,这是个好主意吗?

在终端 vim 中,粘贴剪贴板数据通常会弄乱代码缩进。我只知道如果我使用:set paste缩进没有损坏。但是,粘贴数据后,我应该再做:set nopaste一次吗?如果我不这样做,会出现什么问题?

clipboard terminal vim vi vimrc

21
推荐指数
2
解决办法
2万
查看次数

仅为特定目录树中的文件设置 vim 选项?

我参与了一个编程项目,其他人都使用 4 的 tabsize,所以我发现set tabstop=4在我的~/.vimrc. 但是,我不想让这影响我编辑的每个文件 - 只是这个项目的那些 - 假设某个目录(及其子目录)中的每个文件。

有没有办法可以轻松地根据文件的目录前缀有条件地设置变量?

vim vimrc

19
推荐指数
1
解决办法
7124
查看次数

创建 ~/.vimrc 禁用语法高亮

我开始使用 Vim,因为它是第一次安装,然后决定通过添加来更改缩进行为

set tabstop=8 softtabstop=0 expandtab shiftwidth=2 smarttab
Run Code Online (Sandbox Code Playgroud)

~/.vimrc所建议/sf/ask/131528211/。但是,当我这样做时,我的 Python 文件的语法突出显示被禁用。我认为它可能对其他语言被禁用,并且其他设置也不是从默认配置中设置的,但尚未测试。

如何保留其余默认设置,只修改上述缩进设置?(注意:~/.vimrc在此之前我没有。我创建了它并在上面添加了一行。)

vim vimrc

19
推荐指数
2
解决办法
1902
查看次数

在 vim 中,滚动时背景颜色会发生变化

有时,在长文件中向上滚动时,vim 中的背景颜色会出现奇怪的错误。文本上的背景是正确的,但在没有可打印字符的任何地方,背景都会变成黑色。

经过一番狩猎和试验,我发现:redraw!修复了问题,但我想知道为什么会发生这种情况,以及我是否可以采取任何措施来永久解决该问题。

虽然我已经在其他配色方案中出现了这个错误,但值得我在 vim 7.3 中使用 lucius 配色方案来编辑​​一堆 python 文件。

vim colors vimrc

18
推荐指数
1
解决办法
6661
查看次数

vim:用相对数字切换数字

setl nu!
Run Code Online (Sandbox Code Playgroud)

我可以切换数字(开/关),类似于relativenumber

setl rnu!
Run Code Online (Sandbox Code Playgroud)

我如何切换 {off,number,relativenumber} ?

vim vimrc

16
推荐指数
4
解决办法
5457
查看次数

告诉 Vim 使用自定义 .vimrc 很容易,但如何告诉它使用替代路径而不是 ~/.vim?

我可以使用vim -u filenametofilename代替我的默认.vimrc. 我在切换用户上下文 ( su) 以使用my 时使用此方法,.vimrc即使以超级用户身份运行。

我怎样才能达到同样为它默认是文件夹~/.vim,这样我可以指出Vim的命令行到其他文件夹?


我想要达到的目标

好的,假设用户joe( HOME=/home/joe) 和用户root( HOME=/root)。用户joe有一个别名集vim,看起来像这样(但最初使用$HOME变量设置以使其动态化):

alias vim='vim -p -N -n -i NONE -u "/home/joe/.vimrc"'
Run Code Online (Sandbox Code Playgroud)

然后用户joe确实沿东西线sudo su -(但增加了魔术),从而在.bashrc与其他物品从/home/joe将要加载root。用户root现在具有完全相同的别名vim设置,如上所示。

问题是这.vimrc用于各种系统和各种场景。通常,Joe 的帐户被称为joe,但有时它会是类似的内容local.joe或其他任何内容,从而导致 的值不同$HOME。因此,硬编码~/.vim …

vim command-line vimrc

15
推荐指数
1
解决办法
2万
查看次数

我如何测试插件并且只包含它们(如果它们存在于 .vimrc 中)?

在我的假设中,.vimrc我正在尝试使用ftplugin并且显然使用一些与此相关的命令,前提是它已成功加载。但是,我现在遇到了一些没有安装插件的旧机器。我可以以某种方式加载这个插件有条件并将filetype on类似的指令添加到同一个条件块中吗?

我已经看到有配色方案和 Vim 版本的条件,但我还没有看到可以检查插件的示例(或无法识别它)。

注意:温柔点,我是 VimScript 初学者。

vim vimrc

14
推荐指数
2
解决办法
1万
查看次数

为什么 Option+向左箭头在 Vim 中有效,而在 Mac OS X 中无效?

在 Mac OS X 上的终端中使用 Vim,我的 Option+向左箭头按预期跳过单词,但我的 Option+向右箭头什么也不做。我怎样才能解决这个问题?

keyboard-shortcuts vim terminal.app vimrc macos

13
推荐指数
2
解决办法
3821
查看次数