私は主にWindowsベースの会社の開発者向けに仮想化されたLinuxボックス(ローカル開発サーバーとして)を設定していますが、一部の開発者はvimを否定的に批判しました。 (彼らの意見ではこれはややLinux/Unixを代表し、使いにくい環境であることを証明しました。) 初めてvimを使用しなければならなかった時が覚えていて(システム管理者はemacsのインストールを拒否しました!) 初期運用学習曲線が難しかったので私は少し思いやりがあります。彼らにnano
(彼らが絶対に合格できないかもしれない)提案をする代わりに、vimでナノのようなメニューを設定することで移行をより簡単にすることができると思いました。 (初心者に適した素晴らしい.vimrcファイルを見つけましたが、ナノスタイルメニューのようなものはありません。)
唯一の問題は、vim(gvimではない)でメニューを設定するという主張が機能しないことを見つけることができるということです。そしてそれを修正しようとすると、解決すべきもう一つの問題が残ります。多くの時間を無駄にする前に、これが実際に可能かどうかを知りたいです。これを行う方法に関する情報がほとんどないようです。
ベストアンサー1
はい、可能です。menu.vim
デフォルトのgvimメニュー定義をロードするか、最初から始めて独自のメニューを作成して渡すことができます:emenu
。ただし、Nanoなどの常に表示されるメニューは提供されず、コマンドラインタブを使用できます。メニューに移動します。
ユーザーにvimrcがない場合は、最初にvi互換性を無効にする必要があります。
:set nocompatible
Smart Command Line Completeを有効にする(すべての選択肢を一覧表示し、、、および使用して<Tab>
結果をナビゲートできます):<Up>
<Down>
<Left>
<Right>
<Enter>
:set wildmenu
繰り返し押すと、一致するすべてのオプションが循環します。
:set wildmode=full
メインメニューをロードします(gvimでは自動的に発生しますが、ターミナルvimでは発生しません)。
:source $VIMRUNTIME/menu.vim
:emenu
これら4つのコマンドの後に、コマンドのタブ補完を次のように呼び出してメニュー補完を手動でトリガーできます。:emenu<space><tab>
Tabキー、矢印キー、Enterキー(サブメニューの拡張と項目の選択)を使用して結果をナビゲートできます。その後、さらに一歩進んで、:emenu
毎回入力する必要なく地図をバインドしてメニューをポップアップできます。
マッピングで、Ctrl-Zを<Tab>
コマンドラインで対話型クリックのように機能させます。
:set wildcharm=<C-Z>
:emenu
完了を自動的に呼び出すバインディングを作成します。
:map <F4> :emenu <C-Z>