vim 代码规范工具php-cs-fixer.phar
(參考https://github.com/FriendsOfPHP/PHP-CS-Fixer)
INSTALL

curl http://get.sensiolabs.org/php-cs-fixer.phar -o php-cs-fixersudo chmod a+x php-cs-fixersudo mv php-cs-fixer /usr/local/bin/php-cs-fixer

至此,你能够直接用php-cs-fixer格式化代码了

USAGE

(眼下支持的level有psr0, psr1, psr2,symfony,contrib)

  php-cs-fixer fix test.php --level=psr2php-cs-fixer fix ./ --level=psr2

这并不能满足一个vimer的小心灵

vim-php-cs-fixer
INSTALL

Bundle 'stephpy/vim-php-cs-fixer

CONFIGURE
.vimrc(參考:https://github.com/stephpy/vim-php-cs-fixer)

" If php-cs-fixer is in $PATH, you don't need to define line below
" let g:php_cs_fixer_path = "~/php-cs-fixer.phar" " define the path to the php-cs-fixer.phar
let g:php_cs_fixer_level = "psr2"              " which level ?(psr0, psr1, psr2, symfony)
let g:php_cs_fixer_config = "default"             " configuration
let g:php_cs_fixer_php_path = "php"               " Path to PHP
" If you want to define specific fixers:
"let g:php_cs_fixer_fixers_list = "linefeed,short_tag,indentation"
let g:php_cs_fixer_enable_default_mapping = 1     " Enable the mapping by default (<leader>pcd)
let g:php_cs_fixer_dry_run = 0                    " Call command with dry-run option
let g:php_cs_fixer_verbose = 0                    " Return the output of command if 1, else an inline information.

以上配置我们发现

let g:php_cs_fixer_enable_default_mapping = 1     " Enable the mapping by default (<leader>pcd)

这个配置快捷键为\pcd 实际操作中会发现极易出错,并且太长了吧
.vim/bundle/vim-php-cs-fixer/plugin/php-cs-fixer.vim

if(g:php_cs_fixer_enable_default_mapping == 1)nnoremap <silent><leader>pcd :call PhpCsFixerFixDirectory()<CR>nnoremap <silent><leader>pcf :call PhpCsFixerFixFile()<CR>
endif

能够发现
pcd是格式化文件夹
pcf是格式化文件
如今能够把pcd。和pcf换成自己喜欢的快捷键了

ps:是nomal模式,是一个快捷键的前缀默认是\,可在vim中用map命令查看

附录

psr0 [PSR-0] Classes must be in a path that matches their namespace, be at least one namespace deep, and the class name should match the file name.encoding [PSR-1] PHP code MUST use only UTF-8 without BOM (remove BOM).short_tag [PSR-1] PHP code must use the long <?php ?> tags or the short-echo <?

= ?> tags; it must not use the other tag variations. braces [PSR-2] The body of each structure MUST be enclosed by braces. Braces should be properly placed. Body of braces should be properly indented. elseif [PSR-2] The keyword elseif should be used instead of else if so that all control keywords looks like single words. eof_ending [PSR-2] A file must always end with a single empty line feed. function_call_space [PSR-2] When making a method or function call, there MUST NOT be a space between the method or function name and the opening parenthesis. function_declaration [PSR-2] Spaces should be properly placed in a function declaration. indentation [PSR-2] Code MUST use an indent of 4 spaces, and MUST NOT use tabs for indenting. line_after_namespace [PSR-2] There MUST be one blank line after the namespace declaration. linefeed [PSR-2] All PHP files must use the Unix LF (linefeed) line ending. lowercase_constants [PSR-2] The PHP constants true, false, and null MUST be in lower case. lowercase_keywords [PSR-2] PHP keywords MUST be in lower case. method_argument_space [PSR-2] In method arguments and method call, there MUST NOT be a space before each comma and there MUST be one space after each comma. multiple_use [PSR-2] There MUST be one use keyword per declaration. parenthesis [PSR-2] There MUST NOT be a space after the opening parenthesis. There MUST NOT be a space before the closing parenthesis. php_closing_tag [PSR-2] The closing ?> tag MUST be omitted from files containing only PHP. single_line_after_imports [PSR-2] Each namespace use MUST go on its own line and there MUST be one blank line after the use statements block. trailing_spaces [PSR-2] Remove trailing whitespace at the end of non-blank lines. visibility [PSR-2] Visibility MUST be declared on all properties and methods; abstract and final MUST be declared before the visibility; static MUST be declared after the visibility. blankline_after_open_tag [symfony] Ensure there is no code on the same line as the PHP open tag and it is followed by a blankline. concat_without_spaces [symfony] Concatenation should be used without spaces. double_arrow_multiline_whitespaces [symfony] Operator => should not be arounded by multi-line whitespaces. duplicate_semicolon [symfony] Remove duplicated semicolons. empty_return [symfony] A return statement wishing to return nothing should be simply "return". extra_empty_lines [symfony] Removes extra empty lines. include [symfony] Include and file path should be divided with a single space. File path should not be placed under brackets. join_function [symfony] Implode function should be used instead of join function. list_commas [symfony] Remove trailing commas in list function calls. multiline_array_trailing_comma [symfony] PHP multi-line arrays should have a trailing comma. namespace_no_leading_whitespace [symfony] The namespace declaration line shouldn't contain leading whitespace. new_with_braces [symfony] All instances created with new keyword must be followed by braces. no_blank_lines_after_class_opening [symfony] There should be no empty lines after class opening brace. no_empty_lines_after_phpdocs [symfony] There should not be blank lines between docblock and the documented element. object_operator [symfony] There should not be space before or after object T_OBJECT_OPERATOR. operators_spaces [symfony] Binary operators should be arounded by at least one space. phpdoc_indent [symfony] Docblocks should have the same indentation as the documented subject. phpdoc_no_access [symfony] @access annotations should be omitted from phpdocs. phpdoc_no_empty_return [symfony] @return void and @return null annotations should be omitted from phpdocs. phpdoc_no_package [symfony] @package and @subpackage annotations should be omitted from phpdocs. phpdoc_params [symfony] All items of the @param, @throws, @return, @var, and @type phpdoc tags must be aligned vertically. phpdoc_scalar [symfony] Scalar types should always be written in the same form. "int", not "integer"; "bool", not "boolean"; "float", not "real" or "double". phpdoc_separation [symfony] Annotations in phpdocs should be grouped together so that annotations of the same type immediately follow each other, and annotations of a different type are separated by a single blank line. phpdoc_short_description [symfony] Phpdocs short descriptions should end in either a full stop, exclamation mark, or question mark. phpdoc_to_comment [symfony] Docblocks should only be used on structural elements. phpdoc_trim [symfony] Phpdocs should start and end with content, excluding the very first and last line of the docblocks. phpdoc_type_to_var [symfony] @type should always be written as @var. phpdoc_var_without_name [symfony] @var and @type annotations should not contain the variable name. pre_increment [symfony] Pre incrementation/decrementation should be used if possible. remove_leading_slash_use [symfony] Remove leading slashes in use clauses. remove_lines_between_uses [symfony] Removes line breaks between use statements. return [symfony] An empty line feed should precede a return statement. self_accessor [symfony] Inside a classy element "self" should be preferred to the class name itself. single_array_no_trailing_comma [symfony] PHP single-line arrays should not have trailing comma. single_blank_line_before_namespace [symfony] There should be exactly one blank line before a namespace declaration. single_quote [symfony] Convert double quotes to single quotes for simple strings. spaces_before_semicolon [symfony] Single-line whitespace before closing semicolon are prohibited. spaces_cast [symfony] A single space should be between cast and variable. standardize_not_equal [symfony] Replace all <> with !=. ternary_spaces [symfony] Standardize spaces around ternary operator. trim_array_spaces [symfony] Arrays should be formatted like function/method arguments, without leading or trailing single line space. unalign_double_arrow [symfony] Unalign double arrow symbols. unalign_equals [symfony] Unalign equals symbols. unary_operators_spaces [symfony] Unary operators should be placed adjacent to their operands. unused_use [symfony] Unused use statements must be removed. whitespacy_lines [symfony] Remove trailing whitespace at the end of blank lines. align_double_arrow [contrib] Align double arrow symbols in consecutive lines. align_equals [contrib] Align equals symbols in consecutive lines. concat_with_spaces [contrib] Concatenation should be used with at least one whitespace around. ereg_to_preg [contrib] Replace deprecated ereg regular expression functions with preg. Warning! This could change code behavior. header_comment [contrib] Add, replace or remove header comment. long_array_syntax [contrib] Arrays should use the long syntax. multiline_spaces_before_semicolon [contrib] Multi-line whitespace before closing semicolon are prohibited. newline_after_open_tag [contrib] Ensure there is no code on the same line as the PHP open tag. no_blank_lines_before_namespace [contrib] There should be no blank lines before a namespace declaration. ordered_use [contrib] Ordering use statements. php4_constructor [contrib] Convert PHP4-style constructors to __construct. Warning! This could change code behavior. phpdoc_order [contrib] Annotations in phpdocs should be ordered so that param annotations come first, then throws annotations, then return annotations. phpdoc_var_to_type [contrib] @var should always be written as @type. short_array_syntax [contrib] PHP arrays should use the PHP 5.4 short-syntax. short_echo_tag [contrib] Replace short-echo <?= with long format <?php echo syntax. strict [contrib] Comparison should be strict. Warning! This could change code behavior. strict_param [contrib] Functions should be used with $strict param. Warning! This could change code behavior.

vim php代码规范相关推荐

  1. [译] ROS C++ 代码规范

    内容说明 : 文章内容翻译自ROS Wiki,也引用了部分<代码整洁之道>书中的内容. ROS C++代码规范与谷歌C++代码规范有诸多相似之处,本文主要讲述在编写ROS C++代码时需要 ...

  2. python代码规范工具_Python代码规范Flake8的简单示例

    这篇文章主要为大家详细介绍了Python代码规范Flake8的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! ...

  3. [Client]前端代码规范 及 最佳实践

    前端代码规范 及 最佳实践 2014/10/29 | 分类: WEB前端, 工具与资源, 开发 | 0 条评论 | 标签: 代码规范, 前端开发, 最佳实践 分享到: 62 本文作者: 伯乐在线 -  ...

  4. SonarQube 9.x集成阿里p3c代码规范检测java代码;

    文章目录 前言 一.下载p3c-pmd插件 二.sonarqube配置使用p3c规则检测 1.新建质量配置 2.将创建好的p3c检测规则设置为默认质量配置 注1 注2 前言 因为我们公司后端主用的是j ...

  5. 基于 React 项目前端团队推行代码规范及代码质量,真香(姐妹篇)

    前言 大家好,我是虚竹. 2022年是我们的一次重大技术栈转型(尝试.试错.挑战.精进),发动组员学习React新技术,前端小组采用主流的前端框架基于React.React Native系列生态支撑公 ...

  6. Python 代码规范

    前言 Python 学习之旅,先来看看 Python 的代码规范,让自己先有个意识,而且在往后的学习中慢慢养成习惯 目录 Python代码规范 一.简明概述 1.编码 如无特殊情况, 文件一律使用 U ...

  7. 代码规范+设计模式落地之路

    欢迎关注方志朋的博客,回复"666"获面试宝典 | 前言 刚刚与同事开了一个分享会,笔者分享了一些了代码设计模式相关的内容. 以及复盘了一下项目中有些复杂的业务场景,为什么没有很好 ...

  8. php 代码规范 工具,PHP工具篇:PHPStorm IDE使用CodeSniffer代码规范化管理

    PHPStorm IDE使用CodeSniffer进行代码规范化管理 PHP_CodeSniffer是一个优秀的代码风格检测工具,定义了一系列的代码规范(通常使用官方的代码规范标准,比如PHP的PSR ...

  9. Verilog代码规范I

    Verilog代码规范I "规范"这问题 "规范"这个富含专业气息的词汇(个人感觉),其实规范这种东西,就是大家都约定熟成的东西,一旦你不遵守这个东西,专业人士 ...

最新文章

  1. linux 文本行倒叙,Linux基础(4)之文本处理
  2. 手势检测的回调方法中onfling与onscroll的区别
  3. 邮件服务器之微软Exchange server (转)
  4. 如何轻松学习Python数据分析?
  5. 发现 ASP.NET Core SignalR
  6. [MyBatisPlus]常用注解_@TableName_@TableId_@TableField_@TableLogic通过全局配置配置主键生成策略
  7. 真格量化——50期权历史波动率策略
  8. 线性代数拾遗(五):矩阵变换的应用
  9. io vivado 怎么查看ps_vivado学习之PS与PL通信
  10. codevs 1766 装果子
  11. 思科交换机配置远程登录命令
  12. python获取网页数据判断并提交_python3爬虫无法通过网页内容判断存在与否?
  13. ssh远程安全访问路由器
  14. 关于ps抠图问题,制作公章,公章的复制
  15. 13个适合上班时做的保健小动作
  16. java web开中WebRoot下的jsp和WebRoot文件夹下的jsp(html)引用css样式
  17. 面试角度分析:微信里面让你删掉一个功能,你选哪个?
  18. 装甲逆袭-NPC移动处理
  19. oracle dul 12.2.0.2.4 测试
  20. 射频卡(mifare)防冲突机制详解

热门文章

  1. 路由交换-hc-文档
  2. @Conditional派生注解
  3. 马云口中的“计划经济”其实是一种大数据和人工智能
  4. Python数据可视化——使用Matplotlib创建散点图
  5. 2017视频监控趋势的一些思考
  6. 视频监控智能算法的关键问题分析
  7. Java微信对账接口返回值解析
  8. Windows安装MongoDB可视化工具adminMongo
  9. 直接下载mongodb版本
  10. 程志明就智慧城市建设要求 完善基础设施提升管理水平