web-dev-qa-db-ja.com

ターミナルVimで `<cmd>`キーを使用できますか?

私の他の最近の質問から続けて: VimでAckプラグインを実行するために<cmd>-<shift> -fをどのようにマッピングしますか?

Vimで<cmd>キーを使用することは可能ですか?

Vimがキーを認識しない場合、Vimの外部のキーを(どういうわけか?)他の何かに再マッピングし、Vim内でthatキーをマップできますか? ?

Vim 7.3を搭載したLionでiTerm 2を使用しています。

ありがとう!

22
jordelver

<D->はMacVimでのみ機能します。

簡単なグーグルは、ハックとサードパーティのソリューションの束を返します。私が知っているすべてのソリューションは、システム全体で機能するか、アプリケーション固有です。iTerm2のみでCmdを再マップした場合、どのように新しいウィンドウまたは新しいタブを開きますか?と…と…と…MOUSE?

MacでCmdキーを何かに再マッピングする正当な理由は想像できません。それは正気ではないでしょう。

VimはTextMateや以前に使用した他のエディタではありません。すべての古い習慣をシームレスに移行する方法はありません。

Vimおよびを作成しようとする時間を無駄にする代わりに、Vimを賢く使用およびカスタマイズする方法を学ぶ必要があります。 。 Cmd + Shift + Ctrl + Altのすべてのコンボは、あなたをどこにも導きません。特にAltに問題があり、Cmdが使用できない端末では特にそうです。

<leader>:help leader)の使用を検討してください:

  • すべてのプラットフォームでポータブルです
  • oSまたはターミナルエミュレータとの競合が発生しにくい
  • それは多くの覚えやすい可能性を開きます
12
romainl

Iterm2には、この種のことを行うオプションがキーボード設定にあることがわかりました。以下の例では、コマンド入力を:wqにマップしました

enter image description hereenter image description here

5
Neil McGill

単純なコマンドの場合、適切な16進コードを端末に送信することによる解決策があります。たとえば、cmd-sを押してvimに保存したかった。 iterm2でcmd-sをマッピングして、0x13のコードである16進コードctrl-sを送信してから、vimでctrl-s:wqにマッピングしました。

4
jhickner

2016の解決策は Karabiner オープンソースプログラムを使用することです。これにより、修飾子と他のキーを非常に細かい粒度で再マッピングできます。例えば

  • leftのみを再マップ ⌘ Cmd または Option キー。
  • 特定のアプリケーションのみのキーを再マップします。ターミナル、Emacs、または仮想マシン内のみ。

たとえば、左に再マップする方法は次のとおりです ⌘ Cmd 行動する鍵 Ctrlターミナル内のみ(そして、正しいものを影響を受けないようにして、引き続き使用できるようにします。 ⌘ Cmd + Tab アプリを切り替える):

karabiner-screenshot

3
dorserg