UbuntuにインストールされたVimでCapsLockをEscに再マップする方法(コンソールのみ、デスクトップ環境なし)?

UbuntuにインストールされたVimでCapsLockをEscに再マップする方法(コンソールのみ、デスクトップ環境なし)?

目標は、UbuntuにインストールされているVimからCapsLockをEscに再マップすることです。(コンソールのみ、デスクトップ環境なし)。

このUbuntuシステムは仮想プライベートサーバーにインストールされます。私はPuttyを使用してWindows 10がインストールされている家庭用ラップトップでこのサーバーにログインしています。

誰もがこのCapsLockキーをVimのEscにマップすることについて話していますが、$ HOME / .vimrcファイルに2を書く必要がある実際の行が見つかりません。

私が自分で試したことは次のとおりです。しかし、最初の行に行番号を追加する以外は何も機能しません。

set number

inoremap <Caps> <Esc>
inoremap <Caps_Lock> <Esc>
inoremap <CapsLock> <Esc>

目標は、Ubuntu サーバー全体ではなく Vim でのみ CapsLock を Esc に再マップすることです。

確認すると、CapsLockがVimでうまく機能し、ロックされている場合は大文字で表示されます。

私は次のような多くの場所を検索しました。 https://vim.fandom.com/wiki/Mapping_keys_in_Vim_-地図時間(パート1) このガイドの3つの部分すべてここしかも。

「ii」、「jj」、「jk」、「jw」さまざまなCtrl、Shiftの組み合わせマッピングなど、すべてがそこに記録されているのと同じです。 CapsLockを除くすべてのエントリはEscに再マップされます。

???なぜ? ? ?

VimでCapsLockをEscに再マップするのはなぜそれほど難しいのですか? これはほとんど私の問題ですが、残念ながらWindows OSではそうです。

私の質問以下の説明では、VimでのみCapsLockをEscにマッピングすることは不可能であることを理解しています。

私もこのスレッドを読みました。VimでEscapeの代わりにCapsLockを使用する方法は?

許容される回答は次のとおりです。 「コンソールから再マップするには、ディストリビューションsystemdで使用している場合はカスタムキーボードレイアウトを使用できます。/etc/vconsole.confアーチスウィキ」。

Ubuntuが使用していると思いますsystemdしたがって、VPSにインストールされているUbuntu全体でCapsLockをEscキーにマッピングする回答を受け入れる準備が整いました。私の家のWindowsコンピュータへのキーマッピングの提供は変更されません。

私はこれを実行しました:

michal@localhost:~$ localectl status
   System Locale: LANG=en_US.UTF-8
       VC Keymap: n/a
      X11 Layout: us
       X11 Model: pc105

次は何をすべきですか?

/etc/vconsole.conf私のUbuntu VPSにこのファイルがないようです。自分で作成する必要がありますか、それとも基本的に必要ですか?

答え1

簡単な選択肢は、これをvimrcファイルに追加することです。

imap ii <Esc>

ここでは、Escapeの代わりにii(2 'i's)を使用して通常モードに戻ります。

英語では、2つの連続したiiを持つ単語にほとんど触れないので、誤って通常モードに入ることはありません。

必要に応じてiiを別のキーに置き換えることもできますが、私が知っていて試してみた特定のSomeキーを提供するには別のキーが必要なため、Caps Lock、Shift、Ctrl、Altなどのキーでは機能しません。機能は意味があります。

関連情報