Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >面向web前端及node开发人员的vi

面向web前端及node开发人员的vi

作者头像
py3study
发布于 2020-01-06 09:34:42
发布于 2020-01-06 09:34:42
47500
代码可运行
举报
文章被收录于专栏:python3python3
运行总次数:0
代码可运行

鉴于 window 下基本用不到 vim,所以下面内容不再提及 window,具体可以在相应 github 中查看手册 操作基础:已装有上有 nodejs(npm)。没装的可以移步官网:https://nodejs.org/en/ <!--善其事利其器(3) - --> 另有 sublime 配置方式,请移步:sublime配置及使用技巧

插件管理工具 pathogen

github地址: github

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mkdir -p ~/.vim/autoload ~/.vim/bundle && \
curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim

插件

安装插件都在 ~/.vim/bundle/ 中安装,以下部分操作可能需要 root 权限

  • vim-sensible vim新人专属 github
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd ~/.vim/bundle/
git clone git://github.com/tpope/vim-sensible.git
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd ~/.vim/bundle/
git clone https://github.com/vim-airline/vim-airline-themes.git
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd ~/.vim/bundle/
git clone https://github.com/vim-airline/vim-airline-themes ~/.vim/bundle/vim-airline-themes
  • Emmet 快速建立html树 github
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd ~/.vim/bundle/
git clone https://github.com/mattn/emmet-vim.git
  • editorconfig 编辑器配置 github
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd ~/.vim/bundle/
git clone https://github.com/editorconfig/editorconfig-vim.git

新建文件 vim ~/.vim/.editconfig (可自定义,通常放在项目根目录),键入以下设置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
root = true

indent_style = space
indent_size = 2
tab_width = 2
end_of_line = lf
charset = utf-8
insert_final_newline = true
trim_trailing_whitespace = true
  • vim-multiple-cursors 支持多行编辑 github
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd ~/.vim/bundle/
git clone https://github.com/terryma/vim-multiple-cursors.git
  • unite-vim 快速管理项目中的文件 github
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd ~/.vim/bundle/
git clone https://github.com/Shougo/unite.vim.git
  • vim-javascript 缩进和语法支持 github
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd ~/.vim/bundle/
git clone https://github.com/pangloss/vim-javascript.git
  • jsDoc 对 vim-javascript 的补充,支持 es6和 TypeScirpt github
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd ~/.vim/bundle/
git clone https://github.com/heavenshell/vim-jsdoc.git
  • Fugitive git版本控制 github
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git clone git://github.com/tpope/vim-fugitive.git
vim -u NONE -c "helptags vim-fugitive/doc" -c q
  • syntastic 语法检查 github
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd ~/.vim/bundle/
git clone --depth=1 https://github.com/vim-syntastic/syntastic.git

syntastic 需要一些其他的

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
npm install -g jslint
npm install -g csslint
cd ~/.vim/bundle/
git clone https://github.com/hail2u/vim-css3-syntax.git
brew install tidy-html5
  • vim-css-color 自动预览颜色 github
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd ~/.vim/bundle/
git clone https://github.com/skammer/vim-css-color.git
  • vim-snipmate 自动完成代码块 github
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd ~/.vim/bundle/
git clone https://github.com/tomtom/tlib_vim.git
git clone https://github.com/MarcWeber/vim-addon-mw-utils.git
git clone https://github.com/garbas/vim-snipmate.git
# Optional:
git clone https://github.com/honza/vim-snippets.git
  • vim-surround 辅助格式控制(用于括号、引号等) github
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd ~/.vim/bundle/
git clone git://github.com/tpope/vim-surround.git
  • jsbeauty-vim 自动美化代码,可配合 vim-autoformat 使用 github
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd ~/.vim/bundle/
git clone https://github.com/maksimr/vim-jsbeautify.git
cd vim-jsbeautify && git submodule update --init --recursive
  • vim-markdown 把高亮功能推广到 markdown github
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd ~/.vim/bundle/
git clone https://github.com/plasticboy/vim-markdown.git
  • vim-instant-markdown 预览 markdown githjub
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
npm -g install instant-markdown-d
  • vim-markdown-toc 为 markdown 生成标题 github
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd ~/.vim/bundle/
git clone https://github.com/mzlogin/vim-markdown-toc.git
  • youcompleteme 代码提示和补全 github

