スパム対策として書込み時にID/PWを要求されますが、ローマ字で ほげ/ホゲ で書き込めるようになります。

FrontPage

C/C++ 前後の関数へ移動(改良版)

基本的に[ [ , ] ] と同じだが、1つ上が空行になっている行を先頭行とみなし、先頭行が画面最上になるようにして移動する。

noremap <C-p> [[?^?s*$<CR>jz<CR>
noremap <C-n> /^?s*$<CR>]]?^?s*$<CR>jz<CR>

このように連続して行う操作は、2キーのシーケンスより、CTRL+1文字にマップした方が使いやすいと思う。

C/C++で関数を範囲選択

int
 foo(char mychar,
     int myint,
     double* myarray,
     int mask = DEFAULT)
{ //...
} 

となっているとき,関数内のどこかにカーソル置いて実行すると,int から最後の } までを範囲選択してくれるマッピング。
ただし int の上が空行になっている必要がある。

nnoremap vf ][v[[?^?s*$<CR>

for などのブロックを選択。

nnoremap vb /{<CR>%v%0

for, if, while などがある行にカーソルを置いて、これを実行すると、そのブロックを選択する。
実行後のカーソル位置が実行前と同じ行に来るようにしている。

.c ←→ .h を切り替えるスクリプト

Alternate Files quickly (.c --> .h etc)
http://www.vim.org/scripts/script.php?script_id=31
foo.c を編集中に :A すると対応する foo.h を開く。逆も同じ。
:AS でウィンドウを分割して開く。:VS で垂直分割して開く。

.h 作成時に自動的に #ifndef 〜 #endif を挿入する

au BufNewFile *.h call IncludeGuard()
function! IncludeGuard()
   let fl = getline(1)
   if fl =~ "^#if"
       return
   endif
   let gatename = substitute(toupper(expand("%:t")), "??.", "_", "g")
   normal! gg
   execute "normal! i#ifndef " . gatename . "_INCLUDED"
   execute "normal! o#define " . gatename .  "_INCLUDED?<CR>?<CR>?<CR>?<CR>?<CR>"
   execute "normal! Go#endif   /* " . gatename . "_INCLUDED */"
   4
endfunction 

タグジャンプ色々

C-] でカーソル下のタグにジャンプしてくれるが、ジャンプ先を別ウィンドウで開くこともできる。

:tag  タグ名    " C-] と同じ
:ptag タグ名    " C-W } と同じ
                " tag と同じ部分をスプリットして表示
                " しかもカーソル位置は現在のまま
:pc             " プレビューウィンドウを閉じる。C-W C-Z と同じ。
C-W ]           " スプリットしてタグジャンプ


Doxygen コメントのテンプレートを作成するスクリプト

DoxygenToolkit?.vim
http://www.vim.org/scripts/script.php?script_id=987

int
  foo(char mychar,
      int myint,
      double* myarray,
      int mask = DEFAULT)
{ //...
} 

となっているとき、1行目か2行目にカーソルを置いて:Doxすると

/**
* @brief
*
* @param mychar
* @param myint
* @param myarray" *
* @return
**/ 

を挿入してくれる.

Objective-C

*.h の filetype を objc と見なす。

:let objc_syntax_for_h = 1

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2014-10-14 (火) 01:13:17 (1373d)