diff --git a/neovim/nvim/lua/keymaps.lua b/neovim/nvim/lua/keymaps.lua index 5267b46..8560a16 100644 --- a/neovim/nvim/lua/keymaps.lua +++ b/neovim/nvim/lua/keymaps.lua @@ -17,7 +17,7 @@ local function register_keymaps() { 'j', group = 'Join/Split' }, }) - -- バニラ + -- ノーマルモード map('n', '[b', 'bprev', '前のバッファ') map('n', ']b', 'bnext', '次のバッファ') local open = 'xdg-open' @@ -27,12 +27,20 @@ local function register_keymaps() open = 'start' end map({ 'n', 'x' }, 'gx', 'silent !' .. open .. ' ', '標準アプリで開く') - - -- タブ map('n', '', 'tabprev') map('n', '', 'tabnext') - -- バニラ - ターミナル + -- インサートモード + map('i', '', function() + -- [Vim でアルファベット大文字の単語を楽に打つ裏技](https://zenn.dev/vim_jp/articles/2024-10-07-vim-insert-uppercase) + local line = vim.fn.getline(".") + local col = vim.fn.getpos(".")[3] + local substring = line:sub(1, col - 1) + local result = vim.fn.matchstr(substring, "[a-zA-Z0-9_]*$") + return "" .. result:upper() + end, '直前の単語を大文字にする', { expr = true }) + + -- ターミナル map('n', 'tn', 'terminal', 'ターミナルを開く') map('n', 'tt', 'tabnewterminalstartinsert', 'ターミナルを新規タブで開く') map('n', 'tf', 'Lspsaga term_toggle', 'floating windowのターミナルをトグル')