虎(牛)龍未酉2.1

記録帳|+n年後のジブンが思い出せますように……

作業ログ|vim (MacVim)-02

やったこと

  • カラースキームの導入。結局hybridに(tender/icebergも捨てがたし)

    • 元祖hybridはあまりメンテされていなくて、改良版を使った
      • 元祖:w0ng/vim-hybrid
      • 今回:micke/vim-hybrid
    • iceberg作者のcocoponさんにLOVEしてしまった
    • gvimrcにもset colorschemeをしていて、ハマった
  • lightlineの導入。

  • helpを日本語化(vimdoc-jpプラグイン

  • 折り畳みモードを、特定のファイルに指定

    • modelineというのかな?
    • vimrcの構造化に着手(まだめちゃくちゃ)

できるようになりかけてること

  • コピーペースト。ggyGで全文コピー、VggyG<cmd-c>でクリップボードにコピ
  • いろいろな移動を覚えてきた
    • gg/G:バッファの先頭/末尾
    • ctrl-U/D:ページを半分スクロール
    • zz/zt/zb:カーソル位置を画面の真ん中/上/下にする
  • :noh で検索のハイライトを消せる(ハイライトを消す以外の影響はない)
  • コマンドラインで<ctrl-f>して履歴を編集して実行

やりたいと思っていること

ここまでの.vimrc

折り畳むとこんな感じ f:id:masatora_bd5:20201106112745p:plain

" vim-plugでプラグイン管理: {{{

call plug#begin()

Plug 'Lokaltog/vim-easymotion'  " better move commands
Plug 'ctrlpvim/ctrlp.vim'       " あいまい検索
Plug 'itchyny/lightline.vim'    " custom statusline
Plug 'vim-jp/vimdoc-ja'         " help in Japanese

Plug 'micke/vim-hybrid'         " color scheme
Plug 'jacoborus/tender.vim'     " color scheme
Plug 'cocopon/iceberg.vim'      " color scheme

call plug#end()

" }}}
" basic settings {{{

syntax on                       " シンタックスハイライトをオン
filetype plugin indent on       " ファイルタイプに基づいたインデントを有効化
let mapleader = "\<space>"      " leaderキーをspaceに変更 *1 p122
set nocompatible                " 
set backspace=start,eol,indent  " 
set whichwrap=b,s,[,],<,>,~     " 
set mouse=
set laststatus=2                " ステータス行を常に表示
" set statusline=%F%r%h%=
set number                      " 行番号表示

" 検索オプション
set incsearch                   " インクリメンタルサーチ
set hlsearch                    " 検索時にハイライト
set ignorecase                  " 検索時大文字小文字を無視
set nowrapscan                  " ファイル末まで検索後、頭に戻らない

set wildmenu                    " タブによる自動補完を有効化
set wildmode=list:longest,full  " 最長マッチまで補完し自動補完メニューを開く

" 編集オプション
set ambiwidth=double
set tabstop=4                   " タブ幅を4に
set expandtab                   " タブをスペースに変換
set shiftwidth=4                " インデントに使われるスペースの数
set autoindent                  " 新しい行を始めるときに自動でインデント
set smartindent

set list
set listchars=tab:»-,trail:-,eol:,extends:»,precedes:«,nbsp:%
set nrformats-=octal
set hidden
set history=10000               " 履歴を10000件持つようにする
set virtualedit=block

set foldmethod=indent           " 折りたたみ設定 *1 p65/68

" }}}
" Semicolon is too long to type.
nnoremap ; :
vnoremap ; :


" 矢印キーを押しても何もしないように変更
noremap <Up> <Nop>
noremap <Down> <Nop>
noremap <Left> <Nop>
noremap <Right> <Nop>

" swapファイルをひとつのところにまとめる (*1 p31)
set directory=$HOME/.vim/swap//

" すべてのファイルに対し永続アンドゥを有効 (*1 p39)
set undofile
if !isdirectory(expand("$HOME/.vim/undodir"))
    call mkdir(expand("$HOME/.vim/undodir"), "p")
endif
set undodir=$HOME/.vim/undodir

" カラースキーム {{{

let g:lightline = { 'colorscheme': 'hybrid' }

set t_Co=256
set termguicolors
set background=dark
let g:hybrid_italic=0       " hybridでitalicをオフ
colorscheme hybrid

" }}}
"
" ----------------------------------------
" 出典リスト
" 1: マスタリングVim Ruslan Osipov
"
" ----------------------------------------

" vim: set sw=4 ts=4 sts=4 et tw=80 ft=vim fdm=marker: