haelle.vimrc
Ansible vimrc(日本語訳)
NeoVimといくつかのプラグインをインストールするためのAnsibleロールです。
以下のAnsibleコミュニティタスクが必要です:
ansible-galaxy collection install community.general
依存関係
目標
以下の言語や構文に対する完全でシームレスなサポート:
- Ruby/RoR
- HTML
- Javascript
- VueJS
- React
- Ansible
- JSON
- YAML
- Markdown
- C#
目指すのはバグのない動作です。
テーマとフォント
現在のテーマはslate(desertやindustryも良い)です。:colorscheme xxx
で変更でき、Tab
で使用可能なテーマを確認できます。
現在のフォントはMesloLGS NF Regular(絵文字をサポート)で、Zsh用に設定されています。
プラグイン
プラグインをインストールするには::PlugInstall
(Ansibleによって既にインストールされています)。
ナビゲーション
ヘルプ::help keycodes
を使ってvimキーコード名を表示します。
スプリット、タブ、およびTmuxでナビゲートする可能性:
<C-w f>
: スプリットで開く<C-w gf>
: タブで開く<C-⬅,⬆,⬇,➡>
: パネルのナビゲーション<C-w-⬅,⬆,⬇,➡>
: パネルを移動gt
: vimタブ間の切り替え<C-b>
: Tmuxナビゲーションをトリガー
アクティブな機能
gd
: 定義へ移動gi
: 実装へ移動gr
: 参照をナビゲートgf
: ファイルへ移動(Ruby/Rails専用)gg=G
: コードを再フォーマットF2
: 変数/メソッド/クラスをリネーム<C-k>
: メソッド定義を表示qf
: リンターを実行(動作が悪い...)fr
: 現行行でフォーマッタを実行(Solargraph/Rubyでは動作しない)fa
: ファイル全体でフォーマッタを実行<C-o>
: 戻る<C-s>
: 保存<C-space>
: 自動補完エンジンをトリガー<tab>
: 補完候補間をナビゲート<C-c>
: コメント/コメント解除(行または選択)bufdo!
: ファイルを保存せずに!
を使用(この設定では必須です...)
RubyとRails関連:
<C-q>
: Rubyスペックとファイルの切り替え<C-w>t/s/l/a
テスト/スペックを実行(ファイル、最近、最後、全て)
その他:
- vimを一時停止
Ctrl+z
、fgで戻る
自動/受動的機能
- スペルチェック
- 構文ハイライティング
- ガターと浮動ウィンドウでの自動リンティング
- すべての場所でタブの幅を2スペースに設定
- セッション間でカーソル位置を記憶
- 保存時にトレーリング行を削除
- ホワイトスペースをトリミング
- すべての不可視キャラクターを表示
- 'TODO/FIXME/XXX'キーワードをハイライト
- vimのリサイズを改善
- すべてのタイプのペアを追加((), [] タグ...)
- Rubyペア(def/end, do/end)を追加
- ガターにGit情報を追加
- ガターまたは下線でリンター情報を追加
- 利用可能な場合、メソッド定義を表示する(前後にスクロールするには
<C-a>
と<C-b>
を使用)
検索
アクティブ:
<C-f>
: 現在のファイルで検索(基本vim)<Shift-f>
: すべてのファイルを検索(fzf.vim / agを使用)- 注意 : 正常に動作させるにはターミナルの検索を無効にする必要があるかもしれません
<Esc>
: 検索をキャンセル(ハイライトをキャンセル)<C-p>
: 名前でファイルを検索(fzf.vimを使用)Enter
: 開く<C-t>
: 新しいタブで開く<C-x>
: 横スプリットで開く<C-v>
: 縦スプリットで開く
受動的:
- 結果をDarkGreenでハイライト
- 現在の選択をカーソル点滅でハイライト
サイドバー (NerdTree)
アクティブ
<C-n>
: NerdTreeを開く/閉じるEnter
: ファイルを開くi
: 横スプリットで開くs
: 縦スプリットで開く- ... cf NerdTreeのドキュメント
受動的
- ファイルにアイコン
- Gitステータスに基づくシンボル
- 一部のフォルダーを無視(
node_modules
,.gitignore
)
Ruby - 見るは信じる
F4/F5/F6/F7
コードをマーク/実行/マーク&実行/マークをクリア
コンカー・オブ・コンプリーション
プラグインは初回起動時にインストールされます。
Solargraphは作業する各Rubyバージョンに対してインストールする必要があります:
:InstallGems
役立つコマンド:
:CocInfo
:CocList commands
:checkhealth
:CocList extensions
:call CocAction('format')
:CocList marketplace python
利用可能な拡張機能に注意してください:
- javascriptreact
- typescript
- typescriptreact
- typescript.tsx
- graphql
ロール変数
必須のパラメータはありません。すべてのパラメータはdefaults/main.yml
にあります。
例のプレイブック
- hosts: localhost
roles:
- role: vimrc
vim_user: foo
開発用途
ローカルで実行するにはシンボリックリンクを作成します:cd /etc/ansible/roles & sudo ln -s /path/to/vimrc .
ライセンス
BSD