GNU/Linux >> Linux の 問題 >  >> Linux

(ターミナルベースの)Vimでメニューを作成して使用することは可能ですか?

私は、主にWindowsベースの会社の開発者向けに、仮想化されたLinuxボックスを(ローカル開発サーバーとして)セットアップしています。一部の開発者は、(とりわけ)vimについて否定的な意見を述べています。 (彼らは何らかの形でLinux / Unixを表しており、環境の使用が明らかに難しいことを証明しているようです。)私が最初にvimを使用せざるを得なかったとき(システム管理者はemacsのインストールを拒否しました!)学習曲線なので、少し同情しています。 nano を紹介するのではなく、私は思いついた。 (おそらく彼らは決して通り過ぎないでしょう)移行を容易にするためにvimでnanoのようなメニューを設定することは可能かもしれません。 (非常に初心者向けの.vimrcファイルを見つけましたが、nanoスタイルのメニューのようなものはありません。)

唯一の問題は、vim(gvimではなく)でメニューを設定できるという主張が機能しなかったことを私が見つけた唯一のことであり、問​​題を修正しようとすると、解決すべきさらに別の問題が残りました。多くの時間を無駄にする前に、それが実際に可能かどうかを知りたいと思います。それを行う方法についての情報はほとんどないようです。

承認された回答:

はい、可能です。 menu.vimをロードできます (デフォルトのgvimメニュー定義)、または最初から始めて独自の定義を作成し、:emenuからアクセスすることもできます。 。ただし、これでは、nanoのような常に表示されるメニューは提供されません。コマンドラインタブ補完を使用してメニューをナビゲートする機能を提供します。

ユーザーがvimrcを持っていない場合は、viの互換性を無効にすることから始めます。

:set nocompatible

でスマートコマンドライン補完を有効にする (可能なすべての選択肢を一覧表示し、 で結果をナビゲートできるようにします 、<ダウン><左><右> 、および ):

:set wildmenu

一致するすべての選択肢の間で繰り返しプレスサイクルを行います:

:set wildmode=full

デフォルトのメニューをロードします(これはgvimでは自動的に行われますが、ターミナルvimでは行われません):

:source $VIMRUNTIME/menu.vim

これらの4つのコマンドの後で、:emenu でタブ補完を呼び出すことにより、メニュー補完を手動でトリガーできます。 コマンド、:emenu を実行します

Tabキーと矢印キー、およびEnterキーを使用して結果をナビゲートできます(サブメニューの展開と項目の選択の両方を行います)。次に、さらに一歩進んで、マッピングをバインドして:emenu と入力しなくても、メニューをポップアップ表示することで、これをさらに便利にすることができます。 毎回:

関連:ファイルの終わりから文字列の2番目の出現を検索しますか?

マッピングでCtrl-Zをを押すように動作させます コマンドラインでインタラクティブに:

:set wildcharm=<C-Z>

そして、:emenuを自動的に呼び出すバインディングを作成します 完了:

:map <F4> :emenu <C-Z>

Linux
  1. サブドメインを作成して使用する方法

  2. Linux で .dll を使用可能

  3. 別のユーザーの .vimrc と .vim/ を使用する

  1. GPartedを使用してパーティションを簡単に作成およびサイズ変更する方法

  2. Linuxでエイリアスを作成してエイリアスコマンドを使用する方法

  3. LinuxでVim-plugプラグインマネージャーをインストールして使用する方法

  1. 新しいデータベースを作成し、MySQL/MariaDBで使用します

  2. Macを使用してLinuxLiveUSBスティックを作成して起動する方法

  3. アクセス許可を保存および復元するスクリプトを作成することはできますか?