Logo

    ©ゆとりちゃれんじ

    GitHubXInstagram
    Neovimの環境を作る

    Neovimの環境を作る

    はじめに

    ゆとり世代の中野です。

    今回チャレンジした内容は【Neovimの環境を作る】です。

    さっそくチャレンジについて書いていきます。

    チャレンジする背景

    • 急にNeovim環境がほしくなった
    • 今後アップデートしていくための下地がほしい

    チャレンジ内容

    • Neovimの環境を作る

    やり方

    ‣

    成果物

    ‣
    ディレクトリ構成
    .(~/.config)
    └── nvim
        ├── init.lua
        ├── lua
        │   ├── config.lua
        │   └── plugins.lua
        └── pack
            └── packer
                ├── opt
                │   ├── .gitkeep
                │   └── packer.nvim
                └── start
                    └── .gitkeep
    ‣
    init.lua
    • luaディレクトリのファイルが読み込まれる
      • 拡張子.luaは指定しなくて良い
      • 階層構造はドット区切りで指定できる
    require('plugins')
    require('config')
    ‣
    lua/config.lua
    • エディタの設定を書いていく
    vim.wo.number = true -- 行番号を表示
    ‣
    lua/plugins.lua
    • プラグインの設定を書いていく
    vim.cmd [[packadd packer.nvim]]
    return require('packer').startup(function()    
       use {'wbthomason/packer.nvim', opt = true}
    end)
    ‣
    pack
    • packerをサブモジュールとして取り込んで配置している

    packer.nvim

    3 years ago

    • packer.nvimのREADMEがわかりづらくてハマった
    git clone --depth 1 https://github.com/wbthomason/packer.nvim\
     ~/.local/share/nvim/site/pack/packer/start/packer.nvim
    GitHub - wbthomason/packer.nvim: A use-package inspired plugin manager for Neovim. Uses native packages, supports Luarocks dependencies, written in Lua, allows for expressive config

    A use-package inspired plugin manager for Neovim. Uses native packages, supports Luarocks dependencies, written in Lua, allows for expressive config - GitHub - wbthomason/packer.nvim: A use-package inspired plugin manager for Neovim. Uses native packages, supports Luarocks dependencies, written in Lua, allows for expressive config

    github.com

    • 実際はpack/*/opt/packer.nvim のフォーマットで任意のディレクトリに配置されていればよかっただけなのでinit.lua と同階層に配置して使うようにしています
    ‣

    参考元

    Neovimのすゝめ - 連載 セットアップ手順

    最近、Neovimの環境構築しましたが、UI設定、キーマッピング、オプション、プラグイン...と沢山の設定が必要でした。 Vimを使うなら環境構築の壁を自力で乗り越えてこそ! という見方もありますが、LSPでLanguage Serverと連携必須になったり設定ファイルがVim Script(.vimrc)からLua言語になったりと、壁は高くなる一方です。 ...

    wonwon-eater.com

    Neovimのすゝめ - 連載 セットアップ手順
    packer.nvim で Neovim + Lua のビッグウェーブに乗る - Qiita

    昔々、NeoBundle から dein.vim に乗り換える話を書きました。 しかし5年も経てば世の中色々変わります。Neovim も色々変わりましたが、最近一番ホットな話題といえばなんと言っても Lua でしょう。プラグインを書くための言語としてだけではなく、設定ファイルである init.vim すら Lua で書くことが可能になったのです。 (クソコラみたいな画像ですね......) このビッグウェーブに乗るべく、今までプラグインマネージャーとして使ってきた dein.vim から、 packer.nvim に乗り換えてみました。packer.nvim は目下 Neovim Lua 界で一番ポピュラーなプラグインマネージャです。その設定方法から、ディープな使い方、前回紹介した dein.vim との比較まで書いて行きます。 なお、この記事では Neovim の設定を Lua で書く方法について説明しません。下記のガイドが非常によく纏まっておりますので、困ったらこちらを読んでください。 Getting started using Lua in Neovim(日本語版) packer.nvim は以下のような点を特徴としています。 そのため......というわけでもありませんが、packer.nvim 自体の設定も Lua で書く必要があります。とはいえ最低限の設定ならプラグイン名を羅列するだけです。 Vim8 / Neovim には標準でプラグイン管理機能(以下では「 Vim パッケージ 」と呼びます)が付属しています。ただこれ自体は非常に原始的で、以下のような機能しかありません。 start ディレクトリにプラグインを置いておくと、起動時に読み込んでくれる。

    qiita.com

    packer.nvim で Neovim + Lua のビッグウェーブに乗る - Qiita
    Neovim v0.5リリース記念 v0.5の新機能を紹介します【前編】 | MoT Lab (Mobility Technologies Engineering Blog)

    Lua remote plugin host Lua user-config: init.lua Treesitter syntax engine LSP client for code navigation, refactoring Extended marks (text properties, decorations, virtual text) 全体が長いため、Luaに関連する話を前半、Tree-sitterやLSPクライアントなどの新機能の話を後編という形で分けさせていただきました。後編も時間に余裕があればぜひご一読ください。 Neovim v0.5リリース記念 v0.5の新機能を紹介します【後編】 すでにNeovimにはNeovimを操作するためのスクリプトとしてVim scriptがあり、Vim scriptで書かれた膨大なVimプラグイン郡という資産があります。なぜVim scriptがあるのにLuaでNeovimを操作する必要があるのでしょうか? Lua is a very small language, ideal for embedding.

    lab.mo-t.com

    Neovim v0.5リリース記念 v0.5の新機能を紹介します【前編】 | MoT Lab (Mobility Technologies Engineering Blog)
    Neovimでのフロントエンド開発環境 2021

    最近はフロントエンドエンジニア(主にReact)をしているYano (@yuki_ycino) といいます。 この記事では自分が開発に使っているNeovim周りの環境と、その大まかな構成について書いていきます。 後日、 自分がNeovimでフロントエンド開発を行っている理由とVSCode という記事を書きました。 合わせて読んでいただけると幸いです。 ...

    zenn.dev

    Neovimでのフロントエンド開発環境 2021

    まとめ

    • 実際に作ったもの

    neovimを導入する

    Merged

    #13 ⋅ yutanakano ⋅ 4 years ago

    さいごに

    • 今後はすこしずつnvimの設定をアップデートしていく予定です

    yutanakano

    WEBエンジニア

    大阪生まれのゆとり世代です

    趣味はバイクでツーリングに行くこと

    愛車は Ninja ZX-25R SE KRT EDITION

    Expoでプロダクトを作っています

    image