.vimrcでALTキーをマップする方法は?


9

挿入モードに入ることなく、可能な追加の空白行であるために、私はマップしようとしているALT-oALT-Oするo<ESC>と、o<ESC>

私は私の中で以下を試しました .vimrc

map <M-o> o<ESC>
map <M-O> O<ESC>

そして

map <ALT-o> o<ESC>
map <ALT-O> O<ESC>

および(以下に推奨)

map <A-o> o<ESC>
map <A-O> O<ESC>

しかし、どれも機能しません。ALT-o定義されていないかのように、通常の動作を提供します。

.vimrcファイルを変更するのはこれが初めてであり、さまざまなキーの指定方法がドキュメントに記載されている場所がわかりません。しかし.vimrc、以下を含めることにより、ファイルが読み取られていることを確認できます。

map <Enter> ihello<ESC>

これは、コマンドモードの<Enter>挿入helloとコマンドモードへの戻りに正常にマッピングされます。

私はcygwinでvimを使用しています。


端末がaltシーケンスをまったく渡していないようです。他の既知のシーケンスは機能しますか?Ctrlを試してみてはどうですか?どの端末を使用していますか?
Caleb

cygwinでvimを使用していますが、編集の詳細として他のスクリプトを機能させています。
Eric Wilson

Ctrlは機能します。私が区別させていないようだ<C-o><C-O>
Eric Wilson

ジャイルズの答えは順調です。間違いなく、より能力のある端末に切り替える必要があります。これらの問題は解消され、キーを取り戻すことができます。
カレブ

回答:


10

キーを押したときに端末が送信している内容を確認するには、挿入モードに切り替え、を押してCtrl+Vからキーを押します。ほとんどの端末のほとんどのキーは、最初の文字だけが制御文字であるエスケープシーケンスを送信します。Ctrl+V次の文字を文字どおりに挿入するので、エスケープシーケンス全体をそのまま挿入できます。

異なる端末は、いくつかのキーの組み合わせに対して異なるエスケープシーケンスを送信します。多くの端末が同じ文字(送信^Oの両方)Ctrl+OとをCtrl+Shift+O、その場合、Vimはそれらを区別できません。

あなたはCygwinを使っていると言っています。Vimを実行している端末が最も適切な情報です。ネイティブのWindowsコンソールを使用している場合は、より良い端末を入手してください。X以外のWindowsのターミナルでCygwinテキストモードアプリケーションを実行する場合はMinTTYをお勧めしますが、CygwinのWindowsネイティブのRXVTとPuTTYcygも適しています。(また、Console2はWindowsコンソールアプリケーションを実行しますが、ここではトピックから外れています)。


3

ショーがControl+V続く場合(ターミナルに入力)、vim.wikia.comの次の小さなスクリプトで修正できます。ALT-x^[x

for i in range(97,122)
  let c = nr2char(i)
  exec "map \e".c." <M-".c.">"
  exec "map! \e".c." <M-".c.">"
endfor

すべてのaltキーマッピングの.vimrcに追加します。


1

これは私にとってUbuntu 16.04 xfceターミナル(およびalacritty rustターミナル)で動作します

ultisnipスニペットトリガーをMeta-/(emacsスニペットと同じように)に設定します。

let g:UltiSnipsExpandTrigger="^[/"

ここに私^[/はvimでタイプします

挿入モード Ctrl-V Alt-/

MetaであるAlt私のPCのキーボード上のキー)


-1

M(eta)キーはWindowsボタンです。ただ<A-o>です。


これも機能しません。
Eric Wilson

これは常に当てはまるわけではなく、キーボードのレイアウトや言語ロケールが異なれば、多くの場合異なります。
カレブ

@Calebこれに関するドキュメントはありますか?
Eric Wilson

私が試したところmap <A-o> o<ESC>、うまくいきました。に入れたら.vimrc、リロードしましたか?
Martin Ueding、2011年

質問者は、ファイルが読み込まれていることを確認したと既に質問に述べています。ウィンドウ上にあるため、これはユーザーに関連していませんが、xkb geometry / symbol / keycodeファイルで異なるMeta / Win / Altキー構成を確認できます。gnomeキーボードレイアウトオプションでも、Alt / Win / Meta間でリマップする一般的な方法がいくつかあることに気づくでしょう。これが存在する理由の1つは、ベースレイアウトの違いによるものです。
カレブ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.