質問

私設置 Ctags (助としてC++の開発だVim(というかgVim、うすぐお好きなコマンド-マクロショートカット、ヒントになっておりルールとそれ---

ェ兵器庫があります。他のVim-アドオンでおすすめのためのC++にVim開発?

編集 他の追加ごと組み合わせてご使用くださCtags?

EDIT2 何版gVim使用するタグ?な間関係についての理解を得ます。

EDIT3 どうでしたすためのプログラミング経験のための大小さまざまな事業?

役に立ちましたか?

解決

Ctrl+] -に行く定義
Ctrl+T ジャンプの定義で設定します。
Ctrl+W Ctrl+] オープンの定義を水平に分割

を追加しラインvimrc
map <C-\> :tab split<CR>:exec("tag ".expand("<cword>"))<CR>
map <A-]> :vsp <CR>:exec("tag ".expand("<cword>"))<CR>

Ctrl+\ オープ定義を新しいタブ
Alt+] オープ定義の垂直分割

後のタグが生成されます。には以下のようなものを使いますのキーをタグやタグの機能:

Ctrl+Left MouseClick -に行く定義
Ctrl+Right MouseClick -ページから定義

他のヒント

一本のラインが常にするvimrc:

set tags=./tags;/

この見た目は現在のディレクトリのための"タグ"は、仕事をツリー向け根までのとおりである。IOWきでも、どこでもソースツリーでのルートです。

もう一つ、有用なプラグインのためのCの開発 cscope しCtags ージの定義を参照する場合は、Cscopeへジャンプ 呼び出し ます。

まcscopeご~/bin/ディレクトリに以下を追加する。vimrcに使g^]への呼び出し機能(参照:cscope).

if has("cscope")
    set csprg=~/bin/cscope
    set csto=0
    set cst
    set nocsverb
    " add any database in current directory
    if filereadable("cscope.out")
        cs add cscope.out
        " else add database pointed to by environment
    elseif $CSCOPE_DB != ""
        cs add $CSCOPE_DB
    endif
endif

ほとんど忘れて...しctags合成(定し、定期的に更新のデータベースです。私は以下のスクリプト

select_files > cscope.files
ctags -L cscope.files
ctags -e -L cscope.files
cscope -ub -i cscope.files

Where'select_filesは他のスクリプトを抽出する技術のリストのCヘッダファイルはMakefile.こうして指数のファイルを実際に使用される。

を追加できるディレクトリおctagsルックアップ.例えば、ctags指数の構築のためのQt4、このmy.vimrc:

set tags+=/usr/local/share/ctags/qt4

上記のすべてを---

code_complete:機能パラメータの完了コードスニペットをもたらします。

taglist.vim:ソースコードをブラウザ対応のC/C++、java、perl、python、tcl、sql、phpなど)

私はALT+左ALT-右ポップ/プッシュから、タグのスタックです。

" Alt-right/left to navigate forward/backward in the tags stack
map <M-Left> <C-T>
map <M-Right> <C-]>

ご利用の場合 hjkl 移動できる地図 <M-h><M-l> です。

複数の定義に同じ名前

<C-w>g<C-]> の定義で分割でもない :tjump のいずれかの定義は、複数ある場合は定義を示す定義リストを選んでいます。

のコマンドを使用しているのはC]を飛び定義関数の下にカーソルを移動させます。利用できれば辿ります。その後、C-o持って帰ってき一レベルのC-iが深ます。

がその場で発音を確認することが、 taglist プラグインを落としている。しているとのことですすべてのタグで知(ファイルを開い)、別のウィンドウで非常に簡単にナビゲートばかりが大きくなります。

使ってもほとんどのPythonの開発が可能であり、これまでのようにするいはC/C++.

私は内包されたタグの操作に 実験プラグイン のです。

に関するC++での開発vimしかし、私の答えは あり:自分自身のスイート、別の複数のプログラム

って対応マvimのプラグインのための二年間の支援が十分に大きいのc++のプロジェクト.ご覧になることができ生まれることを期待しています。

使用ctagsは、cscsope.

http://www.vim.org/scripts/script.php?script_id=1638
http://www.vim.org/scripts/script.php?script_id=2507

いて、以下のmy.gvimrcファイル、検索のツリーからポイントにタグファイルがgvim開始

function SetTags()
    let curdir = getcwd()

    while !filereadable("tags") && getcwd() != "/"
        cd ..
    endwhile

    if filereadable("tags")
        execute "set tags=" . getcwd() . "/tags"
    endif

    execute "cd " . curdir
endfunction

call SetTags()

その後、定期的に再生のタグファイルの私のソースツリーをスクリプトを次のように記述されています。

#!/bin/bash

find . -regex ".*\.\(c\|h\|hpp\|cc\|cpp\)" -print | ctags --totals --recurse --extra="+qf" --fields="+i" -L -

使用用語集vim、macos、原ctagsはうまくいきませんので、ダウンロードして最新の設定を行作インストールしてください。トctgas/usr/local/bin/ctags(くつ)

"taglist
let Tlist_Ctags_Cmd = "/usr/local/bin/ctags"
let Tlist_WinWidth = 50
map <leader>ta :TlistToggle<cr>
map <leader>bta :!/usr/local/bin/ctags -R .<CR>
set tags=tags;/
map <M-j> <C-]>
map <M-k> <C-T>

私にSetTags()検索機能上(置換する必要があるのと同等 set tags+=./tags;/)にcscope.らしい作品です!

"cscope file-searching alternative
function SetCscope()
    let curdir = getcwd()

    while !filereadable("cscope.out") && getcwd() != "/"
            cd ..
                endwhile

    if filereadable("cscope.out")
            execute "cs add " . getcwd() . "/cscope.out"
                endif

    execute "cd " . curdir
    endfunction

call SetCscope()

別の繰り返し処理のSetCscope()機能です。を設定するcscope前のパスに一致することなく、dirが"cscope."は:

function s:FindFile(file)
    let curdir = getcwd()
    let found = curdir
    while !filereadable(a:file) && found != "/"
        cd ..
        let found = getcwd()
    endwhile
    execute "cd " . curdir
    return found
endfunction

if has('cscope')    
    let $CSCOPE_DIR=s:FindFile("cscope.out")
    let $CSCOPE_DB=$CSCOPE_DIR."/cscope.out"
    if filereadable($CSCOPE_DB)
        cscope add $CSCOPE_DB $CSCOPE_DIR
    endif

    command -nargs=0 Cscope !cscope -ub -R &
endif
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top