Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

VimでcsvからMarkdownのテーブルを生成するプラグインを作った

$
0
0

最近勉強会に行ったときのメモだったり仕事だったりでMarkdownを書く機会が多かったので作ってみた。

How To

  • ほぼgitのReadmeに書いた
  • 公式に則ったVimプラグインの形にしていないのは、単なる好み
    • あとまぁAPIも同梱だし
    • 導入が面倒なのは反省点

どんなときに使うか

新しくテーブルを組むとき

  • とりあえずエディタ上でcsv形式で書いて、ToMarkdownする
    • ShowMarkdownでプレビューを繰り返し、最後にToMarkdownする
    • いきなりmarkdownで書いて何かに投稿したら|の数がずれていて<table>にならない!とかを防げる
    • 縦揃えとか:--とかが不要だし、区切り文字も|よりは,の方が楽かも?
  • 予め何らかの表計算ソフトでcsvを作っておいてからAppendMarkdownFromFileで変換しつつ展開する
    • ある程度大きいテーブルの場合はこちらが便利
    • 当然Vimのファイルパスのタブ補完も出来る

既存のテーブルを編集するとき

  • 縦が揃っていないテーブルを整形する
    • ToCsvをしてToMarkdownをすると縦が揃う
  • WriteCsvToFilecsvファイルを生成し、表計算ソフトで編集したらAppendMarkdownFromFileを行う
    • エディタで編集するのが辛い場合向け
    • こちらも当然ディレクトリのタブ補完が出来る

コマンドラインツール

  • 自分の使っているエディタやツールから呼びたいとき
  • Vimは使わないけど、ってとき
    • csvmarkdownにして、ファイルにリダイレクト書き込みをしたり

未対応事項(対応予定なし)

  • 選択範囲に`を含む場合に変換エラーが起きる
  • 選択範囲に"を含む場合に変換エラーが起きる
  • 選択範囲に,を含む場合にToMarkdownを実行するとcsvのカラムが増える

おまけ

vimで横線を引く

rは一文字だけ置き換えるコマンドだが、範囲選択をしていると全てに適用される

  1. 一番長い行を線を引きたい行に複製する
  2. 行選択<Shift-v>をしてr-
  3. あとは:|にしたい所にカーソルをあわせてr:

vimで縦線を引く

矩形選択からの挿入で縦に文字を書くことが出来る

  1. 矩形選択<Ctrl-v>をしてIで挿入モードにする
  2. 入力したら<ESC>
  3. 複数行に反映される

vimで縦に消す

矩形選択から削除も出来る

  1. 矩形選択<Ctrl-v>をする
  2. xdで削除する

ちなみにx等で削除せずc等で挿入モードに入れば全行まとめて編集できる

おわりに

実はおまけの方を知っていれば割とVimだけでもイケる、矩形選択を使いこなすと本当に便利。
あと.gif作って載せるのすごい楽しいw

ぜひ使ってみてください!!!


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>