GNU/Linux >> Belajar Linux >  >> Linux

Ctags dan Taglist:Ubah Editor Vim menjadi Browser Kode Sumber Cantik untuk Bahasa Pemrograman Apa Pun


Photo Courtesy:mint imperial

Artikel ini adalah bagian dari seri Tips dan Trik Vi / Vim yang sedang berlangsung. Sebagai pemrogram atau administrator sistem, Anda akan terus menelusuri kode sumber dan skrip shell.

Berikut adalah beberapa aktivitas umum yang mungkin Anda lakukan saat menjelajahi file kode sumber:

  1. Menavigasi ke definisi fungsi dengan menentukan nama fungsi.
  2. Menavigasi ke definisi fungsi dari 'panggilan fungsi'.
  3. Kembali lagi ke fungsi panggilan dari definisi.
  4. Melihat prototipe/tanda tangan fungsi atau variabel.
  5. Melihat jumlah fungsi dalam file, dll.,


Dalam artikel ini, mari kita tinjau cara melakukan aktivitas di atas secara efisien di editor Vim menggunakan plugin ctags dan taglist.

Teknik yang disebutkan dalam artikel ini menggunakan editor Vim dapat digunakan untuk bahasa pemrograman apa pun.

Aku. Instal dan Konfigurasi Paket Ctags

Langkah 1:Menginstal Paket ctags

# apt-get install exuberant-ctags

(or)

# rpm -ivh ctags-5.5.4-1.i386.rpm
warning: ctags-5.5.4-1.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e
Preparing...          ########################################### [100%]
   1:ctags            ########################################### [100%]

Langkah 2:Membuat ctag pada kode sumber Anda

Buka direktori tempat kode sumber Anda berada. Pada contoh di bawah ini, saya telah menyimpan semua kode sumber pemrograman C saya di bawah direktori ~/src.

# cd ~/src

# ctags *.c

Perintah ctags akan membuat tag nama file yang akan berisi semua informasi (tag) yang diperlukan tentang file program *.c. Berikut ini adalah sebagian output dari entri tag dalam file ctags.

# cat tags
AddAcl  dumputils.c     /^AddAcl(PQExpBuffer aclbuf, const char *keyword)$/;"   f       file:
ArchiveEntry    pg_backup_archiver.c    /^ArchiveEntry(Archive *AHX,$/;"        f
AssignDumpId    common.c        /^AssignDumpId(DumpableObject *dobj)$/;"        f

II. 4 Penggunaan Ctag yang Kuat di dalam Vim Editor

1. Arahkan ke definisi fungsi dengan menentukan nama fungsi menggunakan :ta

Pada contoh di bawah ini, :ta main akan membawa Anda ke definisi fungsi utama di dalam mycprogram.c

# vim mycprogram.c
:ta main

Dengan menggunakan fasilitas ini, Anda dapat menavigasi ke definisi fungsi apa pun dengan menentukan nama fungsi.

2. Menavigasi ke definisi fungsi dari 'panggilan fungsi' menggunakan Ctrl + ]

Saat kursor berada di bawah pemanggilan fungsi, tekan CTRL + ] untuk membuka definisi fungsi. Dalam contoh berikut, ketika kursor berada dalam pemanggilan fungsi ssh_xcalloc, menekan Ctrl + ] akan membawa Anda ke definisi fungsi ssh_xcalloc.

# vim mycprogram.c
            av = ssh_xcalloc(argc, sizeof(char *));

Catatan: Jika ctags tidak dapat menemukan fungsi itu, Anda akan mendapatkan pesan berikut di bilah status vim di bagian bawah:E426 tag not found ssh_xcalloc

3. Kembali lagi ke fungsi panggilan dari definisi menggunakan Ctrl + t

Tekan CTRL + t yang akan mengembalikan panggilan fungsi lagi.

4. Menavigasi daftar nama fungsi yang memiliki nama yang mirip

