タグ

vimに関するnote103のブックマーク (49)

  • Vimで今見ているバッファを「現在日時+好きなファイル名」で保存する - the code to rock

    この自分でVimに設定した「今見ているバッファを現在時刻のファイル名で保存する」がめちゃ活躍している。実際はその後もう少し手を入れて現在時刻+好きなファイル名にできるようにしてあるのでブログにしたいが・・ https://t.co/i5lOZRvLal— Hiroaki Kadomatsu (@note103) December 22, 2016 結論 .vimrcに以下を入れて、 function! s:newfile(title) execute ":f /path/to/".strftime('%Y-%m-%d-%H-%M-%S').a:title.".txt" endfunction nnoremap <Leader>nf :<C-u>call <SID>newfile("_")<Left><Left> マッピングに設定したコマンド(上の例ではLeaderキー*1を叩いてからnf)

    Vimで今見ているバッファを「現在日時+好きなファイル名」で保存する - the code to rock
    note103
    note103 2016/12/30
    blogged.
  • Vimと日本語編集: 長文の中の見出しだけを抽出する - the code to rock

    以前にすでに書いたような気がしていたが、ブログ内を検索しても出てこなかったので書いておく。 最近とくによくやる作業。 課題と前提 実践: 最小限の工程 応用: 夏目漱石「草枕」より 工夫: マッピングに仕込む 別解: tagbarを使う まとめ 課題と前提 たとえば以下のような文書があったとする。 # 見出し1 文 # 見出し2 文 # 見出し3 文 (略) # 見出し100 文 「文」とあるところは何十行も続いているとして、この中から「見出し」の行だけを集めたいという場合、手動でポチポチ拾っていくのはなかなかつらいものがある。 というか、そういう手動対応はミスの介在する余地も大きいし、肉体だけでなくメンタル面でも消耗の度合いが大きいので、やらずに済めばその方がよい。 では、これをみんな大好きVimで解決するにはどうすればいいかというと、『実践Vim』の「TIP99」を使えばいい

    Vimと日本語編集: 長文の中の見出しだけを抽出する - the code to rock
    note103
    note103 2016/09/03
    書きました。
  • 正規表現の最短マッチに関するVimとPerlの違い - the code to rock

    以前にも近い話題でひとつ書いたのですが、 note103.hateblo.jp それと重なりながらもちょっとズレるトピックでけっこうハマったので、おもに未来の自分用にまとめておきます。 例題 以下の文字列に対して、最初の apple だけマッチさせるパターンを考えてください。 appleorangeapple という問題があったとき、「最初の apple だけ」ということは、いわゆる「最短マッチ(非欲張り型)」のパターンを考えることになりますから、Perl だとこんな感じで作れます。 Perl my $foo = 'appleorangeapple'; say "最短マッチ: $1" if $foo =~ /^(.*?e)/; say "最長マッチ: $1" if $foo =~ /^(.*e)/; 実行。 最短マッチ: apple 最長マッチ: appleorangeapple パターン

    正規表現の最短マッチに関するVimとPerlの違い - the code to rock
    note103
    note103 2016/06/27
    blogged.
  • VimでMarkdownをカンタンにHTML化する - the code to rock

    note103.hateblo.jp 以前に上の記事を書いたのは、もう1年以上前のこと。だから、というわけでもないのだけど、少し方法がアップデートされているので差分を記してみておきます。 まず、以前の方法を簡単にまとめると、 Markdown記法で何か書く。 自作の md2html.pl で変換。 HTML化された文書の出来上がり。 というもので、シェル上のコマンドで言うと、こんな感じ*1。 $ perl md2html.pl in.md > out.html それがその後、Perl界の先輩である @karupanerura さんから、それだったらこう書けるよ! と教えて頂きまして。 $ cat in.md | Markdown.pl > out.html つまり、わざわざそういうスクリプトを使わなくても、PerlText::Markdown モジュールをインストール済みなら Mark

    VimでMarkdownをカンタンにHTML化する - the code to rock
    note103
    note103 2016/06/05
    blogged.
  • vim - 同じ数字を置換するさいに、数字を昇順に割りあてる方法 - スタック・オーバーフロー

    note103
    note103 2016/05/14
    g<C-a>知らなかった・・すごく便利!
  • lightline.vimでファイルの総行数が出るように設定した - the code to rock

    tl;dr before: after: tl;dr before: after: 経緯 課題 試行 転回 経緯 lightline.vimについては、以前に以下で少し書きました。 note103.hateblo.jp この時の詳細な設定は、同記事では書かなかったのですが(すぐにいろいろ変更・調整すると思ったので)、結局大体、こんな感じでした。 gist950c9e240ce410e0f2a4b187d958058d で、これを反映したのが、たとえばこんな感じです。 大変素晴らしい。自分的にはほぼ理想の仕上がりでしたが、ただ使っていくうちにちょっと不満になってきたのが、その「ファイル全体の行数」がわからない、ということでした。 課題 今いる場所(行)について言えば、右から2番めの要素に割合(%)が出てくるので、「ああ、48%ということは、真ん中よりちょっと上か。といってもほとんど真ん中だけ

    note103
    note103 2016/04/15
    blogged.
  • VimでMarkdownを書いている時にプレビューしなくても *強調* 表示を目立たせる - the code to rock

    Vim、便利ですね。 Markdown、便利ですね。 じゃあVimMarkdownは……? べりー便利!! ……さて、VimMarkdownと言ったら、僕の場合はquickrun.vimか、previm*1を使ってきました。 その辺の話は、以下でも書いています。 note103.hateblo.jp もう2年以上前の記事なので多少情報が古いかもしれませんが、この時にやりたかったことや考えていたことの多くは今もそんなに変わっていないと思います。 そしてまた、VimMarkdownといったら、けっこう最近めに出た以下における、mattnさんの記事が大変充実していて良かったです*2。 gihyo.jp ちなみに同誌同号の同特集は、その記事にかぎらず全般的にとても良かったですね。 同じくmattnさんのIDE化記事も大変参考になりましたし、KoRoNさんのコラムも非常に面白かったです*3。

    VimでMarkdownを書いている時にプレビューしなくても *強調* 表示を目立たせる - the code to rock
    note103
    note103 2016/03/17
    blogged.
  • lightline.vimでパッチフォントを設定した - the code to rock

    前回の記事に近いモチベーションですが、後から同じことをやろうとした時に、なるべくすぐに思い出せるように、ということで書いておきます。 lightline.vimとは? といったことについては、以下をグルッと見回ったら必要十分な情報に触れられます。 GitHub - itchyny/lightline.vim: A light and configurable statusline/tabline for Vim 作者が教える! lightline.vimの導入・設定方法! 〜 初級編 - インストールしよう - プログラムモグモグ 作者が教える! lightline.vimの設定方法! 〜 初級編 - コンポーネントを作ってみよう - プログラムモグモグ 作者が教える! lightline.vimの設定方法! 〜 中級編 - 展開コンポーネントを理解しよう - プログラムモグモグ とりあえ

    lightline.vimでパッチフォントを設定した - the code to rock
    note103
    note103 2016/03/16
    blogged.
  • 折り畳み嫌いの男が一夜でFolding freakにまでなった話2 - cafegale(LeafCage備忘録)

    この記事はVim Advent Calendar 2012の144日目の記事です。前日はujihisaさんによる動画Gitのログをいい感じに読むGitLogViewerを用いてneosnippetやneocomplcacheの更新を追うなどする (vim's podcast)でした。 ごぶさたしておりますVimmerのみなさまいかがお過ごしでしょうか。 さて、1年と4カ月ほど前に、折り畳み嫌いの男が一夜でFolding freakにまでなった話と言う記事があったのを覚えているでしょうか。 その当時は私はVimの折りたたみを使い始めたばかりでした。 その後、設定は洗練され、その時作ったプラグインもアップデートされましたので、再びご紹介しようと思います。 foldCC 一昨年、Vim Advent Carendarのために作ったプラグインです。 折りたたみの見た目を変更します。(こんなふうに)

    折り畳み嫌いの男が一夜でFolding freakにまでなった話2 - cafegale(LeafCage備忘録)
    note103
    note103 2016/03/03
  • Vim のプラグイン紹介 〜 surround.vim でカッコつける 〜 - Vim のブログ

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

    Vim のプラグイン紹介 〜 surround.vim でカッコつける 〜 - Vim のブログ
    note103
    note103 2016/03/03
    わかりやすい
  • VimShell エイリアスとヒストリ - Qiita

    はじめに いままでVim中にシェルする時は:shellとしてたんですが、Vimの中で済ませられるならと、VimShellを導入してみました。 普段ターミナルを使ってる感じと違うなと思ったのは、 エイリアスが効かない ヒストリも使えない (!!とか!<番号>、上下矢印キーでの履歴が効かない) ググってみたところ、どちらもVimShellでも実現可能でした。 エイリアスの設定 .vimshrcで設定します。デフォルトは~/.vimshrc bashと書式が同じだったので、.bashrcのalias設定をそのまま貼ればOKでした。 alias h='history' alias c='clear' alias l='ls -l' alias la='ls -al' alias cls='clear;ls -F' alias rmbk='rm -f *~' Uniteをインストールすると、C-lで

    VimShell エイリアスとヒストリ - Qiita
  • vimで分割した画面を一気に拡大表示 - 負け犬がいろいろとかたったら

    vimをがしゃがしゃいじっていたらhelpに載っていない(たぶん)コマンドが使えた。ググっても出てこないし(たぶん)手持ちのvimテクニックバイブルにも載ってない(たぶん)のでもしかしたらあんまり知られていないのかもしれないと思ってメモ。vimでvsp/spとした時に表示する領域を一気に大きくする方法です。 vimの画面分割がうまくないよー vimで:vsp/:spとした時に画面を縦横に分割できますよね。こんな風に。 これはまぁ基中の基みたいなもんなんで誰でも知っていると思うのですが、この状態でたくさん分割すると分割された画面の領域がどんどん狭くなってしまいます。一つ一つの画面領域を拡大するにはctrl+wと+とかを使えばいいのですが、これだと一行分ずつしか大きくならないのでちまちまとしか領域を広げられない。行数指定をしてガッ!と動かすこともできるけれど、何行指定すれば最大になるのかっ

    vimで分割した画面を一気に拡大表示 - 負け犬がいろいろとかたったら
    note103
    note103 2016/02/03
  • vim:vimfiler [Ore Base]

    このページは削除されました。以前のリビジョンの一覧をチェックして、いつ・なぜ削除されたのか確認したり、過去の版にアクセスしたり、元に戻したり出来ます。

  • Vim-EasyMotion 始めました - the code to rock

    つぶやき vim-easymotion入れた。頑張ろう・・ https://t.co/lqDk0ywmtk— Hiroaki Kadomatsu (@note103) January 29, 2016 vim-easymotionとりあえず最低限の基礎的な動きはできるようになってきた— Hiroaki Kadomatsu (@note103) January 30, 2016 背景 ここ数週間、どうもneocompleteの調子が悪く、動作条件は揃っているはずなのに(というか以前は使えていたのに)、やれVimのバージョンを上げろ、luaをインストールしろ、という警告が出てきて困った。 実際にはVimは最新のバージョンを使っており、かつluaも入っているので、自分がなにか奇妙な設定をしているのだろうとは思ったものの、いくら検索して同様の症状や対策を探しても出てこない。 仕方なくVimMac

    Vim-EasyMotion 始めました - the code to rock
    note103
    note103 2016/02/01
    blogged.
  • haya14busa

    この記事は2017年 @haya14busa がやってきた活動,特にVimとかのざっくり振り返り記録です. 過去の振り返り記事 1年間『Vim駆動学習』してきて最高に楽しかったのでオススメしたい 2014年の振り返り. またはプログラミング2年目をVimに捧げるとこうなるという話 はてなGoogleインターン行ってイカやりすぎたイカVimmerの2015年の振り返り Go に恋した Vimmer の2016年の振り返り 今年はざっくりプログラミング & Vimmer 歴 5年目でシンソツ=ニューシャイベントもあり環境も変わった年でした。 2017年 - Vim 活 haya14busa/vim-poweryank: Copy text over SSH incsearch.vim is dead. Long live incsearch Vim, Me and Community コード

    haya14busa
    note103
    note103 2016/01/29
  • vim-jp » Hack #177: neocomplcacheの設定について知る 前編

    ツイート 最近、neocomplcacheはかなり有名になってきました。しかし設定項目が多いせいで使いこなせない、という人は後を絶たないようです。ヘルプを見れば解決する訳なのですが、膨大なヘルプをいちいち読んでいられない人も多いことでしょう。ということで、数回に分けてneocomplcacheの設定例について解説したいと思います。ちなみに、ヘルプに書いてあるneocomplcacheの設定例は私の普段使っている設定を元にしたものです。 設定例 今回は、下の設定について一行ずつ解説をしたいと思います。 " Disable AutoComplPop. let g:acp_enableAtStartup = 0 " Use neocomplcache. let g:neocomplcache_enable_at_startup = 1 " Use smartcase. let g:neocomp

    note103
    note103 2016/01/24
  • Vimのカーソル移動はもっともっと爆速になる! Vim-EasyMotion v3.0 をリリースしました - haya14busa

    Vim-EasyMotion でウィンドウをまたいだ移動ができるようになりました!!! easymotion/vim-easymotion 過去の関連記事 Vim-Easymotionを拡張してカーソルを縦横無尽に楽々移動する - haya14busa まだ fork でやってた時代の記事. 自分のVim歴より始まりが古く,1年続いたという伝説のVim Advent Calendar 2012の363日目の記事で懐かしい. Vim-EasyMotionでカーソル移動を爆速にして生産性をもっと向上させる - haya14busa easymotionのメンテナになってからの便利機能まとめ的な記事. そして今回の記事はvim-easymotionのリポジトリがorganization持ちになって久々に便利機能追加したという記事になります. vim-easymotionとはVimのカーソル移動を

    Vimのカーソル移動はもっともっと爆速になる! Vim-EasyMotion v3.0 をリリースしました - haya14busa
    note103
    note103 2016/01/19
  • Vimで重複行をカット(:sort u) - the code to rock

    あるの知らなかった。d.hatena.ne.jp こちらもいろいろ紹介してくれている。qiita.com というか後者はすでにストック&ブクマしてたけど・・ ちなみに今まで、重複行を探すには以下を使っていましたが、 Perl製自作便利ツール紹介: 重複行抽出スクリプト - the code to rock 内容がソートされちゃっても良ければ上記のとおり :sort u で十分ですね。 というか行の順番をそのままに手軽に重複行を知る、というのも探せば&何か考えれば結構サクッと解決しそうだな・・ 「すでにそういうのあるかも」とか「方法を探してみよう」「考えてみよう」みたいに思って動くの重要ですね。 さらにちなみに、そもそも今回上の記事を知ったのは、「あ〜今やりたいこと、Linuxコマンドのuniqを使えば一瞬でできるけど、Vimから出ないでサクッと出来ないかなあ」と思って、「vim uniq」

    Vimで重複行をカット(:sort u) - the code to rock
    note103
    note103 2015/09/29
    メモ的に
  • Vimで「日付+曜日」がパッと出るようvimrcに設定する - the code to rock

    vimrcに以下のように入れておくと、 inoremap <expr> ,df strftime('%Y-%m-%d %H:%M') インサートモードで「,df」と打ったときに「2015-09-19 20:41」みたいに出てくる。 同様に、 inoremap <expr> ,dd strftime('%Y-%m-%d') inoremap <expr> ,dt strftime('%H:%M') としておくと、日付だけとか時刻だけ出てくるようにも設定できる。 これらは技評さんの以下のムックで知ったのだけど(P145)、 開発ツール徹底攻略 (WEB+DB PRESS plus) 作者: Junio C Hamano,大塚弘記,川口耕介,kana,大竹智也(tomoya),尾藤正人,WEB+DB PRESS編集部出版社/メーカー: 技術評論社発売日: 2013/04/10メディア: 大型

    Vimで「日付+曜日」がパッと出るようvimrcに設定する - the code to rock
    note103
    note103 2015/09/20
    blogged.
  • vim の:filetype は ややこしい - まる-おぶ-ざ-でい

    :filetype関連の話題を見かけたので自分的な理解をめもめもしてみます。 おかしな所がありましたら見なかったことにしたり、あるいはご指摘いただけると助かります。 とりあえず困ったときは次のようにすると良いかなーと思っています。 " .vimrc 始めの辺りに書く " 一旦ファイルタイプ関連を無効化する filetype off filetype plugin indent off " いろいろ " .vimrc 最後の辺りに書く " ファイルタイプ関連を有効にする filetype plugin indent on 特に filetype off を書き忘れてしまうと、システムのvimrcやexample_vimrc経由で意図せず :filetype on されていた場合に、ファイルタイプの検出がうまく動作しません。 on/offの書き方が少し違うのでややこしいなあと感じます。 それと

    vim の:filetype は ややこしい - まる-おぶ-ざ-でい