サクラエディタをもっと使いやすくするために最初にやる6つのこと

# はじめに
多くの業務に関するドキュメントは、オンライン上で管理して、許容される範囲内で誰でも閲覧できるようにしたほうがいいと思っています。
一方で、Slackで編集中の文章をうっかり投稿してしまうのを防ぎたい。思考整理のためにとりあえずばばーっと書きたい。
そんなとき、ローカルでさくっと動かせるテキストエディタもよく利用します。

特に業務中はサクラエディタを愛用しています。

そのサクラエディタ、デフォルト状態からいくつか自分好みにカスタマイズしていますが、PCのリプレースなどのときに毎回やり方を忘れてしまい地味に時間がかかるので、自分への備忘を兼ねてまとめておきます。

# 最初にやること6つとは？
1. [`ファイル名を指定して実行`からサクラエディタを開けるようにする](#ファイル名を指定して実行からサクラエディタを開けるようにする)
1. [複数ファイルをタブ表示する](#複数ファイルをタブ表示する)
1. [ファイルをCtrl+Wで閉じられるようにする](#ファイルをctrlwで閉じられるようにする)
1. [各種自動アクションを仕込む](#各種自動アクションを仕込む)
    - [ファイル新規作成時の自動即時保存](#ファイルの新規作成時の自動即時保存)
    - [1分ごとの自動保存](#1分ごとの自動保存)
    - [中身が空のファイルを定期削除](#自動保存先フォルダ内の0バイトのテキストファイルを定期削除)
1. [見た目のカスタマイズ](#見た目のカスタマイズ)
1. [CSVファイルを見やすくする](#csvファイルを見やすくする)

# 環境
- Windows10
- サクラエディタ v2.4.1.2849

# `ファイル名を指定して実行`からサクラエディタを開けるようにする
## そもそも`ファイル名を指定して実行`とは？
`Windowsキー(以降Win) + R`で開けるダイアログのことです。
コマンドプロンプトを開いたり、任意のディレクトリを開いたりするのに利用することが多いかもしれません。

実は、ひと手間加えるだけで自分が登録したショートカットを開くようにすることが可能です。
今回はファイル名を指定して実行ダイアログから、サクラディタを開けるように設定します。

## 任意の場所にショートカット格納するためのフォルダを作成
場所はどこでもいいです。たとえば`%userprofile%`以下に`shortcuts`というフォルダを作成します。

## サクラエディタのショートカットを作成する
1. sakura.exeを右クリック > ショートカットの作成を選択
  ※ショートカットファイルの名前は`sakura`など入力しやすいものにしておきます
1. %userprofile%\shortcuts以下に配置

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366737/5484773b-0777-d0dc-276e-8f9c09b1a0ea.png)


## ショートカット格納用フォルダにパスを通す
1. Win + S → `環境変数を編集`を検索
1. ユーザー環境変数内の`Path`を選択し、編集ボタンをクリック（なければ新規ボタンから追加）
1. 新規ボタンクリック > `%userprofile%\shortcuts`と入力 > OKボタンクリック

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366737/6e3b91b2-9aa7-b317-4c71-83d956c7aa30.png)

## テスト
Win + R > `sakura`と入力しEnter
これでサクラエディタが起動できれば完了です。

## 補足
サクラエディタに限らず、よく使うアプリのショートカットを登録しておくとWin + Rからそのショートカット名を入力すればすぐに開けてとても便利です。

また、たとえば`shortcuts`という名前でショートカット格納先フォルダへのショートカットファイル（ややこしい・・）を格納しておけば、`Win + R > shortcuts`でショートカット格納先がすぐに開けます。
こうすれば、新しくショートカットファイルを追加するのも簡単です。


# 複数ファイルをタブ表示する
デフォルトだとファイルを開くたびに別ウィンドウが起動しますが、よく迷子になるので1つのウィンドウ内でタブ表示するように変更します。

メニューバー > 設定 > 共通設定 > タブバー

- タブバーを表示する：チェックON
動作モード > 
    - ウィンドウをまとめてグループ化する：チェックON
        - 最後のファイルを閉じたとき(無題)文書を残す：チェックOFF
        ※最後のはお好みで。私は全部閉じたならサクラエディタごと閉じてよ、と思う派なのでチェックを外しています

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366737/1d27debe-b0e2-f2a7-153a-8b7f3aa35cd7.png)


# ファイルをCtrl+Wで閉じられるようにする
多用しているChromeと挙動を揃えたいので、キーの割り当てを行います。

メニューバー > 設定 > 共通設定 > キー割り当て

- 種別：ファイル操作系
- 機能：閉じる
- CtrlチェックをON
- Ctrl + Wを探す
- 割付ボタンクリック　**←ここ忘れやすいので注意！**
- OKボタンクリック


# 各種自動アクションを仕込む
後で清書しようととりあえずメモしておいた内容をずっと未保存にしておくと、うっかり自動更新などでPC再起動しメモ内容が吹き飛ぶ悲しい事態は、誰しも経験したことがあるのではないでしょうか・・・

かといってこまめに保存しておくとゴミファイルが大量に残ってそれはそれで不快です。

上記2点をできるだけ回避するため、以下を仕込みます。

- 新規作成時の自動即時保存
- 1分おきの自動保存
- 自動保存先フォルダにある0バイトのファイルの定期削除

## ファイルの新規作成時の自動即時保存
下記のサイトを参考にします。

https://gup.monster/entry/2020/01/17/023329

`saveByDate.js`のうち、保存先のディレクトリを変更するために、`DEFAULT[savedir]`のみ変更しています。
ほかはお好みで。
```js
var DEFAULT = {
    // %userprofile%\Downloads\sakura_filesディレクトリに自動保存するように指定
    savedir: wsh_shell.ExpandEnvironmentStrings("%USERPROFILE%") + "\\Downloads\\sakura_files",
    ...
```


## 1分ごとの自動保存
私は1分ごとにしていますが、任意の分間隔が選べます。

メニューバー > 設定 > 共通設定 > ファイル

- ファイルの保存
    - 自動的に保存する
    - 間隔は1分ごと
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366737/15cd7e84-a84a-6b40-1902-8dbb2b9bef67.png)


## 自動保存先フォルダ内の0バイトのテキストファイルを定期削除
自動保存するようになると出てくる問題が、「不要になったテキストファイル削除するのめんどくさい問題」だと思います。
手動で不要ファイルを削除するのは面倒すぎるので、

1. 自動保存されたテキストファイルのうち、不要になったものは本文を削除して保存
1. 日次で自動保存先にある空ファイルを自動削除

という流れで、ある程度簡単に不要ファイルが削除されるようにします。[^サボった弊害]

[^サボった弊害]:ここまでやるんかいな、と思うかもしれませんが、先に述べたとおり、このひと手間をサボった結果発生する、未保存で放置していたテキストファイルが予期せぬPC再起動により吹き飛んだときの悲しみとのトレードオフとなります。

### 削除用のbatファイルを作成
下記の削除用コマンドファイルを作成し、任意の場所に配置します。
```bat:delete_empty_sakura_files.bat
rem サクラエディタで新規作成時の即時保存先ディレクトリに移動
cd %userprofile%\Downloads\sakura_files
rem カレントディレクトリの*.txtファイルの内、サイズ0のものを削除
FOR %%I IN (*.txt) DO IF %%~zI==0 DEL %%I
```
参考：[0バイト(空)のファイルを Windows バッチで一気に削除する](https://tooljp.com/language/VBScript/faq/8E515469B4B920134925808D00033155.html)

### タスクスケジューラーに登録
もっとも仕事の邪魔にならない時間（私の場合月～金の毎朝8:00）に削除処理を実行するようにスケジューリングします。

1. Win + S → `タスクスケジューラー`と検索
1. タスクスケジューラーライブラリを選択し、右側操作エリアから`タスクの作成`をクリック
1. 設定
    - 全般タブ
        - 名前：任意（`サクラエディタで作成した空ファイルを削除`など）
        - セキュリティオプション > ユーザーがログオンしているかどうかにかかわらず実行するにチェック
    - トリガータブ > 新規ボタンクリック
        - タスクの開始：スケジュールに従う
        - 開始：任意の日、8:00
        - 毎週
        - 月～金をチェックON
    - 操作タブ
        - 操作：プログラムの開始
        - プログラム/スクリプト：参照ボタンクリック > 作成した削除用batファイルを選択
    - 設定タブ
        - スケジュールされた時刻にタスクを開始できなかった場合、すぐにタスクを実行する：チェックON
          などなど、お好みで
        ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366737/832e9e57-826c-21f5-e4ba-85a6f71ff698.png)

### テスト
1. 削除batで指定したディレクトリに空のテキストファイルを配置
1. タスクスケジューラーで作成したタスクを選択し、操作エリアの実行をクリック

これで無事に0バイトのファイルだけが消えれば成功です。
あとは次回自動実行後に確認するくらいでOKです。[^厳密には]

[^厳密には]:本当にスケジューリングされている？をチェックしたい場合はスケジュールの時間を1分後などに設定すればテストはできますが、それはWindowsさんの領域なのでそこまでやらなくていいかなと。

# 見た目のカスタマイズ
デフォルトだと背景色が白く眩しいので、少しダークにします。

メニューバー > 設定 > タイプ別設定 または タイプ別設定一覧から任意の設定を選択[^どちらを選ぶか]

[^どちらを選ぶか]:今開いているファイルに関する設定であればタイプ別設定、それ以外であればタイプ別設定一覧から選択してください。
    
`テキスト`に指定しているベースの色はこれらです。完全に好みです。
<img width="250" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366737/26ff3cc0-7696-bd70-b548-0c4497928b28.png">

ほかはこんな感じで設定しています。あとは気になったタイミングで少しずつ変更しています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366737/bfe7452a-ecce-e299-750e-ccd53b6de799.png)

上記設定での見た目はこちら。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366737/ed107b0c-ce60-a5e0-d418-63fd86bb3b93.png)


# CSVファイルを見やすくする

CSVファイルを扱うことが多いので、以下のサイトを参考に設定し、CSVを見やすくします。

https://monaski.hatenablog.com/entry/2018/07/12/234948

最新版のサクラエディタを落としてきている場合は、[サクラエディタでCSVモードを使う手順#5.タイプ別設定一覧でCSV用の設定を作成する](https://monaski.hatenablog.com/entry/2018/07/12/234948#5%E3%82%BF%E3%82%A4%E3%83%97%E5%88%A5%E8%A8%AD%E5%AE%9A%E4%B8%80%E8%A6%A7%E3%81%A7CSV%E7%94%A8%E3%81%AE%E8%A8%AD%E5%AE%9A%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B)から設定を行えばOKです。

# おわりに
これでPCリプレイスのたびに検索の旅に出る必要がなくなりました。
また、1セクションでも、この記事をご覧になった方の一助になれば幸いです。