LoginSignup
0
1

More than 3 years have passed since last update.

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

Posted at

はじめに

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

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1