Saya baru mengenal JS & Vim. Plugin mana yang akan membantu saya menulis kode Javascript?
Saya baru mengenal JS & Vim. Plugin mana yang akan membantu saya menulis kode Javascript?
Jawaban:
Ada cara yang sangat mudah untuk mengintegrasikan JSLint atau jshint.com berbasis komunitas (yang jauh lebih baik IMO) dengan Vim menggunakan plugin Syntastic Vim. Lihat posting saya yang lain untuk info lebih lanjut.
Ada juga cara yang sangat rapi untuk menambahkan tag-listing menggunakan Mozilla DoctorJS (sebelumnya jsctags ), yang juga digunakan di Cloud9 IDE 's Ace editor online .
apt-get, rumahbrew Mac , dll.):
exuberant-ctags
ctagsbenar-benar berjalan exuberant-ctagsdan bukan OS yang diinstal sebelumnya ctags. Anda dapat mengetahuinya dengan mengeksekusi ctags --version.node (Node.js)DoctorJSdari github:git clone https://github.com/mozilla/doctorjs.gitDoctorJSdir dan make install(Anda juga harus makememasang aplikasi, tetapi ini sangat mendasar).
make installtidak melakukan trik untuk saat ini. Untuk saat ini saya hanya menambahkan bin/dir repo ke $ PATH saya sebagai gantinya. Lihat GitHub DoctorJS dan halaman masalah untuk info lebih lanjut.DoctorJS saat ini sudah mati . Ada proyek yang menjanjikan baru yang disebut tern.js . Saat ini dalam versi beta awal, dan pada akhirnya harus menggantinya.
Ada ramitos proyek / jsctags yang menggunakan tiga barang sebagai mesinnya. Hanya npm install -gitu, dan tagbar akan secara otomatis menggunakannya untuk file javascript.
git submodule init && git submodule update. Kemudian lakukan langkah 3.
brew install ctags-exuberant
snipMate mengemulasi ⇥sistem penyisipan TextMate dan dilengkapi dengan sekumpulan snipet JS yang berguna (antara lain) secara default. Sangat mudah untuk menambahkan milik Anda sendiri.
javaScriptLint memungkinkan Anda untuk memvalidasi kode Anda terhadap jsl.
Anda juga dapat menemukan berbagai file sintaksis JavaScript di vim.org. Cobalah dan lihat mana yang paling cocok untuk Anda dan gaya pengkodean Anda.
Omnicomplete asli ( ctrlx- ctrlo) bekerja sangat baik untuk saya. Anda dapat membuatnya lebih dinamis dengan autoComplPop , tetapi kadang-kadang bisa mengganggu.
sunting, sebagai tanggapan atas komentar tarek11011:
acp tidak berfungsi untuk JavaScript secara default, Anda harus mengubah sedikit. Inilah cara saya melakukannya (hack kotor, saya masih seorang Vim noob):
Dalam vim-autocomplpop / plugin / acp.vim saya telah menambahkan phpdan javascript(dan actionscript) behavssehingga terlihat seperti itu:
let behavs = {
\ '*' : [],
\ 'ruby' : [],
\ 'python' : [],
\ 'perl' : [],
\ 'xml' : [],
\ 'html' : [],
\ 'xhtml' : [],
\ 'css' : [],
\ 'javascript' : [],
\ 'actionscript' : [],
\ 'php' : [],
\ }
Sedikit di bawah, ada serangkaian blok kode yang terlihat seperti itu:
"---------------------------------------------------------------------------
call add(behavs.ruby, {
\ 'command' : "\<C-x>\<C-o>",
\ 'meets' : 'acp#meetsForRubyOmni',
\ 'repeat' : 0,
\ })
Saya telah menggandakan yang ini dan sedikit mengeditnya agar terlihat seperti itu:
"---------------------------------------------------------------------------
call add(behavs.javascript, {
\ 'command' : "\<C-x>\<C-o>",
\ 'meets' : 'acp#meetsForRubyOmni',
\ 'repeat' : 0,
\ })
dan melakukan hal yang sama untuk script dan php.
Jika Anda ingin mengedit JS / CSS dalam dokumen HTML yang dapat Anda lakukan: set ft = html.css.javascript di baris perintah Vim untuk membuat ctrlx- ctrlobekerja seperti yang diharapkan pada metode / properti nama dalam blok JS dan properti / nilai dalam blok CSS. Namun pendekatan ini juga memiliki kelemahan (lekukan aneh ...).
This plugin is also useful: https://github.com/maksimr/vim-jsbeautify. It provides full autoformatting for javascript. One keystroke, and your code looks beautiful. It can come in handy when pasting code snippets as well. It makes use of the popular js-beautifier, which can also be found as an online application. The latter can be found right here: http://jsbeautifier.org/.
I only use one js specific vim plugin - jslint.vim - https://github.com/hallettj/jslint.vim which validates your code with jslints rules and gives you syntax errors as well.
To fix indentation and autoformatting (Ctrl =): JavaScript Indent
To set indentation width, add javascript.vim file into ~/.vim/ftplugin dir with following contents (for two space indentation):
setl sw=2 sts=2 et
~/.vimrc : autocmd FileType javascript setlocal sw=2 ts=2 sts=2