Pages

Tuesday, October 05, 2010

Pengolah Text

Beberapa hari lalu seorang teman/kolega pernah masang status di twitter-nya yang mengindikasikan dia sedang menggunakan VIM/GIM. Berangkat dari membaca status itu aku jadi ingat bahwa aku pernah mencoba2 dan mencari text editor alternatif yang dipakai di kantor saat ini.

Di tempat ku bekerja ini, text editor yang digunakan adalah Source Insight 3.5 dan tidak bisa dipungkiri bahwa Source Insight itu sangat powerful. Saking sangat powerfulnya, seorang programmer yang telah sangat terbiasa menggunakan Source Insight maka akan sangat sulit untuk mencari penggatinya (Damn!, It's True!!!).

Bahasa pemrograman yang banyak digunakan di tempatku bekerja adalah 'C', dan fitur2 Source Insight yang sangat bermanfaat bagiku adalah sebagai berikut:
  • Pencarian simbol/kata
  • Loncat ke definisi atau declarasi suatu fungsi atau struct
  • Function list
  • Fitur 'Project'
  • Pencarian file di project
  • Syntax hilighting
  • #ifdef hilighting

Dari semua fitur itu yang paling susah dicari penggantinya ifdef hilighting, dengan fitur ini kita bisa mengeset value dari sebuah 'macro', apabila macro itu tidak terdefiniskan atau mempunya value == 0, maka syntax untuk block macro tersebut akan berwarna abu2, dengan ini akan memudahkan pembacaan code dalam jumlah yang besar.

Yang menjadi permasalahan terbesar adalah Source Insight hanya berjalan di Windows dan Source Insight sendiri adalah aplikasi komersial. Dengan fitur2 yang disediakan Source Insight dan keterbiasaan untuk menggunakan fitur2 tersebut, hal ini akan menjadi masalah jika kita diharuskan melakukan development dalam lingkungan yang berbeda.

Sebagai solusi terhadap hal tersebut, aku pernah mencari2 text editor alternatif yang cross-platform dan tentu saja haruss free. Pilihan pun jatuh pada VIM/GVIM, VIM/GVIM dapat dijalankan di beberapa sitem operasi yang berbasis UNIX-like, MS-WIndows dan MAC (nb: yang saya tahu).

VIM/GVIM merupakan salah satu text editor yang tangguh, dan didukung oleh script2/plugin2 yang dibuat oleh programmer2 yang menggunakannya. Dengan plugin2 yang ada kita pun bisa membangun VIM/GVIM sehingga mempunyai fitur yang hampir mirip dengan Source Insight, tapi dengan segala kekurangannya. Beberapa script2 yang lazim digunakan adalah sebagai berikut:
  • NERDTree sebagai file browser
  • FuzzyFinder sebagai file/tags/..etc search tool
  • Ctags & TagList untuk menampilkan tag2
  • ifdef , ifdef syntax control.
  • VimGrep, grepping text.

Kekurangan yang sampai saat ini yang kurasakan dan belum aku temukan solusinya (dengan mencari3 di google) adalah ketidak sempurnaan ifdef script untuk memparsing code yang teradapat "#if defined(XXX) || defined(YYY)", dan bentuk conditional ifdef macro lainnya.

Dan pilihan untuk menggunakan text editor tetaplah kembali kepada si penggunanya, text editor mana yang bakal meningkatkan produktifitas mereka.

NB: Jika ada teman2 yang tau solusi buat masalah ifdef di vim, tolong kasih tau aku yach. ^^V

Image is courtesy of: http://commons.wikimedia.org/wiki

No comments: