Deaktivieren Sie Strg-Z im normalen Modus

9

Wenn ich Ctrlzim normalen Modus drücke, wird mein gVim "minimiert" oder in vim (nicht gVim) geht es zurück zur Shell.

Ich möchte diese Funktion aber deaktivieren

  • Ich kann die Zuordnung nicht aufheben Ctrlz: unmap <c-z>kehrt zurückno such mapping
  • Es gibt keine Option suspend, die ich verwenden kann unset suspend.

Ich habe es getan, :help suspendaber das Dokument erwähnt nichts über das Deaktivieren von "Suspend".

x3usph1s
quelle

Antworten:

14

Es gibt also einige Dinge, die Sie verstehen müssen:

Erstens können Sie nicht verwenden :unset suspendund das ist normal. Das Anhalten von Vim wird nicht durch eine Option (die Sie deaktivieren könnten) gesteuert, sondern durch einen Befehl : :suspend. Sehen:h :suspend

Zweitens möchten Sie die durch ausgelöste Federung deaktivieren ctrlz. Dies ist ein integrierter Befehl, daher können Sie diese Tastenkombination nicht "aufheben". Die einzigen Zuordnungen, die Sie aufheben können, sind die, die Sie (oder ein Plugin) mit einem Befehl erstellt haben :map <key> <action>.

Was Sie tun können, ist zu Vim zu sagen: "Wenn ich drücke, ctrlztun Sie nichts, anstatt wie gewohnt anzuhalten."

Dies ist, was dieser Befehl tut:

nnoremap <c-z> <nop>

Sie können es so verstehen:

n                      Do the following mapping only in normal mode
 nore                  Don't make it recursive (This is not necessary here but strongly recommended in all your mappings)
     map               Create a mapping
         <c-z>         The keys that you want to remap
               <nop>   This is the short for "no operation" i.e. Do nothing

Sie können die Zeile zu Ihrem vimrc hinzufügen oder einfach die Befehlszeile von vim eingeben, :nnoremap <c-z> <nop>sodass die Zuordnung nur in der aktuellen Sitzung vorhanden ist.

Siehe :h <nop>.

statox
quelle
Ich habe neovim für Fenster mit cmder verwendet. Die Gewohnheit von Strg + Z'ing hat dazu geführt, dass sich neovim selbst suspendiert hat, aber da es keine Jobkontrolle gibt, konnte ich nicht wieder in neovim zurückkehren. Daher musste ich jedes Mal, wenn dies ausgelöst wird, den Prozess beenden. Unmapping Suspend hat den Trick gemacht!
Steven Huang
2

Sie können Ctrlzin gVim alles zuordnen, was Sie möchten. Sie müssen die Zuordnung nicht zuerst aufheben.

Tatsächlich wird mswin.vimdas mit dem gVim-Paket gelieferte Paket bereits so rückgängig gemacht:
noremap <C-Z> u

Gregory Shields
quelle