夢のかけら

Goエンジニアの技術ブログ

RubyMineの初期設定

f:id:lampler:20210427195120p:plain

ピープ音を消す

macのアラート音を消す。つまり、通知音量を0にする。slackなどの他のアプリの音は聞こえるのでこれで問題ない。 f:id:lampler:20210427194459p:plain

右の目立つ縦線を消す

  1. シフトを2回押して「wrap guide」と検索する。
  2. Hard wrap guideのForegroundのチェックを外す。

f:id:lampler:20210427194544p:plain ちなみに、ここでインデントラインの色を変更できる。

折り返しをできるようにする

Editor > General > Soft WrapsでSoft-wrapするファイルを追記する。 ファイル名はセミコロンで分けることに注意する。 全てのファイルを選択する方法を知りたい>< f:id:lampler:20210427194706p:plain

画面分割したタブ間で移動するショートカットの作成

設定画面で、左上からsplitterで検索。 Goto Next Splitterに好きなキーを割り当てる。 f:id:lampler:20210428202705p:plain

入力モード中のjjでエスケープする

右下のVのロゴをクリックして.ideavimrcに追記する。 f:id:lampler:20210428202730p:plain

inoremapはインサートモード時のキーマッピングを作成する記述である。

inoremap jj <Esc>

注意

ターミナルから読み込んでもエラーになってしまう。設定を反映するにはRubyMineを再起動する必要がある。

ショートカットキーの設定

f:id:lampler:20210915121657p:plain

.ideavimrc

"大文字小文字の区別なし
set ignorecase

"検索時に大文字を含んでいたら大/小を区別
set smartcase

"検索対象をハイライト
"ハイライトを消す場合は:noh[l]
set hlsearch

"スクロール時に表示を10行確保
set scrolloff=10

"x キー削除でデフォルトレジスタに入れない
nnoremap x "_x
vnoremap x "_x

"vv で行末まで選択
vnoremap v ^$h
"Yでカーソル位置から行末までヤンクする
nnoremap Y y$

"選択範囲のインデントを連続して変更
vnoremap < <gv
vnoremap > >gv

"ノーマルモードでもリターンキーで改行
nnoremap <CR> A<CR><ESC>
nnoremap <Space> i<Space><Esc>

" j, k による移動を折り返されたテキストでも自然に振る舞うように変更
nnoremap j gj
nnoremap k gk

" vを二回で行末まで選択
vnoremap v $h
" 動作環境との統合
" OSのクリップボードをレジスタ指定無しで Yank, Put 出来るようにする
set clipboard=unnamed,unnamedplus
"screen利用時設定
set ttymouse=xterm2
" マウスの入力を受け付ける
set mouse=a
" インサートモードから抜けると自動的にIMEをオフにする
set iminsert=2

"tab/identの設定
set shellslash
set expandtab "タブ入力を複数の空白入力に置き換える
set tabstop=2 "画面上でタブ文字が占める幅
set shiftwidth=2 "自動インデントでずれる幅
set softtabstop=2 "連続した空白に対してタブキーやバックスペースキーでカーソルが動く幅
set autoindent "改行時に前の行のインデントを継続する
set smartindent "改行時に入力された行の末尾に合わせて次の行のインデントを増減する

" ESCキー2度押しでハイライトの切り替え
nnoremap <Esc><Esc> :nohlsearch<CR><ESC>

" 入力モード中に素早くJJと入力した場合はESCとみなす
inoremap jj <Esc>

" インクリメンタル検索 (検索ワードの最初の文字を入力した時点で検索が開始)
set incsearch

カラースキームの変更

Vimだと難しいカラースキームの微調整もRubyMineなら簡単にできる。

f:id:lampler:20211019080716p:plain