Sekedar ingin share untuk teman-teman yang sudah terbiasa dengan editor notepad++ di lingkungan win$ bisa mencoba geany di keluarga *nix.
Bagi saya programmer pemula, perlu penyesuaian yang cukup lama untuk beralih dari editor kesayangan *notepad++ yang selama ini menemani malam-malam sepi, sunyi, sendiri (ah mulai lebay neh hohoo)...
Memang sih, notepad++ bisa di jalankan di keluarga *nix menggunakan wine tapi tetap saja terasa ada yang kurang, kalo bahasa saya sih nggak perform karena terkesan cukup memaksa. dan untuk mengatasi kurang sreg yg menurut saya cukup penting itu :-p , akhirnya saya mencoba untuk mengubah tampilan geany se-familiar mungkin yang saya inginkan, mulai dari warna untuk syntax, comment autolcomplete dll.
Langsung saja, silahkan install geany via terminal :
a3m-nix@f0r-each:~$ sudo apt-get install geany
atau via synaptic dengan ctrl+f dan cari geany, lalu install semua plugin2nya.
lalu buka geany dan pada menu edit, klik preferences.
di tab interface, ubah semua font menjadi courier 10 pitch dengan ukuran 10.
lalu di tab editor silahkan di utak-atik sendiri untuk menampilkan lines, marker margin dlsb sesuai selera.
untuk memunculkan autocomplete sesuai dengan jumlah karakter silahkan pilih completions dan ubah Characters to type bla..bla.. sesuai keingingan, misalnya 4, jadi setiap kali kita mengetik 4 karakter di geany maka akan muncul cluenya.
setelah puas mengutak-atik di preferences, tiba saatnya mengubah syntax highlights, warna untuk syntax, comment dlsb.
edit file di
a3m-nix@f0r-each:~$ sudo gedit /usr/share/geany/filetypes.xml
silahkan disesuaikan dan di coba-coba, kalau mau yang punya saya seperti dibawah ini:
# For complete documentation of this file, please see Geany's main documentation
[styling]
# foreground;background;bold;italic
html_default=0x000000;0xffffff;false;false
#tag html
html_tag=0x000099;0xffffff;false;false
html_tagunknown=0xFF3E00;0xffffff;false;true
html_attribute=0xFF0600;0xffffff;false;false
html_attributeunknown=0xff0000;0xffffff;false;false
html_number=0x800080;0xffffff;false;false
html_doublestring=0x8000FF;0xffffff;true;false
html_singlestring=0x8000FF;0xffffff;false;false
html_other=0xFF3E00;0xffffff;false;false
html_comment=0x159200;0xffffff;false;true
#nbsp color
html_entity=0x5D5454;0xFDFCDF;false;true
html_tagend=0xFF3E00;0xffffff;false;false
# html_xmlstart=0x000099;0xf0f0f0;false;false
# ?>
html_xmlend=0x000099;0xf0f0f0;false;false
#
html_script=0x000080;0xf0f0f0;false;false
# <% ... %>
html_asp=0x004f4f;0xf0f0f0;false;false
# <%@ ... %>
html_aspat=0x004f4f;0xf0f0f0;false;false
html_cdata=0x660099;0xffffff;false;false
html_question=0x0000ff;0xffffff;false;false
html_value=0x382AD6;0xffffff;true;false
html_xccomment=0x159200;0xffffff;true;false
sgml_default=0x000000;0xffffff;false;false
sgml_comment=0x159200;0xffffff;false;true
sgml_special=0x007f00;0xffffff;false;false
sgml_command=0x111199;0xffffff;true;false
sgml_doublestring=0xff901e;0xffffff;false;false
sgml_simplestring=0xff901e;0xffffff;false;false
sgml_1st_param=0x404080;0xffffff;false;false
sgml_entity=0x301010;0xffffff;false;false
sgml_block_default=0x000000;0xffffff;false;false
sgml_1st_param_comment=0x406090;0xffffff;false;false
sgml_error=0xff0000;0xffffff;false;false
php_default=0x000000;0xffffff;false;false
###['warna']
php_simplestring=0x7F7F7F;0xffffff;false;false
#string ex isi mysql_query ['']
php_hstring=0x7F7F7F;0xffffff;false;false
#angka
php_number=0xFF9204;0xffffff;false;false
#kondisi/syntax
php_word=0x1921EB;0xffffff;true;false
php_variable=0x0D1C4E;0xffffff;false;false
php_comment=0x159200;0xffffff;false;true
#comment di php //
php_commentline=0x159200;0xffffff;false;true
php_operator=0x102060;0xffffff;false;false
php_hstring_variable=0x101060;0xffffff;false;false
php_complex_variable=0x105010;0xffffff;false;false
# used for JavaScript, ASP Javascript, VBScript
jscript_start=0x008080;0xffffff;false;true
jscript_default=0x000000;0xffffff;false;false
jscript_comment=0xd00000;0xffffff;false;false
jscript_commentline=0xd00000;0xffffff;false;false
jscript_commentdoc=0x3f5fbf;0xffffff;true;false
jscript_number=0x007f00;0xffffff;false;false
jscript_word=0x000000;0xffffff;false;false
jscript_keyword=0x00007f;0xffffff;true;true
jscript_doublestring=0x7F7F7F;0xffffff;false;false
jscript_singlestring=0x7F7F7F;0xffffff;false;false
# same as operators
jscript_symbols=0x301010;0xffffff;false;italic
jscript_stringeol=0x000000;0xe0c0e0;false;false
jscript_regex=0x105090;0xffffff;false;false
# for embedded Python script (), Python styles from
# filetypes.python are used
[keywords]
html=a abbr acronym address applet area b base basefont bdo big blockquote body br button caption center cite code col colgroup dd del dfn dir div dl dt em embed fieldset font form frame frameset h1 h2 h3 h4 h5 h6 head hr html i iframe img input ins isindex kbd label legend li link map menu meta noframes noscript object ol optgroup option p param pre q quality s samp script select small span strike strong style sub sup table tbody td textarea tfoot th thead title tr tt u ul var xmlns leftmargin topmargin abbr accept-charset accept accesskey action align alink alt archive axis background bgcolor border cellpadding cellspacing char charoff charset checked cite class classid clear codebase codetype color cols colspan compact content coords data datafld dataformatas datapagesize datasrc datetime declare defer dir disabled enctype face for frame frameborder selected headers height href hreflang hspace http-equiv id ismap label lang language link longdesc marginwidth marginheight maxlength media framespacing method multiple name nohref noresize noshade nowrap object onblur onchange onclick ondblclick onfocus onkeydown onkeypress onkeyup onload onmousedown onmousemove onmouseover onmouseout onmouseup onreset onselect onsubmit onunload profile prompt pluginspage readonly rel rev rows rowspan rules scheme scope scrolling shape size span src standby start style summary tabindex target text title type usemap valign value valuetype version vlink vspace width text password checkbox radio submit reset file hidden image public doctype xml xml:lang
javascript=abs abstract acos anchor asin atan atan2 big bold boolean break byte case catch ceil char charAt charCodeAt class concat const continue cos Date debugger default delete do double else enum escape eval exp export extends false final finally fixed float floor fontcolor fontsize for fromCharCode function goto if implements import in indexOf Infinity instanceof int interface isFinite isNaN italics join lastIndexOf length link log long Math max MAX_VALUE min MIN_VALUE NaN native NEGATIVE_INFINITY new null Number package parseFloat parseInt pop POSITIVE_INFINITY pow private protected public push random return reverse round shift short sin slice small sort splice split sqrt static strike string String sub substr substring sup super switch synchronized tan this throw throws toLowerCase toString toUpperCase transient true try typeof undefined unescape unshift valueOf var void volatile while with
vbscript=and as byref byval case call const continue dim do each else elseif end error exit false for function global goto if in loop me new next not nothing on optional or private public redim rem resume select set sub then to true type while with boolean byte currency date double integer long object single string type variant
python=and assert break class continue complex def del elif else except exec finally for from global if import in inherit is int lambda not or pass print raise return tuple try unicode while yield long float str list
php=abstract and array as bool boolean break case catch cfunction __class__ class clone const continue declare default die __dir__ directory do double echo else elseif empty enddeclare endfor endforeach endif endswitch endwhile eval exception exit extends false __file__ final float for foreach __function__ function goto global if implements include include_once int integer interface isset __line__ list __method__ namespace __namespace__ new null object old_function or parent php_user_filter print private protected public real require require_once resource return __sleep static stdclass string switch this throw true try unset use var __wakeup while xor
sgml=ELEMENT DOCTYPE ATTLIST ENTITY NOTATION
[settings]
# default extension used when saving files
#extension=xml
# the following characters are these which a "word" can contains, see documentation
#wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
# if only single comment char is supported like # in this file, leave comment_close blank
comment_open=
# set to false if a comment character/string should start at column 0 of a line, true uses any
# indentation of the line, e.g. setting to true causes the following on pressing CTRL+d
#command_example();
# setting to false would generate this
# command_example();
# This setting works only for single line comments
comment_use_indent=true
# context action command (please see Geany's main documentation for details)
context_action_cmd=
setelah itu simpan dan restart geany untuk melihat hasilnya..
OK
BalasHapus