インフラエンジニアbacchiのわかったことまとめ

bacchi.me

:redir を使って、vimの設定確認を楽にする

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つの方法で見やすい形にできたら、あとは絞り込むなり検索するなり自由にどうぞ!

  • B!