ctrl+shift+p filters: :st2 :st3 :win :osx :linux
Browse

Fullwidth​Tab​Spaces

by woodmix ST3

Sublime plugin to optimize the function of translate_tabs_to_spaces for lines containing full-width characters

Details

Installs

  • Total 6
  • Win 3
  • Mac 0
  • Linux 3
Jan 29 Jan 28 Jan 27 Jan 26 Jan 25 Jan 24 Jan 23 Jan 22 Jan 21 Jan 20 Jan 19 Jan 18 Jan 17 Jan 16 Jan 15 Jan 14 Jan 13 Jan 12 Jan 11 Jan 10 Jan 9 Jan 8 Jan 7 Jan 6 Jan 5 Jan 4 Jan 3 Jan 2 Jan 1 Dec 31 Dec 30 Dec 29 Dec 28 Dec 27 Dec 26 Dec 25 Dec 24 Dec 23 Dec 22 Dec 21 Dec 20 Dec 19 Dec 18 Dec 17 Dec 16
Windows 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0
Mac 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Linux 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 1 0 0 0 0 0 0

Readme

Source
raw.​githubusercontent.​com

FullwidthTabSpaces (en)

Sublime Text has a setting called translate_tabs_to_spaces which, if set to true, will cause horizontal tabs to be inserted using space characters. However, since the tab stop position is calculated based on the number of characters only, the stop position will be shifted if the line contains full-width characters in front. This plugin compensates for this problem.

However, it assumes monospaced fonts. If you are using a proportional font, it is not recommended because the space characters inserted by horizontal tabs will be inconsistent.

Internally, it works by intercepting the command (“insert”, {“characters”:“\t”}), so no special configuration is required, just install it and it will work. If you want to turn off the feature, disable it or uninstall it.

It only works if translate_tabs_to_spaces is set to true.

In addition, it includes a command to align digits by inserting a space in front of multiple carets. You can use it by setting Preferences => Key Bindings to { "keys": ["ctrl+alt+a"], "command": "fullwidth_tab_align" }, and so on.

* I don't have a Mac, so it has not been tested on a Mac.

Translated with www.DeepL.com/Translator (free version)

FullwidthTabSpaces (ja)

Sublime Text には translate_tabs_to_spaces という設定項目があって、trueにすると水平タブがスペース文字を使って挿入されるようになります。 しかし、単純に字数のみでタブストップ位置を計算しているため、前方に全角文字を含む行ではストップ位置がずれます。このプラグインはこの問題を補正します。

ただし等幅フォントを前提としています。プロポーショナルフォントをお使いの場合は水平タブで挿入されるスペース文字列が一定しなくなるので、オススメしません。

内部的には (“insert”, {“characters”: “\t”}) のコマンドをインターセプトして動作しますので、特に設定は不要です。インストールするだけで効果を発揮します。 機能をオフにしたい場合は無効化するかアンインストールして下さい。

機能が働くのは translate_tabs_to_spaces がtrueになっている場合のみです。falseの場合は何もしません。

ついでに、複数のキャレットの前方にスペースを挿入して桁位置を合わせるコマンドも入っています。 Preferences => Key Bindings で { "keys": ["ctrl+alt+a"], "command": "fullwidth_tab_align" }, などと設定していただくことで使用できます。

※私はMacを所持していませんので、Macでの動作確認は行われていません。