はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

  • はてなブックマークって?
  • アプリ・拡張の紹介
  • ユーザー登録
  • ログイン
  • Hatena

はてなブックマーク

トップへ戻る

  • 総合
    • 人気
    • 新着
    • IT
    • 最新ガジェット
    • 自然科学
    • 経済・金融
    • おもしろ
    • マンガ
    • ゲーム
    • はてなブログ(総合)
  • 一般
    • 人気
    • 新着
    • 社会ニュース
    • 地域
    • 国際
    • 天気
    • グルメ
    • 映画・音楽
    • スポーツ
    • はてな匿名ダイアリー
    • はてなブログ(一般)
  • 世の中
    • 人気
    • 新着
    • 新型コロナウイルス
    • 働き方
    • 生き方
    • 地域
    • 医療・ヘルス
    • 教育
    • はてな匿名ダイアリー
    • はてなブログ(世の中)
  • 政治と経済
    • 人気
    • 新着
    • 政治
    • 経済・金融
    • 企業
    • 仕事・就職
    • マーケット
    • 国際
    • はてなブログ(政治と経済)
  • 暮らし
    • 人気
    • 新着
    • カルチャー・ライフスタイル
    • ファッション
    • 運動・エクササイズ
    • 結婚・子育て
    • 住まい
    • グルメ
    • 相続
    • はてなブログ(暮らし)
    • 掃除・整理整頓
    • 雑貨
    • 買ってよかったもの
    • 旅行
    • アウトドア
    • 趣味
  • 学び
    • 人気
    • 新着
    • 人文科学
    • 社会科学
    • 自然科学
    • 語学
    • ビジネス・経営学
    • デザイン
    • 法律
    • 本・書評
    • 将棋・囲碁
    • はてなブログ(学び)
  • テクノロジー
    • 人気
    • 新着
    • IT
    • セキュリティ技術
    • はてなブログ(テクノロジー)
    • AI・機械学習
    • プログラミング
    • エンジニア
  • おもしろ
    • 人気
    • 新着
    • まとめ
    • ネタ
    • おもしろ
    • これはすごい
    • かわいい
    • 雑学
    • 癒やし
    • はてなブログ(おもしろ)
  • エンタメ
    • 人気
    • 新着
    • スポーツ
    • 映画
    • 音楽
    • アイドル
    • 芸能
    • お笑い
    • サッカー
    • 話題の動画
    • はてなブログ(エンタメ)
  • アニメとゲーム
    • 人気
    • 新着
    • マンガ
    • Webマンガ
    • ゲーム
    • 任天堂
    • PlayStation
    • アニメ
    • バーチャルYouTuber
    • オタクカルチャー
    • はてなブログ(アニメとゲーム)
    • はてなブログ(ゲーム)
  • おすすめ

    WWDC25

