- 2009-08-19 (水) 0:00
- Vim Hacks
Key-mappingsを定義する場合、Prefix-keyを決めておいてまとめて定義できると分かり易くなって便利です。ここではPrefix-keyを用いたKey-mappingsについて説明します。
普通の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
" 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]となるので、タグジャンプのキーを入力途中と言うことが分かり易くなります。
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を使っていたりすると、すぐには何のことか分からないかもしれません。
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」だけど、実…

