Tôi mới biết về JS & Vim. Những plugin nào sẽ giúp tôi viết mã Javascript?
Tôi mới biết về JS & Vim. Những plugin nào sẽ giúp tôi viết mã Javascript?
Câu trả lời:
Có một cách rất dễ dàng để tích hợp JSLint hoặc jshint.com hướng đến cộng đồng (IMO tốt hơn nhiều) với Vim bằng cách sử dụng plugin Syntastic Vim. Xem bài viết khác của tôi để biết thêm.
Ngoài ra còn có một cách rất gọn gàng để thêm danh sách thẻ bằng cách sử dụng DoctorJS của Mozilla (trước đây là jsctags ), cũng được sử dụng trong trình chỉnh sửa trực tuyến Ace của IDE của Cloud9 .
apt-get
, nhàbrew
của Mac , v.v.):
exuberant-ctags
ctags
thực sự chạy exuberant-ctags
và không cài đặt sẵn hệ điều hành ctags
. Bạn có thể tìm ra bằng cách thực hiện ctags --version
.node
(Node.js)DoctorJS
sao từ github:git clone https://github.com/mozilla/doctorjs.git
DoctorJS
dir và make install
(Bạn cũng sẽ cần make
cài đặt ứng dụng, nhưng điều này rất cơ bản).
make install
không thực hiện được mẹo này vào lúc này. Bây giờ tôi chỉ cần thêm bin/
thư mục của repo vào $ PATH của mình. Xem GitHub của DoctorJS và các trang phát hành để biết thêm thông tin.DoctorJS hiện đã chết . Có một dự án đầy hứa hẹn mới gọi là tern.js . Hiện tại nó đang ở giai đoạn đầu beta và cuối cùng sẽ thay thế nó.
Có một dự án ramitos / jsctags sử dụng chim nhạn làm động cơ của nó. Chỉ npm install -g
có nó và tagbar sẽ tự động sử dụng nó cho các tệp javascript.
git submodule init && git submodule update
. Sau đó thực hiện bước 3.
brew install ctags-exuberant
snipMate mô phỏng ⇥hệ thống chèn của TextMate và đi kèm với một loạt các đoạn mã JS hữu ích (trong số các đoạn khác) theo mặc định. Thật dễ dàng để thêm của riêng bạn.
javaScriptLint cho phép bạn xác thực mã của mình chống lại jsl.
Ngoài ra, bạn có thể tìm thấy nhiều tệp cú pháp JavaScript trên vim.org. Hãy thử chúng và xem cái nào phù hợp nhất với bạn và phong cách mã hóa của bạn.
Omnicomplete ( ctrlx- ctrlo) bản địa hoạt động rất tốt đối với tôi. Bạn có thể làm cho nó năng động hơn với autoComplPop , nhưng đôi khi nó có thể gây khó chịu.
chỉnh sửa, để đáp lại bình luận của tarek11011:
acp không hoạt động với JavaScript theo mặc định, bạn phải điều chỉnh nó một chút. Đây là cách tôi đã làm (hack bẩn, tôi vẫn là Vim noob):
Trong vim-autocomplpop / plugin / acp.vim tôi đã thêm php
và javascript
(và actionscript
) để behavs
nó trông như thế:
let behavs = {
\ '*' : [],
\ 'ruby' : [],
\ 'python' : [],
\ 'perl' : [],
\ 'xml' : [],
\ 'html' : [],
\ 'xhtml' : [],
\ 'css' : [],
\ 'javascript' : [],
\ 'actionscript' : [],
\ 'php' : [],
\ }
Một chút bên dưới, có một loạt các khối mã trông như thế:
"---------------------------------------------------------------------------
call add(behavs.ruby, {
\ 'command' : "\<C-x>\<C-o>",
\ 'meets' : 'acp#meetsForRubyOmni',
\ 'repeat' : 0,
\ })
Tôi đã sao chép cái này và chỉnh sửa nó một chút để trông như thế:
"---------------------------------------------------------------------------
call add(behavs.javascript, {
\ 'command' : "\<C-x>\<C-o>",
\ 'meets' : 'acp#meetsForRubyOmni',
\ 'repeat' : 0,
\ })
và đã làm tương tự cho Actioncript và php.
Nếu bạn muốn chỉnh sửa JS / CSS trong tài liệu HTML, bạn có thể thực hiện: đặt ft = html.css.javascript trong dòng lệnh của Vim để thực hiện ctrlx- ctrlohoạt động như mong đợi đối với tên phương thức / thuộc tính trong khối JS và thuộc tính / giá trị trong khối CSS. Tuy nhiên, cách tiếp cận này cũng có nhược điểm của nó (thụt lề kỳ lạ).
Plugin này cũng hữu ích: https://github.com/maksimr/vim-jsbeautify . Nó cung cấp tự động định dạng đầy đủ cho javascript. Một tổ hợp phím và mã của bạn trông rất đẹp. Nó có thể có ích khi dán đoạn mã là tốt. Nó sử dụng js-beautifier phổ biến, cũng có thể được tìm thấy như một ứng dụng trực tuyến. Cái sau có thể được tìm thấy ngay tại đây: http://jsbeautifier.org/ .
Tôi chỉ sử dụng một plugin vim cụ thể của js - jslint.vim - https://github.com/hallettj/jslint.vim để xác thực mã của bạn bằng các quy tắc jslint và cũng cung cấp cho bạn lỗi cú pháp.
Để sửa lỗi thụt lề và tự động định dạng (Ctrl =): thụt lề JavaScript
Để đặt độ rộng thụt lề, thêm javascript.vim
tệp vào thư mục ~ / .vim / ftplugin với nội dung sau (đối với hai khoảng cách thụt lề):
setl sw=2 sts=2 et
~/.vimrc
:autocmd FileType javascript setlocal sw=2 ts=2 sts=2