GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

lunixbochs

ActualVim – Neovimを使用したサブライムテキスト3入力モード

投稿日:

Neovimを使用したサブライムテキスト3入力モード

ActualVim

Sublime Text 3を使用することについてあなたが気に入っているもの、そしてvimでの入力について好きなもの。

実際には、埋め込まれたNeovimインスタンスを使用して、各サブライムテキストバッファを正確に操作しているように、vimで直接テキストを編集していましたが、Sublime Textインターフェイス、機能、およびプラグインは引き続き動作します(警告はREADMEの最後を参照)。

これは、gvimや他のvimフロントエンドのようなリモート端末のUIではありません。 テキストの修正と選択は、実際のSublime Text UIに双方向に同期されます。

どうして?

崇高なことはあなたの端末よりも優れているように見え、豊かなプラグインエコシステムを持っています。

その他の崇高なvimエミュレーションプラグイン(ビルトインのビンテージを含む)は、vim自体の機能の大まかな近似です。 彼らは機能が欠けているか、本物とは違ったふるまいをしています。

ActualVimでは、あなた自身のvimrc、プラグイン、そして実際のvimモーション/コマンドを使用することができます。なぜなら、それ舞台裏でvimであり、双方向同期はSublime Textを意味し、ネイティブOSインターフェイスもまだ機能しているからです。

使用法

このプラグインはNeovimをインストールする必要がありますが、そうでない場合は、すべてのSublime Text 3プラットフォーム(主にWindowsとMacOSでテスト済み)で動作する必要があります。

ActualVimをPreferences -> Browse Packages... sublime.packages_path() Preferences -> Browse Packages...またはsublime.packages_path()にあるパスにクローンします。 通常ここにあります:

  • macOS: ~/Library/Application Support/Sublime Text 3/Packages/
  • Linux: ~/.config/sublime-text-3/Packages/
  • Windows: %APPDATA%/Sublime Text 3/Packages/

コマンドパレット( cmd+shift+pまたはctrl+shift+p )を使用するか、 Preferences -> Package Settings -> ActualVim Settingsを使用して、 Preferences: ActualVim Settingsを開くことで、Neovimパスを設定できます。

ActualVimは1つのNeovim組み込みインスタンスを起動し、各Sublimeビューを別々のバッファに多重化します。

プラグインが動作しない場合(ActualVimが起動したときに水平の下線カーソルが表示されます)、Sublime Textコンソールでエラーをチェックし、Neovimパスを設定していることを確認してください。 それを避けて、問題を提出してください。

その他

OS X 10.7以降では、 defaults write com.sublimetext.3 ApplePressAndHoldEnabled -bool falseを実行する必要がありdefaults write com.sublimetext.3 ApplePressAndHoldEnabled -bool falseを指定すると、キーの繰り返しが有効になります。

ActualVim: DisableまたはActualVim: Enableをコマンドpalleteで実行すると、vimの状態を失うことなく入力モードを切り替えることができます。

警告

現在壊れた崇高な特徴:

  • 複数選択(#8)。
  • 完了(#57)やスニペットの提案(#94)のように、入力中に自動ポップアップ。
  • Vimモードでは、SublimeのUndoは適切に結合されません(一度に1文字です:#44)。

面白いvimのUI(ステータスバーのような)にはまだまだ愛が必要ですが、Sublimeの組み込みHTML Phantomビューを使って美しく見せるための良いアイデアがあります。

非常に大きなファイルは、neovimがデルタの変更をサポートするまでパフォーマンスが低下します。 large_file_disableコマンドは、大きなファイル(設定可能なカットオフあり)に対してActualVimを無効にすることでこれを軽減します。







-lunixbochs
-, , ,

執筆者: