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
