ATOM Editor はめんどくさい?! という前にInstall
install and customize like bash/emacs.
端末のbash/zshとエディターATOMでおおざっぱな動作を統一しています。カーソル移動とyank程度ではシームレスに使いたいためです。もと記事が初見殺しというご意見をいただいたので、貼り付けるだけで実現できるように改稿しました。最初から多様なキーや機能があらかじめ用意されているVS CODEとは差がありますね。同じエレクトロンという出自ながら最近VS CODEの完成度の高さに感服しています。追記::この記事は18ヶ月前のものですが、最近ますます、Visual Studio Code が優秀になってきた上、マイクロソフトがGithubを買収しちゃったじゃないですか。笑) ATOM Editor どうなるんでしょうね。2018-08-08
ATOM editor :: How to installl ::ubuntu/Linux Mint
次の3行でインストールできます。
sudo add-apt-repository ppa:webupd8team/atom
sudo apt update
sudo apt install atom
ATOM editor :: How to installl :: Manjaro/ArchLinux
次の1行でインストールできます。たぶんどちらでもいけます。
sudo pacman -S atom
あるいは
yaourt -S atomkeymap.cson部分:: ターミナル標準になるたけ合わせてみるATOM設定の例
まるごと貼り付ければたぶんうまくいく。
'body':
'alt-s': 'core:save' #ctrl-s 廃止という暴挙にでてもいいかな?!
'ctrl-f': 'core:move-right' #bash:右
'ctrl-b': 'core:move-left' #bash:左
'ctrl-d': 'core:delete' #bash:削除 1文字削除
'ctrl-h': 'core:backspace' #bash:削除前
'ctrl-e': 'editor:move-to-end-of-screen-line' #bash:行末
'ctrl-m': 'editor:newline' #改行
'alt-a': 'core:select-all' #'atom-workspace atom-text-editor':が本来所属するチーム★ここなら、一番下に書いたほうがいいのかもしれない。
'atom-text-editor':
'ctrl-a': 'editor:move-to-first-character-of-line' #bash行:先頭
'atom-workspace atom-text-editor':
'ctrl-w': 'editor:delete-to-beginning-of-word' #直前単語削除
'ctrl-u': 'custom:bash-ctrl-u'# ctrl-u ができればbash互換。これで完成。
'ctrl-k': 'atomic-emacs:kill-line' #以下のselectToFirstCharacterOfLine()の 逆を書いてもよい。
'alt-s': 'core:save' #ctrl-s 廃止という暴挙にでてもいいかな?!
'ctrl-f': 'core:move-right' #bash:右
'ctrl-b': 'core:move-left' #bash:左
'ctrl-d': 'core:delete' #bash:削除 1文字削除
'ctrl-h': 'core:backspace' #bash:削除前
'ctrl-e': 'editor:move-to-end-of-screen-line' #bash:行末
'ctrl-m': 'editor:newline' #改行
'alt-a': 'core:select-all' #'atom-workspace atom-text-editor':が本来所属するチーム★ここなら、一番下に書いたほうがいいのかもしれない。
'atom-text-editor':
'ctrl-a': 'editor:move-to-first-character-of-line' #bash行:先頭
'atom-workspace atom-text-editor':
'ctrl-w': 'editor:delete-to-beginning-of-word' #直前単語削除
'ctrl-u': 'custom:bash-ctrl-u'# ctrl-u ができればbash互換。これで完成。
'ctrl-k': 'atomic-emacs:kill-line' #以下のselectToFirstCharacterOfLine()の 逆を書いてもよい。
単純代替できないコマンドのケース::ぷち♡ハック
#bash ctrl-u の実現パッケージを作るか、コマンドを作成します。後者がカンタンです。例
Keymap.cson へのバインディングの登録です。上の囲みには追記しました。
キーアサインを登録します。
'atom-workspace atom-text-editor':
'ctrl-k': 'atomic-emacs:kill-line' #以下のselectToFirstCharacterOfLine()の 逆を書いてもよい。
#'editor:delete-line' 行削除
'ctrl-u': 'custom:bash-ctrl-u'# ctrl-u ができればbash互換。これで完成。
※ctrl-kの逆。カーソル以前を消す。keymap.cson
'ctrl-w': 'editor:delete-to-beginning-of-word' #直前単語削除
以上を貼り付ける。
ctrl-kは、ツーストロークコマンドの要でもあるので、全体キーバインディングを無効にするか、 少し違うキーで妥協したほうがいいのかもしれません。シェル側を変更するなど。共存はできます。
VS CODEのカスタマイズでもほぼ同じことがいえます。
atomic-emacs ではカット動作をオプションで選べますが、全機能キーをいきなり有効にするとemacs風味すぎるので、私は数個のみ使っています。emacs好きな方ならそれ(全面採用からの調整)でいいのだと思います。
#同時に以下ユーザー定義コマンド(CoffeeScript)を書き足す。
起動スクリプト init.cofee 4行で実現できます。
カーソル前文字列をカットしてそれをクリップボードに入れる新規コマンド
#bash ctrl-u 互換 カーソル前文字列をカットしてバッファに。
atom.commands.add 'atom-text-editor', 'custom:bash-ctrl-u', ->
editor = atom.workspace.getActiveTextEditor()
editor.selectToFirstCharacterOfLine()
editor.cutSelectedText()
atom.commands.add 'atom-text-editor', 'custom:bash-ctrl-u', ->
editor = atom.workspace.getActiveTextEditor()
editor.selectToFirstCharacterOfLine()
editor.cutSelectedText()
これでひととおりのbashシェル風味な機能アサインは完成するかと思います。少なくとも私が多用するbash/zshキーはこれでカバーされています。それでいいのだ。
「カーソル前文字列をカットしてバッファに」位標準で用意されていればいいのにと思ったりもしますが、ATOMめんどくさい。