Sunday, April 22, 2007

Konfiguracja mojego vim-a

Nie chcę was zanudzać szczegółami. W sieci dostępnych jest mnóstwo wspaniałych opisów do konfiguracji vim-a. Podaję tutaj tylko swój plik konfiguracyjnych i kilka ciekawych linków:
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

if &t_Co > 2 || has("gui_running") " Jeżeli tylko dostępone są kolory
syntax on " Włącz podświetlanie składni
set hlsearch " Włącz podświetalnie wyszukiwania
endif

set nobackup " Nie chcemy plików backupowych

set autoindent " Kontrola wcięć: Takie samo wcięcie dla kolejnej linii

" 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

set linebreak " Łamenie wierszy kiedy nie mieszczą się na ekranie
set nowrap " Tekst po dojściu do niewidocznej części tekstu zostaje przesunięty

" Rozpoznawania znaków tabulacji i odstępu
" set list
" set listchars=tab:>-,trail:=

" Ładne wcięcia dla programowania w języku C
" set cindent shiftwidth=3

" Kolorowanie składni XHTML i SQL wewnątrz stringów w plikach PHP
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

" Pokazywanie tego co się wpisuje przy wyszukiwaniu /
set incsearch

let spell_executable = "aspell"
let spell_language_list = "polish,english"
let spell_markup_ft = "html,php,xhtml,dhtml,tex,mail,help,text"
let spell_auto_type = "tex,mail,text,html,sgml,otl,cvs,none"

command! Gcc !gcc % -o %.out
command! Run !./%.out
command Php :!php %

" Kodowanie
set encoding=iso-8859-2 " Kodowanie
set fileencoding=iso-8859-2 " Kodowanie pliu
set termencoding=iso-8859-2 " Kodowanie termianala

" Koloruj komentarze na jasno zielono
" highlight Comment ctermfg=lightgreen

"set showmatch

Linki:
Wikibooks:
http://pl.wikibooks.org/wiki/Vim

Seria artykułów vim dla PHP [eng]:
http://schlitt.info/applications/blog/index.php?/archives/278-Comfortable-PHP-editing-with-VIM.html
http://schlitt.info/applications/blog/index.php?/archives/283-Comfortable-PHP-editing-with-VIM-2.html
http://schlitt.info/applications/blog/index.php?/archives/331-Comfortable-PHP-editing-with-VIM-3.html
http://schlitt.info/applications/blog/index.php?/archives/372-Comfortable-PHP-editing-with-VIM-4.html
http://schlitt.info/applications/blog/index.php?/archives/372-Comfortable-PHP-editing-with-VIM-4.html
http://schlitt.info/applications/blog/index.php?/archives/488-Comfortable-PHP-editing-with-VIM-5.html

Dodatkowe skrypt dla programistów PHP:
http://www.vim.org/scripts/script.php?script_id=1120
http://www.vim.org/scripts/script.php?script_id=967

Strona oficjalna:
http://www.vim.org/

Pisanie kodu PHP pod vim-em:
http://leon.w-wa.pl/texts/vim-php.php

Najlepszy artykuł o vim-e jaki czytałem - dla programistów C:
http://users.uj.edu.pl/~ufkapano/linux/cz3konsola/lp-vim.html


Vim dla PHP po polsku:

Tuesday, March 27, 2007

Pobieranie stringów w MySQL++

Po wczytaniu się w dokumentację znalazłem sposób na wyciąganie ładnych stringów:
row = res.at(i);
pom.erase();
pom = row["gatunek"].get_string();
gdzie pom to zwykły string pom;

Narzędzia programisty.

Już dawno miałem dokończyć ten wpis - dziś może w końcu się uda. Podczas jednych z konsultacji z C++ usłyszałem o kilku ciekawych narzędziach, które mogą pomóc w znajdowaniu wycieków pamięci. Pierwszym z nich jest valgrind, program, który pozwala tworzyć narzędzia do badania działania programu w trakcie jego wykonywania. W najprostszej wersji może on posłużyć przykładowo do sprawdzania miejsc, w których nie zwolniliśmy pamięci w programie (malloc / free). Podobną funkcjonalność oferuje nam narzędzie electric fence (całkiem sympatyczny opis na wikipedii). GDB to chyba wszystkim znany debugger :) Możemy sobie o nim poczytać międzyinnymi:

http://www.google.pl/search?hl=pl&client=firefox-a&rls=com.ubuntu%3Apl-PL%3Aofficial&hs=i0d&q=GDB&btnG=Szukaj&lr=lang_pl
http://student.agh.edu.pl/~gkozlow/GDB/
http://pl.wikipedia.org/wiki/GNU_Debugger

Wednesday, March 14, 2007

SELECT w MySQL++

Rozwiązania z dokumentacji co do zapytania SELECT mi nie działały. Zamieszczam własne:
mysqlpp::Row row;
unsigned long int ile = res.num_rows();
unsigned long int i;

for (i = 0; i < ile; i++) {
   row = res.at(i);
   cout << row["nazwa_kolumny"];
}

Sunday, March 11, 2007

Gdzie jest dziubdziub ?

http://www.gdziejestdziubdziub.prv.pl/

Problem z NVIDIĄ rozwiązany

Dziś doszedłem dlaczego nie działały mi sterowniki NVIDII ;P Wstyd się przyznać. Nie czytałem komunikatów instalatora ;P No i dopiero dziś dopatrzyłem się, że moja karta jest obsługiwana przez sterowniki w wersji 1.0-7184 a nie 1.0-9755 :P

Super odtwarzacz muzyki MOC

Trafiłem dziś na kapitalny odtwarzacz muzyki przeglądając http://www.linuxsoft.cz/pl/. MOC [http://moc.daper.net/.] Co prawda wersja alpha u mnie nie zadziałała, ale stable ;) poszło pięknie. Po zwykłym:
./configure
make
su
make install
Musiałem jeszcze z katalogu źródeł przekopiować do katalogu ~/.moc
  • katalog thems/ z themami
  • plik keymap.example jako ~/.moc/keymap
  • plik config.example jako ~/.moc/config
W pliku config odkomentowałem sobie jeszcze:
Theme = example_theme
XTermTheme = transparent-background

Po prawej stronie dodaje się pliki poprzez guziczek [a], [TAB]-em przechodzi się na prawą i klika [ENTER] aby zacząć odtwarzać.

Plik manuala (ubogi, dokumentacja na stronie też biedna) można otworzyć np. man /usr/local/share/man/man1/mocp.1

"Wychodzi się" guziczkiem [q] ;)