czwartek, 10 marca 2011

Vim autocomplete czyli autouzupełnianie tekstu podobne do środowisk IDE

W Vim'ie, co może wielu zdziwić, też da się autouzupełniać kod. Jest to doskonała funkcja zapobiegająca powstawaniu trudnych do znalezienia błędów w kodzie.

Ten kod poniżej należy wstawić do pliku _vimrc albo _gvimrc
"autocomplete po naciśnięciu Ctrl-P lub Ctrl-N
set completeopt=longest,menuone
inoremap <expr> <CR> pumvisible() ? "\<C-y>" : "\<C-g>u\<CR>"
inoremap <expr> <C-n> pumvisible() ? '<C-n>' :
  \ '<C-n><C-r>=pumvisible() ? "\<lt>Down>" : ""<CR>'
inoremap <expr> <M-,> pumvisible() ? '<C-n>' :
  \ '<C-x><C-o><C-n><C-p><C-r>=pumvisible() ? "\<lt>Down>" : ""<CR>'
Gwoli wyjaśnienia dodam, że Ctrl-P przeszukuje Poprzednio napisany kod, a Ctrl-N Następnie (dalej) napisany kod. Oczywiście wciska się to w normalnym trybie edycji.

środa, 9 marca 2011

PHP - powrót danych z formularza jako listy

Ciekawostką, jak się okazało, w php jest możliwość pobrania danych z formularzy jako tablic. Wystarczy do nazwy kontrolki na formularzu dodać nawiasy "[]".

Na przykład:

przed zmianą:
<select name="lista"></select>


po zmianie:
<select name="lista[]"></select>

wtorek, 8 marca 2011

Co to jest ||= czyli dziwna notacja w Ruby

Sformułowanie ||= może wyglądać dziwnie, ale jest użyteczne.
Zapis
foo ||= "hello"
znaczy, że jeśli zmienna foo nie jest zainicjowana (lub ma wartość nil) to przypisz jej string "hello".

Serwis dla programistów do kolorowania składni

Czasami trzeba przesłać komuś trochę kodu. Może wstawić do jakiegoś forum... Bez wcinek i kolorów czyta się to ciężko. Autorzy tej strony:
http://pastebin.com/
domyślili się jak wielu ludzi przesyła swoje źródła i postanowili pomóc programistom w przekazywaniu czytelnego kodu. Wklej tam swój kod i odbierz pokolorowany.
Okazało się jednak, że wiele fragmentów kodu to po prostu perełki. Warto się nimi dzielić na szerszym forum. Skoro ludzie już używają Pastebin to tylko krok aby Pastebin stał się naturalnym centrum prezentacji wartościowego kodu. Można z niego korzystać okazyjnie, a można założyć tam konto i dzielić się z innymi swoim kodem.

Strony pod iPhone'a i Androida - jak robić

Wygląda na ciekawy turial:
http://blog.piotrnalepa.pl/2011/02/07/jquery-html5-jak-zrobic-mobilna-wersje-strony-internetowej-pod-iphonea-i-androida/

poniedziałek, 7 marca 2011

Vim - katalog TEMP oraz litery w UTF-8

Vim posiada arcyprzydatną opcję generowania przy każdej zmianie pliku z jego poprzednią wersją. Jest to o tyle przydatne, co denerwujące na dłuższą metę. Przy edycji dużej ilości plików powstaje ich nadmierna ilość, co w końcu może denerwować.
Wystarczy jednak ustawić zmienną systemową, aby pliki backupowe były automatycznie przerzucane do wybranego katalogu. Dane konfiguracyjne znajdują się w pliku konfiguracyjnym (jak to tajemniczo brzmi).
Dla Windows ten plik to
C:\Program Files\Vim\_vimrc 
zaś dla Linuxa wystarczy
~/.vimrc
Należy tam wpisać:
:set backupdir=c:/Windows/temp
Oczywiście ścieżka jest dowolna.

Osobnym problemem to kodowanie polskich liter. Polecanym jest UTF-8, ale w Windows oczywiście tak nie jest :-(
Wrzucamy więc do pliku konfiguracyjnego:
:set fileencodings=utf-8,latin2
i po kłopocie.

Nieco szerzej jest to opisane tutaj: http://automaciej.jogger.pl/2006/07/18/vim-utf-8-i-iso-8859-2/