ヴィム・ヴェヌ

ヴィム・ヴェヌ

私は、主に Windows ベースの会社で開発者向けに仮想 Linux ボックス (ローカル開発サーバーとして) を設定していますが、開発者の中には vim について否定的な批判をする人もいます (他の点でもそうです)。(彼らにとって vim は Linux/Unix を何らかの形で代表し、環境が使いにくいことを証明しているようです。) 最初に vim を使わざるを得なかったときのことを覚えていて (システム管理者が emacs のインストールを拒否したのです!)、最初の学習曲線が難しかったので、多少同情しています。彼らに vim を紹介するnano(彼らはおそらくそれを決して乗り越えられないでしょう) のではなく、移行を容易にするために vim に nano のようなメニューを設定することができるかもしれないと思いました。(初心者にとても優しい .vimrc ファイルを見つけたので彼らに渡しましたが、nano スタイルのメニューのようなものは何もありませんでした。)

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

答え1

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

ユーザーに vimrc がない場合は、まず vi 互換性を無効にする必要があります。

:set nocompatible

スマートコマンドライン補完を有効にします(すべての可能な選択肢を一覧表示し、、、、、およびを使用<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>

答え2

私自身、使用しているプラ​​グインのすべてのコマンドとキーの組み合わせを思い出せないという問題を抱えていました。さらに、新しいキー マッピングを設定したり、それらにアクセスするためのコマンドを考案したりすることなく、コマンドをすばやく実行できる簡単な方法が欲しかったのです。

ヴィム・ヴェヌ

私は小さなvim メニュープラグインこれにより、vim で編集する可能性のある各ファイルタイプのメニューを定義できます。この方法では、さまざまなファイルタイプに対してメニュー オプション「コンパイル」を定義し、編集しているファイル (.py、.c、.c++ など) に応じてコードをコンパイルするための正しい指示を開始できます。または、マークダウン ファイルに「テーブル」プラグイン コマンドのサブメニューを作成します。

こちらをご覧ください: https://github.com/Timoses/vim-venu

余談ですが、誰もが自分の好きなテキスト エディターを選ぶべきだと思います。Vim にはちょっとした障壁があります (学ぶ価値はあります!)。学ぶ気がない人にとって、vim はあまり役に立ちません。

関連情報