Neovimの設定(Lazy+lsp-zero)など【備忘録】

今回はNeovimをLazyとLsp-zeroを使って設定する

まずは

rm -rf ~/.config/nvim
rm -rf ~/.cache/nvim
rm -rf ~/.local/share/nvim
rm -rf ~/.local/state/nvim

で、nvimをきれいにしよう。(バックアップを取っとくように)

そして

~/.config/nvim/init.lua

を作る

~/.config/nvim/init.luaの内容は以下のようにする

local o = vim.opt

o.number = true
--o.relativenumber = true

o.tabstop = 2
o.shiftwidth = 2

vim.api.nvim_set_keymap('i', 'jj', '<esc>', {noremap = true})
vim.api.nvim_set_keymap('i', 'jk', '<esc>', {noremap = true})
vim.api.nvim_set_keymap('n', 'gj', '5j', {noremap = true})
vim.api.nvim_set_keymap('n', 'gk', '5k', {noremap = true})
vim.api.nvim_set_keymap('n', 'gl', '5l', {noremap = true})
vim.api.nvim_set_keymap('n', 'gh', '5h', {noremap = true})


vim.g.mapleader = " "
vim.keymap.set("n", "<leader>pv", vim.cmd.Ex)


--color-------------------------------------------------------------------------------------






-- LSPやCoCの補完候補の背景色を灰色に変更する
vim.cmd('highlight Pmenu cterm=none ctermbg=181 guibg=#b1854a') -- 補完 候補メニューの背景色を灰色 に変更
vim.cmd('highlight PmenuSel cterm=none ctermbg=180 gui=bold,reverse guibg=#b79867 guifg=NONE') -- 選択中の補完候補の背景色を灰色に変更


-- <> の中の文字色を変更
vim.cmd('highlight String ctermfg=166 guifg=#ff7700')

-- 行番号の文字色をより薄い灰色に変更
vim.cmd('highlight LineNr ctermfg=250 guifg=#c0c0c0')

-- {} の色を濃い茶色に設定
vim.cmd('highlight cCppTemplate ctermfg=130 guifg=#8b4513')







--end color--------------------------------------------------------------------------------

--Lazy-------------------------------------------------------------------------------------



local lazypath = vim.fn.stdpath('data') .. '/lazy/lazy.nvim'

-- Auto-install lazy.nvim if not present
if not vim.loop.fs_stat(lazypath) then
  print('Installing lazy.nvim....')
  vim.fn.system({
    'git',
    'clone',
    '--filter=blob:none',
    'https://github.com/folke/lazy.nvim.git',
    '--branch=stable', -- latest stable release
    lazypath,
  })
  print('Done.')
end

vim.opt.rtp:prepend(lazypath)

require('lazy').setup({
        {
                "windwp/nvim-autopairs",
                config = function() require("nvim-autopairs").setup {} end
        },
  {
    'VonHeikemen/lsp-zero.nvim',
    branch = 'v2.x',
    dependencies = {
      -- LSP Support
      {'neovim/nvim-lspconfig'},             -- Required
      {                                      -- Optional
        'williamboman/mason.nvim',
        build = function()
          pcall(vim.cmd, 'MasonUpdate')
        end,
      },
      {'williamboman/mason-lspconfig.nvim'}, -- Optional

      -- Autocompletion
      {'hrsh7th/nvim-cmp'},     -- Required
      {'hrsh7th/cmp-nvim-lsp'}, -- Required
      {'L3MON4D3/LuaSnip'},     -- Required
    }
        },
        {"nvim-treesitter/nvim-treesitter", build = ":TSUpdate"},

})




-- LSP ------------------------------------------------------------------------------------



local lsp = require('lsp-zero').preset({})

lsp.on_attach(function(client, bufnr)
  lsp.default_keymaps({buffer = bufnr})
end)

require('lspconfig').lua_ls.setup(lsp.nvim_lua_ls())

lsp.setup()




local cmp = require('cmp')
local luasnip = require('luasnip')

