You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Make vim editing mode a persistent user setting (enabled by default)
#1077
The prompt input supports a vim editing mode toggled with the /vim command, but it is off by default and session-scoped — the internal comment notes "the mode is session-scoped (not persisted)".
For vim users this means:
Typing /vim at the start of every new session, and
Re-toggling it after any action that resets the session state.
There is currently no way to make vim mode the default across sessions.
The /vim toggle writes the choice back to the setting, so the preference persists across sessions.
Non-vim users are unaffected — they keep their existing default (false).
Why a setting rather than a hardcoded default? A hardcoded true would (a) change the default for everyone, (b) get overwritten on the next dependency reinstall, and (c) force non-vim users to opt out on every session. A setting lets each user choose their own preference.
Acceptance criteria
A persisted user setting controls the vim-mode default (true/false).
The /vim toggle updates the setting so the choice survives restarts.
New sessions start with the user's saved preference.
Non-vim users see no change unless they opt in.
The setting is surfaced/discoverable in the Settings UI and documented.
Files / areas involved
lib/types/components/PromptInput.js — seed vimEnabled from the setting; persist on toggle.
Settings/config layer (wherever settings is defined and persisted).
Settings UI — expose the toggle.
Docs — note the new setting.
Notes / open questions
Draft-snapshot interaction:setVimEnabled(snapshot.vimEnabled) restores the vim mode from the draft cache. Should a restored draft override the user setting, or should the setting win for the session? Worth deciding explicitly.
vimEnabledRef is re-synced from vimEnabled every render, so it follows the setting automatically — no separate change needed there.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Request: Make vim editing mode a persistent user setting (enabled by default)
Repo:
ccch1mneyyy/dsh-TUIPackage:
@deepseek-harness-tui/dsh-tuiv0.11.1Type: Feature request
Priority: Low
Labels:
enhancement,settingsProblem
The prompt input supports a vim editing mode toggled with the
/vimcommand, but it is off by default and session-scoped — the internal comment notes "the mode is session-scoped (not persisted)".For vim users this means:
/vimat the start of every new session, andThere is currently no way to make vim mode the default across sessions.
Current behavior
lib/types/components/PromptInput.js(~line 462):false./vimonly affects the current session; the preference is not saved.Proposed behavior
Add a persisted user setting (e.g.
vimMode, or nested asprompt.vimMode) that controls whether vim editing mode is on by default:The initial value of
vimEnabledis read from the setting:The
/vimtoggle writes the choice back to the setting, so the preference persists across sessions.Non-vim users are unaffected — they keep their existing default (
false).Why a setting rather than a hardcoded default? A hardcoded
truewould (a) change the default for everyone, (b) get overwritten on the next dependency reinstall, and (c) force non-vim users to opt out on every session. A setting lets each user choose their own preference.Acceptance criteria
true/false)./vimtoggle updates the setting so the choice survives restarts.Files / areas involved
lib/types/components/PromptInput.js— seedvimEnabledfrom the setting; persist on toggle.settingsis defined and persisted).Notes / open questions
setVimEnabled(snapshot.vimEnabled)restores the vim mode from the draft cache. Should a restored draft override the user setting, or should the setting win for the session? Worth deciding explicitly.vimEnabledRefis re-synced fromvimEnabledevery render, so it follows the setting automatically — no separate change needed there.All reactions