Androidデバイス内で起動したvimの為のtips
いつもポエムの様にDroidVimの話を垂れ流す当記事ですが、最近androidからのsshクライアントをTermuxに変更したため、「Termuxでもvimが必要」というケースが増え、vimrc内で条件分岐が欲しいケースがまた増えました。gitを使って共通の設定を使っているので、設定内で複雑な記述を避けるために環境(と端末)を特定する方法が必要なわけですが…出来らぁ!とはいえ、とりあえずDroid...
View ArticleVimのモードについてまとめ
ノーマルモード起点となるモードvimを起動したときに、Escを押したときになるモード文字入力はできない。カーソルを動かしたり、別のモードに切り替えたりするときに使う。導入モード(インサートモード)文字を入力するときに使う。ノーマルモード時に「i」、「I」、「a」、「A」のいずれかのキーを押すことで、切り替わる。ビジュアルモード入力した文字を選択したいときに使う。ノーマルモードで「v」を押すことで、切...
View Articlecoc.nvimをvim8のデフォルトのplugin managerでインストールする方法
概要coc.nvimをvim8のデフォルトのplugin managerでインストールする方法インストールvim8のデフォルトのpluginマネージャーcd~/.vim/pack/mypackage/start curl --fail -L https://github.com/neoclide/coc.nvim/archive/release.tar.gz|tar xzfv...
View Articlevim用にGroovy Language Serverを設定する
vimでGroovyを書くためにLanguage Serverを設定したときにちょっと詰まったところがあったのでメモしておきます。まずGroovyのインストールmacの場合です。Homebrewからインストールして適切にJAVA_HOMEを設定すればオッケーです。私の場合はHomebrewで入れたopenjdkが入ってたのでそちらに向けました。openjdk@11でも動くようです。$ brew...
View Article指定時間にコマンドを実行する'Vialarm'プラグイン
先日からお熱になっていた"Vimにcron相当のアラーム機能を追加する"話のオチとして、gitに公開しました。詳細等のちほど…
View Articleポップアップウィンドウでgit blameを確認できる blamer.nvim
概要APZelos/blamer.nvimは VSCodeの GitLensに触発されて開発されたplugin。vim-fugitiveの...
View ArticleideaVimで直前の変更箇所にジャンプする
ideavimとはIntellijのIDEでVimの操作をエミューレートするプラグインにideaVimがあります。https://github.com/JetBrains/ideavimVimの場合直前の変更箇所に戻る g;直前の変更箇所に進む g,のキーバインドが用意されていますが、ideaVimはデフォルトでこのキーバインドが用意されていません。ideavimで[g;] [g,]...
View Articlewip: vimで「カーソルを包むカッコの中で色々したい」と思うとき
今自分がいるカッコの中で、末尾まで削除したい → それvim標準のmotionでやれるよ今自分がいる関数呼び出しの引数リストの中で、n個の引数を削除したい → vim-swapのオプション使うと便利だよ末尾まで〜→ ])が t)相当→ [(はなぜか F(相当になってるよ注意点:そもそもexclusiveなのでカーソル位置の文字は削除されないよ引数リストのn個を〜map...
View Article[Rails] Docker上でのcredentials.ymlの編集
はじめに自分と同じ初学者向けの内容になっているので間違っている箇所や読みづらい文章になっているかもしれませんがご了承下さい。内容Rails5.2から追加されたcredentials.ymlをDocker上のRailsプロジェクトで編集しようとしたら下記のようなエラーが出ました。credentials.yml編集コマンド EDITOR='vi' rails...
View Article[ 簡単 ] aliasで自分だけのコマンドを作ろう
今回使うもの・ターミナル・vimalias 登録までの流れvimで.zshrcファイルを開くaliasを定義する変更を適用させる1. vimで.zshrcファイルを開くターミナル $ vim ~/.zshrc *場所はどこでも大丈夫です。 2. aliasを定義する*ここでは vimコマンドを使用します。まず、コマンド iで INSERTモード に切り替えます。.zshrc -- INSERT --...
View Article[teeコマンド]一般ユーザーでroot権限が必要なファイルを書き換える時のコマンド
状況書き込み権限のないユーザーでファイルをvimで書き換えようとして。Can't open file for writing Press ENTER or type command to continue と怒られる。rootユーザーに切り替えて編集し直しても良いんだけど。という時。コマンド:w !sudo tee % :w! (内容を保存) sudo tee...
View Article論文執筆のためのVim Plugin
記事の目的Vimを使って英語論文を書くときに便利なPlugin等を紹介します。 Markdownで論文を書いて、Pandocで.docxへ変換することを前提としています。 Vim Pluginの入れ方や管理方法については別の記事をご覧ください。環境Alpine Linux...
View ArticleNeoVimでpopup-menuを実装できるプラグイン
Neovim用のpopup-menuを実装できるプラグインを作りましたVim8にはpopup_menu()という関数があり、ユーザー独自のpopup-menuを利用した機能を作ることができるのですが、これまで残念ながらNeovimには同じ機能は実装されていませんでした。これは時々問題になることがあります。例えば、プラグイン作者が軽い気持ちでpopup_menu()を利用すると、Neovimではpop...
View Articlevimプラグインctrlpにてキャッシュをリフレッシュする方法
ctrlpを開いている最中にfn + F5を押すと良いらしい macでのみ検証済み出典https://github.com/kien/ctrlp.vim/issues/51
View Articletmuxのコピーモードをviで操作
tmuxのコピーモードに惹かれて使ってみたのですが、すごく便利。 vimキーバインドでのコピーモードの使い方をまとめておこうと思います。.tmux.confの設定についてはこちらの記事を参考にさせてもらいました。tmuxを必要最低限で入門して使うtmux.conf# prefixキーをC-qに変更 set -g prefix C-q # C-bのキーバインドを解除 unbind C-b #...
View Article【Vim】lightline.vimでLanguageClient-nvimのエラー表示を改良する
lightlineで動的にエラー表示を行うには、lightlineに用意されたイベントの仕組みを使う必要があります。この仕組みをプラグインとして公開しているものはいくつかありますが、既存のLanguageClient-nvim用の設定が適用できない環境があったため、新しくプラグインを書きました。作ったものhttps://github.com/takiyu/lightline-languageclie...
View Article競技プログラミング用の自動実行環境つくった
はじめに競技プログラミングを、データ構造とアルゴリズムの勉強のためにやろうと思っていて、最近は開発ツールの開発に精神を持っていかれてしまいました。まあまあ使いやすいものになったので、よかったら使ってみてください(改善点等あれば是非教えてください!)。こちらに掲載したテストスクリプトと組み合わせることで、自動テストスクリプトとなります。その内1つのページにまとめるかもしれません。環境構築ファイル更新検...
View ArticlevimでC++を無理やりコンパイル&実行
vimのF5でC++を無理やりコンパイル&実行プロジェクトなどでコンパイル方法はまちまちなのでmain.cppの一行目のshell scriptをF5で実行できるようにした.背景pythonのようにC++を手軽に実行させたかっただけ ubuntu 18.04を使っていますできることmain.cppの一行目のコメントをbashで実行する.たとえばmain.cpp/* make main...
View ArticleVim(Neovim)だけでAtCoderに参加したい
できたものka-tsu-mo/at-vim-coder最近AtCoderに参加し始めましたが、もっと過去問をといて本番でいいパフォーマンスを出せるように練習が必要だなと感じております。ブラウザを開かずに使い慣れたVimのキーバインドだけで完結できるようなプラグインを目指しました。といってもやっていることはスクレイピングだけですが...工夫したところAtCoderは問題文に数式が用いられていることがあ...
View Articlecoc.nvimのphpls拡張の代わりにintelephenseを入れた
概要coc.nvimの拡張機能 phplsが想定の動きをしなくなったので、intelephenseを入れた。手順1 coc.nvimから phplsのアンインストール" vimでの操作:CocUninstall coc-phpls 2 intelephenseのインストール# ターミナルでの操作 npm i intelephense -g3 intelephenseの設定"...
View Article