Dalam contoh ini, :ta akan menuju ke definisi fungsi yang namanya dimulai dengan get, dan juga membuat daftar untuk menavigasi dengan fungsi yang relevan.

# vim mycprogram.c

:ta /^get

Perintah vim berikut dapat digunakan untuk menavigasi melalui fungsi yang relevan

  • :ts – menunjukkan daftar.
  • :tn – pergi ke tag berikutnya dalam daftar itu.
  • :tp – pergi ke tag sebelumnya dalam daftar itu.
  • :tf – pergi ke fungsi yang ada di daftar pertama.
  • :tl – pergi ke fungsi yang ada di daftar terakhir.

III. Plugin Taglist:Editor Vim sebagai Browser Kode Sumber Utama

Ctag di atas mungkin tidak memberikan perasaan penjelajahan kode sumber, karena didorong oleh perintah alih-alih menelusuri kode secara visual. Jadi jika Anda ingin menavigasi melalui sumber seperti menavigasi di browser file, Anda perlu menggunakan plugin taglist vim yang menjadikan vim sebagai browser kode sumber.

Penulis plugin daftar tag vim Yegappan Lakshmanan, mengatakannya sebagai

Plugin “Tag List” adalah plugin browser kode sumber untuk Vim dan memberikan gambaran umum tentang struktur file kode sumber dan memungkinkan Anda menelusuri file kode sumber secara efisien untuk bahasa pemrograman yang berbeda.

Langkah 1:Unduh plugin Vim Taglist

Unduh dari situs web vim.org seperti yang ditunjukkan di bawah ini.

$ cd /usr/src

$ wget -O taglist.zip http://www.vim.org/scripts/download_script.php?src_id=7701

Langkah 2:Instal Plugin TagList Vim

$ mkdir ~/.vim # if the directory does not exist already

$ cd ~/.vim

$ unzip /usr/src/taglist.zip
Archive:  /usr/src/taglist.zip
  inflating: plugin/taglist.vim
  inflating: doc/taglist.txt

Langkah 3:Aktifkan plugin di ~/.vimrc

Tambahkan baris berikut ke ~/.vimrc untuk mengaktifkan plugin untuk editor Vim.

$ vim ~/.vimrc
filetype plugin on

Prasyaratan: ctags harus diinstal untuk menggunakan plugin taglist. Tetapi tidak harus membuat daftar tag secara manual dengan perintah ctags untuk menggunakan plugin daftar tag.

IV. 5 Fitur Kuat dari Plugin Taglist Vim

1. Buka Jendela Daftar Tag di Vim menggunakan :TlistOpen

# vim mycprogram.c
:TlistOpen

Dari editor vim, jalankan :TlistOpen seperti yang ditunjukkan di atas, yang membuka jendela daftar tag dengan tag dari file saat ini seperti yang ditunjukkan pada gambar di bawah.


Gbr: Vim – Kode Sumber Tag/Daftar Fungsi Windows

2. Langsung ke Definisi Fungsi di dalam kode sumber

Dengan mengklik nama fungsi di panel kiri, Anda akan dapat pergi ke definisi fungsi seperti yang ditunjukkan pada Gambar di bawah.


Gambar: Lompat ke definisi fungsi dengan cepat

Selain melompat ke nama fungsi dengan cepat, Anda dapat melompat ke kelas, struktur, variabel, dll., dengan mengklik nilai yang sesuai dari browser tag di sisi kiri.

3. Lompat ke definisi fungsi yang ada di file sumber lain

Saat Anda menelusuri fungsi dalam file sumber dan ingin membuka definisi fungsi yang ada di file lain, Anda dapat melakukannya dengan dua metode berbeda.

Metode 1:

Jika Anda memiliki ctag yang dihasilkan untuk file itu, saat kursor berada dalam panggilan fungsi menekan CTRL + ] akan membawa Anda ke definisi fungsi. Dan secara otomatis jendela daftar tag akan menampilkan tag untuk file yang baru dibuka tersebut.

Metode 2:

Buka file lain juga di sesi vim yang sama yang akan memperbarui jendela daftar tag dengan informasi tentang file itu. Cari nama fungsi tersebut di jendela daftar tag, dan dengan menekan pada nama fungsi itu di jendela daftar tag, Anda dapat membuka definisi fungsi.

4. Melihat prototipe/tanda tangan fungsi atau variabel.

Tekan 'spasi' di nama fungsi atau nama variabel di jendela daftar tag untuk menunjukkan prototipe (tanda tangan fungsi) di bilah status VIM seperti yang ditunjukkan di bawah ini. Pada contoh di bawah, klik fungsi selectDumpableTable dari jendela Tag dan tekan bilah spasi, yang menampilkan tanda tangan fungsi untuk fungsi selectDumptableTable di bilah Status Vim bawah.


Gambar: Tampilkan tanda tangan Fungsi di Bilah Status Vim

5. Melihat jumlah total fungsi atau variabel dalam file kode sumber

tekan 'spasi' di jenis tag di jendela daftar tag, yang menunjukkan jumlah itu. Pada contoh di bawah ini, saat kursor berada di ruang tekan 'fungsi', yang akan menampilkan jumlah total fungsi dalam kode sumber saat ini.


Gambar: Menampilkan jumlah total fungsi yang tersedia dalam kode sumber

Untuk menulis file kode sumber baru secara efektif menggunakan Vim, silakan merujuk ke artikel kami sebelumnya:

  • Jadikan Vim sebagai IDE Perl Anda Menggunakan Plugin perl-support.vim
  • Jadikan Vim sebagai IDE C/C++ Anda Menggunakan Plugin c.vim
  • Jadikan Vim sebagai Bash-IDE Anda Menggunakan Plugin bash-support.

Bacaan yang Disarankan

Peretasan Vim 101, oleh Ramesh Natarajan . Saya seorang pecandu baris perintah. Jadi, tentu saja saya penggemar berat editor Vi dan Vim. Beberapa tahun yang lalu, ketika saya menulis banyak kode C di Linux, saya biasa membaca semua tips dan trik editor Vim yang tersedia. Berdasarkan pengalaman editor Vim saya, saya telah menulis eBook Vim 101 Hacks yang berisi 101 contoh praktis tentang berbagai fitur canggih Vim yang akan membuat Anda cepat dan produktif dalam editor Vim. Bahkan jika Anda telah menggunakan Editor Vi dan Vim selama beberapa tahun dan belum membaca buku ini, bantulah diri Anda sendiri dan baca buku ini. Anda akan kagum dengan kemampuan editor Vim.

Artikel Editor Vim Keren

Berikut adalah beberapa tutorial editor Vi / Vim yang mengagumkan yang mungkin berguna bagi Anda.

  • 12 Contoh Cari dan Ganti yang Kuat untuk Editor Vim
  • Tutorial Makro Vi dan Vim:Cara Merekam dan Memutar
  • Peramban Firefox Turbocharge Dengan Fungsi Editor Vim Menggunakan Add-on Vimperator

Catatan: Silakan berlangganan The Geek Stuff dan jangan lewatkan tips dan trik editor Vi dan Vim di masa mendatang .


Linux
  1. MuditaOS:Sistem Operasi Seluler Open Source yang Cantik dan Minimal untuk Ponsel Berfitur

  2. MIXXX – Perangkat Lunak DJ yang Cantik, Gratis, dan Open Source

  3. Pitivi – Editor Video Sumber Terbuka dan Gratis untuk Linux

  1. Dapatkan Kode Sumber untuk Perintah Linux apa pun

  2. Cara Memanggil Fungsi C di C++, Fungsi C++ di C (Campuran C dan C++)

  3. Kode untuk malloc dan gratis

  1. Alat sumber terbuka dan tip untuk meningkatkan kinerja PC Linux Anda

  2. 15 buku untuk anak-anak yang (Anda ingin) menyukai Linux dan open source

  3. Bagaimana menemukan penelepon dan penerima fungsi dalam kode C di vi/vim?