Pengenalan

Pengenalan

Sudah tentu, kami tidak akan mempunyai cara lain: kami ingin bersikap adil, seperti yang dijanjikan, jadi inilah artikel VIM, yang merupakan rakan sejawatan yang terakhir kami tentang cara menjadikan editor anda sebagai persekitaran pengaturcaraan yang sempurna. Oleh itu, anda mesti mempunyai profil berikut untuk artikel ini untuk menjadi sangat berguna kepada anda: Anda tahu cara anda di sekitar pengaturcaraan, jadi anda kemudiannya tahu apa yang anda mahukan dalam editor, dan anda juga tahu jalan anda di sekitar Vim, lebih baik daripada apa yang kami bercakap mengenai artikel yang didedikasikan untuknya. Sekiranya anda membaca artikel Penyesuaian Emacs, anda sudah mempunyai idea yang baik tentang bagaimana artikel ini akan disusun. Sekiranya anda diarahkan ke sini dari tempat lain, inilah yang akan kami lakukan: kami akan mengambil beberapa bahasa pengaturcaraan yang popular (ruang yang dibenarkan) dan menunjukkan kepada anda bagaimana tweak Vim sehingga akan menjadi lebih sesuai untuk pengekodan dalam bahasa itu.

Bahasa

Walaupun Vim ditulis sepenuhnya di C, ada sesuatu yang bernama Vimscript yang membuat tetapan membuat/mengedit, semacam ELISP di Emacs, walaupun ini adalah perbandingan longgar. Sila ingat bahawa apa sahaja yang akan dibincangkan di sini adalah hanya Mengenai Vim. Bukan BSD VI, bukan pelanjutan VI untuk editor lain, hanya vim. Itu kerana walaupun anda boleh mempelajari asas -asas, katakan, NVI, perkara -perkara yang menarik minat kami (kerana anda sudah mengetahui asas -asas) hanya akan berfungsi pada vim. Sudah tentu, beberapa versi baru -baru ini, tidak lebih tua dari 7.3.x. Banyak perkara mungkin akan berfungsi pada 7.x atau mungkin 6.x, tetapi tidak ada jaminan.

Sama seperti dahulu, sedikit nasihat: walaupun ini dipengaruhi oleh keutamaan peribadi, pengalaman mengatakan ia berfungsi; Ia. Itu kerana banyak penyelenggara cenderung untuk membungkus barangan berkenaan dengan keutamaan peribadi mereka, yang mungkin atau mungkin tidak bersesuaian dengan anda. Memasang addon sedemikian semudah menyalin fail ke lokasi, tidak ada lagi. Dan, untuk kemudahan anda, kami akan memberitahu anda cara memasang melalui pengurus pakej anda.

Pengagihan yang saya ada pada saya pada ketika ini adalah Debian, Fedora, Gentoo dan Arch. Saya akan mencari kata kunci 'vim' pada masing-masing dan memberi anda beberapa petua dan petunjuk mengenai apa yang anda boleh pasang, maka kami akan pergi khusus bahasa.

Tambahan generik pada linux

Saya akan mulakan dengan pemasangan ujian debian saya, yang menyenaraikan beberapa tambahan untuk pelbagai bahasa, termasuk Perl, Tex, Lua, Python atau Ruby. Terdapat juga pengurus tambahan yang dicipta untuk membantu anda ... menguruskan vim addons. Pasang apa yang anda fikir yang anda perlukan, bergantung pada apa yang sedang anda kerjakan, dengan menyatakan bahawa dalam Debian, sintaks untuk nama pakej tersebut adalah seperti "bahasa vim- $". Anda juga boleh memasang "Vim-Scripts", yang membungkus skrip berguna yang disediakan oleh Vim di pokok sumber dalam runtime/ direktori. Fail -fail ini mempunyai .Pelanjutan Vim dan ditulis dalam Vimscript. Lebih banyak lagi mengenai perkara ini kemudian.

Sekiranya anda menggunakan gerbang, pastikan anda mempunyai repositori komuniti yang diaktifkan. Jika tidak, edit /etc /pacman.conf dan uncomment, kemudian kemas kini dengan -syu. Sebab saya sebenarnya mencadangkan ini kerana nampaknya terdapat banyak alat menarik di sini yang berkaitan dengan Vim. Beberapa cadangan ialah: Vim-Plugins (mencari dengan Pacman akan menyenaraikan kandungan individu), Vim-align, Vim-Pastie, Vim-Supertab atau Vim-Timestamp.