『qiita.com』

  • 人気
  • 新着
  • すべて
  • Pull Request の指摘修正でコミットログが汚れていく問題への対処法の一案 - Qiita

    7 users

    qiita.com/thinca

    この記事は Akatsuki Advent Calendar 2017 の 1 日目の記事です。 はじめに この記事では rebase の是非やルールについては議論しません。 開発者が限定されているプライベートリポジトリや、事前に「このブランチはあとで整理する」と通知してあれば、一定の rebase は問題ないという前提の元、話を進めます。 問題 私は普段、GitHub 上で Pull Request ベースで開発しています。 一旦 Pull Request を出したあと、レビューで間違いを指摘されたり、予期しない箇所がテストで落ちたりなどして、追加の修正を行うことは日常的に発生します。 この時、単純な typo など本当に些細なミスは、既存のコミットに修正を入れ込んでしまいたいことも多々あります。 しかしそのようにして push -f すると、レビュアーは追加で修正した箇所がわからなくな

    • テクノロジー
    • 2017/12/01 12:19
    • GitHub
    • Vim 8.0 Advent Calendar 25 日目 ユーザーをハッピーにする - Qiita

      15 users

      qiita.com/thinca

      Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

      • テクノロジー
      • 2016/12/25 00:13
      • Vim
      • あとで読む
      • Vim 8.0 Advent Calendar 24 日目 内部的な変更 - Qiita

        10 users

        qiita.com/thinca

        この記事は Vim 8.0 Advent Calendar の 24 日目の記事です。 今回は、利用者にはあまり影響がない Vim の開発側の変更についてです。 GitHub へ移行 移行当時、割と大きく取り上げられていたので、ご存知の方も多いでしょう。 それまで Vim は、Google Code で Mercurial を使って開発されていました。しかし Google Code のサービス終了に伴い、2015 年 8 月に Vim のリポジトリは GitHub へ移行、リポジトリも Git に変更されました。 また、以前は Vim へのパッチの投稿は vim_dev のメーリングリスト上でのみ行われていましたが、現在では GitHub 上の Pull Request でも受け付けています。貢献への敷居がかなり下がったと言えます。 大規模なソースコードの分割 Vim は長い歴史もあり、か

        • テクノロジー
        • 2016/12/24 00:34
        • vim
        • Pocket
        • あとで読む
        • Vim 8.0 Advent Calendar 23 日目 雑多な変更 - Qiita

          4 users

          qiita.com/thinca

          Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

          • テクノロジー
          • 2016/12/23 13:56
          • Vim
          • plugin
          • Vim 8.0 Advent Calendar 22 日目 新しいスタイルのテスト - Qiita

            7 users

            qiita.com/thinca

            この記事は Vim 8.0 Advent Calendar の 22 日目の記事です。 Vim 8.0 では、Vim 本体のテストのスタイルが新しくなりました。 新しいテストのサンプル 新しいスタイルのテストは Vim 本体のテストのために追加されたものですが、基本的に Vim script の機能であるため、プラグインのテストにも利用できます。 以下に、新しいスタイルで書かれた簡単なテストコードを示します。 " テスト対象の関数 function! Add(a, b) abort return a:a + a:b endfunction " -------------------------- function! Test_Add() abort call assert_equal(5, Add(2, 3)) endfunction function! s:run_test() abor

            • テクノロジー
            • 2016/12/22 00:28
            • Vim
            • テスト
            • test
            • Vim 8.0 Advent Calendar 21 日目 新しい組み込み変数 - Qiita

              9 users

              qiita.com/thinca

              v:completed_item 補完された対象を表す変数です。 以前までは、CompleteDone イベントにより補完の完了を知ることはできましたが、どの候補が選択されたかを知ることができませんでした。新しく追加されたこの変数を参照することで、どの候補が選択されたのかわかります。 選択された候補は辞書です。詳しい構造については :help complete-items で説明されています。補完に失敗した場合は空の辞書になります。 v:hlsearch 検索による強調表示が行われているかを表す変数です。 検索のハイライトは 'hlsearch' オプションをオンにして検索を行うことで行われますが、:nohlsearch Ex コマンドを使うことで、一時的にハイライトを無効にできます。このとき 'hlsearch' オプションの値はそのままなので、ハイライトが行われているのか、:nohls

              • テクノロジー
              • 2016/12/21 00:15
              • Vim
              • Vim 8.0 Advent Calendar 20 日目 新しいイベント - Qiita

                11 users

                qiita.com/thinca

                この記事は Vim 8.0 Advent Calendar の 20 日目の記事です。 Vim 8.0 では autocmd イベントも新しく追加されています。 TabNew 新しくタブページが開かれた際に発生します。例えば :tabnew Ex コマンドを使うと、以下の順番でイベントが発生します。 WinLeave TabLeave WinNew WinEnter TabNew TabEnter TabClosed タブページが閉じられた際に発生します。例えば、:tabclose Ex コマンドでカレントタブページを閉じると、以下の順番でイベントが発生します。 BufLeave WinLeave TabLeave TabClosed WinEnter TabEnter BufEnter WinNew 新しいウィンドウが作成された際に発生します。Vim 起動時に開かれるウィンドウに対しては

                • テクノロジー
                • 2016/12/20 00:07
                • Vim
                • あとで読む
                • Vim 8.0 Advent Calendar 18 日目 新しい関数 ~情報取得編~ - Qiita

                  5 users

                  qiita.com/thinca

                  Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

                  • テクノロジー
                  • 2016/12/18 00:15
                  • Vim
                  • あとで読む
                  • Vim 8.0 Advent Calendar 17 日目 新しい関数 ~文字列操作編~ - Qiita

                    4 users

                    qiita.com/thinca

                    この記事は Vim 8.0 Advent Calendar の 17 日目の記事です。 Vim 8.0 では新しく便利な組み込み関数が多数追加されています。今回はその中から、文字列操作に関連するものを紹介します。 matchstrpos({expr}, {pat}[, {start}[, {count}]]) Vim script には元々、指定した文字列から、正規表現にマッチした位置を取り出す match() 関数と、マッチした文字列を取り出す matchstr() という関数があります。 これら関数は便利ですが、マッチした位置とマッチした文字列両方が欲しい場合には少し問題があります。この場合、それぞれの関数を呼び出すことになるのですが、関数を 2 回呼び出すのは手間がかかる上に、同じ正規表現マッチを 2 回行うのはパフォーマンス的にも無駄です。 そこで、matchstrpos() 関数

                    • テクノロジー
                    • 2016/12/17 00:35
                    • Vim
                    • Vim 8.0 Advent Calendar 16 日目 新しい Ex コマンド - Qiita

                      5 users

                      qiita.com/thinca

                      この記事は Vim 8.0 Advent Calendar の 16 日目の記事です。 Vim 8.0 で利用できる新しい Ex コマンドのうち、まだ紹介していないものを紹介します。 :filter[!] {pat} {command} {command} の出力のうち、{pat} で指定した正規表現にマッチする行だけを表示します。[!] を指定すると、逆にマッチしない行だけを表示します。 {pat} は /foo/ のように / などの記号で囲われた形式です。ただし、パターンが記号などを含まない場合は / は省略できます。 以下に使用例を挙げます。 " マークを記録してあるファイルのうち、.txt で終わるものを表示します。 filter /\.txt$/ oldfiles " 読み込まれた Vim script のうち、パスに vimrc を含むものを表示します。 filter vim

                      • テクノロジー
                      • 2016/12/16 08:46
                      • vim
                      • プラグイン
                      • Vim 8.0 Advent Calendar 15 日目 新しいオプション その 2 - Qiita

                        8 users

                        qiita.com/thinca

                        この記事は Vim 8.0 Advent Calendar の 15 日目の記事です。 新オプション紹介その 2 です。その 1 に比べると地味なオプション達を簡単に紹介します。それぞれ詳細は help を参照してください。 'renderoptions' (特殊形式文字列) テキストレンダラの設定です。このオプションを設定することによって、Windows ではレンダリングに DirectX を使えます。 また、DirectX に対して様々なオプションを設定できます。 'emoji' (真偽値) オンにするとユニコード絵文字を全角とみなします。デフォルトはオフです。 'langremap' (真偽値) 元々 'langnoremap' オプションがありました。このオプションは真偽値のオプションであったため、これをオフにしようとすると以下のようになります。 これは二重否定でわかりづらい、とい

                        • テクノロジー
                        • 2016/12/15 00:15
                        • vim
                        • python
                        • Vim 8.0 Advent Calendar 14 日目 新しいオプション その 1 - Qiita

                          10 users

                          qiita.com/thinca

                          この記事は Vim 8.0 Advent Calendar の 14 日目の記事です。 新オプション紹介その 1 です。追加されたものの中でも便利なオプションについて解説します。 'breakindent' (真偽値) 'breakindentopt' (カンマ区切り文字列) オンにすると、折り返して表示される行がインデントされて表示されます。 つまり以下のようになります。左が 'breakindent' がオフ、右がオンです。また、'showbreak' オプションの値に > が設定されています。4 行目の折り返しに注目してください。 また、'breakindentopt' オプションで細かい挙動を制御できます。このオプションはカンマ区切りの文字列で、以下の要素を指定できます。 min:{n} 深いインデントが短すぎる幅で折り返されないように、1 行の最小の幅を指定します。未指定の場合は

                          • テクノロジー
                          • 2016/12/14 08:54
                          • Vim
                          • あとで読む
                          • Vim 8.0 Advent Calendar 13 日目 undo を分割せずにカーソルを移動 - Qiita

                            15 users

                            qiita.com/thinca

                            Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

                            • テクノロジー
                            • 2016/12/13 00:05
                            • vim
                            • Vim 8.0 Advent Calendar 12 日目 連番の生成 - Qiita

                              18 users

                              qiita.com/thinca

                              この記事は Vim 8.0 Advent Calendar の 12 日目の記事です。 Vim で連番と言えば今まででも、マクロを使う方法や Vim script を活用する方法などがありましたが、より手軽な方法が追加されました。 g<C-a> g<C-x> コマンド 今まではノーマルモードにて <C-a> <C-x> を実行することで、カーソル位置の数値を増減できましたが、ビジュアルモード中でも同様の操作が可能になりました。 加えて、連番を作り出すための g<C-a> g<C-x> がビジュアルモードのコマンドに追加されました。 使用例 例えば以下のようなバッファがあった場合:

                              • テクノロジー
                              • 2016/12/12 00:15
                              • Vim
                              • qiita
                              • Vim 8.0 Advent Calendar 11 日目 タイムスタンプで管理されるようになった viminfo ファイル - Qiita

                                5 users

                                qiita.com/thinca

                                この記事は Vim 8.0 Advent Calendar の 11 日目の記事です。 今回は、ユーザーの作業が記録されている viminfo ファイルについてです。 viminfo ファイルの概要 viminfo ファイルは、ユーザーが行った様々な操作を記録しておくファイルです。例えば、レジスタの内容、コマンドラインの履歴、検索文字列の履歴や、ジャンプリストなど、様々な情報が記録されます。これらをファイルに記録することで、次回 Vim を使った際にも、前回の履歴を引き継いで使うことができます。 viminfo ファイルは、基本的には起動時に読み込まれ、終了時にファイルに書き出されます。 viminfo ファイルのマージ 1 つの viminfo ファイルを複数の Vim のセッションで使った場合、viminfo ファイルはマージされます。 どのようにマージが起きるか、例を挙げます。 同時

                                • テクノロジー
                                • 2016/12/11 00:43
                                • Vim 8.0 Advent Calendar 10 日目 quickfix に追加された機能 - Qiita

                                  9 users

                                  qiita.com/thinca

                                  この記事は Vim 8.0 Advent Calendar の 10 日目の記事です。 Vim 8.0 では quickfix 周りに便利な機能が追加されました。 quickfix の各項目の場所で Ex コマンドを実行する quickfix の各項目に対して Ex コマンドを実行する :cdo Ex コマンドが追加されました。この Ex コマンドを使うことで、quickfix に対する柔軟な操作が可能になります。 例えば、プロジェクトの中から単語 foo を探し、それらを全て bar に書き換えるには以下のようにします。 quickfix 内の各ファイルで Ex コマンドを実行する 上記の例において、検索結果の各ファイルについて複数の結果のデータがある場合に、各ファイルについて何か処理がしたい場合があるかもしれません。この場合に :cdo を使ってしまうと、各ファイルにて結果のデータの数

                                  • テクノロジー
                                  • 2016/12/10 10:47
                                  • vim
                                  • Vim 8.0 Advent Calendar 9 日目 2 進数のサポート - Qiita

                                    7 users

                                    qiita.com/thinca

                                    この記事は Vim 8.0 Advent Calendar の 9 日目の記事です。 Vim 8.0 では 2 進数のサポートが強化されています。 2 進数の数値リテラル 0b もしくは 0B で始まる 2 進数リテラルが追加されました。 <C-a> <C-x> の 2 進数サポート 'nrformats' オプションに指定できる値に bin が追加されました。 これはデフォルトで含まれているため、特に設定せずに利用可能です。 0b や 0B で始まる 2 進数の数値の上で <C-a> や <C-x> を実行すると、数値を増減できます。

                                    • テクノロジー
                                    • 2016/12/09 00:07
                                    • あとで読む
                                    • Vim 8.0 Advent Calendar 8 日目 defaults.vim - Qiita

                                      12 users

                                      qiita.com/thinca

                                      この記事は Vim 8.0 Advent Calendar の 8 日目の記事です。 今回は新しく Vim に追加された defaults.vim という機構について解説します。 背景 Vim には今でも多くの新機能が追加され便利になっていっていますが、一方で互換性も重視しています。 中には、シンタックスハイライトなど明らかに便利であるにも関わらず、デフォルトでは有効になっていない機能があります。 新しく Vim を使い始めるユーザーにとって、互換性が理由で便利な機能がすぐに使えないことはあまり嬉しくはないでしょう。 そこで追加されたのが defaults.vim です。あくまで Vim 自体のデフォルト値は変えずに、ユーザーに便利な設定を提供します。 defaults.vim の読み込み ユーザーの vimrc ファイルが存在しない場合、$VIMRUNTIME/defaults.vim

                                      • テクノロジー
                                      • 2016/12/08 00:06
                                      • vim
                                      • あとで読む
                                      • Vim 8.0 Advent Calendar 7 日目 ウィンドウ ID - Qiita

                                        7 users

                                        qiita.com/thinca

                                        Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

                                        • テクノロジー
                                        • 2016/12/07 00:18
                                        • Vim
                                        • Vim 8.0 Advent Calendar 6 日目 パッケージ - Qiita

                                          14 users

                                          qiita.com/thinca

                                          この記事は Vim 8.0 Advent Calendar の 6 日目の記事です。 Vim のパッケージ機能を使うことで、簡単なプラグインの管理を行うことができます。 パッケージとは まず、パッケージ機能におけるパッケージとはどんなものかについて説明します。 1 つのパッケージは、複数のプラグインを含んでいます。また、プラグインはそれぞれ、Vim 起動時に読み込まれるか、あとから指定して読み込まれるかに分けられます。 パッケージは以下のようなディレクトリ構造になっています。 start/ ディレクトリ以下にあるものが Vim 起動時に読み込まれるプラグインで、opt/ ディレクトリ以下にあるものがあとから指定して読み込まれるプラグインです。 plugin1 plugin2 などがプラグイン名になります。この名前は後から読み込む際に指定する名前になります。 パッケージを配置する パッケージ

                                          • テクノロジー
                                          • 2016/12/06 00:20
                                          • Vim
                                          • Vim 8.0 Advent Calendar 5 日目 タイマー - Qiita

                                            4 users

                                            qiita.com/thinca

                                            この記事は Vim 8.0 Advent Calendar の 5 日目の記事です。 Vim 8.0 は新しくタイマー機能が追加されました。これにより、指定時間後に関数を呼び出すことができます。 タイマーを開始する 以下の例では 1 秒毎に関数を呼び出し、その度にカウントダウンを行い、最後に BOMB! と表示して終了します。 let dict = {'count': 10} function! dict.countdown(timer) abort let self.count -= 1 if self.count echo self.count else echo 'BOMB!' call timer_stop(a:timer) endif endfunction let timer = timer_start(1000, dict.countdown, {'repeat': -1})

                                            • テクノロジー
                                            • 2016/12/05 10:03
                                            • Vim
                                            • Vim 8.0 Advent Calendar 4 日目 JSON サポート - Qiita

                                              8 users

                                              qiita.com/thinca

                                              この記事は Vim 8.0 Advent Calendar の 4 日目の記事です。 チャンネルやジョブが追加されたのに合わせて、外部と JSON でのやり取りを行うことを想定して、JSON サポートが追加されました。 エンコード/デコードする json_encode() と json_decode() を使うことで、Vim の内部データと JSON 文字列を相互に変換できます。 let obj = {'users': [{'name': 'thinca', 'lang': 'vim'}]} let json = json_encode(obj) echo json " => {"users":[{"lang":"vim","name":"thinca"}]} echo json_decode(json) " => {'users': [{'lang': 'vim', 'name': 't

                                              • テクノロジー
                                              • 2016/12/04 10:29
                                              • Vim
                                              • あとで読む
                                              • Vim 8.0 Advent Calendar 3 日目 ジョブ - Qiita

                                                7 users

                                                qiita.com/thinca

                                                Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

                                                • テクノロジー
                                                • 2016/12/03 19:40
                                                • Vim
                                                • Dockerfile の INSTRUCTION を自動で大文字で入力する - Qiita

                                                  12 users

                                                  qiita.com/thinca

                                                  この記事は Akatsuki Advent Calendar 2016 の 2 日目、および Vim Advent Calendar 2016 (その2) の 2 日目、および Docker2 Advent Calendar 2016 の 2 日目の記事です。 Dockerfile 書いてますか? 私はいつも Vim で書いています。 さて、Dockerfile の INSTRUCTION、いわゆる FROM とか RUN とかのアレですが、大文字小文字は区別しないとしつつも、大文字で書くことが推奨されています。 The instruction is not case-sensitive. However, convention is for them to be UPPERCASE to distinguish them from arguments more easily. しかし、毎

                                                  • テクノロジー
                                                  • 2016/12/02 00:22
                                                  • Vim
                                                  • Docker
                                                  • プラグイン
                                                  • Qiita
                                                  • あとで読む
                                                  • Vim 8.0 Advent Calendar 2 日目 チャンネル - Qiita

                                                    4 users

                                                    qiita.com/thinca

                                                    この記事は Vim 8.0 Advent Calendar の 2 日目の記事です。 Vim 8.0 では、外部リソースとのやりとりを行う機能としてチャンネルが追加されました。 本記事では、チャンネルの基本的な使い方として、ソケット通信を行う方法について簡単に説明します。 詳細については Vim 付属の help を参照してください。 チャンネルを使う この例では、ローカルホストの HTTP サーバに対して ch_sendraw() 関数を使ってリクエストを送り、結果をハンドラで受け取って表示しています。 " リモートからのレスポンスがあった際に呼ばれるハンドラ関数を定義します function! s:handle(ch, msg) abort " レスポンスを表示します。実際にはタイミング次第ではレスポンスが分割される可能性もあり得ます echo a:msg " ch_close() 関

                                                    • テクノロジー
                                                    • 2016/12/02 00:10
                                                    • vim
                                                    • Vim 8.0 Advent Calendar 1 日目 関数機能の強化 - Qiita

                                                      16 users

                                                      qiita.com/thinca

                                                      Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

                                                      • テクノロジー
                                                      • 2016/12/01 00:36
                                                      • vim
                                                      • あとで読む

                                                      このページはまだ
                                                      ブックマークされていません

                                                      このページを最初にブックマークしてみませんか?

                                                      『qiita.com』の新着エントリーを見る

                                                      キーボードショートカット一覧

                                                      j次のブックマーク

                                                      k前のブックマーク

                                                      lあとで読む

                                                      eコメント一覧を開く

                                                      oページを開く

                                                      はてなブックマーク

                                                      • 総合
                                                      • 一般
                                                      • 世の中
                                                      • 政治と経済
                                                      • 暮らし
                                                      • 学び
                                                      • テクノロジー
                                                      • エンタメ
                                                      • アニメとゲーム
                                                      • おもしろ
                                                      • アプリ・拡張機能
                                                      • 開発ブログ
                                                      • ヘルプ
                                                      • お問い合わせ
                                                      • ガイドライン
                                                      • 利用規約
                                                      • プライバシーポリシー
                                                      • 利用者情報の外部送信について
                                                      • ガイドライン
                                                      • 利用規約
                                                      • プライバシーポリシー
                                                      • 利用者情報の外部送信について

                                                      公式Twitter

                                                      • 公式アカウント
                                                      • ホットエントリー

                                                      はてなのサービス

                                                      • はてなブログ
                                                      • はてなブログPro
                                                      • 人力検索はてな
                                                      • はてなブログ タグ
                                                      • はてなニュース
                                                      • ソレドコ
                                                      • App Storeからダウンロード
                                                      • Google Playで手に入れよう
                                                      Copyright © 2005-2025 Hatena. All Rights Reserved.
                                                      設定を変更しましたx