0

私は vim の大ファンで、ほぼすべての編集作業に毎日使用しています。vim はターミナルで使用するように作られていることを認識しています。デスクトップ環境などを持たないサーバーでも使用できるため、それは素晴らしいことです。しかし、きちんとしたグラフィカル インターフェイスと、プロジェクトや ftp クライアントなどの追加機能を備えたきれいなアプリケーションも好きです ( vim プラグインはほとんどすべてのものに使用できますが、たとえば IDE が提供する快適さを好みます)、きれいな GUI を備えた vim のような代替手段を探しました。明らかに、私は Sublime Text に出くわしました。これはほぼ完璧ですが、vim のパワーの一部が欠けています。vim のソース コードを使用して、適切なフロントエンドを構築することは可能でしょうか? もちろん、それは可能ですが、私の質問は、それはどれほど難しく、時間がかかりますか?また、最善のアプローチは何でしょうか? それとも、私が見つけていないようなプロジェクトがすでにありますか?

回答ありがとうございます。

4

1 に答える 1

3

Vim を中心に構築された IDEが少なくとも1 つあります。GUI ベースのファイル ツリーとシンボル ツリー、およびその他のいくつかの優れた点が付属していますが、エディター コンポーネントは依然としてプレーンな Vim であるため、ルック アンド フィール部門にはあまり「改善」はありません。

Mac OS X では、MacVim は Mac UX 全体 (ネイティブ ショートカット、.app バンドルなど) に非常によく統合されていますが、依然として Vim のままです。「ネイティブ」ファイル ドロワーを提供するフォークもあります。そこにも言うべき「改善」はありません。

私が知る限り、Linux/Windows 上の GVim を除けば、これらは GUI 側で行われた作業の唯一の例です。待って!最近の QT ベースのプロジェクトもあります。

いずれにせよ、これらのプロジェクトが行うことは、あらゆる種類の GUI ウィジェットを Vim コアに「固定」し、それらを内部のものにバインドすることです。あなたが念頭に置いているように見えることは、まったく別の問題です。あなたはあなたが何を望んでいるのかを正確に説明していないので、少し推測する必要があります. あなたはおそらく次のことを望んでいると思います:

  • 角丸
  • グラデーション
  • アニメーション
  • GUI テーマ
  • マウスフレンドリー
  • スムーズスクロール
  • …</li>

私は Vim の内部構造に詳しくありませんが、これらすべての側面をハッキングするにはかなりの作業量になると確信しています。シェルまたは GVim/MacVim としての Vim は、すべてをテキストで描画し、かなり古い学校の入力システムを使用しているか、マルチスレッドでさえないという単純な事実が、IMOに大きな課題をもたらします。


あなたの質問について…</p>

あなたは、Vim 用の「優れた」GUI を構築する方法または可能かどうかを尋ね、ST2 をベースラインとして提案します。

まず第一に、誰もが ST2 自体やそのルック アンド フィールについて高い意見を持っているわけではありません。私は、それはUX /ビジュアルデザインの最前線でのギミックで一貫性のないたわごとであり、一般的に力のないエディターだと思います。どんな面でも Vim よりも「いい」と考える人がいる理由を想像するのは難しいです。

さらに、誰もが Vim や GVim のデザイン/UX を最低だと思っているわけではありません。私は、ほとんどの vimer が実際にそれが何であるかを実際に気に入っていることに賭けます。テキストベースの UI は私たちの多くにとって価値があり、Vim にグラデーション、丸みを帯びた角、および影を追加することで改善されるとは思わないのは私だけではないと思います。もちろん、私は間違っているかもしれません。あなたが書いたように、1つのvimの強みは、端末で使用できることです。あなたのプロジェクト、または私があなたのプロジェクトだと思うものは、ターミナルVimではまったく意味をなさない多くのものをGUI Vimに追加するように思えます。この 2 つを分離することは、私にとって非常に悪い無駄な考えのように思えます。

あなたが本当にVim をより良くしたいのなら、他の面をたくさん提案してもいいですか? 統合されたプラグイン API、外部言語用のより優れた API、マルチスレッド化、入力システムの最新化など、やるべきことはたくさんあります。そして、価値のない目の保養を追加するよりもはるかに重要だと思います.

建設的な議論を開始するには、次の情報を提供する必要があります。

  • vim で見たい機能のコメント付きリスト
  • これらの機能が「改善」と見なされる理由についての合理的な議論
  • 実装のアイデア。

おー!そして、SOはそのようなことを議論するのに適した場所ではありません.

于 2013-01-09T21:26:27.717 に答える