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


22

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

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

Vimがキーを認識しない場合、Vimの外部のキーを(何らかの方法で)別のマップに再マップし、そのキーをVim内にマップすることは可能ですか?

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

ありがとう!

回答:


12

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

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

CmdキーをMac上の何かに再マップする正当な理由は想像できません。それは非常識だ。

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

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

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

  • すべてのプラットフォームで移植可能
  • OSまたはターミナルエミュレータと競合する可能性が低い
  • 覚えやすい可能性の多くを開きます

ハハ、ありがとう。
ロメインル

返信いただきありがとうございます。聞いたことはありました<leader>が、どのように使うべきかはわかりませんでした。移植性についてのあなたの意見に同意します。これは私がVimに移行する理由の一部です。ありがとう。
ジョーデルバー

iTerm2にマップCmdControl直してから、同じウィンドウでショートカットを追加して^t、などで新しいタブを開きます。その後、すべてが機能します!
ショーンクラークヘス

5

iterm2には、このようなことを行うためのキーボード設定オプションがあります。以下の例では、コマンド入力を:wqにマッピングしました

ここに画像の説明を入力してくださいここに画像の説明を入力してください


この解決策をありがとう。これはまさに私が探していたものです。<Leader>については知っていますが、ファイルの保存のようなものは普遍的であるべきだと思います。
ドミトリーBiletskyy

4

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


あなたはどのように正確にそのようなことをしますか?ありがとう。
ヌーノ

/:私のために0x13を進コードを動作しませんでしたimgur.com/RjxOoLY
michalzuber

これを行う方法については、下記写真参照- iTerm2を見てアイデアに感謝の@jhickner
ニール・マギル

3

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

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

たとえば、ターミナル内でのみ⌘ Cmd機能するように左キーを再マップする方法を次に示します(たとえば、アプリ間を切り替えるために使用できるように、右キーは影響を受けないままにします)。Ctrl ⌘ Cmd + Tab

カラビナスクリーンショット


驚くばかり。これでVimで適切に使用できますが、(左)command + tabは「alt tab」ではありません。私は正しいコマンドを使用できますが、とにかくそれを維持するためにそこにありますか?
メダーオムラリエフ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.