Di repositori Fedora (versi yang digunakan adalah 17) menawarkan beberapa tambahan yang menarik. Sebahagian daripada mereka akan menjadi fluxbox-vim-syntax, untuk fail konfigurasi fluxbox, glusterfs-vim, vim-clustershell, vim-erdtree atau uzbl-vim. Seperti yang saya dapat memahaminya, fungsi yang lebih baik dalam bentuk binari dinamakan dalam bentuk "vim-", manakala fail sintaks dinamakan songsang, seperti "-vim".

Gentoo dikenali, bersama Debian, mempunyai repositori kaya. Ini dapat diperhatikan dalam carian kami dan berikut adalah beberapa pakej yang menarik, bergantung kepada pilihan anda: VIM-R (untuk pembangunan R), Vimpress untuk menguruskan blog WordPress atau Zencoding-VIM untuk pemaju HTML/CSS. Sudah tentu, saya tidak mengulangi plugin yang telah saya nyatakan sebelum ini, jadi jangan fikir ini adalah satu -satunya tambahan di gentoo. Semua dalam semua, ia menjadi jelas bahawa anda boleh, seperti yang anda boleh dengan Emacs, menjadikan Vim sebagai IDE dan satu -satunya alat untuk digunakan semasa pengaturcaraan.

C/c++

Saya tidak mahu mengulangi idea bahawa saya menggariskan kali terakhir: semuanya bergantung pada gaya pengekodan yang anda ikuti, sama ada anda memilihnya atau anda harus. Sekarang anda tahu bahawa perintah Vim Colon bermula dengan : semasa berada dalam mod arahan, dan tetapan tinggal di ~/.vimrc dan boleh ditambah di sana dengan menggunakan sintaks yang sama, tolak kolon. Oleh itu, jika saya ingin menetapkan Tabstop sementara di lapan ruang, saya boleh mengeluarkan : tetapkan tabstop = 8, atau tambahkan tetapan ini secara kekal ke ~/.vimrc dengan demikian:

echo "set tabstop = 8" >> ~/.vimrc 

Umumnya, pengguna VI (m) menyukainya. Inilah sebabnya perintah kolon lebih mudah, dan juga menggunakan sintaks yang menyoroti. Vim sudah mempunyai kemudahan ini untuk pemaju C/C ++, anda hanya perlu menceritakannya mengenainya. Ini sekali lagi mencerminkan falsafah unix: anda mempunyai banyak kemudahan, tetapi anda perlu secara eksplisit membolehkan mereka. Gunakan Sintaks Enable untuk membolehkan sintaks penonjolan, atau sintaks pada Sekiranya anda ingin menyimpan tetapan warna anda. Lebih banyak mengenai ini dan bagaimana menulis fail sintaks anda sendiri boleh didapati dengan mudah. Kembali sedikit ke jarak dan lekukan, sebaiknya anda tahu tentang wiki vim, yang, sama seperti setara emacs, mempunyai banyak maklumat. Dan maksud saya banyak.

Terdapat perbezaan antara tabstop dan shiftwidth: sementara TabStop menetapkan bilangan ruang yang dimasukkan apabila anda menekan kekunci tab, shiftwidth menetapkan bilangan ruang yang akan dimasukkan apabila kod indenting. Juga, jika anda mahu vim memasukkan ruang x apabila tab ditekan, tetapkan expandTab, lain menggunakan noexpandtab. Komen diperkenalkan dengan demikian:

Tetapkan shiftWidth = 8 "menetapkan lebar shift pada lapan chars" dan ini adalah komen pada baris dengan sendirinya 

Sama seperti di Emacs, jika gaya pengekodan anda (atau harus) yang memasukkan pendakap pembukaan selepas jika atau sementara atau apa sahaja, anda tidak perlu mengubah apa -apa.

SQL