这个放在最后因为它比较复杂。属于可选的插件,根据自己需求安装。 首先,在 vim normal 模式输入 :version 查看其版本,要求版本大于7.4.143, 否则更新它。 其次,在 vim normal 模式输入 :echo has('python') || has('python3'), 如果输出为0,请更新 vim 以支持 python。 之后,在终端输入:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd ~/.vim/bundle/
git clone https://github.com/Valloric/YouCompleteMe.git
cd ~/.vim/bundle/YouCompleteMe/
git submodule update --init --recursive
cd ~/.vim/bundle/YouCompleteMe/third_party/ycmd/third_party/tern_runtime
npm install --production

如果你需要支持 typescript,安装:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
npm install -g typescript
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd ~/.vim/bundle/
git clone https://github.com/groenewege/vim-less

到这里还没有完,作为前端人,这个还不能正常工作,它需要一些依赖,下面我们来安装这些依赖:

回到 bundle 目录 安装

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd ~/.vim/bundle
git clone https://github.com/ternjs/tern_for_vim.git
cd ~/.vim/bundle/tern_for_vim
npm install

之后需要在您的项目根目录建立一个 .tern-project 文件,没有内容,空白即可。该文件内部结构如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{ "libs": [ "browser", "jquery" ], "loadEagerly": [ "importantfile.js" ], "plugins": {
    "requirejs": {
      "baseURL": "./",
      "paths": {}
    }
  }
}

此部分详细配置在此 http://ternjs.net/doc/manual.html

  • apt-vim 自动管理插件 github

这里再安装一个插件自动管理插件,也比较麻烦,根据自己需求安装:

  1. 自动安装
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
curl -sL https://raw.githubusercontent.com/egalpin/apt-vim/master/install.sh | sh

2.手动安装 需要Python2.7.x或Python3.0+

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd ~/.vim/bundle/
git clone https://github.com/egalpin/apt-vim.git
cd apt-vim
sudo ./apt-vim init

编辑 ~/.bashrc 或 ~/.bash_profile , 添加下面一句话

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
export PATH=$PATH:~/.vimpkg/bin

编辑 ~/.vimrc 添加:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
execute pathogen#infect()
call pathogen#helptags()

继续在终端执行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
source ~/.bashrc
apt-vim install

如果这里提示了:Completed successfully. 那就大功告成了。

到此为止,作为一个前端人的 vim 就基本搭建好了,如果还有什么好用的插件欢迎分享交流,如果你觉得这些插件还足够,可以去知乎、stackoverflow、或 github 上再挖掘一些。一些更高级插件会随着博主的积累,不断更新这篇内容的,欢迎关注。

下面附了我 .vimrc.editorconfig 文件的内容:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
"vimrc
"vim original config
set ignorecase        " ignore upper- or lowercase in search model
set smartcase         " if there is uppercase in search string ignore 'ignorecase' setting. it only works with 'ignorecase' setting
set autowrite         " auto write changes into file after :next、:rewind、:last、:first、:previous、:stop、:suspend、:tag、:!:make、<C-]> or <C-^> runs, as well as jumps to another file with :buffer、<C-O><C-I>'{A-Z0-9}' or `{A-Z0-9}`
set nocompatible      "Donot compate with vi, to avoid some bugs
filetype on           "check the file type
set autoindent        " use auto-indentation
set smartindent       " use smart indentation
set tabstop=2         " set the width of tab key
set softtabstop=2     " set the width of soft key
set shiftwidth=2      " auto-indent with 2 spaces
set backspace=2       " enable to use backspace
set showmatch         " show the matched braces
set linebreak         " wrap without breakword
set whichwrap=b,s,<,>,[,]   "jump to previous/next line when cursor at the head/end of line when input 'b'/'w' in normal model
set relativenumber    " show relative line number
set previewwindow     " show preview window
set history=1000      " set command history to 1000
set laststatus=2      " show the last activited window's status line always
set ruler             " show line number and column number in status  line

