タグ付けされた質問 「key-bindings」

キーを押したときにアクションを実行する。これらは、キーマッピングまたはマッピングとも呼ばれます。デフォルトのキー割り当て、およびキー割り当ての作成または再定義についての質問。

1
挿入モードで一連の文字をマッピングする
挿入モードですでにキーの組み合わせをマッピングできます。 :inoremap abc <do stuff> ただし、これにはいくつかの欠点があります。 などのシーケンスの部分的なバージョンを入力する場合ab、完全なコマンドを入力するかどうかを確認するために「待機」しているため、文字は実際には短時間表示されません。これは望ましくありません。チェーンの部分的な部分文字列が入力された場合、一時停止せずに文字のチェーンをマッピングしたい。 「」と入力してabから一時停止し(上記のポイントで説明したように文字が実際に表示されるまで待ちます)、「」と入力するcと、コマンドは実行されません。待機時間に関係なくコマンドを実行したい。 私はを使用しますがiab、次の理由で機能しません: 文字列の後にスペースを入力する必要があります それで任意のコマンドを実行することはできません。テキストの文字列を挿入するだけです。 マップを使用せずに、挿入モードで特定の文字列が入力された場合にコマンドまたはキーストロークを実行する方法はありますaか?

2
別のキーボードレイアウトで動作するようにVimを変更するにはどうすればよいですか?
QWERTY以外のキーボードレイアウトで入力します。Vimが使用するキーの多くは現在ホーム行にありますが、一部のキーバインディングは機能しませんhjkl。最も明白なものはキーです。 キーボードレイアウトでより適切に機能するように、これらのキーバインディングをどこでどのように変更できますか?

3
端末上のvimのドキュメント(:help)のリンクをたどる問題
与えられたリンクをたどることができないため、ターミナルでvimのドキュメントを読むのに問題があります。 私は引用します: 件名にジャンプ:カーソルをタグ(| bars |など)に合わせ、CTRL-]を押します。 問題は、「+」と「]」が同じボタン上にあるスペイン語のキーボードを使用しているため、CTRL-]を押すとズームすることです。 CTRL-]を他のキーにマッピングできますか、それとも他のオプションがありますか?

1
同じマシンでvimとカフェインを使用する
バックグラウンド 私は研究所で働いており、毎日3つの異なるOSを使用しています。WindowsマシンとMacマシンでは、Caffeineを使用して、別のマシンで作業しているときにこれらのマシンでスクリーンセーバーが有効にならないようにしています(Linuxにはこの問題はありません)。切り替えたときに再度ログインしなければならないのは非常に面倒です。 問題 vimまたはgvimが挿入モードの場合、文字<F15>はドキュメントに散発的に表示されます。少し調べた後、私はそれをカフェインまで追跡しました。CaffeineのWebサイトでは、ソフトウェアは時々<F15>キーを押すイベントをシミュレートすることで機能すると述べています。 利用可能なすべてのキー操作のうち、F15はおそらく最も煩わしくなく(そのキーを備えたPCキーボードを見たことがありません!)、作業に干渉する可能性は最も低くなります。 したがって、カフェインは明らかに犯人です。ただし、私は今でも3台すべてのマシンでお気に入りのテキストエディターを使用することを好み、Caffeineの使用に対応するためにそれを変更するつもりはありません。 質問 vimrcvimに<F15>キープレスイベントを無視させるために入れられるものはありますか? わかりやすく編集 スクリーンセーバーのタイムアウトを無効にすることはできません。IT部門がセキュリティ上の目的で設定します。したがって、カフェインの回避策では、コンプライアンスを維持するために、デスクから離れるときに手動でマシンをロックする必要があります。それはそれほど悪くはありません。しかし、数分ごとにロックを解除します。 また、私はカフェインを作成しなかったので、開発者が<F15>1分間に1回クリックすることを選択した理由がわかりません。@ Random832が示唆しているように、私はおそらくそれを別の方法で、おそらくわずかなマウスの動きやタッチパッドのタップで行ったでしょう。

6
現在の行ではなく、カーソルの上/下の行を削除するにはどうすればよいですか?
現在の行より上の行(またはn行)を削除するコマンドはありますか?上記=電流は含まれていません。 dkつまり、現在の行を削除しない代替手段はありますか?o/ Oとp/のP動作に似ていますが、削除を伴います。 現在、を実行していますkdd。これは、カーソルを1行上に移動して削除します。私は何ができるnnoremap <Leader>d kddとnnoremap <Leader>D jdd-が、カーソルを移動しない代替を持つことは良いオプションのように思えます。そのようなものはありますか?

