Macで段落を上または下へ移動させるキーボードショートカットを作りたい

Macの様々な標準的なアプリ(特に「メモ」アプリ)で、

「現在カーソルがある段落全体を、前の段落または次の段落と入れ替える」

という動作をするキーボードショートカットを、できればOS水準で作成したいです。

「メモ」アプリにのみで実現するのでも良いのですが。

つきましては、最もスマートな方法を教えて下さい。

(素人考えですが、「Automator」を使うのでしょうか?)


なお、以下、実現したい機能を明確化するために説明いたします。

実現したいのは、Microsoft Word (for Mac) における、下記のショートカットと同じです。

Control + Shift + 矢印キー (上または下)

すなわち、下記のMicrosoftの解説ページにある

「選んだ段落を上へ移動する」および「選んだ段落を下へ移動する」

というショートカットです。

https://support.office.com/ja-jp/article/word-for-mac-%E3%81%AE%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89-%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88-3256d48a-7967-475d-be81-a6e3e1284b25#bkmk_docoutline11)

投稿日 2019/08/07 07:26

返信
返信: 8

2019/08/07 22:33 Zukk への返信

メモ.app (Notes.app) はスクリプト対応ではあるものの、辞書 (下図) を読む限り「行の上下移動」はありません。なので、AppleScript や JavaScript for Automation ではできなさそうです。



また、コマンド + C や コマンド + V のような汎用的なテキスト処理に「行の上下移動」があれば、System Events 経由でなんとかなるかもしれませんが、そのようなものもありません。


あと、選択した行の内容を取得したり、選択した行が何行目なのかを取得すこともできないため、Automator でシェルスクリプトなどを使う方法でもやりようがないと思います。


...となると、代替アプリを自作するしかないような。CotEditor はソースコードが開示されているので、参考になるかもしれませんが、そこまでやるって話ではありませんよね。


2019/08/07 16:35 Zukk への返信

段落を選択した状態で入れ替えることはできるかもしれません。 下図は、Automator.appのクイックアクションです。 クイックアクションには、キーボードショートカットを割り当てることができますよ。 → Mac でアプリケーションのキーボードショートカットを作成する


2019/08/07 14:41 Hiro__S への返信

できないですかね・・・? 自分でコードを書いても無理でしょうか? 可能であろう、ということであれば勉強したいです。経験が全くないわけではありませんので。

またご紹介いただいた CotEditor ですが、私は「メモ」アプリを、iOS との高度な統合・同期が非常に便利ゆえ使っておりますので、選択外となります。失礼ながら。


ちなみに、私は数年前までは Windows/Android 派だったのですが (そんな派閥があるかわかりませんが 笑)、Apple をすすめる友人からの影響で Mac/iOS 派に鞍替えしてみたところ、各端末や Apple 製ソフトウェアが、高度な統合・同期が手軽に実現されるよう設計されているのを気に入り、今に至っています。

2019/08/13 14:14 Hiro__S への返信

遅くなり申し訳ありません!

> ...となると、代替アプリを自作するしかないような。[…] そこまでやるって話ではありませんよね。


そもそもプログラミング経験が浅いもので、そこまでやるかどうかさえ決める材料がない感じです。

Microsoft VisualBasic.NET (←今もあるのですかね?) のような、

多少お金がかかっても、だれでも開発環境が確実にパパッと構築できて

(いつも開発環境構築の段階でつまづくのです。それで、Java@Windows も玄関を入ることさえできませんでした)、

GUI の設計が容易な (まず GUI を作ってから中身を作るような) アプリケーション作製システムが

MacOS や iOS にもあるなら、ぜひ使っててみたいとは思います。

VB.NET のおかげで、「必要なアプリをパパッと作って使えること」の素晴らしさは知っているのです。

そういうシステムはご存知ありますか?

何か話がずれてきているようですが。新しく質問を立てるべきでしょうか。


ちなみに、先日友人から Python を強く勧められたのですが、

やはり文字ベースの開発ということで、VB.NET 等からはかけ離れており、

挫折してしまいました。

2019/08/07 08:48 Zukk への返信

段落の入れ替えは、キーボードならカットアンドペースト、マウスなら段落をドラッグアンドドロップ...ぐらいしか方法がないと思います。多分...。あと、Automator でもできないんじゃなかな。


ちなみに CotEditor なら、「コントロール + コマンド + ↑」「コントロール + コマンド + ↓」で行を上下に移動できます。


2019/08/08 02:40 Zukk への返信

> できればOS水準で作成したいです。

無理ですね。


> 「メモ」アプリにのみで実現するのでも良いのですが。

取り敢えず中身は取り出せそうですが、カーソルの位置情報を得る方法はありましたっけ?

しかし、現在選択している(フロントにある)ノートを特定するプロパティなどないし、道は険しそう。



2019/08/13 23:15 Zukk への返信

> GUI の設計が容易な (まず GUI を作ってから中身を作るような) アプリケーション作製システムが

> MacOS や iOS にもあるなら、ぜひ使っててみたいとは思います。


macOSやiOSのアプリはXcodeで作られています。言語はSwiftかObjective-Cです。

https://apps.apple.com/jp/app/xcode/id497799835

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

Macで段落を上または下へ移動させるキーボードショートカットを作りたい

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。