🔧
VSCodeユーザーのためのZedの設定
キーマップ指定
vscodeのkeymapに設定
settings.json
{
"base_keymap": "VSCode",
}
これ指定すると、大体VSCodeと同じショートカットキーで操作することができる
font
みんなよく使う、Fira Codeも設定できます、しかもしっかり、signaturesも効く。
settings.json
{
"ui_font_size": 16,
"ui_font_family": "Fira Code",
"ui_font_weight": 450,
"buffer_font_size": 20,
"buffer_font_family": "Fira Code",
"buffer_font_features": {
"calt": true,
"liga": true,
"ss02": true,
"ss03": true,
"ss04": true,
"ss05": true,
"zero": true
},
}
なんと、VSCodeではできない、UIのフォントも指定できるぞ!
buffer_font_features
を細かく指定すると、signaturesが効くようになる
自動更新
これやらないと、自動アップデートがしてくれない
settings.json
{
"auto_update": true
}
Formatterの設定
デフォルトのフォーマッターはprettierベースした言語サーバーのフォーマッターっぽいので、prettierに強制させる。
settings.json
{
"languages": {
"JavaScript": {
"formatter": {
"external": {
"command": "node_modules/.bin/prettier",
"arguments": ["--stdin-filepath", "{buffer_path}"]
}
}
},
"TypeScript": {
"formatter": {
"external": {
"command": "node_modules/.bin/prettier",
"arguments": ["--stdin-filepath", "{buffer_path}"]
}
}
},
"TSX": {
"formatter": {
"external": {
"command": "node_modules/.bin/prettier",
"arguments": ["--stdin-filepath", "{buffer_path}"]
}
}
}
},
"format_on_save": "on"
}
これはそのうち、プラグインでどうにかできたらいいなと思っている。
参照
keymapsの設定
CMD + space
でsuggestionをとトリガーするためのkeymapです
~/.config/zed/keymap.json
[
{
"context": "Editor",
"bindings": {
"cmd-space": "editor::ShowCompletions"
}
}
]
vimmer用
settings.json
{
"vim_mode": true,
"relative_line_numbers": true,
"vim": {
"use_system_clipboard": "always",
"use_multiline_find": true
}
}
file explorerはj k l
で移動できないので、keybindingsの設定をする必要があります。
追加で、neo-treeのようなkeymapも追加しておく。
~/.config/zed/keymap.json
[
{
"context": "Editor && VimControl && !VimWaiting && !menu",
"bindings": {
"ctrl-e": "project_panel::ToggleFocus",
"ctrl-h": ["workspace::ActivatePaneInDirection", "Left"],
"ctrl-l": ["workspace::ActivatePaneInDirection", "Right"],
"ctrl-k": ["workspace::ActivatePaneInDirection", "Up"],
"ctrl-j": ["workspace::ActivatePaneInDirection", "Down"]
}
},
{
"context": "ProjectPanel && not_editing",
"bindings": {
// https://github.com/zed-industries/zed/issues/4753
// https://github.com/zed-industries/zed/issues/4270
"o": "project_panel::NewDirectory",
"a": "project_panel::NewFile",
"r": "project_panel::Rename",
"x": "project_panel::Cut",
"y": "project_panel::Copy",
"p": "project_panel::Paste",
"d": "project_panel::Delete",
// Directory expansion
"l": "project_panel::ExpandSelectedEntry",
"h": "project_panel::CollapseSelectedEntry",
// Move up and down
"j": "menu::SelectNext",
"k": "menu::SelectPrev"
}
}
]
続く。。。
Discussion