0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Vim 入門

Last updated at Posted at 2023-05-02

軽率に 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 と打っても良い。
    • コマンドラインコマンド(例えば :quit の意味を知りたい時。: :h :quit

わからない事リストと解決法

以下ランダムにわけの分からない事を書きます。

  • :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 参照
  • シンタックスハイライト
  • オプションの設定方法が分からない。
    • 例えば検索結果を表示する hlsearch の場合
      • 設定: :se[t] hlsearc
      • 解除: :se[t] nohlsearc
  • デフォルト設定がどこで設定されているか?
    • /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 が有効になっている。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?