cmp.setup {
        sources = {
                { name = 'nvim_lsp'},
                { name = 'luasnip'},
        },
  mapping = {
                ["<Tab>"] = cmp.mapping(function(fallback)
                        if cmp.visible() then
                                cmp.select_next_item()
                        elseif luasnip.expand_or_locally_jumpable() then
                                luasnip.expand_or_jump()
                                --elseif has_words_before() then
                                --cmp.complete()
                        else
                                fallback()
                        end
                end, { "i", "s" }),
    ['<S-Tab'] = cmp.mapping.select_prev_item(),
    ['<CR>'] = cmp.mapping.confirm(),
  },
}

VScodeの設定【備忘録】

vscode

code.visualstudio.com

ここからダウンロード

ついでに、FontのCascadia Code

我がvscodeのRustのと見た目の拡張機能もメモ

・Activitus Bar

・Better TOML

・CodeLLDB

・Crates

・Error Lens

・rust-analyzer

・Tbnine

vim

vscodeの設定の一部

{
    "window.menuBarVisibility": "toggle",
    "editor.minimap.enabled": false,


    "window.zoomLevel": 2,
    "editor.fontSize": 25,
    "terminal.integrated.fontSize": 17,
    "debug.console.fontSize": 24,

    "editor.mouseWheelZoom": true,

    "editor.letterSpacing": -0.01,
    "editor.lineHeight": 35,
    "editor.fontFamily": "'Cascadia Code'",
    "editor.fontLigatures": true,

    "editor.fontWeight": 355,

    "vim.insertModeKeyBindings": [
        {
            "before": [
                "j",
                "k"
            ],
            "after": [
                "Esc"
            ]
        }
    ],
    "terminal.integrated.fontFamily": "'Hack Nerd Font'",
    "tabnine.experimentalAutoImports": true,
    "workbench.activityBar.visible": false,
}

完全自己満Linux【備忘録】

毎回環境を構築するときに忘れてしまうので。

まずは、好きなディストリビューションを用意する。なんでもいい

今回は、BcakBox linux 8 (Ubuntu 22.04 LTS)(無償)

 

入れるもの一覧

zsh(oh my zsh の power level 10k)

・alacritty(ターミナルエミュレータ)

・neovim(AstroNvim)←なんとなく

https://www.youtube.com/watch?v=Inj3v_D61ME&list=WL&index=1&t=175s&ab_channel=KskRoyal

ZSH

まずは、ZSHをインストール

sudo apt install zsh

ついでにNerd Fontもいれる。今回はHack。

 

Alacritty

github.com

ここを見ながらやる。

source "$HOME/"的なのをするのを忘れずに!

Alacrittyの設定を変更するためには、

mkdir -p ~/.config/alacritty
cd alacritty cp alacritty.yml ~/.config/alacritty

で作ったファイルを書き換える。

themeを変えるために

git clone https://github.com/eendroroy/alacritty-theme.git ~/.alacritty-colorscheme

僕の設定は

  window:
    opacity: 0.9
  #color shcme  
  import:
  - ~/.alacritty-colorscheme/themes/nord.yaml

  # Font
  font:
    size: 17
    normal:
      family: 'Hack Nerd Font'
      style: Regular
    bold:
      family: 'Hack Nerd Font'
      style: Bold
    italic:
      family: 'Hack Nerd Font'
      style: Italic
    bold_italic:
      family: 'Hack Nerd Font'
      style: Bold Itali

  # env
    env:
      TERM: alacritty

 

ターミナルをalacrittyに変える。

そして、oh my zshを入れる。

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

このとき、shellをbashからzshに変更するか聞かれるので変更しておく。

今度は、powerlevel10k

git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
vim ~/.zshrc

で、ZSH_THEMEのところを

powerlevel10k/powerlevel10k

に書き換える

 

 

Neovim

curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim.appimage
chmod u+x nvim.appimage
./nvim.appimage

でNeovimを。

sudo mv nvim.appimage /usr/local/bin/nvim

そして、AstroNvim

git clone https://github.com/AstroNvim/AstroNvim ~/.config/nvim
nvim +PackerSync

エラーが出たらもっかい

nvim +PackerSync

をやってみたらだいたいいける

まとめ

完全に自分のためだけに書きましたが、誰かの参考になれば幸いです。