2025/02/13 15:01
あまり他人にターミナルの環境を紹介することがないので、最近の開発で自分が使っているターミナルやらツールを紹介します(あとコードブロックや画像の表示をテストしたい)
Rust製のターミナルエミュレーターです。軽い・安定している・拡張性がある最高のターミナルです。
基本機能に加えて自前でluaで設定を書き加えることが可能です(このへんのAPIドキュメントもしっかりしている)
こんな感じで画面分割のショートカットを設定したりしています。
keys = {
{
key = '|',
mods = 'LEADER',
action = act.SplitHorizontal { domain = 'CurrentPaneDomain' },
},
{
key = '%',
mods = 'LEADER',
action = act.SplitVertical { domain = 'CurrentPaneDomain' },
},
{
key = 'LeftArrow',
mods = 'LEADER',
action = act.ActivatePaneDirection 'Left',
},
{
key = 'RightArrow',
mods = 'LEADER',
action = act.ActivatePaneDirection 'Right',
},
{
key = 'UpArrow',
mods = 'LEADER',
action = act.ActivatePaneDirection 'Up',
},
{
key = 'DownArrow',
mods = 'LEADER',
action = act.ActivatePaneDirection 'Down',
},
},
そこまで大した設定は加えていないです。プラグイン管理はPacker、設定ファイルはluaで記述、ファイル検索はfzf、ファイルツリーはfernでした。一度Helixに移行しようかと試みましたが、copilot非対応なのとモードの切り替えが独特で慣れなかったので断念。
require'packer'.startup(function()
use 'wbthomason/packer.nvim'
use {
'nvim-lualine/lualine.nvim',
requires = { 'kyazdani42/nvim-web-devicons', opt = true }
}
use { 'windwp/nvim-autopairs' }
use 'j-hui/fidget.nvim'
use 'tpope/vim-fugitive'
use 'obaland/vfiler.vim'
use 'obaland/vfiler-fzf'
use {
'lewis6991/gitsigns.nvim',
config = function()
require('gitsigns').setup({
current_line_blame = true,
current_line_blame_opts = {
virt_text = true,
virt_text_pos = 'eol',
delay = 1000,
ignore_whitespace = false,
},
current_line_blame_formatter = '<author>, <author_time:%Y-%m-%d> - <summary>',
})
end
}
use 'ibhagwan/fzf-lua'
use 'tpope/vim-rails'
use 'lambdalisue/fern.vim'
use 'lambdalisue/fern-git-status.vim'
use 'norcalli/nvim-colorizer.lua'
use "lukas-reineke/indent-blankline.nvim"
use 'nvim-treesitter/nvim-treesitter'
use { 'petertriho/nvim-scrollbar' }
use {'akinsho/bufferline.nvim', requires = 'nvim-tree/nvim-web-devicons'}
use { 'projekt0n/github-nvim-theme', tag = 'v0.0.7' }
use { 'junegunn/fzf', run = ":call fzf#install()" }
use { 'junegunn/fzf.vim' }
use 'rust-lang/rust.vim'
use {'neoclide/coc.nvim', branch = 'release'}
use 'vim-denops/denops.vim'
end)
Rust製のプロンプトです。gitのステータスやら言語バージョンやらAWSのプロファイルを表示してくれます。
starship.tomlを編集することでカスタマイズ可能です。
自分の場合は言語バージョンをアイコンではなく文字にして、横に現在時刻を表示させています。
add_newline = false
[aws.region_aliases]
ap-northeast-1 = "jp"
[directory]
truncation_length = 100
truncate_to_repo = false
[package]
disabled = true
[time]
disabled = false
[ruby]
format = "| ruby [$version ]($style)"
[python]
format = "| python [$version ]($style)"
[nodejs]
format = "| node [$version ]($style)"
[golang]
format = "| golang [$version ]($style)"
[rust]
format = "| rust [$version ]($style)"
[lua]
format = "| lua [$version ]($style)"
[elixir]
format = "| elixir [$version ]($style)"
[docker_context]
format = "on [$context]($style) "
cdコマンドに履歴補完とインクリメンタル検索をつけたみたいなやつ。よく移動するディレクトリならこれで一発で移動可能。
diffコマンドの強化版。オプションでgitみたいな+/-マークの表示だったり行番号を出したり出来る。
grepコマンドのめちゃくちゃ早いやつ。早い上にオプションが色々つけられる(大文字小文字の区別、ディレクトリの再帰的な検索など)