ブログ

読んで思い出す。忘れるために書く

Vim

プラグイン coc.nvim を導入した

Vim

プラグインマネージャは dein.vim を使っているので、そこだけインストール方法がちがう プラグインを羅列している .vimrc のブロックに 1行足す call dein#add('neoclide/coc.nvim', {'rev': 'release'}) # 依存ライブラリのインストール bundle install so…

asdf でインストールする Vim のクリップボード機能を有効化する (WSL2)

TL;DR asdf を使うと、たとえば Vim とか サクッといろいろインストールできる でも通常は「-clipboard」になるから「+clipboard」にするためには 準備が必要かも (※ vim --version|grep clipboard で拡張機能が有効化されているか否かを確認できる) あとい…

defx.nvim を導入した (ファイル エクスプローラ)

Vim

NeoVim じゃなくて Vim 使ってるけど 対象バージョンなので問題なく動く defx でファイルを探している様子 Shougo/defx.nvim: The dark powered file explorer implementation Link vim沼: JavaScriptでElectronとReact Nativeアプリを効率的に開発する設定 -…

Q. インデントに表示している文字の色を設定したい (vim-indent-guides)

A. ドキュメント を参照して IndentGuidesOdd, IndentGuidesEven のハイライト設定の値を変更する autocmd VimEnter,Colorscheme * :hi IndentGuidesOdd guibg=Grey11 ctermbg=234 guifg=Grey42 ctermfg=242 autocmd VimEnter,Colorscheme * :hi IndentGuide…

Q. Vim でタブ文字表示にわかりやすく文字を設定したい

A. listchars に値を設定する set listchars=tab:»・ その他の制御文字に対しても文字表示を設定できる set listchars=eol:¬,tab:>·,trail:~,extends:>,precedes:<,space:␣ Links whitespace - Make Vim show ALL white spaces as a character - Stack Overfl…

Q. ファイル名の一部からそのファイルを開きたい (Vim, ctrlp.vim)

A. ctrlp.vim プラグインを使う ショートカットキー呼び出しを設定することで、すぐにプラグインの機能を利用できる let g:ctrlp_map = '<c-p>' let g:ctrlp_cmd = 'CtrlP' Link kien/ctrlp.vim: Fuzzy file, buffer, mru, tag, etc finder. - GitHub</c-p>

Q. ALE がチェックしたエラー箇所にジャンプしたい (Vim)

A. 次の設定を .vimrc に追記する nmap <silent> ]w <Plug>(ale_next_wrap) nmap <silent> [w <Plug>(ale_previous_wrap) Link Add ALE syntax checker prev/next keyboard mappings · Issue #114 · salcode/ironcode-vim - GitHub dense-analysis/ale: Check syntax in Vim asynchronous</plug></silent></plug></silent>…

Q. Vim でも Visual Studio Code のように [Alt] + [↑]/[↓] で行の移動をしたい

A. 次の設定を .vimrc に追記する " Move current line to up/down " Ref: https://vim.fandom.com/wiki/Moving_lines_up_or_down nnoremap <A-j> :m .+1<CR>== nnoremap <A-k> :m .-2<CR>== inoremap <A-j> <Esc>:m .+1<CR>==gi inoremap <A-k> <Esc>:m .-2<CR>==gi vnoremap <A-j> :m '>+1<CR>gv=gv vnoremap <A-k> :m '</a-k></cr></a-j></cr></esc></a-k></cr></esc></a-j></cr></a-k></cr></a-j>…

Q. OS によって異なるコマンドを .vimrc 上で使い分けたい

A. if と has() を組み合わせて判断させる たとえば、ターミナル上... コマンドで何か開きたい場合に : Mac OS -> open Ubuntu -> gnome-open Windows -> start と、やりたいことに対してOS ごとに コマンド名が違う そういった場合に、次のように条件分岐を…

Q. Vim で行ごとにコピペした数値を連番にしたい

A. 対象とする数値の上で <C-a> これを行ごとに必要分繰り返す プラグイン を導入していれば <C-v> で矩形選択後に <C-a> で数値の加算をすることで、ビジュアルモードで連番振りができる Links Increasing or decreasing numbers | Vim Tips Wiki | FANDOM powered by Wiki</c-a></c-v></c-a>…

Q. エラー検出された行でカーソルが消えて操作しづらい (Ale + Vim)

A. let g:ale_echo_cursor = 0 で設定の無効化をする Cursor disappears when viewing error message · Issue #1334 · w0rp/ale - GitHub : 当該コメント Link w0rp/ale: Asynchronous linting/fixing for Vim and language server protocol integration - G…

Vim で分割したひとつのパネルを一時的に最大化したい/戻したい (参考リンク)

A. 関数を定義して、キー操作に割り当てる nnoremap <C-W>O :call MaximizeToggle()<CR> nnoremap <C-W>o :call MaximizeToggle()<CR> nnoremap <C-W><C-O> :call MaximizeToggle()<CR> function! MaximizeToggle() if exists("s:maximize_session") exec "source " . s:maximize_session cal</cr></c-o></c-w></cr></c-w></cr></c-w>…

dein.vim を導入する (参考リンク)

Vim

プラグインマネージャ おもに GitHub などに公開されている Vim プラグインを、設定として記述することで簡単にインストール・削除できるようにしてくれるプラグイン 以前は Vundle を利用していたが Dein に乗り換えた dein.vim Dein.vim is a dark powered…

EditorConfig で Tab vs Space インデント戦争を終わらせる(参考リンク)

Vim

まとめ EditorConfig をチームで導入して、それぞれ好きなエディタを使いつつも 統一的な書き方を進めていこう 設定ファイル? 改行は CRLF, LF にするのかとか 文字コード、ファイルの末尾に空行を入れるか、インデントはタブかスペースか、インデントのサ…

コマンドから機械的に vim の retab を実行する(参考リンク)

知らないどこかで、スペースとタブが混在しているコードが日々編集されていると聞き及んで、その恐怖心から書いた 内容は sideshowcoder/Readme.md - Gist に書かれていることをなぞったもの コマンドのように実行する 機械的に実行する Links コマンドのよ…