Helixのアップデートが来たので軽く紹介する
💡 注意点 version22.05
上記のバージョンなので注意する
参考: website,change log
releasesはこちらから
webサイトのかいつまみ
インデントがきちんと機能するように作り変えた
左側のガター(隙間みたいなところ)を設定できるようになった
各言語ごとに上書き可能な設定を作れるようになった
ルーラーが設定できるようになった
空白や改行などを表示できるようになった
[editor]
rulers = [10,20,30] # 複数設定できる
[editor.whitespace.render]
space = "none"
nbsp = "all"
tab = "all"
newline = "all"
[editor.whitespace.characters]
space = "·"
nbsp = "⍽"
tab = "»"
newline = "↲"
レジスターを使ったペーストをファイルピッカーで使えるようになった
選択箇所を指定した幅にハードラップできる
分割したウィンドウを入れ替えられる
エディタ起動中に言語サーバーを切り替えできる
チェンジログの簡単な説明
ピッカーでC-j
,C-k
で上下に移動できていたのが削除された
同様に,C-f
,C-b
の上下スクロールがC-d(own)
,C-u(p)
に変更された
A-hjkl
のTree-stterを使ったの操作が一貫性を考えてA-pion:p(rev)i(n)o(ut)n(ext)
に変更された
[p
,]p
によるパラグラフのモーションとテキストオブジェクトのが追加された
:buffer-next
,:buffer-prev
が追加された
Space-F
でワーキングディレクトのファイルを選択ができるようになった
:write!
サブディレクトリを含め再帰的にディレクトリを作成する
m
で最も近い周りのペアを選択するテキストオブジェクトを追加した
:pipe
で入力可能なコマンドが追加された
pythonのblack
のようなコマンドとhelixの%:全選択
を一緒にマッピングできるようになった
:run-shell-command
vimの:!
とにた動作,結果がポップアップ画面で表示される
:log-open
ログファイルを開けるようになった
helix -vv file
でログを付けてバグらせて,logを見るというのが楽にできるようになった
その他利便性の向上やバグフィックス,多数のテーマやLSP,言語追加などがある
所感
利便性の高いコマンドやバグ修正が多くだいぶ使いやすくなった
間違った解説は後で修正する
私のconfig.tomlはこんな感じ
特にこだわっているところはあまりない
# theme = "gruvbox"
theme = "onedark"
[editor]
line-number = "relative"
scrolloff = 3
[editor.cursor-shape]
insert = "bar"
normal = "block"
# select = "underline"
[editor.file-picker]
hidden = false
[editor.whitespace.render]
space = "none"
tab = "all"
newline = "all"
[editor.whitespace.characters]
space = "·"
tab = "»"
newline = "↲"
[keys.normal]
space = { w = ":write", c = "toggle_comments" }
tab = ":buffer-next"
S-tab = ":buffer-previous"
C-h = ["select_all", "select_regex"]
g = { e = "goto_file_end" , j = "goto_next_paragraph", k = "goto_prev_paragraph" }
ret = ["open_below", "normal_mode"]
S-ret = ["open_above", "normal_mode"]
# 解説予定,あまり使わない
# w = "move_next_japanese_word_start"
# e = "move_next_japanese_word_end"
# b = "move_prev_japanese_word_start"
C-t = { c = ":buffer-close", n = ":new", h = ":hsplit-new", v = ":vsplit-new" }
[keys.insert]
j = { j = "normal_mode" }
# quick select mode
C-v = "select_mode"
A-v = "extend_to_line_bounds"
# delete
C-a = "delete_word_backward"
C-d = "delete_word_forward"
C-h = "move_prev_word_end"
C-j = "move_line_down"
C-k = "move_line_up"
C-l = "move_next_word_start"
[keys.select]
k = "extend_line_up"
j = "extend_line_down"
他の部分を設定したい場合はdocsのconfigを参照する