Skip to content

toshi-ara/copyline.vim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

README

概要

  • カーソルのある行の内容を正規表現で切り出してから クリップボードにコピーするための vim プラグインです
  • markdown 形式などで作成した箇条書き部分から 必要な部分をコピーする場合に有用です

インストール

  • vim-plug を使用する場合
    • Plug 'toshi-ara/copyline.vim' を追加
    • :PlugInstall コマンドでインストール

使い方

  1. 文章を markdown 形式で箇条書きして下さい
    • markdown 形式でなくても使用可能ですが、 エディタの折り畳み機能を使うことができるため便利です
  2. 1行だけコピーする場合にはその行にカーソルを置いてから :call copyline#CopyLineSingle() を実行して下さい
    • 箇条書きのための記号や正答を示す記号を除いた部分 がクリップボードにコピーされます
    • コマンド実行後は次の行の先頭にカーソルが移動します
  3. 複数行のコピーを行う場合には (begin) タグのある行あるいはそれより前の行にカーソルを置いてから :call copyline#CopyLineMulti() を実行して下さい
    • (begin) タグから (end) タグに挟まれた領域で 箇条書きのための記号や正答を示す記号を除いた部分 が連続的にクリップボードにコピーされます
    • コマンド実行後は (end) タグの次の行の先頭にカーソルが移動します
    • (begin) タグあるいは (end) タグが存在していない場合には コピーされません
  4. 任意のキーボード・ショートカットを割り当てると便利です
    • (例)Ctrl-} および Ctrl-] に設定する場合:
nnoremap <silent> <C-}> :call copyline#CopyLineSingle()<enter>
nnoremap <silent> <C-]> :call copyline#CopyLineMulti()<enter>

使用例

以下の例で、 カーソルを (begin) タグ以前の行に設定してから :call copyline#CopyLine() を実行すると、 問題文選択肢1選択肢2 がクリップボードにコピーされます。

記号

+, -, * を使用できます。

(begin)
+ 問題文
    + 選択肢1 ##
    + 選択肢2
    + 選択肢3(後ろの半角スペースは削除されます)    
(end)
(begin)
- 問題文
    - 選択肢1 ##
    - 選択肢2
(end)
(begin)
* 問題文
    * 選択肢1 ##
    * 選択肢2
(end)

英数字

英数字にピリオド、片括弧、両括弧(半角文字)を追加しても動作します。

(begin)
1. 問題文
     a. 選択肢1 ##
     b. 選択肢2
(end)
(begin)
1) 問題文
     a) 選択肢1 ##
     b) 選択肢2
(end)
(begin)
(1) 問題文
    (a) 選択肢1 ##
    (b) 選択肢2
(end)

正答・誤答の指定

問題を作成するときに正答や誤答を追加したい場合があります。

この場合には、コピーしたい文字列(選択肢など)の後に 半角スペースあるいはタブを挟んで ###を1個以上連続させたもの)や ×を記載することができます。 この部分はクリップボードにコピーされません。

  • これらの文字の後ろには何も書かないで下さい
  • および×は機種依存文字を使う場合があるため非推奨です
(begin)
- 問題文
    - 選択肢1 ##
    - 選択肢2 ○
    - 選択肢3 ×
(end)

#で始まるヘッダー行を無視

(begin)
# 問題文(この行は無視される)
+ 問題文
    + 選択肢1
    + 選択肢2
    + 選択肢3

# 解説(この行は無視される)
+ 解説1
+ 解説2
+ 解説3
(end)

Clibor(クリップボード履歴フリーソフト)との併用(複数行のコピーでは必須)

FIFO (First In, First Out) とは「先入れ先出し」のことです。 Cliborというクリップボードの機能を拡張する フリーソフトウェアを使用すると FIFO を行うことができます(Cliborの設定FIFO を選択します)。 この機能を使用することで、 先にまとめてコピーしておいてから順番に貼り付けることができます。

この Clibor と今回の拡張機能を併用することで、 markdown 形式の箇条書き部分から必要な内容をまとめてコピーした後に web の入力項目などに順番に貼り付けることが容易にできます。

既知の問題点

  • 同じ文字列が続いた場合には2回目以降はコピーされません
    • 選択肢1と選択肢2の内容が同じ、など
    • これは Clibor の設定で回避できます

Release Notes

0.2.1 (2024-9-9)

  • startタグをbeginタグに変更

0.2.0 (2023-12-23)

  • 1行だけ処理する関数を復帰させた
  • それに伴い関数名を変更した
    • copyline#CopyLineSingle
    • copyline#CopyLineMulti
  • コードのリファクタリングを行った

0.1.1

#で始まるヘッダー行を無視するように変更した

0.1.0

begin/endタグを使用することで連続的にクリップボードに コピーすることを可能にした(cliborの併用が必要)

0.0.1

最初のリリース

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published