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
ここからダウンロード
ついでに、FontのCascadia Codeも
・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
ここを見ながらやる。
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
をやってみたらだいたいいける
まとめ
完全に自分のためだけに書きましたが、誰かの参考になれば幸いです。