VimやCtags、さらにお得な価格で[定休日]
-
05-09-2019 - |
質問
私設置 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++.
って対応マ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