You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
はじめに 私はエンジニアのキャリアをスタートしたときから、当時の上司の影響もあり、Neovim を使用して開発してきました。 当時は dotfiles を GitHub で管理していて、そのリポジトリをローカル環境に git clone して Neovim を使用していました。 その運用をしていたため、新しく PC を購入した時にすぐに環境を整えることができませんでした。なぜなら、dotfiles を機能させるためにどういったライブラリ(例: npm, node, ...)をダウンロードしていたか覚えていなかったからです。 そういった背景があり、転職や故障などを理由に PC が変わったとしても、すぐに開発環境を整えられるように Docker を利用した運用方法に変えました。 具体的にどういった運用をしているのか? 私は以下のような方法で開発環境を整えています。実際にプライベートの PC と
去年8年ぶりに vimrc を書き直した時はLSPの体験があんまりよくなくてLSPなしでNeovimを使い続けていたのだが、様々な言語のOSSをメンテする都合で用途に応じてIntelliJとVSCodeとNeovimの三刀流で暮らしていた結果、可能ならNeovimに寄せたいけどそれならLSPを使いたいなということになり、今回LSPの所を真面目に設定し直して、かなり良い体験になっている。 正直Neovimの設定はVSCodeのそれに比べたら面倒なんじゃないかという印象がありサボっていた節があるが、実際にやってみるとVSCodeと同程度に簡単に済む方法もあったので紹介したい。 何故Neovimなのか LSPの話の前に、タイトルだけ見た人がそもそも単にVSCode使えばいいじゃんと言いそうなので、どうしてIntelliJやVSCodeではなくNeovimに揃えようと思ったのかについて書いておく。
初めに 最近Vimにおけるカーソル移動の効率化について少し考えていて、自分なりに どんなカーソル移動方法があるのか? それぞれのメリット・デメリットは何か? について整理&改善をしたくて、この記事を書きました。 後半にカーソル移動の改善のために作ったプラグインの紹介もあるのでぜひ最後まで読んでみてください。 テキストの編集の動作について 基本、どんなエディタでもテキストを編集するのに次の動作を繰り返すと思います。 移動先の座標を認識(目で見て脳で認識) キーボード・マウスを使ってカーソルを対象の座標に移動 対象のテキストを編集(カット・置き換え・削除など) これらの動作を前提、どんなカーソル移動の方法があるかについて整理していきます。 マウスによるカーソル移動 多くの人はマウスを使用しているかと思うので、こちらの方法はもっとも一般的といえるでしょう。 個人的に、マウスにおける最大のメリット
The terminal can be an effective workhorse for achieving a job. It is fast and agile and allows you to do get things done that would have taken you much more time than when you are limited to using the graphical user interface alone. The GUI, however, treated us with elegant visuals and a clear design that made working with it a comfortable experience that is easy on the eye. When working a lot in
私はメインのエディタとしてneovimを使っていますが、一部のプラグイン(deopleteなど)にはpython環境が必要なことがあります。 しかし、pythonのバージョンは使うマシンや環境によって異なるため、同時に複数のマシンで環境を揃えたり、新しいマシンを導入した際に環境構築がめんどくさかったりします。今回はpython仮想環境を用いることで、コマンド一発でneovimのpython環境を構築する方法を紹介します。 私はツールの設定ファイルや環境構築スクリプトをgithubで管理しているので、全体を見たい方は下のリポジトリをご覧ください。 github.com pyenvとvirtualenv virtualenvを用いたpython環境の作成 neovimで使うpythonのパスを設定する 環境自動構築 pyenvの導入 pyenvでpythonをインストール 使うライブラリのイン
My personal workflow for terminal-based coding, writing, research, and more! Hello everyone! It has been quite sometime since I last posted! Suffice it to say, I have been immensely busy the past year but I am happy to say I am able to resurrect this blog! :tada: I have thoroughly grown into my own workflow for programming, research, and writing. Today, I am happy to be able to share it with you!
Developers are a finicky bunch. Like a dog refusing to walk on wet grass, there always seemed to be a bit of resistance to changing up a routine. We love what we grew up with, be it Star Trek jokes, Vim, or Emacs. The origins of this war harken back to Usenet groups in the 1980s, a time when Vi and Emacs were the primary tools used for coding. Emacs, as we well know, is a “maze of twisty little pa
筆者の環境について Vim にはプラグインマネージャも沢山あります。その中で僕は vim-plug を使っています。Software Design という雑誌で「Vim の細道」という連載をやっている事もあり、皆さんに一番リーチしやすいプラグインマネージャを選んでいるという事もありますが、基本は「トラブルが発生しづらい」という理由で使っているのもあります。 vimrc の分割管理 ところで最近は Vim プラグインが沢山あり、個々に設定が必要な場合もあります。全て vimrc の中に書いてしまうのも良いのですが、そうするとどこからどこまでが、どのプラグインの設定か分からないといった問題が起きてしまいます。僕は vimrc をプラグイン毎に分割して管理しています。 Big Sky :: ぼくがかんがえたさいきょうの Vim のこうせい 2019年 年末版 " Vim 本体の機能のデフォルト値
Pythonの補完環境をjedi-vimからvim-lspに移行した話¶ VimでPython書いてますか? 長らくPythonの補完用プラグインとして davidhalter/jedi-vim を使用してきましたが、 あの mattn (@mattn_jp) さんがCollaboratorになった prabirshrestha/vim-lsp や palantir/python-language-server がいよいよ実用的になってきたので移行してみました。 とはいえ実際に使うにはまだ設定するところもちょこちょこあるので、一度まとめておこうと思います。 前提とする環境¶ Vim: 8.0以上、かつコンパイルオプションで jobs, timer, channel, lambda が有効になっている Python: 2.7もしくは3.4以降 (pyenvやAnacondaでインストールした
tl;dr 私は以前、NeovimでモダンなPython環境を構築するという記事を投稿しました。 上記記事の投稿から1年8ヶ月が経過し、LSPや新たなVimの機能などによりVimを取り巻く環境には次々と大きな変化が訪れていることを日々感じており、VimConf 2019に参加したことでその感覚はより強い確信へと変わりました。 以前から上記記事の内容は最新の状態に則しておらず、現状を踏まえた新しい記事を書く必要性は感じていました。 本記事を書くにあたり前記事に対して上書きすることも考えたのですが、あえて別記事にすることで、 この数年でVimの開発環境にどれほどの変化が起こったのか。 以前との対比を残すと面白いのではないか。 と思いv2として新しく本記事を書くことを決めました。 Language ServerによりPythonのインテリセンスを提供する Vimに訪れた最も大きな環境の変化として
sqlsとは sqlsとは、いま私が開発中のSQL用Language Serverです。SQLをエディタで編集するときの支援機能を実装したサーバとなっており、主な特徴は以下です。 Language ServerなのでLSクライアントが存在するエディタであればどんなエディタでも利用可能 SQL編集支援機能 自動補完(テーブル名、カラム名など) 定義参照 SQL実行 複数のRDSMSに対応 MySQL PostgreSQL SQLite3 Language Serverとは Language Server(あるいはLanguage Server Protocol)とは、プログラム言語の開発支援機能をエディタに提供するサーバ、およびその通信内容を規定したプロトコルです。ただしサーバといってもほとんどの場合ローカル内にホスティングしてローカルのエディタと通信をします。 ここでは主題ではないので詳し
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く