軽率に Emacs から Vim に乗り換える事にしました。覚える事が膨大なので操作を忘れた時のメモを書きます。ちなみにこれはまだ Emacs で書いてます。
:help の使い方
-
:h
と入力すると画面半分にヘルプ画面が出る。 - よく使う操作
-
:q
help を終了。 -
Ctrl-]
(コントロールを押しながら]
):|bars|
のように縦棒で囲まれた tag (ハイパーリンクの事) にジャンプ。-
:h bars
のように:help
の引数として指定してもジャンプできる。
-
-
Ctrl-O
: ジャンプ先から戻る。Old と覚える。 -
Ctrl-I
または<Tab>
: 戻った後ジャンプ先に進む。 -
Ctrl-D
: ページ下半分移動。Down と覚える。 -
Corl-U
: ページ上半分移動。Up と覚える。 -
:ju[mp]
: 訪問ヒストリ。この数字を打ってから Ctrl-O や Ctrl-I するとヒストリを移動できる。
-
- ヘルプ画面の最初の Get specific help に、ヘルプの使い方が書いてある。
- Normal mode のあるキー(例えば x) の意味を知りたい時:
:h x
- 例えば Ctrl-O の意味を知りたい時は
:h ^O
だが、この^O
を打つときに実際に Ctrl-O と打っても^
O
と打っても良い。
- 例えば Ctrl-O の意味を知りたい時は
- コマンドラインコマンド(例えば
:quit
の意味を知りたい時。::h :quit
- Normal mode のあるキー(例えば x) の意味を知りたい時:
わからない事リストと解決法
以下ランダムにわけの分からない事を書きます。
-
:help
を起動すると画面が二分割されて見にくい。もう一つの画面に行く方法も分からない。-
:h usr_08
: に説明があります。分割画面は Windows と呼ぶらしい。 -
:only
で画面を一つにできます。 -
C-w C-w
で隣の Window に移動。
-
-
:helpgrep
でヘルプを全文検索できるが、次の検索結果に行けなくてわけが分からない。- 検索結果は
:h quickfix
というのになるらしい。-
:cn
次を表示,:cp
前を表示 -
:clist
quickfix list 表示 -
:cc [nr]
quickfix list の nr 番目を表示
-
-
:lh[elpgrep]
を使うと quick fix の代わりに location-list というものに検索結果が保存される。-
:lne
次を表示,:lpr
前を表示 -
:lli[st]
: location-list 表示 -
:ll [nr]
: location-list の nr 番目を表示
-
- 検索結果は
- ファイルを複数開けたときに2つ目以降のファイルが見えない。
- ファイルを複数開けた時、Vim の buffer list と VI 由来の args の二つのリストが作られる。
:h buffer-list
-
:ls
リスト表示 -
:bn[ext]
次のバッファCtrl-^
トグル -
:b [nr]
[nr] 番目のバッファを表示
- 編集するファイルを追加したい。
-
:hide edit
でいける。
-
- カーソルを画面の真ん中にしたい。
-
zz
:h: scroll.txt
参照
-
- 細かいジャンプ
-
''
を使うと細くジャンプできる。
-
- たまに
recording q@
みたいな画面が出てどうしたら良いのか分からない。- 無意識に
qq
をタイプしていてマクロをq
レジスタに記録していた。 - 再度
q
をタイプすれば脱出出来る。参考::q usr_10
-
q{0-9a-zA-Z}
マクロ開始 -
@{0-9a-zA-Z}
マクロ再生
- 無意識に
- 勝手に補完して欲しい。
- 挿入モードで
Ctrl-P
:h usr_24
参照
- 挿入モードで
- シンタックスハイライト
-
:syntax enable
:h syntax.txt
参照 - どうやら Mac OS 付属の vim に問題があるらしく、
brew install vim
するのが正解らしい。
-
- オプションの設定方法が分からない。
- 例えば検索結果を表示する hlsearch の場合
- 設定:
:se[t] hlsearc
- 解除:
:se[t] nohlsearc
- 設定:
- 例えば検索結果を表示する hlsearch の場合
- デフォルト設定がどこで設定されているか?
- /usr/local/share/vim/vim90/defaults.vim
- .vimrc を書く時は
:h 05.3
を参照して defaults.vim を source する。
- 他のアプリにペーストしたい
-
set clipboard=unnamed
を .vimrm に書く (参考::h clipboard
)
-
-
:ls
などのコマンド結果をコピペしたい。-
:read !ls
でいける。 -
!}
段落をコマンドにフィルタする。
-
- たまに
::::[Command ]
みたいな画面が出てどうしたら良いのか分からない。- これは
q:
で起動する command-line window というものだった。 -
:q
で閉じる事ができる。
- これは
- ディレクトリを grep したい。
-
:grep -r 検索語 ディレクトリ
行番号を追加する-n
オプションは vim が勝手に追加する。
-
- 適当な文字数で折り返す。
-
:set tw=80
gq}
-
- Insert 中にペースト
-
Ctrl-R"
Insert モード中の Crtl-R は計算機機能など他に面白い機能が沢山ある:h i_^R
-
- Command 中にカーソルを先頭や末尾に移動
-
Ctrl-B
先頭Ctrl-E
末尾
-
Mac OS 付属 vim より brew の vim の方が良いこと
- Mac OS 付属 vim は defaults.vim が効いていない気がする。
-
syntax enabled
が有効になっている。 -
incsearch
が有効になっている。