Logicool G ゲーミングマウス G304 LIGHTSPEED ワイヤレス ゲーミング マウス 軽量 99g HERO 12Kセンサー 6個プログラムボタン 250時間連続使用可能 ブラック PC windows mac 国内正規品 【 ファイナルファンタジー XIV 推奨モデル 】
¥5,200 (2025年4月25日 13:08 GMT +09:00 時点 - 詳細はこちら価格および発送可能時期は表示された日付/時刻の時点のものであり、変更される場合があります。本商品の購入においては、購入の時点で当該の Amazon サイトに表示されている価格および発送可能時期の情報が適用されます。)【2025新版・MFi認証・自動接続】 iPhone hdmi変換ケーブル ライトニング 設定不要・ APP不要・ 給電不要 ・1080PプルHD TV大画面 音声同期出力 ライトニング hdmi iphone tv 変換ケーブル テレビに映す 遅延なし簡単接続 iPhone/iPad などに対応 日本語取説付き(iOS13 - iOS18対応)
¥1,699 (2025年4月25日 13:08 GMT +09:00 時点 - 詳細はこちら価格および発送可能時期は表示された日付/時刻の時点のものであり、変更される場合があります。本商品の購入においては、購入の時点で当該の Amazon サイトに表示されている価格および発送可能時期の情報が適用されます。)
3月26日、ついにneovim 0.11 が来ました。このリリースでは LSP関連機能が大幅に強化されました。 これで、いよいよプラグインなしで本格的に使えるようになりました。
今回はネイティブAPIだけでどこまでできるようになったのか紹介します。
0.11 で追加されたLSP関連の機能はこちらです。
まだまだあるので、詳しくはリリースノートをご覧ください。 News-0.11
これらのAPIのおかげで、language server自体のインストール以外はほぼなんでもできるようになりました。
まずは0.11までほぼ必須だったLSPプラグインたちをおさらいしていきます。知っていたら次の章まで飛ばしてよいです。
- nvim-lspconfig: コンフィグ集。0.11以前はlanguage serverのセットアップも担当していた。
- mason: エディタツールを管理するパッケージマネージャーのプラグイン。language serverのインストールを担当する。linterやformatterもまとめて管理できる。
- mason-lspconfig: nvim-lspconfig の設定を利用してlanguage serverの起動、セットアップをするプラグイン。masonを介したlanguage serverの自動インストール機能もある。
0.11以前でlanguage serverの自動インストールとセットアップをする設定はこのようになります。
require 'mason'.setup()
local mason_lspconfig = require 'mason-lspconfig'
mason_lspconfig.setup {
automatic_installation = true,
ensure_installed = {'ts_ls', 'lua_ls'},
}
local lspconfig = require 'lspconfig'
mason_lspconfig.setup_handlers {
function(server_name)
lspconfig[server_name].setup {}
end,
lua_ls = function()
lspconfig.lua_ls.setup {
settings = {
Lua = {
diagnostics = {
globals = { 'vim' }
},
}
},
}
end
}
同じことをする0.11以降の設定はこちらです。なお、nvim-lspconfigはこのPRのものを使う必要があります。
require 'mason'.setup()
local ensure_installed = {'ts_ls', 'lua_ls'}
require 'mason-lspconfig'.setup {
automatic_installation = true,
ensure_installed = ensure_installed,
}
vim.lsp.config('lua_ls', {
settings = {
Lua = {
diagnostics = {
globals = { 'vim' }
},
}
},
})
vim.lsp.enable(ensure_installed)
違うのは最後のlanguage serverを設定する部分です。nvim-lspconfigはコンフィグ集としてだけ使われるようになり、 neovimのAPIだけで設定できるようになりました。
このように、masonを使ったlanguage serverのインストール以外は ほとんどneovimのAPIだけで完結するようになりました。
0.11では LSPを使った補完もできるようになりました。 オムニ補完(
)だけでなく、キー入力中の補完も使えます。 autotriggerをtrueに設定するだけで出来ます。
vim.cmd[[set completeopt+=menuone,noselect,popup]]
vim.lsp.start({
name = 'ts_ls',
cmd = …,
on_attach = function(client, bufnr)
vim.lsp.completion.enable(true, client.id, bufnr, {
autotrigger = true,
convert = function(item)
return { abbr = item.label:gsub('%b()', '') }
end,
})
end,
})
参考: Lua module: vim.lsp.completion
autotriggerを有効にすると、挿入モード中にLSPを使った補完が出てきます。
結構ちゃんと動くので、補完系プラグインも無くしてもよいかもしれません。
0.11で入った機能により、実に様々なことができるようになりました。
- language serverのコンフィグを設定する
- language serverを自動的に起動させる
- LSPを使った自動補完を使う
language serverのインストールには対応してないので、まだmasonはあったほうが便利です。しかし、nvim-lspconfigはほぼコンフィグ集として使えるようになりました。かなり嬉しいですね。
不要になったプラグインも増えたので、この機会にdotfilesを見直してみてはいかがでしょうか。