就是要用Vim寫Vue

来源:https://www.cnblogs.com/linxiyue/archive/2019/01/23/10309820.html
-Advertisement-
Play Games

Vim關於Vue的生態鏈還是很少,不過湊活湊活還是能用的。 縮進 縮進採用的是兩個空格,.vimrc配置: 語法高亮 重要的語法高亮,支持最好的應該是vim-vue。 使用Vundle下載: 這樣語法高亮基本上就實現了,不過會出現滑動過快高亮失效的情況,文檔中給出的原因是vue包含html、css、 ...


Vim關於Vue的生態鏈還是很少,不過湊活湊活還是能用的。

縮進

縮進採用的是兩個空格,.vimrc配置:

au BufNewFile,BufRead *.html,*.js,*.vue set tabstop=2
au BufNewFile,BufRead *.html,*.js,*.vue set softtabstop=2
au BufNewFile,BufRead *.html,*.js,*.vue set shiftwidth=2
au BufNewFile,BufRead *.html,*.js,*.vue set expandtab
au BufNewFile,BufRead *.html,*.js,*.vue set autoindent
au BufNewFile,BufRead *.html,*.js,*.vue set fileformat=unix

語法高亮

重要的語法高亮,支持最好的應該是vim-vue

使用Vundle下載:

Plugin 'posva/vim-vue'
:PluginInstall

這樣語法高亮基本上就實現了,不過會出現滑動過快高亮失效的情況,文檔中給出的原因是vue包含html、css、js語句,vim-vue有時候會感到困惑,解決辦法:

autocmd FileType vue syntax sync fromstart

如果想使用一些已經寫好的html、css、js配置,可以添加:

autocmd BufRead,BufNewFile *.vue setlocal filetype=vue.html.javascript.css

語法檢查

語法檢查可以使用vim-syntastic/syntastic配合ESLint。

使用Vundle下載:

Plugin 'scrooloose/syntastic' 
:PluginInstall

配置eslint檢查器:

let g:syntastic_javascript_checkers = ['eslint']

 可以使用打開一個vue文件,輸入命令:

:SyntasticInfo

可以看到:

Syntastic version: 3.8.0-101 (Vim 704, Linux, GUI)
Info for filetype: vue
Global mode: active
Filetype vue is active
The current file will be checked automatically
Available checker: eslint
Currently enabled checker: eslint

現在就差ESLint了。

ESLint

Vue的官方推薦ESLint插件是eslint-plugin-vue

下載:

npm install eslint eslint-plugin-vue

配置.eslintrc

{
  "extends": ["plugin:vue/recommended"],
  "plugins": [
    "vue"
  ],  
  "parserOptions": {
    "parser": "babel-eslint",
  },  
  "rules": {
  },  
  "settings": {
    "html/html-extensions": [".html", ".vue"],
  },  
}

  註意,配置中不要包含eslint-plugin-html插件,eslint-plugin-html會使eslint-plugin-vue失效,因為eslint-plugin-html會從<script>中提取內容,但eslint-plugin-vue是需要<script>和<template>標簽的。

  "plugins": [
    "vue",
-   "html"  //去除
  ]

這樣,:w保存vue文件時就會有紅塊報錯了:

在每行之前的 >> 表示該行中有語法錯誤,將游標移到該行,錯誤描述就會展示在 Vim 視窗的最底下。

輸入:Errors命令也會列印出詳細的報錯信息。

縮進錯誤

配合eslint-plugin-standard使用的時候,如果<script>縮進如下:

<script>
  let a = {
    foo: 1,
    bar: 2
  }
</script>

會報縮進錯誤:

Expected indentation of 0 spaces but found 2. (indent)

官方給出瞭解決方法:vue/script-indent

{
  "extends": ["plugin:vue/recommended", "standard"],
  "plugins": [
    "vue"
  ],  
  "parserOptions": {
    "parser": "babel-eslint",
  },  
  "rules": {
     "vue/script-indent": ["error", 2, { "baseIndent": 1  }]
  },
  "settings": {
      "html/html-extensions": [".html", ".vue"],
  },
  "overrides": [
    { 
      "files": ["*.vue"],
      "rules": {
        "indent": "off"
      }
    }
  ]
}

一是添加rule:

"vue/script-indent": ["error", 2, { "baseIndent": 1 }]

數字2代表1次縮進2個空格,數字1代表縮進1次。

二是關閉預設indent:

  "overrides": [
    {
      "files": ["*.vue"],
      "rules": {
        "indent": "off"
      }
    }
  ]

over。可以愉悅得用Vim寫Vue了。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 成功安裝Oracle 11g資料庫後,你會發現自己電腦運行速度會變慢,配置較低的電腦甚至出現非常卡的狀況,通過禁止非必須開啟的Oracle服務可以提升電腦的運行速度。那麼,具體該怎麼做呢? 按照win7 64位環境下Oracle 11g R2安裝詳解中的方法成功安裝Oracle 11g後,共有7個服 ...
  • 一、簡單的音頻播放 【項目準備】 ①一個視頻文件,視頻文件的位置 >在res下新建文件夾row >將視頻放入row文件夾中 ②一般音頻播放是不需要一直停留在界面的,所以音頻播放應該放在service中,即使界面被回收,也一直在播放。 【項目結構】 【界面代碼】 【MainActivity.class ...
  • JQ :even選擇器代表著選擇偶數行 JQ :odd 代表選擇奇數行 ...
  • 項目組織結構 ajax數據請求的封裝和api介面的模塊化管理 第三方庫按需載入 利用less的深度選擇器優雅覆蓋當前頁面UI庫組件的樣式 webpack實時打包進度 vue組件中選項的順序 路由的懶載入 路由模塊拆分化管理 項目組織結構 清晰的項目結構能讓別人開發進來更容易理解,當然,每個人都有一定 ...
  • 一、Vue渲染數據原理 原生JS改變頁面數據,必須要獲取頁面節點,也即是進行DOM操作,jQuery之類的框架只是簡化DOM操作的寫法,實質並沒有改變操作頁面數據的底層原理,DOM操作影響性能(導致瀏覽器的重繪和迴流),Vue是一個mvvm框架(庫),大幅度減少了DOM操作,操作數據如下圖: Vie ...
  • bable只轉換新語法 不支持新的全局變數如promise async等等,可以使用babel-polyfilll來相容 ...
  • 歷史 以前做後端時,接觸過一點Spring,也是第一次瞭解DI、IOC等概念,面向切麵編程,對於面向對象編程還不怎麼熟練的情況下,整個人慌的一批,它的日誌記錄、資料庫配置等都非常方便,不回侵入到業務代碼中,後來轉戰前端,就沒怎麼關註了..... JS引入DI編程概念 學習 redux 時,看到語法里 ...
  • 無需考慮數據結構,效果如圖 話不多說,先上代碼 1.wxml 2.wxss Action添加一個簡單的漸顯動畫 3.js 原理:通過onPageScroll() 方法返回的e.scrollTop值與手機視窗寬高進行計算,較完美的解決了等高或均高圖片序列的圖片懶載入。 關於圖片高度:圖片+容器寬高必須 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...