前言
安装步骤的链接
关于安装步骤:
- 分full和fool两个版本,版本差距在自动补全的插件。
- 最好安装ctags,如果不安装ctags自动补全将不完善,tagbar也无法工作。
- 可以考虑一下vim的练级攻略。
语法检查
文件在保存时会检查语法错误和规范
一共有三种警告:
p>
php的语法错误, 可以使用:Php
主动检查s>
不符合prs2规范, 可以使用:Phpcs
主动检查m>
质量检验, 可以使用:Phpmd
主动检查
格式修复
nnoremap <silent><F7> :call PhpCsFixerFixDirectory()<CR>
nnoremap <silent><F8> :call PhpCsFixerFixFile()<CR>
F8可以修复一些不符合psr2的规范,但是存在一些问题,如果只是定义了函数名或是类名的一些没有实际作用的代码可能会被删除,安全性有待评估。
自动补全
full基本操作:
- 两个字符后开始自动补全
- tab键选择,shift-tab逆向选择
- 可以使用ctrl-n向下,或是ctrl-p向上选择
如果是fool版:
- 不能自动开启补全,不能像图中那样方便。
- 必须使用
<ctrl-x><ctrl-o>
开启补全 ctrl-n
和ctrl-p
无法选择, tab可以使用- 其他相同
一般只支持系统函数补全,如果要支持自己编写的函数补全,需要如此:
- 在项目顶层目录下执行指令
ctags -R
- 必需在项目顶层目录,即
ctags
文件所在的目录打开vim - 打开文件,不要退出vim,使用
NERDTree
和ctrl-p
查找和打开文件,如果需要创建文件,可以使用ctrl-p
打开文件。 - 如果创建了新的类,将必须在项目顶层目录执行
ctags -R
的指令,当然可以在vim执行:!ctags -R
,在不退出vim的情况下更新ctags文件
可以通过tags来实现require的补全
对于composer的补全,默认composer是全局安装的,好像失败了。
代码块
已经将php的模板文件软连接到用户主目录下,可以自行查看修改
vim ~/php.shippets
?-tab
可以生成这样的代码 <?php ?>
f-tab
可以生成这样的代码
function ()
{
}
pub-tab
可以生成
/*
* undocumented function
* @return void
* /
public function name($param)
{
return null;
}
c-tab
class filename
{
}
class-tab
可以生成一个带注释的class
文件目录和代码浏览
F2 打开文件目录
在NERDTree中按?
呼出帮助文档
需要安装ctags
F3 打开代码浏览
模糊搜索
ctrl-p
基本不需要设置
ctrl-p
打开模糊搜索
ctrl-k
和 ctrl-j
可以在搜索结果中上下选择
ctrl-t
在新标签页打开
ctrl-v
分割打开
ctrl-y
新建文件, 需要先敲入路径和文件名
html tag跳转
在一个html tag上使用%
可以跳转与之匹配的tag
官方文档
将光标移动到需要查看的函数上,使用shift-k
,就可以查看官方文档a。
符号补全
在使用'
, "
, (
, [
, {
时,会自动补全另一半,同时如果再按各个匹配的另一半,则会跳出。
全局搜索
可以使用命令
:CtrlSF param
也可以设置
nmap <leader><leader>f <Plug>CtrlSFPrompt
<leader>
默认是\,所以快捷就是 \\f
因为是全局搜索,所以不要在太顶层目录使用,具体请查看CtrlSF
多光标
ctrl-n
开启选择/选择下一个
下面操作需要在ctrl-n
执行后
ctrl-p
取消一个选择
ctrl-x
跳过一个选择
详细vim-multiple-cursor
PS: 可以通过结合全局搜索实现重构
注释
\cc
注释当前行
\cu
反注释当前行
可以通过shift-v
实现多行操作
撤销树
F4呼出撤销树,查看之前的撤销修改
其它一些插件
更好的代码高亮
在php 和 html代码混杂在一起时提供更好的缩进
状态栏美化
显示多余的空格