3
パラメータを使用してマッピングを作成することは可能ですか?
私はそのようないくつかのマッピングを作成しました: :nnoremap <buffer> <leader>xyzABC :call SomeFunc('ABC')<CR> :nnoremap <buffer> <leader>xyzDE :call SomeFunc('DE')<CR> :nnoremap <buffer> <leader>xyzFoo18 :call SomeFunc('Foo18')<CR> :nnoremap <buffer> <leader>xyzBar22 :call SomeFunc('Bar22')<CR> 必要に応じて機能します。 私は現在、マッピングの明らかな冗長部分を削除できるようにするマップテンプレートを作成する可能性を探しています。 :nnoremap <buffer> <leader> xyz? :call SomeFunc(?)<CR> これにより、任意の値をパラメータとしてに渡すことができますSomeFunc。 そのような可能性はありますか?

2
キーを押したままマッピングを繰り返す方法
私は自分で持って.vimrc簡単に分割ウィンドウのサイズを変更するには、いくつかの単純なマッピング: noremap <Leader><UP> <C-w>+ noremap <Leader><DOWN> <C-w>- これはかなりうまくいきますが、たとえば、10行のウィンドウのサイズを変更したい場合は、Leader+ UP10回押して離す必要があります。 キーが押されている間、どうすればこのマッピングを繰り返すことができますか?Leader+ を押すとUP、マッピングが1回適用され、その後しばらくすると、キーを押している間、マッピングが再度適用されます。 注:<C-w>+カウントのプレフィックスを付けることは可能であり、マッピングでハードコード化することも、マッピングを使用する前にカウントを入力することもできますが、それは私がしたい方法ではありません。 注2:ウィンドウのサイズを変更するための一般的なマッピングは、数回押しやすいキー+と-キーを使用することですが、これらのキーを使用してそれを行うことはしたくありません。

1
`gs`の使用例
のドキュメントによるとgs: N秒間スリープする(デフォルトは1) したがって、を使用してVimを10秒間スリープさせることができます10gs。このコマンドの適切な使用例は何ですか?

4
コマンドシーケンスをまとめて繰り返し(。)
検討してください: apple pear カーソルを最初の行に置いてと入力するとYp、次のように生成されます。 apple apple pear カーソルをpear行に置いて入力.し、最後のコマンドを繰り返します。これはp(組み合わせではなく)のみを繰り返しYp、以下を生成します。 apple apple pear apple .最後のN個のコマンドを繰り返すように指示する方法を教えてください。2.組み合わせを繰り返しYpて生成するようなもの: apple apple pear pear それはうまくいきません-それはp2回繰り返されます。しかし、アイデアは「最後の2つのコマンドのシーケンスを繰り返す」でしょう。 qコマンドシーケンスを記録し、で繰り返すことができることはわかっています@@が、このソリューションは理想的ではありません。これは、前もって計画を立てておく必要があるためです。あなたはそれをやった。 私が望むものを達成する方法はありますか? 賞品:上記が不可能な場合、最後のマクロ再生を繰り返す方法はありますか?たとえば、@@最後のマクロを再生するために入力した場合、それ以降はもう一度.入力するのと同じです@@-これは違います(たとえば、結果が@@現在の行によって異なる場合)

2
状況依存の挿入モードのマッピングまたは省略形
LaTeXプラグインにいくつかのユーティリティマッピングを実装して、数学のタイピングを簡略化する予定です。たとえば、次のような略語を作成します `a : \alpha `b : \beta -> : \to => : \Rightarrow そして同様。(一部の)マッピングを数学環境の内部でのみ使用でき、外部では使用できないようにしたい。 構文グループ、つまりtexMathZoneEやを通じて数学環境を認識できることを知っていますtexMathZoneX。ただし、状況依存のマッピングまたは略語を作成するためにこれを使用する方法はわかりません。

3
Ctrl-AとCtrl-Xに似ていますが、最初の桁のみを変更します
整数ではなく、カーソルの後/下の最初の桁を増減する方法はありますか? vimがどのように機能するかはわかりませんが、それを行うプラグインはありますか?見つかりませんでした。 CSSを編集する場合など、他の場合にも非常に役立ちます。 与えられた: ▐margin: 10px 私が押すCTRL-Aと、私は見たいです: ▐margin: 20px 実際: ▐margin: 11px

1
WORDsの<Cw>はありますか?
挿入モードでCtrl- wを押すと、前の単語が削除されます。それは同等ですCtrl- BackspaceWindowsの場合、およびOpt- DeleteOS Xで、かつ実際にタイピングをスピードアップします。 Vimには、との別個の概念がwordありますWORD(を参照:help word)。これは、テキストナビゲーションのための非常に貴重である:それは違いであるwとW、bそしてB、というように。 Ctrl-でw動作しwordます。同様の指示はありWORDますか?

3
オープンマンセクション3
LinuxでCを開発するためにVimを使用しています。K基になる単語のmanページを開くためにを押すと、どのmanセクションを開くかを制御できません。それをどこかに指定する方法はありますか?


1
等号を使用したCtrlのマッピング
Ctrlキーとプラス記号を一緒にマッピングしようとしています。これは私が私のvimrcで試していることです: nnoremap &lt;C-=&gt; : echo "Hello" &lt;CR&gt; ただし、マッピングがトリガーされていないようです。私が間違っている可能性があることについて何か提案はありますか?私はmacvimを使用しています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.