vimの現在の設定を確認するでまとめたvimの現在の設定を確認する方法ですが、いかんせん見にくいです。
そんな時は、:redir を使うと便利です。
:redir はコマンドの実行結果をリダイレクトすることができます。
:redir を使って、
- 外部ファイルにリダイレクトする
- レジスタに記憶してペーストする
- 変数に記憶してペーストする
方法があります。
外部ファイルにリダイレクトする
早速やってみましょう。
:redir > file
:let
:redir END
これで file に出力されます。>> で追記になります。
カレントディレクトリに file ができているはずなので見てみます。
% ls -l
total 8
-rw-r--r-- 1 bacchi bacchi 3598 12 12 11:30 file
% cat file
loaded_spellfile_plugin #1
loaded_vimballPlugin v31
loaded_tarPlugin v26
loaded_netrwPlugin v140
loaded_getscriptPlugin v32
loaded_2html_plugin vim7.3_v6
loaded_matchparen #1
loaded_zipPlugin v23
loaded_gzip #1
b:changedtick #2
v:version #703
v:beval_winnr #0
v:lnum #0
v:scrollstart Unknown
v:oldfiles [\'~/config.2016-09-28\', \'~/config\', \'~/.zshrc\', \'/etc/apache2/conf-enabled/vhost.conf\', \'/www/bacchi.me/html/wp-config.php\', \'/etc/apache2/apache2.conf\',
\'/etc/apache2/mods-enabled/php5.conf\', \'/etc/apache2/mods-available/php5.load\', \'/etc/apache2/mods-available/php5.conf\', \'/etc/apache2/conf-enabled/security.conf\', \'/etc/apache2/conf-enabled/o
ther-vhosts-access-log.conf\', \'/www/bacchi.me/html/test.php\', \'/etc/apache2/mods-enabled/php5.load\']
v:dying #0
v:termresponse ^[[>83;40201;0c
v:lang ja_JP.UTF-8
v:count #0
v:progname vim
v:cmdbang #0
v:foldlevel #0
v:ctype ja_JP.UTF-8
v:prevcount #0
v:register "
v:mouse_win #0
v:count1 #1
v:foldstart #0
v:foldend #0
v:profiling #0
v:beval_col #0
v:beval_lnum #0
v:mouse_lnum #0
v:beval_bufnr #0
v:shell_error #0
v:lc_time ja_JP.UTF-8
v:searchforward #1
v:mouse_col #0
ばっちりですね。
レジスタに記憶してペーストする
:redir @a でレジスタ @a に結果が格納されます。
## レジスタに記憶
:redir @a
:let
:redir END
レジスタ@aの中身を見るには下記のコマンドを実行します。
:reg a
---
--- レジスタ ---
"a ^J^Jloaded_spellfile_plugin #1^Jloaded_vimballPlugin v35^Jloaded_zipPlugin v27^Jmatchparen_timeout #300^Jloaded_tarPlugin v29^Jloaded_netrwPlugin v152^Jloaded_getscriptPlugin v36^Jloaded_2html_plugin vim7.4_
続けるにはENTERを押すかコマンドを入力してください
---
レジスタからペーストする時はノーマルモードで下記を実行します。
"ap
これでペーストできました!
変数に記憶してペーストする
同様に:redir => a とすると変数 a に結果が出力されます。
:redir => a
:silent map
:redir END
とした後に
:put =a
とする事でコマンドの実行結果がペーストできます。
3つの方法で見やすい形にできたら、あとは絞り込むなり検索するなり自由にどうぞ!