Top/Linux/Vim

Vim の変更点はてなブックマーク

  • 追加された行はこの色です。
  • 削除された行はこの色です。
  • Linux/Vim へ行く。

// :%!sort -r
//-[[vimエディタのビジュアルモードで範囲選択中に、誤って、その選択範囲を消してしまったら。。 : サイト更新停滞ちうっ [ 名無しのVIM使い ]>http://advweb.seesaa.net/article/2994299.html]]

高性能エディタ。
-[[オフィシャル>http://www.vim.org/]]

#contents

*クリック可能な関数名一覧を表示する
[[taglist.vim>http://www.vim.org/scripts/script.php?script_id=273]]が使えない人向け。~
~
~~/.vimrcに下記を記述。~
F12を押すと、クリック可能な関数名一覧が表示されます。~
ctags必須。終了するときは:qaや:wqaで。~
~

#ref(showfunc.png,nothumb,nolink)

#code(vim,nonumber){{
" クリック可能な関数名一覧を得る関数
" from http://www.vim.org/tips/tip.php?tip_id=79
function! ShowFunc()

    let gf_s = &grepformat
    let gp_s = &grepprg

    let &grepformat = '%*\k%*\sfunction%*\s%l%*\s%f %*\s%m'
    let &grepprg = 'ctags -x --c-types=f --sort=no -o -'

    write
    silent! grep %
    cwindow

    let &grepformat = gf_s
    let &grepprg = gp_s

    " 縦分割が好みなので追加
    wincmd H
    vertical resize 30
    set nonumber
endfunc
map <F12> :call ShowFunc()<CR>
}}

*オート関数定義表示
~~/.vimrcに下記を記述。~
(を入力する度に関数定義が表示されます。
~

#code(vim,nonumber){{
" オート関数定義表示
inoremap ( <Esc>h:silent! ptag <C-r><C-w><CR>la(
}}

*現在の関数以外の関数を自動的に折り畳む
~~/.vimrcに下記を記述。~
~

#ref(foldnotcurfunc.png,nothumb,nolink)

#code(vim,nonumber){{
" 現在の関数以外の関数を自動的に折り畳む
set foldmethod=syntax
set foldopen=all
set foldclose=all
set foldnestmax=1
}}

*関数をハイライトする
~~/.vimrcに下記を記述。~
~

#code(vim,nonumber){{
" 関数をハイライトする
function! HighlightFunc()
    syntax match Func /[A-Z_a-z]\w*\(\s*(\)\@=/
    highlight Func ctermfg=3
endfunc
autocmd BufNew,BufRead * call HighlightFunc()
}}

*スペース類をハイライトする
~~/.vimrcに下記を記述。~
~

#code(vim,nonumber){{
" スペース類をハイライトする
function! HighlightDislikeSpace()
    " 全角スペース
    syntax match DislikeSpace / /
    " タブ
    syntax match DislikeSpace /\t/
    " 行末のスペース
    syntax match DislikeSpace /\S\@<=\s\+$/
    highlight DislikeSpace cterm=underline ctermfg=1
endfunc
autocmd BufNew,BufRead * call HighlightDislikeSpace()
}}

*関数を一発で範囲選択する
~~/.vimrcに下記を記述。関数内でvfと入力すると範囲選択できる。~
~

#code(vim,nonumber){{
" 関数を一発で範囲選択する
nnoremap vf ][v[[?^[\s}]*;*$<CR>j
}}

*Depian etchのVimで構文ハイライトが効かない
Depian etchのVimで:syntax onすると、
 E216: そのようなグループもしくはイベントはありません: filetypedetect BufRead
などと言われて構文ハイライトが効かない場合、~
/etc/vim/vimrcの下記の記述を
 set runtimepath=~/.vim,/etc/vim,/usr/share/vim/vimfiles,/usr/share/vim/addons,/usr/share/vim/vim63,/usr/share/vim/vimfiles,/usr/share/vim/addons/after,~/.vim/after
次のようにすると解消する。
 set runtimepath=~/.vim,/etc/vim,/usr/share/vim/vimfiles,/usr/share/vim/addons,/usr/share/vim/vim70,/usr/share/vim/vimfiles,/usr/share/vim/addons/after,~/.vim/after

*まとめてコメントアウト/アンコメントする
コメントアウト
+Ctrl+vで矩形選択
+I((大文字))
+// とか #
+エスケープキー

アンコメント
+Ctrl+vで矩形選択
+d

*参考
-[[Tip #79 - How to use :grep to get a clickable list of function names : vim online>http://www.vim.org/tips/tip.php?tip_id=79]]
-[[VimWiki:tips/13]]
-[[VimWiki:tips/50]]
-[[VimWiki:tips/96]]
-[[TEMPEST社長ブログ: vi(vim)でコメントをまとめて付ける>http://tempest.dcnblog.jp/blog/2007/06/vivim_9128.html]]

*Amazon
#amazon(4873110831,left)
差分 一覧