"command line setting
set showcmd           " show inputted command in command line
set showmode          " show current model in command line
set showmatch         "show match brace
set guioptions=T      "remove the toolbar in GUI
filetype on           "check the file type

"finding setting
set incsearch         " show matched words when input string
set hlsearch

"pathongen
execute pathogen#infect()
syntax on
filetype plugin indent on

"airline
let g:airline_theme='molokai'    "use a theme called 'molokai'
let g:airline#extensions#tabline#enabled=1    "show the tab line on the top
let g:airline_powerline_fonts=1    "use powerline fonts

"emmet
let g:user_emmet_mode='n'    "only enable normal mode functions.
let g:user_emmet_mode='inv'  "enable all functions, which is equal to
let g:user_emmet_mode='a'    "enable all function in all mode.
let g:user_emmet_install_global=0
autocmd FileType html,css EmmetInstall    "enable for just html/css
let g:user_emmet_leader_key='<C-Z>'    "change the default key(<C-Y>) to <C-Z>,  the trailing ',' still needs to be entered as well

"editConfig
let g:EditorConfig_exclude_patterns = ['fugitive://.*']    "ensure that this plugin works well with Tim Pope's fugitive
let g:EditorConfig_exclude_patterns = ['scp://.*']    "avoid loading EditorConfig for any remote files over ssh
let g:EditorConfig_exec_path = '~/.vim/.editorconfig'
let g:editorconfig_Beautifier = '~/.vim/.editorconfig'
"vim-javascript
let g:javascript_plugin_jsdoc=1    "Enables syntax highlighting for JSDocs.
let g:javascript_plugin_ngdoc=1    "Enables some additional syntax highlighting for NGDocs. Requires JSDoc plugin to be enabled as well.

"jsDoc
let g:jsdoc_enable_es6=1    "Enable to use ECMAScript6's Shorthand function, Arrow function.
let g:javascript_plugin_flow=1    "Enables syntax highlighting for Flow.

"syntastic
set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*
let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 0
let g:syntastic_enable_highlighting=1

"apt-vim
execute pathogen#infect()
call pathogen#helptags()

"jsbeautify
autocmd FileType javascript noremap <buffer>  <c-f> :call JsBeautify()<cr>
autocmd FileType json noremap <buffer> <c-f> :call JsonBeautify()<cr>
autocmd FileType jsx noremap <buffer> <c-f> :call JsxBeautify()<cr>
autocmd FileType html noremap <buffer> <c-f> :call HtmlBeautify()<cr>
autocmd FileType css noremap <buffer> <c-f> :call CSSBeautify()<cr>

"vimCSS3syntsx
augroup VimCSS3Syntax
  autocmd!
  autocmd FileType css setlocal iskeyword+=-
augroup END

"vimCSScolor
let g:cssColorVimDoNotMessMyUpdatetime = 1

"YCM
let g:ycm_semantic_triggers =  { 'scss,css': [ 're!^\s{2,4}', 're!:\s+' ], 'html': ['<', '"', '</', ' '] }

"less2css
let g:less_autocompile = 1  " 这是开关 设置1保存less自动生成css  设置0关闭
function! s:auto_less_compile() " {{{
  if g:less_autocompile != 0
    try
      let css_name = expand("%:r") . ".css"
      let less_name = expand("%")
      if filereadable(css_name) || 0 < getfsize(less_name)
        let cmd = ':!lessc '.less_name.' 'css_name.' '
        silent execute cmd
      endif
    endtry
  endif
endfunction " }}}
autocmd BufWritePost *.less call s:auto_less_compile()
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
;.editorconfig
root = true

indent_style = space
indent_size = 2
tab_width = 2
end_of_line = lf
charset = utf-8
insert_final_newline = true
trim_trailing_whitespace = true

