(重新)在Vim中格式化PHP代码
如何格式化看起来像这样的PHP代码(重新)在Vim中格式化PHP代码,php,vim,code-formatting,macvim,Php,Vim,Code Formatting,Macvim,如何格式化看起来像这样的PHP代码 class SomeClass { function insideclass() { } } 在不使用任何外部工具的情况下使用Vim class SomeClass { function insideclass() { } } 我并不是说这是格式化代码的最佳方式,但这是我们团队正在遵循的 编辑:删除了对snippet插件的引用,这导致了对该问题的一些混淆。为什么不修改该插件的源代码 例如,更改以下内容:
class SomeClass
{
function insideclass()
{
}
}
在不使用任何外部工具的情况下使用Vim
class SomeClass {
function insideclass() {
}
}
我并不是说这是格式化代码的最佳方式,但这是我们团队正在遵循的
编辑:删除了对snippet插件的引用,这导致了对该问题的一些混淆。为什么不修改该插件的源代码 例如,更改以下内容:
snippet class
/**
* ${1}
*/
class ${2:ClassName}
{
${3}
function ${4:__construct}(${5:argument})
{
${6:// code...}
}
}
到
为什么不修改这个插件的源代码呢 例如,更改以下内容:
snippet class
/**
* ${1}
*/
class ${2:ClassName}
{
${3}
function ${4:__construct}(${5:argument})
{
${6:// code...}
}
}
到
所有snipmate片段都存储在一个目录中。转到该目录并编辑所需的文件
direcorty存储在vim目录中,称为
snippets
。在那里你会看到一个php.snippets
文件。转到该文件并在第70行编辑该类的代码段。所有snipmate代码段都存储在一个目录中。转到该目录并编辑所需的文件
direcorty存储在vim目录中,称为
snippets
。在那里你会看到一个php.snippets
文件。转到该文件,在第70行,您可以编辑该类的代码段。您有两个不相关的问题,无法找到解决这两个问题的唯一方法
类
代码段。
没问题。如果还没有,请创建~/.vim/snippets/php.snippets
,并按照其他答案对其进行自定义,以符合团队的规则。Snipmate不够聪明,无法适应您的编码风格:g/^\s*{\s*$/normal kJ
作用于包含:g/pattern
的所有行,请参见pattern
:h:global
匹配所有单个^\s*{\s*$
,无论它们之间的空白量和行的开头{
执行normal
命令,请参见normal
:h:normal
上升一行,kJ
将该行与匹配行连接J
- 完成了
你有两个不相关的问题,你找不到解决这两个问题的唯一方法
类
代码段。
没问题。如果还没有,请创建~/.vim/snippets/php.snippets
,并按照其他答案对其进行自定义,以符合团队规则。Snipmate不够聪明,无法适应您的编码风格:g/^\s*{\s*$/normal kJ
作用于包含:g/pattern
的所有行,请参见pattern
:h:global
匹配所有单个^\s*{\s*$
,无论它们之间的空白量和行的开头{
执行normal
命令,请参见normal
:h:normal
上升一行,kJ
将该行与匹配行连接J
- 完成了
是的,修改插件绝对是一个选项。我只是想看看是否有可能将代码从一种样式转换为另一种样式。是的,修改插件绝对是一个选项。我只是想看看是否有可能将代码从一种样式转换为另一种样式。实际上,我的问题更多的是针对第二个问题。我只是简单地说了一下ate插件作为一个例子。我的错。我现在编辑了这个问题来澄清它。除了使用beautifier外,第二个问题还有基于Vim的解决方案吗?我知道没有交钥匙解决方案。也许有人写了一个基于PHP_beautifier的脚本?我不知道。它看起来像是宏和替换的典型用例。+1。我知道
kJ
是最简单的解决方案,但我不知道如何在找到匹配项时执行它。谢谢!哇!!这正是我想要的。简单而优雅。我将把它映射到我的.vimrc中易于记忆的键。实际上我的问题更多的是针对第二个问题。我只是以插件为例。我的错。我编辑了que现在让我澄清一下。除了使用beautifier之外,第二个问题还有基于Vim的解决方案吗?我知道没有交钥匙解决方案。也许有人写了一个基于PHP_beautifier的脚本?我不知道。它看起来像是宏和替换的典型用例。+1。我知道kJ
是最简单的解决方案,但我不知道w如何在找到匹配项时执行它。谢谢!哇!!这正是我想要的。简单而优雅。我将把它映射到我的.vimrc中易于记忆的键。