タグ

vimに関するshoのブックマーク (39)

  • Vim Boss が亡くなりました。

    2023-08-05、悲しいお知らせが入ってきました。Vim の作者 Bram Moolenaar 氏が亡くなりました。謹んでお悔やみを申し上げます。 以下は Bram Moolenaar 氏のご家族から vim_announce に送られたメッセージです。 https://groups.google.com/g/vim_announce/c/tWahca9zkt4t 親愛なる皆様へ Bram Moolenaar が 2023年8月3日に逝去したことを、謹んでお知らせいたします。 Bram はここ数週間で急速に進行した病状に苦しんでいました。 Bram は人生の大部分を Vim に捧げ、皆様が一員である Vim コミュニティを大変誇りに思っておりました。

    Vim Boss が亡くなりました。
    sho
    sho 2023/08/06
  • diff コマンド見辛かった - Qiita

    -y オプションをつける diffに-yオプションをつけるとファイル内容を左右に並べて比較表示してくれました。 差分のある部分は|や>などで目印つきつつ、colordiffなら色がつきます。 ちなみにこの出力をlessに渡すと盛大に文字化けしました。colordiff -y file1 file2 | less -Rとすればよいらしいです。 .colordiffrcで色設定も変更できます。 -y --suppress-common-lines をつける -yオプションにさらに--suppress-common-linesオプションをつけると変更のある行だけを表示してくれます。 思い切りばっさりと関係ない行を消してくれるのですが、こんどは情報が少なすぎる感が・・・。 これに行番号表示できないですかね。 --suppress-common-linesオプションを覚えるのは厳しいので alias

    diff コマンド見辛かった - Qiita
    sho
    sho 2019/07/05
  • Vimでの補完ツールプラグインをneocompleteからdeopleteへ

    B! 6 0 0 0 一ヶ月位前にVimのプラグインの1つである neocomplete の開発終了のアナウンスがありました。 これはNeovim用の同様のプラグインとして開発されている deoplete がVim 8に対応したということからです。 アナウンスされた当初はバグ?があったりで上手く動かなかったので様子をみてましたが、 色々アップデートがて使える様になったので使える場所ではdeopleteを使うようにしてみました。 deopleteとは deopleteの導入に必要なこと deopleteの導入 deopleteを使ってみて deoplete用補完ソースプラグイン deopleteとは deopleteはVimの(Dark poweredな)補完機能を強化してくれるプラグインです。 別途補完ソース用のプラグインを追加することで 補完候補を加えることも出来ます。 元々はNeovi

    Vimでの補完ツールプラグインをneocompleteからdeopleteへ
  • VimでPHPのコードをシュワルツ変換してソートする - Qiita

    (この記事はピクシブ株式会社 AdventCalendar 2017の12日目の記事です) 今回のあらすじ リファクタリングDSLとしてのVim scriptの威力に再び社内がおののいてる — tad3 (@tadsan) October 25, 2017 どうおののかせたかを紹介します。 問題 pixivのURLルート定義は以下のような形になっています:1 function getUrlRouteMap() { $route_map = [ '/' => [ 'controller' => 'IndexController', ], '/discovery' => [ 'controller' => 'DiscoveryController', ], '/user/:user_id/series' => [ 'controller' => 'UserSeriesIndexControll

    VimでPHPのコードをシュワルツ変換してソートする - Qiita
    sho
    sho 2017/12/12
    “Vimはテキスト処理に特化したDSLです” うん、まぁそうだな。
  • Vim/NeoVimに任意のコード実行の脆弱性

    VimおよびNeoVimに任意のコードの実行につながるセキュリティ脆弱性を修正するパッチが追加された。それぞれ「patch 8.0.0056|vim / vim」および「vim-patch:8.0.0056|neovim / neovim」で内容を確認できる。修正対象の脆弱性はfiletype、syntax、keymapの値のチェックが不適切というもので、結果として誤った設定状態で該当するファイルが開かれるとコードが実行される危険性がある。 今回、発見された脆弱性は、モードラインが有効になっている場合に悪意のあるファイルを開くと任意のシェルが実行されてしまう。パッチは debian stable、CentOS 6 向けにもバックポートされリリースされている。 なお、プラグインなどの形で脆弱性を悪用したマルウェアが登場する可能性も考えられるが、現在のところセキュリティファームからそういった情

    Vim/NeoVimに任意のコード実行の脆弱性
    sho
    sho 2016/12/27
    "デスクトップ向けのオペレーティングシステムとしてLinuxが無視できないシェアを獲得" えっ、そうなの?
  • 初心者こそ、お洒落でvimらしい使い方を学ぼう!

    vimvimらしく使っていますか? ネットで「vimの使い方」と検索すると、vimにはモードがある事を教えてくれたり、カーソル移動やよく使う編集のためのキーバーインドの一覧をまとめてくれていたりするページが沢山ヒットします。 それらを読んで、実際に使ってみて 「うはぁ、vimって超便利!もう手放せないぜ!」 って、なりましたか? 私の場合は、正直、「何これ?モード移動とか超面倒クセーーー」って感じでした。 vi 対 Emacs どっちが最強?! とか、言われているはずなのに、普段、Emacsを使っていた私にとっては、vimの何処が良いのか、さっぱり分かりませんでした。 私は、別にEmacs信奉者であるというわけでは無く、どちらかと言えば、マニアックな操作感を持つvimに常に魅力を感じていて、使えるようになりたいなぁと憧れさえ持っていました。 なので、偶にネットでvimの使い方を検索してみ

    初心者こそ、お洒落でvimらしい使い方を学ぼう!
    sho
    sho 2016/12/15
    たしかに「普段はノーマルモードにいるものだ」という感覚はあまり言語化されてこなかったかも。次に入力する文字が必ずコマンドになるように、入力モードからは(無意識に)すぐに抜けるもんねぇ。
  • Big Sky :: Vim にchannel(ソケット通信機能)が付いた。

    13年前、僕は vim-dev (Vim の開発グループ)に Vim からソケット通信が出来る関数群のパッチを書いて送りました。 Socket functions for vim. - Yahoo! Groups https://groups.yahoo.com/neo/groups/vimdev/conversations/topics/32576 その時は Bram (vimboss) に「PythonPerl インタフェースを使えるやないか、もしくは外部コマンドとか」と返されてしまいました。確かに言語拡張を使えば出来ますし、それに処理がブロッキングだったので実はそれほど有益では無かったかも知れません。 その後、このソケット通信のパッチは vimproc の一部に取り込まれ、シーケンシャルなソケット通信は出来る様になりました。しかし Vim には非同期インタフェースがありません。

    Big Sky :: Vim にchannel(ソケット通信機能)が付いた。
    sho
    sho 2016/01/29
  • Vim Mnemonic | Vim のコマンドの覚え方大全 - haya14busa

    この記事は Vim Advent Calendar 2015 の21日目の記事です. もくてき 記事では Vim のコマンドの”覚え方”を紹介します. 基的にはトリッキーな”覚え方”ではなく由来の紹介となります. 例えば J で行連結は Join が元だとか, gfが”goto file”の略だといったことを 知っておくとなにかと憶えやすいと思います. 対象読者 主にこれから Vim を使ってみよう! でもなかなかコマンドを覚えられないっ! という Vim 初心者の方に由来を知ることで少しでも コマンドを憶えやすいようにすることが目的です. 初心者を想定しているのでコマンドの動作などもなるべく紹介していきます. 中・上級者の方には普段何気なく使ってたあのコマンドの由来を知って「フハハハハ」と ほくそ笑んでもらえるような記事になれば嬉しいです. 注意 注意点として公式のものから公式っぽい

    Vim Mnemonic | Vim のコマンドの覚え方大全 - haya14busa
    sho
    sho 2015/12/24
    これは力作だ
  • Vim のプラグイン紹介 〜 surround.vim でカッコつける 〜 - Vim のブログ

    surround.vim は、[], (), {} といった括弧や、'' や "" などの引用符、HTMLタグなど、「テキストを囲うもの」を編集するプラグインです。 「囲われているテキスト」には変更を加えず、「テキストを囲うもの」だけを追加、削除、変更することが出来ます。 (Vim 体にはプラグインを入れなくても「囲われているテキスト」だけ、もしくは「囲われているテキスト」と「テキストを囲うもの」の両方を編集する「テキストオブジェクト」という機能もあります。) インストール方法 NeoBundleを使うと下の一行で簡単にインストールできます。 NeoBundle 'tpope/vim-surround' 選択中のテキストを括弧 / 引用符 / HTMLタグで囲う 個人的には surround.vim で一番よく使う機能です。例えば、ビジュアルモードで This is a selected

    Vim のプラグイン紹介 〜 surround.vim でカッコつける 〜 - Vim のブログ
    sho
    sho 2015/03/20
  • Rubyプログラミングが快適になるVim環境を0から構築する - Qiita

    より快適なVim × Ruby環境を目指して構築したvim環境について。 0からでも構築できるように整理した。 やること 最初にRubyVim、その他必要なパッケージをガシガシインストールする。 その後、設定した下記機能について実際の操作例を見ていく。 自動コード補完ができるようにする(Rsense/neocomplete) Vim上で静的解析ができるようにする(Rubocop/syntastic) Vimからリファレンスを閲覧できるようにする(vim-ref/vim-ref-ri) メソッド定義元へのジャンプができるようにする(ctags/vim-tags) 構文終わりのキーワードを自動入力できるようにする(vim-endwise) OSはLinux(CentOS6.5)を想定。検証環境は以下のとおり。 $ uname -a Linux vagrant-centos65.vagrant

    Rubyプログラミングが快適になるVim環境を0から構築する - Qiita
    sho
    sho 2015/03/19
  • Vimで、画面の端でスクロールするのではなく、数行余裕があるうちにスクロールする方法(scrolloff) - 結城浩のはてなブログ

    背景 Vimを使っている。 問題 画面の端までカーソルが移動してスクロールし始めると、カーソルの先に何が書いてあるかわかりにくい。 解法 :set scrolloff=3 を ~/.vimrc に書くと、3行余裕を持たせてスクロールするようになる。 詳細 scrolloffで指定した数値は、カーソルの上下に表示する最少の行数になる。 謝辞 Twitterでたくさんの方から教えていただきました。感謝。

    Vimで、画面の端でスクロールするのではなく、数行余裕があるうちにスクロールする方法(scrolloff) - 結城浩のはてなブログ
    sho
    sho 2013/12/06
  • viminfoファイルを利用して、vimエディタウィンドウ間でデータを転送する — 名無しのvim使い

    vimエディタの作業中の状態を一度、.viminfoファイルに書き出してから、 別のvimエディタで.viminfoファイルを読み込むことにより、 ウィンドウ間でヤンクのデータ、レジスタ、コマンド履歴、検索履歴などの情報を 共有する方法を紹介します。 (Windows, Mac) 概要 vimエディタの作業中の状態を一度、.viminfoファイルに書き出してから、 別のvimエディタで.viminfoファイルを読み込むことにより、 ウィンドウ間でヤンクのデータ、レジスタ、コマンド履歴、検索履歴などの情報を 共有する方法を紹介します。 .viminfoファイルについて .viminfoファイルは、通常、vimエディタの終了時に作成、更新されるファイルで、 コマンド、検索履歴、レジスタなどの情報が格納されています。 vimエディタが前回編集時の情報を最初から持っているのは、 .viminfoフ

    sho
    sho 2013/11/27
  • 最近ホットな Vim Plugin 3つ - Qiita

    最近ホットな Vim Plugin を3つ紹介します。どれもカッコいいプラグインですので、気に入ったら是非使ってみてください。 vim-over vim-overの概要 vim-overは、EmacsのEvilのような一括置換ができるプラグインです。 どういうことかというと、置換する対象文字列がハイライトされ、さらに、その横に変更予定の文字列を表示するという、見た目がすごくカッコいい置換なのです。 Vimでは、:%s/foo/bar/gとしても、ハイライトされませんし、変更予定の文字列も表示されません。 たしかに、1つずつ確認するには、:%s/foo/bar/gcでできますが、どうも味気なく、地味なのです。 しかし、vim-overを使うと、そんな地味さも吹っ飛びます。以下の画像を見てください。画像では、一括置換を実行していますが、視覚的に分かりやすいし、カッコいい置換になっています。 %

    最近ホットな Vim Plugin 3つ - Qiita
    sho
    sho 2013/11/27
  • wri.peをvimで - the code to rock

    毎日wri.peを使っているけど、用途としてはメモ帳というよりバックアップ帳というか、忘れたくない、ストリームではないストックタイプのメモ置き場として大変重宝している。 書き散らしっていうことじゃないんだけど、何かザザッて書いておいて、でもその雑な一時的な書き留めが後から必要になるってこと、内容によるけどけっこう少なくない。で、そういう時に「後から必ず取り出せるメモ帳」という感じになってきているwri.pe。 だが、ちょっと困っているのはやっぱりvimのキーバインドじゃないということで、いやノートの上下移動とか、いろいろかなりショートカットは揃っていてその理念的なところは必ずしもvimから離れてもいないんだけど、たんに入力するときの手間みたいなものとして、「ああ、これvimじゃないんだった」的な、「ちょっと手間だな感」を感じることもなくはない。 というのはべつにwri.peが悪いわけではな

    wri.peをvimで - the code to rock
    sho
    sho 2013/10/30
    むしろwri.peがファイルシステムとして見えるといいんじゃないだろうか
  • vimのすごい便利なのにあまり使われていない「タブページ」機能 - Qiita

    vim タブページ みなさんvimのタブページ機能を使っていますか? この一番上のバーに出ている、ブラウザなどでよくある「タブ」のことです。↓ これはvim 7.3から導入された機能なのですが、なぜかあまり使われていません。 Google検索 vim タブページ しかし、これはめちゃめちゃ便利です! 今までtmuxvimを複数個立ち上げており、ちょっと別の作業をするときは別のvimを起動していたのですが、タブページを利用することによって1つのvimで作業することができ、更にヤンクももちろんタブ間で共有されるので開発効率がかなり上がりました。 あまり使われていない原因はおそらく、デフォルトの状態だと、タブ間の移動がかなりめんどくさいからだと思います。 デフォルトはこんな感じ 右側のタブに移動するたびに :tabnext ラストのタブに移動するには :tablast など打っていられません。

    vimのすごい便利なのにあまり使われていない「タブページ」機能 - Qiita
    sho
    sho 2013/07/24
  • vim に慣れたい人に向けて、おすすめセットアップ - Qiita

    追記 2015-01-27 最近 Qiita また活発に見始めたので思い出してきました。 今は NeoBundle も更新されて neobundle#rc() は非推奨になっているので、更新しています。 2013-05-22 .vimrc のサンプルの設定が一部間違っていたのを修正しました。 if has('vim_starting') 内に call neobundle#rc(expand('~/.vim/bundle')) を記述していたのは誤りです。 はじめに 「vim なんか使うかよ!」って人に、30分ぐらいで「使っていこうかな」となってもらえたので、その時におすすめした設定やプラグインを書いていこうと思います。 この記事に書いてあること インストールするプラグインの説明 モダンな環境にするための、最小のセットアップ手順 ターゲット この記事は以下のような人を対象にしています。 設

    vim に慣れたい人に向けて、おすすめセットアップ - Qiita
    sho
    sho 2013/05/08
    ctrlpは知らなかった。入れよう。
  • vimでキーマッピングする際に考えたほうがいいこと - derisの日記

    この記事はVim Advent Calendar 2012の153日目の記事です。 152日目はmanga_osyoさんによるVim で現在の検索位置を表示するでした。 vimをある程度使うようになると、ある操作(機能)を素早く呼び出すためなどでキーマップを設定するようになります。 ですが、数あるキーの中でどのキーに機能を割り当てるか結構頭を悩ませることが多いかと思います。 ちゃんと既存のキーの機能を意識して割り当てられれば良いですが、たまに「えっ、そのキー潰しちゃうの?」と思うような キーを潰しているのを見かけます(出典:vimrc読書会にて)。 意図してやっているならいいですが、わからぬまま重要なキーを潰してその機能を全く使わないという結構もったいないものです。 そこで、キーマッピングする際に考えたほうがいいことを記述したいと思います。 いつキーマッピングするか? まずはどういう時にキ

    vimでキーマッピングする際に考えたほうがいいこと - derisの日記
    sho
    sho 2013/05/03
  • 「Vimの正規表現`\%`は結構便利だよ」という話 - Qiita

    この記事はVim Advent Calendar 2012 : ATND 79日目の記事になります。 78日目は@raa0121のLingrのBot「VimAdv」を作ったでした。 今回は、Vimの意外と知られていない正規表現\%を紹介したいと思います。 任意にマッチするアトム列 \%[] Vimの各コマンドは省略名をもっているので、これは必須の正規表現かなっと思います。 echo matchstr("fun", 'fu\%[nction]') " 'fun' " `\%[]`を使わないとこう書かなければいけない!! echo matchstr("fun", 'fu\(n\(c\(t\(i\(o\(n\?\)\?\)\?\)\?\)\?\)\?\)\?') " 'fun' 部分正規表現としてカウントされないグループ化 \%(\) これはmatchlist()には結構必須で、matchlis

    「Vimの正規表現`\%`は結構便利だよ」という話 - Qiita
    sho
    sho 2013/02/18
  • http://blog.yuku-t.com/entry/20110427/1303868482

    http://blog.yuku-t.com/entry/20110427/1303868482
    sho
    sho 2012/12/19
  • NeoBundleの導入 - Qiita

    NeoBundleとは? vimのプラグイン管理ツール。 vundleとの違い 公式ドキュメントからの引用 コマンド名が改善されている vital化されている shellslashがオンでも動作する vimprocに対応している unite.vimインタフェースの実装 Subversion, Mercurialへの対応 リビジョン指定 使い方 $ curl https://raw.githubusercontent.com/Shougo/neobundle.vim/master/bin/install.sh > install.sh $ sh ./install.sh "NeoBundle Scripts----------------------------- if &compatible set nocompatible " Be iMproved endif " Required:

    NeoBundleの導入 - Qiita
    sho
    sho 2012/09/12