[**.js]
path=~/.vim/bundle/js-beautify/js/lib/beautify.js
bin=node

[**.jsx]
e4x = true
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/09/28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
vimrc配色和快捷键【工具】
效果如下: 源码如下: 1 "    ___
sinnoo
2020/11/13
1.1K0
vimrc配色和快捷键【工具】
专属于你自己的vim 神器的打造方式
Vim 是一个上古神器,本篇文章主要持续总结使用 Vim 的过程中不得不了解的一些指令和注意事项,以及持续分享一个前端工作者不得不安装的一些插件,而关于 Vim 的简介,主题的选择,以及为何使用 vi
小小科
2018/05/03
9480
专属于你自己的vim 神器的打造方式
10分钟教你为自己打造一个专属VIM
Vim 是一个上古神器,本篇文章主要持续总结使用 Vim 的过程中不得不了解的一些指令和注意事项,以及持续分享一个前端工作者不得不安装的一些插件,而关于 Vim 的简介,主题的选择,以及为何使用 vim-plug 来管理插件等内容,有兴趣的同学下来可以自己了解和对比下。
马哥linux运维
2019/04/10
1.2K0
10分钟教你为自己打造一个专属VIM
打造一款高逼格的Vim神器
Vim 是一个上古神器,本篇文章主要持续总结使用 Vim 的过程中不得不了解的一些指令和注意事项,以及持续分享一个前端工作者不得不安装的一些插件,而关于 Vim 的简介,主题的选择,以及为何使用 vim-plug 来管理插件等内容,有兴趣的同学下来可以自己了解和对比下。
龙哥
2020/11/19
1.1K0
打造一款高逼格的Vim神器
python学习-vim插件安装
Vundle 是 Vim bundle 的简称,使用git来管理vim插件,有了它,安装其它插件就方便很多。
py3study
2020/01/06
1.4K0
python学习-vim插件安装
有了这个神器,再也不怕shell写得不对了
写过shell脚本的人都知道,即便出现一些简单的语法错误,运行的时候也可能没有办法发现。有些看似运行正确的脚本,实际上可能在某些分支,某些场景下仍然出现错误,而有的写法可能运行正常,但是却不符合POSIX标准,不具备可移植性。
编程珠玑
2020/04/14
1.3K0
Vim的配置说明
在网上参考了某大牛个vim配置,然后更改添加了一部分,形成了自己的配置,让Vim变的更强大。
xindoo
2021/01/21
1.1K0
将vim配置成python编辑器
参考: 1. Vim与Python真乃天作之合:打造强大的Python开发环境 2. vundle: vim插件管理安装之错误总结 3. 使用vim打造自己的python编辑器 4. 使用vim打造自己的python编辑器
py3study
2020/01/03
8940
手把手教你配置linux下C++开发工具——vim+ycm(YouCompleteMe),支持基于语义的自动补全和第三方库补全(史上最简单、史上最透彻、史上最全的终极解决方案)
截止到目前,vim稳定版本已经到了8.2+,ycm(YouCompleteMe的简称)最新版本与几年前的安装配置截然不同了。之前网上很多教程也教不得法,生搬硬套,没有讲透彻。所以,才下定决心写一篇自认为史上最简单、史上最全的教程出来。
Java架构师历程
2020/11/10
6.2K0
手把手教你配置linux下C++开发工具——vim+ycm(YouCompleteMe),支持基于语义的自动补全和第三方库补全(史上最简单、史上最透彻、史上最全的终极解决方案)
VIM个性化配置(一)
只需在Home目录创建一个 ~/.vimrc 文件即可以配置 vim 了,如需安装插件,在 ~/.vim 目录下创建一个bundle文件夹,插件装在里面。(需安装 Vundle 插件管理器),将以下内容拷入~/.vimrc 文件中即可。
宋天伦
2020/07/27
1.4K0
史上最全面的纯手工打造 Vim 神器操作手册
Vim 是一个上古神器,本篇文章主要持续总结使用 Vim 的过程中不得不了解的一些指令和注意事项,以及持续分享一个前端工作者不得不安装的一些插件,而关于 Vim 的简介,主题的选择,以及为何使用 vim-plug 来管理插件等内容,有兴趣的同学下来可以自己了解和对比下。 安装 sudo apt-get install vim // Ubuntu 其他平台,可以自行谷歌 新手指南 vimtutor // vim 教程 上面是史上最简单,最全面的 Vim 基础教程,至今无人超越 下面是作者基于上面的归纳
小小科
2018/05/04
1.1K0
vim的配置_vim全局配置
因为写了一段时间前端,一直在考虑vim是否能够替代前端无敌编辑器vscode,最后发现只能高仿,自己配置的性能跟vscode下的vim模式差不多,灵活性更高点,喜欢折腾的朋友可以试试,否则用vscode vim模式吧,已经神一般的完美了(不是高级黑-。-)。 这套插件目前包含了代码自动补全,目录树,js/jsx eslint自动格式化,小黑屋模式, 文件搜索ctrlp,快速检索ack,emmet,函数工具条还有各种奇奇插插的主题配置而成, 别想歪。这里我做了一堆的配置,大家可以根据个人喜好,配置任意的快捷键。我是一边做一边写的文章,有些东西可能没考虑到,有问题可以给我留言。
全栈程序员站长
2022/11/14
3K0
vim的配置_vim全局配置
搭建vim-go环境
安装插件 首先安装vim最新版和bundle插件(链接) 修改配置 cat ~/.vimrc " 剪贴板设为系统 set clipboard=unnamedplus " 打开鼠标控制 set mouse=a set backspace=2 filetype off " required" runtime! debian.vim " 开始插件配置啦 set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() Plugin 'Vu
超级大猪
2019/11/22
9120
最近的 vim 配置
前段时间调整了vim配置,尝试了下python-mode这个集成的配置。最终还是以体验太差告终,主要在性能方面,可能是我的Air配置太Low了。经常出现噼里啪啦打完一堆代码,发现屏幕没反应,延时一段时间(可能是1、2秒)时候屏幕开始自动出现字符。当然除了性能问题之外,其他的PyMode已经处理的很好了。省去了装很多插件的麻烦。但问题是会帮你装上很多你用不到的插件。
the5fire
2019/03/01
8380
我的pythonIDE-vim插件分享
从pycharm转到vim有一段时间了,觉得vim装上一些插件之后还是能满足当前需求的。
the5fire
2019/02/28
4990
舒适美观的mac终端, iTerm2+zsh+powerlevel9k+vim+virtualenv
> 如果图片崩了, 请移步[某hub](https://github.com/SoSkyrim/SeanPics/blob/master/iTerm/seanSetting.md)
sean_yang
2019/09/17
1.8K0
舒适美观的mac终端, iTerm2+zsh+powerlevel9k+vim+virtualenv
Ubuntu开发环境配置
每次电脑切换都需要重新装一次系统,重新装系统后还需要安装各种各样的工具。如果每次都到网络上搜索工具的安装方法,就要浪费一大笔时间。这里把我常用的工具的安装方法分享出来。
yuxiaofei93
2018/09/11
2.2K0
.vimrc-备份
吴易娃
2024/01/12
1640
VIM插件管理及python开发环境配置
这是在公司做的一个分享,目的是帮助新手快速的配置好python开发环境。在操作之前,建议先把你自己的vim配置文件(vimrc)和.vim文件夹先剪切到一个备份文件中。
the5fire
2019/02/28
8050
舒适美观的mac终端, iTerm+zsh+powerlevel9k+vim+virtualenv
每次提到homebrew, 除了必备神器之外, 还有就是谷歌: 我们90%的工程师使用您编写的软件(Homebrew), 但是您却无法在面试时在白板上写出翻转二叉树这道题, 这太糟糕了.(手动滑稽)
sean_yang
2019/09/27
4.5K0
舒适美观的mac终端, iTerm+zsh+powerlevel9k+vim+virtualenv
相关推荐
vimrc配色和快捷键【工具】
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验