Kami telah menemui beberapa fail sintaks SQL, tetapi nampaknya fokus pada Oracle 9i. Anda boleh memasangnya dengan hanya menyalin ~/.Vim/Sintaks . Adalah idea yang baik untuk melayari bahagian skrip di laman VIM, kerana anda sentiasa dapat mencari tema warna baru yang mungkin anda sukai atau skrip yang mungkin anda dapati berguna. Sedikit carian di halaman tersebut membuatkan saya banyak hasil SQL, beberapa dari mereka bahkan menyokong lebih banyak dialek SQL, seperti Sybase atau MS. Oleh kerana itu SQL, anda boleh menggunakannya untuk menulis kod untuk RDBMS lain, selagi kod tersebut tidak mempunyai beberapa pembinaan khusus yang tidak difahami oleh plugin. Skrip SQL lebih berorientasikan kepada penyelesaian pangkalan data OSS boleh dimuat turun dari laman skrip juga.

Bahasa lain

Saya ingin melihat sama ada bahasa yang lebih kurang dikenali/digunakan mempunyai skrip yang sepadan di laman web Vim, jadi saya mencari Coldfusion, Cobol dan Ada. Itu bukan untuk membuang bahasa -bahasa itu, tetapi mereka bukan yang paling popular, dengan pasti. Tahu tak? Saya menjumpai skrip sintaks untuk setiap satu daripada mereka. Inilah sebabnya saya fikir bahawa berterusan dengan bahasa lain akan berlebihan: semuanya mengenai memuat turun a .fail vim ke lokasi yang tidak mungkin menjadi ~/vim/skrip, seperti yang dicadangkan ~/.vim/ftplugin atau ~/.vim/indent/, dan mula pengekodan. Dengan cara ini, setiap halaman plugin mempunyai bahagian di mana ia memberitahu anda di mana untuk meletakkan fail untuk menggunakannya. Tetapi lokasi tidak wajib, ia diberikan oleh tujuan fail, e.g. Indentation vs sintaks. Ingat ada Plugin FileType dihidupkan di ~/.vimrc supaya editor memuat fail sintaks bergantung pada sambungan fail (.c, .php, .html dan sebagainya). Untuk melihat apa direktori vim mencari plugin, taipkan : Tetapkan RunTimePath?, Dan jika anda ingin menambah lokasi baru, gunakan += operator.

Skim warna

Ini adalah peraturan yang kelihatan jelas, tetapi saya akan mengatakannya: Jika anda tidak mempunyai direktori dalam ~/.Vim yang perlu memasang a .Fail vim masuk, buat sahaja. Oleh itu, buat direktori warna dalam ~/.vim, muat turun skema warna pilihan anda, dengan menyatakan bahawa kebanyakan mereka mempunyai tangkapan skrin, dan jenis : Nama Colosrcheme.vim. Terpulang kepada anda untuk mengetahui cara mendapatkan Vim untuk menggunakan skim yang berbeza untuk bahasa yang berbeza. Jika anda memilih tema, katakan, bernama "kernel", tambahkan ini ke ~/.vimrc: Colorscheme kernel. Anda tidak perlu menggunakan .suffix vim.

Kesimpulan

Walaupun berbeza dengan reka bentuk dan falsafah, kedua -dua editor utama yang pengguna GNU/Linux mempunyai untuk membuat persekitaran yang disesuaikan untuk banyak tugas yang berbeza, selain pengaturcaraan. Anda boleh membuat fail sintaks anda sendiri bukan sahaja untuk bahasa pengaturcaraan, tetapi untuk fail konfigurasi juga, walaupun itu akan menjadi lebih banyak latihan daripada isu praktikal.

Tutorial Linux Berkaitan:

  • Perkara yang hendak dipasang di Ubuntu 20.04
  • Perkara yang perlu dilakukan setelah memasang ubuntu 20.04 Focal Fossa Linux
  • Cara Menggunakan Adb Android Debug Bridge untuk Mengurus Android Anda ..
  • Perkara yang perlu dilakukan setelah memasang Ubuntu 22.04 Jur -ubur Jammy ..
  • Pengenalan kepada Automasi, Alat dan Teknik Linux
  • Perkara yang perlu dipasang di Ubuntu 22.04
  • Ubuntu 20.04 Panduan
  • Cara Menggulung Kemas Kini Pacman Di Arch Linux
  • Pasang Arch Linux di Workstation VMware
  • Sistem Hung Linux? Cara melarikan diri ke baris arahan dan ..