ฉันเพิ่งเริ่มใช้ JS & Vim ปลั๊กอินใดที่จะช่วยฉันในการเขียนโค้ด Javascript
ฉันเพิ่งเริ่มใช้ JS & Vim ปลั๊กอินใดที่จะช่วยฉันในการเขียนโค้ด Javascript
คำตอบ:
มีวิธีที่ง่ายมากในการรวม JSLint หรือjshint.com ที่ขับเคลื่อนโดยชุมชน(ซึ่งเป็น IMO ที่ดีกว่ามาก) กับ Vim โดยใช้ปลั๊กอิน Syntastic Vim ดูโพสต์อื่น ๆ ของฉันสำหรับข้อมูลเพิ่มเติม
นอกจากนี้ยังมีวิธีที่ประณีตมากที่จะเพิ่มแท็กรายชื่อโดยใช้ของ Mozilla DoctorJS (เดิมjsctags ) ซึ่งยังใช้ในการCloud9 IDE 's Ace บรรณาธิการออนไลน์
apt-get
ของ Mac ฯลฯ ):
brew
exuberant-ctags
ctags
จริงทำงานและไม่ได้ระบบปฏิบัติการที่ติดตั้งไว้แล้วexuberant-ctags
คุณสามารถหาข้อมูลโดยการดำเนินการctags
ctags --version
node
(Node.js)DoctorJS
จาก github:git clone https://github.com/mozilla/doctorjs.git
DoctorJS
dir และmake install
(คุณจะต้องmake
ติดตั้งแอพด้วย แต่นี่เป็นพื้นฐานมาก)
make install
ไม่ได้ทำเคล็ดลับในขณะนี้ ตอนนี้ฉันแค่เพิ่มbin/
dir repo ใน$ PATH ของฉันแทน ดูGitHub ของ DoctorJS และหน้าปัญหาสำหรับข้อมูลเพิ่มเติมDoctorJS ปัจจุบันตาย มีโปรเจ็กต์ใหม่ที่มีแนวโน้มชื่อว่าtern.js tern.jsขณะนี้อยู่ในช่วงเบต้าและควรแทนที่ในที่สุด
มีโครงการramitos / jsctagsซึ่งใช้ tern เป็นเครื่องมือ เพียงแค่npm install -g
นั้นแท็กบาร์จะใช้สำหรับไฟล์จาวาสคริปต์โดยอัตโนมัติ
git clone --recursive https://github.com/mozilla/doctorjs.git
และจากนั้นให้ติดตั้งควรจะทำงาน
git submodule init && git submodule update
. จากนั้นทำขั้นตอนที่ 3
brew install ctags-exuberant
snipMateเลียนแบบ TextMate⇥ระบบการแทรกและมาพร้อมกับตัวอย่างข้อมูล JS ที่มีประโยชน์มากมาย (รวมถึงอื่น ๆ ) โดยค่าเริ่มต้น ง่ายมากที่จะเพิ่มของคุณเอง
javaScriptLintช่วยให้คุณตรวจสอบรหัสของคุณกับjsl
นอกจากนี้คุณสามารถค้นหาไฟล์ไวยากรณ์ JavaScript ที่หลากหลายได้ใน vim.org ลองใช้และดูว่าอันไหนดีที่สุดสำหรับคุณและสไตล์การเขียนโค้ดของคุณ
omnicomplete พื้นเมือง ( ctrlx- ctrlo) ทำงานได้ดีสำหรับฉัน คุณสามารถทำให้มันมีไดนามิกมากขึ้นด้วยautoComplPopแต่บางครั้งมันก็น่ารำคาญ
แก้ไขตามความคิดเห็นของ tarek11011:
acp ใช้ไม่ได้กับ JavaScript โดยค่าเริ่มต้นคุณต้องปรับแต่งเล็กน้อย นี่คือวิธีที่ฉันทำ (แฮ็คสกปรกฉันยังคงเป็น Vim noob):
ใน vim-autocomplpop / plugin / acp.vim ฉันได้เพิ่มphp
และjavascript
(และactionscript
) เพื่อbehavs
ให้ดูเหมือนว่า:
let behavs = {
\ '*' : [],
\ 'ruby' : [],
\ 'python' : [],
\ 'perl' : [],
\ 'xml' : [],
\ 'html' : [],
\ 'xhtml' : [],
\ 'css' : [],
\ 'javascript' : [],
\ 'actionscript' : [],
\ 'php' : [],
\ }
ด้านล่างเล็กน้อยมีชุดรหัสบล็อกที่มีลักษณะดังนี้:
"---------------------------------------------------------------------------
call add(behavs.ruby, {
\ 'command' : "\<C-x>\<C-o>",
\ 'meets' : 'acp#meetsForRubyOmni',
\ 'repeat' : 0,
\ })
ฉันได้ทำซ้ำสิ่งนี้และแก้ไขเล็กน้อยเพื่อให้มีลักษณะดังนี้:
"---------------------------------------------------------------------------
call add(behavs.javascript, {
\ 'command' : "\<C-x>\<C-o>",
\ 'meets' : 'acp#meetsForRubyOmni',
\ 'repeat' : 0,
\ })
และทำเช่นเดียวกันกับ actionscript และ php
หากคุณต้องการแก้ไข JS / CSS ภายในเอกสาร HTML คุณสามารถทำได้: ตั้งค่า ft = html.css.javascript ในบรรทัดคำสั่งของ Vim เพื่อให้ctrlx- ctrloทำงานตามที่คาดไว้กับชื่อ method / properties ในบล็อก JS และคุณสมบัติ / ค่าในบล็อก CSS อย่างไรก็ตามวิธีนี้ก็มีข้อเสียเช่นกัน (การเยื้องแปลก ๆ …)
ปลั๊กอินนี้ยังมีประโยชน์: https://github.com/maksimr/vim-jsbeautify มีการจัดรูปแบบอัตโนมัติเต็มรูปแบบสำหรับจาวาสคริปต์ การกดแป้นพิมพ์เพียงครั้งเดียวรหัสของคุณจะดูสวยงาม อาจมีประโยชน์เมื่อวางข้อมูลโค้ดเช่นกัน ใช้ประโยชน์จาก js-beautifier ยอดนิยมซึ่งสามารถพบได้ในแอปพลิเคชันออนไลน์ หลังสามารถพบได้ที่นี่: http://jsbeautifier.org/
ฉันใช้เพียงหนึ่งปลั๊กอิน vim เฉพาะ js - jslint.vim - https://github.com/hallettj/jslint.vimซึ่งตรวจสอบรหัสของคุณด้วยกฎ jslints และให้ข้อผิดพลาดทางไวยากรณ์ด้วย
ในการแก้ไขการเยื้องและการจัดรูปแบบอัตโนมัติ (Ctrl =): การเยื้อง JavaScript
ในการตั้งค่าความกว้างของการเยื้องให้เพิ่มjavascript.vim
ไฟล์ลงใน ~ / .vim / ftplugin dir พร้อมเนื้อหาต่อไปนี้ (สำหรับการเยื้องช่องว่างสองช่อง):
setl sw=2 sts=2 et
~/.vimrc
:autocmd FileType javascript setlocal sw=2 ts=2 sts=2