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
この記事は Vim Advent Calendar 7 日目の記事です.6 日目の記事は daisuzu さんによる VimのtagfuncでLSPを使う でした.8 日目は gorilla0513 さんの記事が入る予定です. はじめに 皆さんは Vim の Command-line window をご存知でしょうか. 名前に馴染みがなくとも,あるいは「意図して」使ったことがなくとも,見たことのある方なら多いかもしれません.そう,Vim を終了しようと思って :q と押したつもりが間違って q: と押してしまったときに起動してしまう,あの画面です. Vim 初心者にとっては初見殺しのこの画面.私も初めて出会ったときはとても困惑しました.Vim を終了させようとしたのに,終了しないどころか代わりに変な画面が出てきた.得体の知れないこの画面をどう閉じれば良いかも分からない(<ESC> を押して
この記事は Akatsuki Advent Calendar の 15 日目の記事です。 thinca です。普段は Vim を使って開発をしています。 そんな Vim ですが、つい 2 日ほど前、待望の Vim 8.2 がリリースされました!やったね🎉 本記事では Vim 8.2 で何ができるようになったのかを、同時に公開されたデモプラグインを通して見ていこうと思います。 Vim のリリースについて その前に、Vim の開発体制について少し説明します。 Vim の開発は GitHub の vim/vim リポジトリで開発されています。ブランチは master のみで、最新版は同時に開発版でもあります。 Vim は、パッチ(Git 管理になった今ではコミットとほぼ同義)を積み重ねて改善が行われます。前回のマイナーバージョンアップ(Vim 8.1)から少しずつパッチを積み重ね、ある程度のと
13年前、僕は vim-dev (Vim の開発グループ)に Vim からソケット通信が出来る関数群のパッチを書いて送りました。 Socket functions for vim. - Yahoo! Groups https://groups.yahoo.com/neo/groups/vimdev/conversations/topics/32576 その時は Bram (vimboss) に「Python や Perl インタフェースを使えるやないか、もしくは外部コマンドとか」と返されてしまいました。確かに言語拡張を使えば出来ますし、それに処理がブロッキングだったので実はそれほど有益では無かったかも知れません。 その後、このソケット通信のパッチは vimproc の一部に取り込まれ、シーケンシャルなソケット通信は出来る様になりました。しかし Vim には非同期インタフェースがありません。
これは Vim Advent Calendar 2015 の 9 日目の記事です。 はい、タイトルは盛りました。正直「実装」と言えるほどのものではないので最初に謝っておきます。すみませんすみません。 サクラエディタ (以下サクラ) というのは Windows 用のテキストエディタなんですが、とある事情でこのエディタを Vim ライクなキーバインドで使えるようにしたことがありました。これはその時の思い出話になります。 自己紹介 当時、私はとある零細下請け SIer で働くシステムエンジニアでした。回ってくるのは客先常駐の堅い現場ばかり。ネットに繋がっていない PC で作業することが殆どでした。 サクラエディタとは サクラエディタ サクラエディタはMS Windows上で動作する日本語テキストエディタです. 行く先々の現場では必ずと言っていいほどサクラが使われていて、私もほとんどのショートカッ
はじめに どうもこんにちは。 ソノダバンド大好き君です。 この記事は Vim Advent Calendar 2012 の 26 日目の記事です。 今日は会社の同僚に matchit.vim でハイライトできないもんかね? と言われたので vim plugin を作ってみました。 背景 このプラグインをなぜ書いたか、それは - ググった結果 結構それっぽい質問をしている人が多かった - 出てきた solution っぽいサイトの snippet がコピペでは動かない - 2012 なら (Neo)bundle したい などがあげられます。 matchit.vimとは if と endif などの対応を % で移動できるようになる plugin です。 参考 : http://nanasi.jp/articles/vim/matchit_vim.html 僕の認識では vim をインストール
12時を11分30秒ほど過ぎました所でこんばんは。 この記事はVim Advent Calendar 2012の5日目の記事です。 なおこの記事はAnthyとiPod touchとeskk.vimによって書きました。 今回色々書きたいネタはあったのですが、とりあえず迫りくる締切から逃れるために一番書きやすそうなネタを選びました。(余裕できたら2周目に書くんだ...) という訳で今年は「Vimらしい操作性」について書いてみようと思います。 また、Vimの操作性については前も書いてるので、そちらもよければ参照してください。 表題のことを考えたきっかけは、Sublime Textのmultiple cursorsという機能について、Twitter上でのある人(晒しっぽくなってしまうのが嫌なので仮にAさんとしておきます)とKoRoNさんの会話でした。 え、vim使い的にはmultiカーソルって一括
ref.vim に webdict と言うソースを追加した。取り急ぎ版。 これは設定した Web サイト(主に辞書サイトを想定)を扱うソース。 例えば以下のように設定する。 let g:ref_source_webdict_sites = { \ 'wikipedia:ja': 'http://ja.wikipedia.org/wiki/%s', \ } これで以下のように使用できる。 :Ref webdict wikipedia:ja Vim やっていることは、指定サイトをテキストブラウザで表示した結果をそのまま出しているだけだ。 辞書を使うともう少し細かく設定できる。 let g:ref_source_webdict_sites = { \ 'wiktionary': { \ 'url': 'http://ja.wiktionary.org/wiki/%s', \ 'keyword_e
Textile is a lightweight markup language originally developed by Dean Allen and billed as a "humane Web text generator". Textile_ markup language としては markdown の方が有名かつ圧倒的な人気であると感じますが、textile もなかなかです。 redmine に標準搭載されているので、僕も最初は「なにこれ使いにくい」と思いながらも仕方なく使っている感じでした。ところが慣れてくると「これもなかなかありだな」と思い始め、最近では markdown より書きやすいと感じます。記法が変わるときは空白行を入れないと認識してくれないとか最高ですよね(遠い目)。 markdown + quickrun に関しては、Hack #52: Markdown
コーディングする際、構文やキーワードが色付けされる事はプログラマに大きなアドバンテージを生みます。 先日、vim の開発者メーリングリスト vim-dev に「syntax/cpp.vim に C++0x のサポートを追加して欲しい」との意見が投稿されました。 vim の作者 Bram Moolenaar 氏は「ここ10年程、syntax/cpp.vim のメンテナと連絡が取れていない。」と漏らしました。 そこで以前から、syntax/cpp.vim に手を入れようと議論していた vim-jp がメンテナを買って出る事にしました。 https://github.com/vim-jp/cpp-vim Bram Moolenaar 氏からも快い返事を頂きました。今後は C++ のノウハウを持った日本の vim ユーザー皆さんからのご意見を頂戴しながら syntax/cpp.vim のメンテナン
:lockvar コマンドを使用します。 [ソース] let value = 42 lockvar value let value = 10 " error 変数名を渡す事で、その変数が書き換えできないようにします。 便利な機能なのでいろんなところで使いたいんですけど :lockvar に変数を渡さないとダメなのがやや冗長。 こんな感じで変数定義と一緒に使いたいですね。 lockvar let value = 42 あと lockvar した変数は unlockvar で変更できるようにします。
DB操作ツール Emacs DBI を作ってみた - 技術日記@kiwanami このツールの目的は、クロスプラットフォームで便利なDB操作環境を実現することです。 pgAdmin や MySQL Query Browser のようなGUIの良さをCUIで実現してみようとしてみました。すなわち、ぼくのかんがえたさいきょうのDBツールです。ちなみに、このツールにとってEmacsはただの実行環境です。Emacs使わない人でも使うと便利だと思います。 http://d.hatena.ne.jp/kiwanami/20120305/1330939440 VimもーVimもー! って事で作りました。 mattn/vdbi-vim - GitHub Database client for Vim https://github.com/mattn/vdbi-vim Emacs版はepcというRPCプロト
複数の処理系から1つを選んでスムーズに実行(コンパイル)を行います。 以前にも同様の事をやったんですが、これを unite.vim を使用して実装しました。 quickrun_config に現在の filetype と同じ filetype の設定があれば列挙して実行(コンパイル)出来るようにします。 [vimrc] " filetype ごとに quickrun の config 名を設定する let g:quickrun_compile_command = {} " unite.vim の設定 let s:action = { \ 'description' : 'quickrun compile command', \ 'is_selectable' : 1, \ } function! s:action.func(candidates) for val in a:candidat
[概要] イメージとしては、Visual Studio 2010 で行われている静的なシンタックスチェックです。 これと似たような事を Vim で行います。 [Vimプラグイン] quickrun.vim 非同期でシンタックスチェック quickfixstatus quickfix の該当箇所をコマンドラインに出力 vim-hier quickfix の該当箇所をハイライト vimproc 非同期実行用 [vimrc] " quickfix のエラー箇所を波線でハイライト execute "highlight qf_error_ucurl gui=undercurl guisp=Red" let g:hier_highlight_group_qf = "qf_error_ucurl" " quickfix に出力して、ポッポアップはしない outputter/quickfix " すでに
SYNOPSIS " This is my setting. let g:netrw_nogx = 1 " disable netrw's gx mapping. nmap gx <Plug>(openbrowser-smart-search) vmap gx <Plug>(openbrowser-smart-search) " Open URI under cursor. nmap map-you-like <Plug>(openbrowser-open) " Open selected URI. vmap map-you-like <Plug>(openbrowser-open) " Search word under cursor. nmap map-you-like <Plug>(openbrowser-search) " Search selected word. vmap ma
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く