2016-01-22 50 views
1

我是vim的初学者,所以我不知道vim是如何工作的。在这里,我遇到了一个问题。我无法在vim中使用语法,它仅适用于某些文档,如 vimrc或带有.vim的文档。vim语法根本不起作用

如果我在文档语法后面添加.vim运行良好,但是另一个扩展名 则语法不起作用。我试图通过修改/etc/vim/vimrc解决它:

add 
syntax on 
set background=dark 
set hlsearch 
set number 

每次我打开一个新的文件,我可以看到在每一行和深色背景的数量,只有语法不起作用。

也许这对你们来说太简单了,但我找不到解决这个问题的方法。有人能告诉我我做错了什么吗?

顺便说一下,我使用Kali Linux(x64)。

+1

通常,最好修改/添加'〜/ .vimrc'。修改'/ etc/vim/vimrc'对我来说似乎是个坏主意。添加这个也试试'filetype缩进上' – dlmeetei

回答

2

vim试图自动确定文件类型。如果它检测到一个已知类型,它将使用语法高亮显示。如果它没有检测到类型,它不知道使用哪种语法(例如Java/vimrc/apache-config)。

通过使用命令:set filetype,可以随时检查哪个文件类型vim认为当前文档具有。如果变量为空,vim现在可以知道这是哪种类型的文件,因此不能使用语法高亮显示。

有几种可能性来“帮助”vim确定文件类型。

  1. 最简单的就是用正确的文件扩展名:如果,例如,你打开一个名为test.html文件,vim知道,你可能会填补HTML代码文件,从而自动设置filetype变量html
  2. 您也可以用一种方式编写文件,以便vim知道这是什么类型的文件。例如,如果文件以#!/bin/bash开头,则vim知道这是一个bash脚本并将filetype变量设置为bash
  3. 如果一切都失败了,您还可以明确告诉vimfiletype。可以将其设置在编辑器中,例如:set filetype=bash,或使用modeline,例如, # vim:filetype=bash

无论文件类型是否被正确识别,vim都需要知道哪些颜色用于哪些单词。这些在“vim语法文件”中指定。在Debian上,这些位于/usr/share/vim/vim<your-vim-version>/syntax,例如/usr/share/vim/vim74/syntax。我不知道卡利的位置是否相同,但我怀疑它会是相似的。如果你正在编辑的文件类型没有vim语法文件,vim不能帮你。但是,您可能能够在线或在其他包中找到语法文件。

+0

谢谢你弗雷德,它帮助我很多 – cyxeL

+0

很高兴有帮助。如果答案解决了您的问题,请将其标记为“已接受”,以便其他人看到此解决方案有效。谢谢! – Fred