NULL::something

Login via flickr, はてな, TypeKey.

2006-07-14

vim に乗り換えるよ!

Emacs の設定に嫌気がさしたので (ネガティブドリブン) 、vim に乗り換えるよ!

ubuntu 6.06 LTS の vim は VIM - Vi IMproved 6.4。css.vim のロードがいつも失敗する。

とりあえず覚えた (覚えてた) コマンド列挙

  • :w
  • :q, q!
  • i
  • v
  • V
  • C-v
  • u
  • C-r
  • y
  • p
  • P
  • dd
  • gg
  • G
  • /{search-string}
  • s/{s}/{r}/gc
  • ==
  • ^
  • $
  • o
  • !!cmd
  • gg=G

現時点での .vimrc

syntax on
colorscheme desert256

highlight ZenkakuSpace ctermbg=6
match ZenkakuSpace /\s\+$\| /

set listchars=tab:>.
set list

" バックアップとか自分でしろ
set nobackup

" 誰かが編集したら読み直して
set autoread

" 袖あまりは良いものだ
set scrolloff=10
" 行番号の表示
set number
" デフォルトインデント設定
set autoindent smartindent
" よさげなタブ
set smarttab
set softtabstop=4 tabstop=4 shiftwidth=4
" BS の挙動
set backspace=indent,eol,start


" よしなにしてくれ
set ignorecase smartcase
" インクメンタル
set incsearch
" 最初にもどれ
set wrapscan

" 対応する括弧の表示
set showmatch
" 入力中のコマンドを表示
set showcmd

" 行頭・行末間移動を可能に
set whichwrap=b,s,h,l,<,>,[,]

" 補完候補を表示する
set wildmenu

set laststatus=2
set statusline=%<%f\ %m%r%h%w%{'['.(&fenc!=''?&fenc:&enc).']['.&ff.']['.&ft.']'}%=%l,%c%V%8P

set termencoding=utf8
set encoding=japan

set hidden

filetype plugin on
filetype indent on

noremap # :call ToggleCommentSelection()<CR>

" http://peace-pipe.blogspot.com/2006/05/vimrc-vim.html
" current syntax
command! -nargs=0 GetHighlightingGroup echo 'hi<' . synIDattr(synID(line('.'),col('.'),1),'name') . '> trans<' . synIDattr(synID(line('.'),col('.'),0),'name') . '> lo<' . synIDattr(synIDtrans(synID(line('.'),col('.'),1)),'name') . '>'


augroup MyAutocmd
    au!
    au BufNewFile,BufReadPost  vim   let b:commentSymbol='\"'
    au BufNewFile,BufReadPost  *.c,*.h,*.cpp,*.d,*.java,*.js   let b:commentSymbol='//'
    au BufWritePost * if getline(1) =~ "^#!" | exe "silent !chmod +x %" | endif
augroup END

" 現在行をコメントトグル
" 選択中はその範囲を
function! ToggleCommentSelection() range
    if exists('b:commentSymbol')
        let cs = b:commentSymbol
    else
        let cs = "#"
    endif
    let cl = a:firstline
    while (cl <= a:lastline)
        let line = getline(cl)
        if strpart(line, match(line, "[^ \t]"), strlen(cs)) == cs
            let i = 0
            while (i < strlen(cs))
                normal! ^x
                let i = i + 1
            endwhile
        else
            execute "normal! I" . cs
        endif
        normal! j
        let cl = cl + 1
    endwhile
endfunction

と、同時に、.zshrc を vim の第一引数を screen の window 名にするように書き換えた。

Comments (0)

Trackback URI: http://lowreal.net/logs/2006/07/14/3.trackback

NULL

RSS feed meter for http://lowreal.net/logs/latest

Alternates

  1. RSS 1.0
  2. Atom 1.0

Generated with Taglibro

この日記は Taglibro と呼ばれる XML ベースの XSLT をテンプレートとして使ったシステムを使っています。現在の Taglibro は Ruby, ruby-xslt, libxml-ruby による実装です。ソースコードはとりあえず公開していません。