Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

Ack.vim で最初の検索結果を自動でウインドウに開かないようにする

$
0
0

はじめに

Vim 上で grep 検索をかけるとき、ack.vimを使っているのですが、自動で最初の検索結果がウインドウで開いてしまうのに違和感を感じていました。

その挙動を OFF にする方法を調べたので、この記事に簡単にまとめます。

tl;dr

:Ackの代わりに :Ack!を使うだけで OK でした。

:help Ackの結果を引用します。!をつけることで、最初の検索結果にジャンプする挙動を OFF に出来るようです。

:Ack[!] [options] {pattern} [{directory}]                               *:Ack*

    Search recursively in {directory} (which defaults to the current
    directory) for the {pattern}.  Behaves just like the |:grep| command, but
    will open the |Quickfix| window for you. If [!] is not given the first
    occurrence is jumped to.

より便利にするために

自動で最初の検索結果をウインドウに開く挙動を OFF にする方法はわかったのですが、定常的にこの挙動を OFF にしたいと思っていました。

どうすればいいかを調べたところ、 Ack.vim の READMEに Tips が載っていたので、引用します。

以下を自分の .vimrcに書くと良いとのことでした。

cnoreabbrev Ack Ack!
nnoremap <Leader>a:Ack!<Space>

以下、それぞれのコマンドの意味を調べました。

cnoreabbrev Ack Ack!について

cnoreabbrevは、分解すると以下のような意味になります。

  • c:コマンドラインモード
  • nore: 非再帰的
  • abbrev:短縮入力

つまり、コマンドラインモードで Ackと入力したら、自動で Ack!と補完されるようになります。

nnoremap <Leader>a :Ack!<Space>について

nnoremapは、分解すると以下のような意味になります。

  • n:ノーマルモード
  • noremap:非再帰的

<Leader>a :Ack!<Space>は、<Leader>aと入力すると、:Ack!<Space>という入力に変換します。

終わりに

インストールしているだけのプラグインでも、少し調べることで便利な使いかたを知れたり、vim のコマンドについて知ることができたりして良いなと思ってます。

簡単にではありますが、コツコツ調べていきたいなと思います。

参考 URL


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>