config.toml 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. theme = "everforest_dark"
  2. [editor]
  3. # auto-save = false
  4. line-number = "relative"
  5. cursorline = true
  6. cursorcolumn = true
  7. auto-completion = true
  8. auto-info = true
  9. completion-trigger-len = 2
  10. color-modes = true
  11. true-color = true
  12. undercurl = true
  13. idle-timeout = 400
  14. bufferline = "multiple" # always | multiple | never
  15. text-width = 80
  16. rulers = [80]
  17. default-line-ending = "lf"
  18. insert-final-newline = true
  19. popup-border = "all"
  20. mouse = true
  21. middle-click-paste = true
  22. # [editor.gutters]
  23. # layout = ["diagnostics", "spacer", "line-numbers", "spacer", "diff"]
  24. [editor.statusline]
  25. left = [
  26. "mode",
  27. "spinner",
  28. "version-control",
  29. "read-only-indicator",
  30. "file-name",
  31. "file-modification-indicator",
  32. "file-type",
  33. ]
  34. center = ["diagnostics", "workspace-diagnostics"]
  35. right = [
  36. "register",
  37. "file-encoding",
  38. "file-line-ending",
  39. "position",
  40. "position-percentage",
  41. ]
  42. separator = "|"
  43. # mode.normal = "NORMAL"
  44. # mode.insert = "INSERT"
  45. # mode.select = "SELECT"
  46. [editor.soft-wrap]
  47. enable = true
  48. # max-wrap = 20
  49. # max-indent-retain = 40
  50. # wrap-indicator = "↪ "
  51. # wrap-at-text-width = true # zen-mode center View.inner_area
  52. [editor.cursor-shape]
  53. insert = "bar"
  54. normal = "block"
  55. select = "underline"
  56. [editor.whitespace.render]
  57. # space = "all"
  58. tab = "all"
  59. # newline = "all"
  60. [editor.indent-guides]
  61. render = true
  62. character = "╎" # Some characters that work well: "▏", "╎", "┆", "┊"
  63. skip-levels = 0
  64. [editor.lsp]
  65. display-messages = true
  66. display-inlay-hints = true
  67. [keys.normal]
  68. "A-," = "goto_previous_buffer"
  69. "A-." = "goto_next_buffer"
  70. "A-w" = ":buffer-close"
  71. "A-/" = "repeat_last_motion"# 0 = "home"
  72. "A-x" = "extend_to_line_bounds"
  73. "X" = "extend_line_above"
  74. # "X" = ["extend_line_up", "extend_to_line_bounds"]
  75. # "C-q" = ":q!"
  76. # "esc" = { "esc" = [":quit!",] }
  77. # "esc" = { "esc" = ":quit!" }
  78. "C-s" = ":w"
  79. "C-r" = { c = ":config-reload", r = ":reload" }
  80. "C-q" = { q = ":quit!", w = ":write-quit!", a = ":quit-all!" }
  81. "C-a" = "goto_line_start"
  82. "C-e" = "goto_line_end"
  83. "C-k" = "kill_to_line_end"
  84. "C-u" = "kill_to_line_start"
  85. "C-/" = "toggle_comments"
  86. "C-c" = "yank_to_clipboard"
  87. "C-v" = "paste_clipboard_after"
  88. "A-ret" = ["normal_mode", "open_below", "normal_mode"]
  89. "A-S-ret" = ["normal_mode", "open_above", "normal_mode"]
  90. # [keys.select]
  91. # A-x = "extend_to_line_bounds"
  92. # X = ["extend_line_up", "extend_to_line_bounds"]
  93. [keys.insert]
  94. j = { j = "normal_mode" }
  95. "C-n" = "normal_mode"
  96. "C-a" = ["normal_mode", "goto_line_start", "insert_mode"]
  97. "C-e" = ["normal_mode", "goto_line_end", "append_mode"]
  98. "A-ret" = ["normal_mode", "open_below"]
  99. "A-S-ret" = ["normal_mode", "open_above"]
  100. [keys.select]
  101. "C-a" = "goto_line_start"
  102. "C-e" = "goto_line_end"