📄 usr_05.cnx
字号:
Unix ~/.vim/plugin/ PC and OS/2 $HOME/vimfiles/plugin 或 $VIM/vimfiles/plugin Amiga s:vimfiles/plugin Macintosh $VIM:vimfiles:plugin RISC-OS Choices:vimfiles.plugin以 Unix 系统为例(假设你还没有 plugin 目录):> mkdir ~/.vim mkdir ~/.vim/plugin cp /usr/local/share/vim/vim60/macros/justify.vim ~/.vim/plugin就是这样了!现在你可以用这个插件定义的命令调整文字了。文件类型插件 *add-filetype-plugin* *ftplugins*Vim 的发布中包括一套针对不同文件类型的插件。你可以用如下命令启用它们:> :filetype plugin on这样就行了! 参阅 |vimrc-filetype|。如果你缺少某种文件类型的插件,或者你找到一个更好的,你可以自行添加一个。这也只需两步:1. 获取一个插件的拷贝2. 塞到合适的目录。取 得 文 件 类 型 插 件你可以在找全局插件的相同地方找到文件类型插件。注意一下插件有没有注明文件类型,据此你可以知道这个插件是全局的还是文件类型相关的。在 $VIMRUNTIME/macros中的是全局插件;文件类型插件在 $VIMRUNTIME/ftplugin 中。使 用 文 件 类 型 插 件 *ftplugin-name*你可以通过把插件文件放到合适的目录中来增加一个插件。目录的名字与前面提过的全局插件的位置一样,但最后一级目录是 "ftplugin"。假设你找到一个用于 "stuff" 文件类型的插件,而且你的系统是Unix。那么,你可以把这个文件用如下命令移入ftplugin目录:> mv thefile ~/.vim/ftplugin/stuff.vim如果这个文件已经存在,你可以检查一下两个插件有没有冲突。如果没有,你可以用另一个名字:> mv thefile ~/.vim/ftplugin/stuff_too.vim这里,下划线用来分开文件类型和其它部分(这些部分可以由任意字符组成)。但如果你用 "otherstuff.vim" 就不行了。那是用于 "otherstuff" 类型的文件的。在 MS-DOS 中不能使用长文件名。如果你增加第二个插件,而这个插件超过 6 个字符,你就没法用了。你可以通过使用另一层目录来解决这个问题:> mkdir $VIM/vimfiles/ftplugin/fortran copy thefile $VIM/vimfiles/ftplugin/fortran/too.vim总的来说,一个文件类型相关的插件的名称是: > ftplugin/<filetype>.vim ftplugin/<filetype>_<name>.vim ftplugin/<filetype>/<name>.vim这里 "<name>" 可以是任何你喜欢的名字。例如,在 Unix 下,"stuff" 文件类型的插件可以是:> ~/.vim/ftplugin/stuff.vim ~/.vim/ftplugin/stuff_def.vim ~/.vim/ftplugin/stuff/header.vim这里, <filetype> 部分是相应文件类型的名称。只有对应文件类型的文件才会用这个插件内的设置。插件的 <name> 部分则不重要,你可以对同一个文件类型使用多个插件。Note 插件必须以 ".vim" 结尾。深入参考读物:|filetype-plugins| 文件类型插件的文档和有关如何避免映射引起的问题。|load-plugins| 全局插件的启动时间|ftplugin-overrule| 控制全局文件类型插件的选项|write-plugin| 如何写插件|plugin-details| 关于如何使用插件的信息或者当你的插件不工作的时候如何 处理。==============================================================================*05.5* 增加帮助 *add-local-help* *matchit-install*如果幸运的话,你安装的插件还会包括帮助文件。我们这里解释如何安装这个帮助文件,以便你能方便地获得新插件的帮助。我们以 "matchit.vim" 插件为例(包括在 Vim 中)。这个插件使 "%" 命令可以在两个对应的 HTML 标记间,Vim 脚本的 if/else/endif 间等匹配点间跳转。这非常有用,但它不向前兼容(这也是为什么默认的情况下它不会被激活)。 这个插件有一个文档:"matchit.txt"。我们先来把该插件拷贝到合适的位置。这次,我们在 Vim 内完成这个工作,以便利用$VIMRUNTIME。(如果某些目录已经存在你可以省略一些 "mkdir" 命令)> :!mkdir ~/.vim :!mkdir ~/.vim/plugin :!cp $VIMRUNTIME/macros/matchit.vim ~/.vim/plugin现在在某个 'runtimepath' 目录中建立一个 doc 目录。> :!mkdir ~/.vim/doc再把帮助文件拷贝进去:> :!cp $VIMRUNTIME/macros/matchit.txt ~/.vim/doc现在开始玩技巧了,怎样使 Vim 允许你跳转到新的主题上?用 |:helptags| 命令产生一个本地的tags文件即可:> :helptags ~/.vim/doc现在,你可以用这个命令> :help g%来获得 "g%" 的帮助了。在使用如下命令的时候,可以看见一个新的条目:> :help local-additions本地帮助的标题行被自动的加入到该节了。在那里你可以看到 Vim 添加了那些本地的帮助文件。你还可以从这里跳转到新的帮助中。要写一个本地帮助文件,请参考 |write-local-help|。=============================================================================*05.6* 选项窗口如果要找一个选项,你可以查找这个位置的帮助:|options|。另一个方法是用如下命令:> :options这会打开一个新窗口,其中给出一个选项的列表,并对每个选项提供一行解释。这些选项被根据种类分组。把光标移到一个主题上然后按 <Enter> 就可以跳转到那里。再按一下<Enter> 或者 CTRL-O 就可以跳回来。你可以通过这个窗口改变一个选项的值。例如,移到 "displaying text" 主题。然后把光标下移到这一行: set wrap nowrap ~当你在上面键入回车,这行会改变为: set nowrap wrap ~现在,这个选项被关闭了。这行的上面是对这个选项的简要描述。将光标向上移动一行,然后按 <Enter>,你可以跳转到 'wrap' 的完整帮助,再用 CTRL-O 可以跳回来。对于那些值为数字或者字符串的选项,你可以编辑它的值,然后按 <Enter> 来启用该值。例如,把光标移动到下面这行: set so=0 ~用 $ 移到行尾,再用 "r5" 命令修改为五,然后按 <Enter> 使修改生效。现在如果你移动一下光标,你会发现在你的光标移到窗口边界前,你的文字就开始滚动了。这就是选项 'scrolloff' 完成的功能:它指定在距离边界多远的地方开始滚动文字。=============================================================================*05.7* 常用选项Vim 中有很多选项。大部分你很少用得上。我们在这个介绍一些常用的。别忘了你可以通过 ":help" 命令获得更多的帮助。方法是在选项命令前后加上单引号,例如:> :help 'wrap'如果你搞乱了一个选项,你可以通过在选项后加上一个 & 号把它恢复到默认值。例如:> :set iskeyword&禁 止 折 行Vim 通常会对长行自动换行,以便你可以看见所有的文字。但有时最好还是能让文字在一行中显示完。这样,你需要左右移动才能看到一整行。以下命令可以切换换行方式:> :set nowrap当你移到到那些不能显示的文字上,Vim 会自动向右滚动让你看到后面的文字,要一次滚动十个字符,这样就行了:> :set sidescroll=10这个命令不改变文件中的文字,只改变显示方式。移 动 命 令 换 行很多命令只能在一行中移动。你可以通过 'whichwrap' 选项改变它。如下命令把这个选项设为默认值:> :set whichwrap=b,s这样,当光标处于行首时用 <BS> 键可以回到前一行的结尾;当处于行尾时用 <Space>键可以移动到下一行的行首。要允许 <Left> 和 <Right> 键也能这样,可以用这个命令:> set whichwrap=b,s,<,>这只在普通模式中有效,要在插入模式中也有效,可以:> :set whichwrap=b,s,<,>,[,]还有一些可以用的标志,参见 'whichwrap'。显 示 TAB 键文件中有 TAB 键的时候,你是看不见的。要把它显示出来:> :set list现在 TAB 键显示为 ^I,而 $显示在每行的结尾,以便你能找到可能会被你忽略的空白字符在哪里。 这样做的一个缺点是在有很多 TAB 的时候看起来很丑。如果你使用一个有颜色的终端,或者使用 GUI 模式,Vim 可以用高亮显示空格和TAB。 使用 'listchars' 选项:> :set listchars=tab:>-,trail:-现在,TAB会被显示成 ">---" ("-" 的个数不定) 而行尾多余的空白字符显示成 "-"。看起来好多了,是吧?关 键 字'iskeyword' 选项指定那些字母可以出现在一个单词中:> :set iskeyword< iskeyword=@,48-57,_,192-255 ~"@" 表示所有字母。"48-57" 表示 ASCII 字符 48-57 ,即数字 0 到 9。"192-255"是可打印的拉丁字符。 有时你希望横线也是关键字,以便 "w" 命令会把 "upper-case" 看作是一个单词。你可以这样做:> :set iskeyword+=- :set iskeyword< iskeyword=@,48-57,_,192-255,- ~看一下新的值,你会发现 Vim 自动在 "-" 前面加了一个逗号。 要从中去掉一个字符用 "-="。例如要排除下划线:> :set iskeyword-=_ :set iskeyword< iskeyword=@,48-57,192-255,- ~这回,逗号自动被删除了。显 示 消 息 的 空 间当 Vim 启动的时候,在屏幕底部有一行被用于显示消息。当消息很长的时候,多余的部分会被截断。这样你只能看到一部分。或者文字自动滚动,你要按 <Enter> 来继续。你可以给 'cmdheight' 选项赋一个值,用来设定显示消息所用的行数。例如:> :set cmdheight=3这样意味着你用于编辑文字的空间少了,所以这实际上是一种折衷。=============================================================================下一章:|usr_06.txt| 使用语法加亮版权:参见|manual-copyright| vim:tw=78:ts=8:ft=help:norl:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -