Home > Vim Hacks > Hack #59: 分かりやすいKey-mappingsを定義する

Hack #59: 分かりやすいKey-mappingsを定義する

Key-mappingsを定義する場合、Prefix-keyを決めておいてまとめて定義できると分かり易くなって便利です。ここではPrefix-keyを用いたKey-mappingsについて説明します。

普通のKey-mappingsの場合

tをタグジャンプのためのPrefix-keyとしてKey-mappingsを定義する場合、次のようになると思います。

nnoremap tt  <C-]>
nnoremap <silent> tn  :<C-u>tag<CR>
nnoremap <silent> tp  :<C-u>pop<CR>
nnoremap <silent> tl  :<C-u>tags<CR>

しかし、これだとPrefix-keyが分かりにくく、Prefix-keyをTに変更するのも大変です。

改良したPrefix-keyのKey-mappings

次に示すのが、上記のPrefix-keyを改良したものです。

" The prefix key.
nnoremap    [Tag]   <Nop>
nmap    t [Tag]
nnoremap [Tag]t  <C-]>
nnoremap <silent> [Tag]n  :<C-u>tag<CR>
nnoremap <silent> [Tag]p  :<C-u>pop<CR>
nnoremap <silent> [Tag]l  :<C-u>tags<CR>

[Tag]というPrefix-keyを抽象化したものを定義し、tを[Tag]にnmapでリンクしています。よって、Prefix-keyを変更するときはnmap t [Tag]を変更するだけで済みます。ちなみに、このように設定しているとKey-mappingが入力途中の場合、Status line上の表示が[Tag]となるので、タグジャンプのキーを入力途中と言うことが分かり易くなります。

Shougo
このエントリーをはてなブックマークに追加
はてなブックマーク - Hack #59: 分かりやすいKey-mappingsを定義する
Share on Facebook
Post to Google Buzz
Bookmark this on Google Bookmarks
Bookmark this on Yahoo Bookmark
Bookmark this on Livedoor Clip
Share on FriendFeed

Comments:2

Yuttie 12-04-25 (水) 21:31

ちなみに、このように設定しているとKey-mappingが入力途中の場合、Status line上の表示が[Tag]となるので、タグジャンプのキーを入力途中と言うことが分かり易くなります。 これは ‘showcmd’ オプションがonの場合の話ですね。このオプションのヘルプには “Vim default: on, off for Unix,” と書いてあるので、僕のようにLinuxを使っていたりすると、すぐには何のことか分からないかもしれません。

Yuttie 12-04-25 (水) 21:37

あ、すみません。プレインテキストでフォーマット指定するのですね。

ちなみに、このように設定しているとKey-mappingが入力途中の場合、Status line上の表示が[Tag]となるので、タグジャンプのキーを入力途中と言うことが分かり易くなります。

これは ‘showcmd’ オプションがonの場合の話ですね。このオプションのヘルプには “Vim default: on, off for Unix,” と書いてあるので、僕のようにLinuxを使っていたりすると、すぐには何のことか分からないかもしれません。

Comment Form
Remember personal info

Trackbacks:1

Trackback URL for this entry
http://vim-users.jp/2009/08/hack-59/trackback/
Listed below are links to weblogs that reference
Hack #59: 分かりやすいKey-mappingsを定義する from Vim-users.jp
trackback from 永遠に未完成 10-05-25 (火) 23:54

[vim] 分かりやすいKey-mappingsの弊害

Vim-users.jp – Hack #59: 分かりやすいKey-mappingsを定義する Vim-users.jp – Hack #144: 分かりやすく副作用のないKey-mappingsを定義する 上記の記事で紹介されている「分かりやすいKey-mappings」だけど、実…

Home > Vim Hacks > Hack #59: 分かりやすいKey-mappingsを定義する

Search
Feeds
Links
  • 公式
  • 勉強会
  • 情報
  • コミュニティ
  • Meta
    Etc
    Creative Commons License
    This blog is licensed under a Creative Commons License.

    Return to page top