Czy na VIMie można 'poładniać' (beautifier) kod PHP?


(Saver) #1

Witam, mam pytanie, jak na VIMie można poładniać kod PHP?

Że np. z kodu:

<?php echo 'ForumDobreProgramy.pl'; ?>

Zamieniło na:

<?php

echo 'ForumDobreProgramy.pl';

?>

Bardzo proszę o pomoc.


(Kojot) #2

Spróbuj tę wtyczkę do VIMa, może to jest to czego szukasz:

http://www.vim.org/scripts/script.php?script_id=1120


(Saver) #3

A gdzie to trzeba wrzucić? Dałem do ~/.vim/plugins i nie działa.

Może trzeba jakoś wtyczkę aktywować?

Proszę o pomoc.


(Kojot) #4

Wrzuć skrypt do: ~/.vim/indent

W pliku ~/.vimrc odkomentuj (lub dodaj):

if has("autocmd")

  filetype plugin indent on

endif

(Saver) #5

Nie działa, nic mi nie formatuje podczas pisania.


(Kojot) #6

Musisz zapisać wcześniej plik z rozszerzeniem .php

Jaką masz wersję VIM'a?

Ja sprawdzałem na 7.3.35 i działa bez problemu, a przynajmniej zagnieżdża instrukcje warunkowe (if) i pętle.


(Saver) #7

Mam zapisany plik w php.

Mam 7.3

I nic mi nie formatuje samemu


(Kojot) #8

Pokaż zawartość pliku: ~/.vimrc


(Saver) #9
sebastian@pc:~$ cat .vimrc 

" set encoding=UTF-9  

set fileencoding=UTF-8

set termencoding=UTF-8 


set nu " Włączamy numerowanie linii

set softtabstop=3 " Wcięcie [TAB] ustawione na 3 spacje

set shiftwidth=3 " Wcięcie używając [>]

set tabstop=3 " Wcięcie [TAB] na sztywno w plikach już wcześniej edytowanych

syntax on " Włącz podświetlanie składni

set hlsearch " Włącz podświetalnie wyszukiwania


" Rozpoznawanie typów plików przez vim-a i właściwe podświetalnie składni

" Możliwość używania wtyczek typów plików pomagających

" Wykorzystywaie reguł automatycznego robienia wcięć

filetype plugin indent on


let php_sql_query = 1 " Koloruj SQL w stringach

let php_htmlInStrings = 1 " Koloruj HTML w stringach

let use_xhtml = 1 " Używaj XHTML-a


set nocompatible

set backspace=indent,eol,start

set ignorecase

set number

set history=32

set ruler

set showcmd

set incsearch

set hlsearch

set tabstop=4

set shiftwidth=4

set paste

set ruler    

set autoindent

set smartindent

syntax on

colorscheme evening


if has("autocmd")

  filetype plugin indent on

endif

(Kojot) #10

a może spróbuj po prostu:

filetype plugin indent on

bez tej instrukcji warunkowej.


(Saver) #11

Bez warunku też nie działa :frowning: