vim-markdown-runnerとNotesベースのワークフロー

投稿日:

(Dan Bridges)(2020年1月16日)

最近、マークダウンノートを補完するために、簡単なvimプラグイン vim-markdown-runner を作成しました。プロジェクトワークフロー。この投稿では、このワークフローについてさらに詳しく説明し、そのシンプルさが驚くほど強力であることを示します。

vim-markdown-runner in action

全体的な構造

すべてのメモファイルを1つに保存しますDropboxのルートディレクトリ。これにより、モバイルデバイスからメモを簡単に表示および編集できます。このルートディレクトリ構造は私のホームディレクトリを反映しているため、プロジェクトファイルのパスをメモファイルに関連付けることができます。たとえば、~/projects/side-projects/my-projectにプロジェクトがある場合、関連するメモファイルは~/Dropbox/notes/projects/side-projects/my-project.mdにあります。

次に作成しますDropboxベースの完全なパスを指す元のプロジェクトフォルダ内のシンボリックリンク.notefile。シンボリックリンクを作成する理由は2つあります。(i)プロジェクトディレクトリ内からファイルをすばやく表示できるようにするため、および(ii)ファイルを編集するときにvimがプロジェクトフォルダに残るようにするため、ctrlp検索などが引き続き機能するようにするためです。予想どおり(誤ってnotesフォルダーを検索する代わりに)。

.vimrc<にいくつかの関数と:Notesコマンドを追加しました。 / div>を使用して、現在の作業ディレクトリに関連付けられたメモファイルを作成または開きます。

Notes()は手間のかかる作業を行います。 .notefileがすでに存在する場合は、単に開きます。 .notefileがない場合は、NotesInitNew()を実行して、関連するDropboxファイルが存在するかどうかを確認します。ファイルがDropboxにまだ存在しない場合は、正しいディレクトリ構造が作成され、最終的なディレクトリ名に基づいてタイトルが既に入力されている新しいマークダウンファイルが作成されます。最後に、.notefileシンボリックリンクが作成され、開かれます。

メモファイルの内部

一般的なメモファイルの内部にToDo、ランダムな会議メモ、その他の定型アイテムの通常のリストですが、真の力はvim-markdown-runnerから得られます。これにより、インタラクティブな遊び場、プロジェクト固有のスクリプト、およびプロジェクトルートの詳細を示す基本的なAPIクライアントをPostmanまたはPawに置き換えることができます。 。

遊び場

開発中、私は小さなコードのトラブルシューティングや検証を行うことがよくあります。シンプルな遊び場があると、これが非常に簡単になります。

## Playground```go
fmt.Println(os.Getwd())
``````python
import pandas as pd
print(pd.read\_csv("data.csv"))
```

vim-markdown-runnerを使用すると、これらのコードブロックのいずれかにカーソルを置いて実行できます。正しい言語/環境が自動的に検出され、Goの場合、main()を追加してgoimportsを実行するためにいくつかの追加手順が実行されます。 。

スクリプト

プロジェクト固有のスクリプトがあり、独自のファイルに入れる価値がないことがよくあります。 vim-markdown-runnerを使用して実行することもできます:

## Scripts```
get\_name() {
echo "Dan"
}echo "You are $(get\_name)"
```

コードブロックで言語が指定されていない場合、vim-markdown-runnerは次のコマンドで実行します。 $SHELLが設定されているものは何でも。

APIクライアント

Web開発プロジェクト内で、メモファイルに単純なエンドポイントセクションがあります。郵便配達員などの代替品。これらは単なる httpie コマンドですが、一般的なルートを簡単にカタログ化して再実行できます:

## Endpoints```
http localhost:3000/api/todos
``````
http POST localhost:3000/api/todos title=Stuff
```...etc

ご覧のとおり、vim-markdown-runnerが処理するさまざまな強力なユースケースがあります。また、非常に構成可能であるため、自分のニーズに合わせて調整できるはずです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です