【vim 学习系列文章 11 -- vim filetype | execute | runtimepath 详细介绍】

文章目录

    • [filetype plugin indent on 什么功能?](#filetype plugin indent on 什么功能?)
    • [vim runtimepath 详细介绍](#vim runtimepath 详细介绍)
    • [vim 中 execute 命令详细介绍](#vim 中 execute 命令详细介绍)
      • [execute pathogen#infect() 详细介绍](#infect() 详细介绍)

filetype plugin indent on 什么功能?

在网上我们经常可以看到vimrc配置中有 filetype plugin indent on 这个配置,那么这个配置的功能是什么呢?
filetype plugin indent on 是 Vim 中一个用于启动文件类型特定的插件和缩进的命令。

这个命令可以分为三个部分来理解:

  • filetype:这个命令是用来设置或者检测当前文件的类型;
  • plugin:这表示启动与文件类型相关的插件。这些插件会提供和特定文件类型相关的额外功能,比如对特定编程语言的补全、编译等;
  • indent:这表示启动与文件类型相关的自动缩进。Vim 会根据文件类型的规则来自动调整缩进,以达到更好的代码排版效果。

on 表示启动上述的功能。如果你想关闭这些功能,可以使用 off

所以,filetype plugin indent on 命令的作用就是启动与当前文件类型相关的插件以及自动缩进功能。

这个命令通常会放在 Vim 的配置文件(比如 .vimrc)中,以便每次启动 Vim 时都能自动执行。这样可以让 Vim 更好地支持各种类型的文件,提高编程效率。

vim runtimepath 详细介绍

runtimepath 在 Vim 中是一个非常重要的设置,它决定了 Vim 在什么地方查找运行时文件,如插件、帮助文件、语法文件等。

其默认设置通常包括 Vim 的系统文件夹、用户的配置文件夹,以及插件的文件夹。你可以使用 set runtimepath? 命令查看它的当前设置。

如果你要添加一个新的路径到 runtimepath,你可以使用以下命令:

c 复制代码
set runtimepath+=/path/to/your/directory

例如,假设你的插件位于 ~/.vim/bundle/myplugin,你可以使用以下命令添加它到 runtimepath:

bash 复制代码
set runtimepath+=~/.vim/bundle/myplugin

这样,Vim 就会在这个路径下查找运行时文件。

需要注意的是,当你使用某些插件管理器(如 Pathogen、Vundle、vim-plug 等)时,它们会自动管理 runtimepath 的设置,你不需要手动修改它。

另外,runtimepath 的设置是可以包含多个路径的,各个路径之间使用逗号分隔。例如:

bash 复制代码
set runtimepath=/path/to/dir1,/path/to/dir2

这样设置后,Vim 就会在 dir1 和 dir2 这两个目录下查找运行时文件。

vim 中 execute 命令详细介绍

Vim 的 execute 命令用于执行字符串形式的 Vim 命令或表达式。

命令的基本格式如下:

bash 复制代码
execute {expr1} ..

这里的 {expr1} 是你希望执行的字符串形式的命令或表达式。

这个命令的主要用途是执行动态生成的 Vim 命令。execute 命令会将其参数作为一个 Vim 命令来执行,而不是作为一个字面字符串。

例如,下面的命令将会跳转到文件的第 10 行:

bash 复制代码
execute "normal 10G"

在这个例子中,字符串 "normal 10G" 是一个命令,它告诉 Vim 跳转到文件的第 10 行。

execute 命令也可以和其他 Vim 命令一起使用,以生成更复杂的行为。例如,下面的命令将会在命令行窗口执行 ls 命令:

c 复制代码
execute "!ls"

在这个例子中,! 是一个 Vim 命令,它告诉 Vim 在命令行窗口执行后面的字符串。

execute pathogen#infect() 详细介绍

pathogen#infect() 是 Vim 插件管理器 Pathogen 的一个主要函数,用于在 Vim 启动时加载所有的插件。

在 Vim 的配置文件 .vimrc 中执行 execute pathogen#infect(),会使得 Pathogen 自动搜索 Vim 的插件目录(一般是 ~/.vim/bundle/),并加载其中的所有插件。

具体来说,pathogen#infect() 会做以下两件事情:

  • ~/.vim/bundle/ 下每个插件的目录分别添加到 Vim 的 runtimepath 中,这样 Vim 就能找到并加载这些插件。
  • 在 Vim 启动时自动执行每个插件的脚本文件。

假设你的 ~/.vim/bundle/ 目录下有两个插件 plugin1 和 plugin2,那么执行 execute pathogen#infect() 就相当于手动执行了以下命令:

c 复制代码
set runtimepath+=~/.vim/bundle/plugin1 
set runtimepath+=~/.vim/bundle/plugin2

这样,Vim 就会自动加载这两个插件。如果你不使用 Pathogen,那么你需要手动设置每个插件的 runtimepath,并且在 Vim 启动时手动执行每个插件的脚本文件,这样做非常繁琐。

总之,execute pathogen#infect() 是使用 Pathogen 管理 Vim 插件的一个重要步骤。

总的来说,execute 命令是一个非常强大的工具,它允许你创建复杂的 Vim 脚本和动态命令。

相关推荐
Bio Coder1 天前
vim 一次注释多行 的几种方法
linux·编辑器·vim·注释·快捷键·方法·取消注释
赵闪闪1682 天前
Node.js 安装与环境配置详解:从入门到实战
node.js·编辑器·vim
Lllongroad3 天前
Vim 命令、操作、文件操作示例
linux·编辑器·vim
IT_张三3 天前
Ubuntu Linux使用前准备动作 安装vim编辑工具
linux·ubuntu·vim
丶Darling.3 天前
Linux之vim全选,全部复制,全部删除
linux·vim·excel
仙长道号-Linux真人4 天前
gvim添加至右键、永久修改配置、放大缩小快捷键、ctrl + c ctrl +v 直接复制粘贴、右键和还原以前版本(V)冲突
c语言·开发语言·vim
酒酿小圆子~4 天前
Linux之vim模式下全选命令
linux·运维·vim
YRr YRr4 天前
如何解决Ubuntu 20.04中Vim编辑器在按下Ctrl+S时暂停响应的问题
ubuntu·编辑器·vim
x-cmd4 天前
x-cmd pkg | helix - 用 Rust 打造的文本编辑器,内置 LSP 和语法高亮,兼容 Vim 用户习惯
运维·rust·vim·开发·lsp·命令行·文本编辑
RationalDysaniaer5 天前
vim用法
linux·编辑器·vim