VIM関連

9202 ワード

〔vim検索文字に大文字と小文字を無視させる〕
1、プロファイルset ignorecase smartcase.
 2、/c、/C.
参照:http://www.360doc.com/content/13/0116/14/8547696_260509353.shtml
[コピー&ペースト]
yy         。     Y。 
2yy y2y 。 ㄟ , ! :-)
y^ , y0。 。
y$ 。 。
yw word。
y2w ( )。
yG 。
y1G 。
p p ( )。
P P ( )。

y, p, d。
, 。

p P 。

〔常用操作〕
u:元に戻す.
ctrl+r:逆取り消し.
ctrl+e:ウィンドウを1行下に移動します.
ctrl+y:ウィンドウを1行上に移動します.
vim-R filename:指読みでファイルを開きます.
:%s/src/dst:各行の最初のsrcをdstに置き換える.
:n,$s/src/dst:n行目から最後の行までのsrcをdstに置き換える.
:10,20 s/pattern/replacement/:置換範囲10~20行目
ddp:上り2行対調
xp:2文字の位置を交換する
J:上下2行をマージ
nK,nJ:n行を上下に移動
:set list:シンボルを明示的に隠す
 [scons]
ダウンロードアドレス:http://sourceforge.net/projects/scons/files/scons/2.3.0/
[Command-T]
ファイルをすばやく配置します.
インストールと使用:http://www.linuxeden.com/html/softuse/20100510/102921.html
エラー処理:http://hi.baidu.com/woodyxu/item/3d5ec0274734c53a95f62bf7
 [a.vim]
ヘッダファイル間のジャンプを実現します.参照:http://www.cppblog.com/doing5552/archive/2010/02/06/107391.html
ダウンロードアドレス:http://www.vim.org/scripts/script.php?script_id=31
[tagbar構成]

1 nnoremap <silent> <F8> :TagbarToggle<CR>

2 let g:tagbar_ctags_bin = '/usr/bin/ctags'

3 let g:tagbar_left = 1 

4 let g:tagbar_width = 30

5 let g:tagbar_sort = 0 

6 autocmd FileType c,cpp,python nested :call tagbar#autoopen(0)

View Code
[Color設定]
  Gray on black
  scheme: Tango 
  Pallete Color 1:#010044
  Pallete Color 6:#CA4FDE
[コメント&逆コメント]
 1.コメントを挿入:
Control+v入力モードを押し、上下キーでコメントが必要な行数を選択し、大文字「I」を押して挿入モードに入り、コメント記号「#」を入力し、すぐにESCを押します
 2.コメントの削除
まずControl+v入力モードを押して、カーソルキーを押して削除するコメントを選択して、xキーを押して削除します
[選択]
shift+v、現在の行を先に中に入れ、VISUALモードに入ります
shift+k、システム呼び出しを表示
vi{選択{}の中間の内容、{}va{選択{}の中間の内容を含まない、中间コンテンツvi<选択<>中间コンテンツviを含む[]中间コンテンツvi中间コンテンツviを选択中间コンテンツviを选択中间コンテンツviを选択中间コンテンツvis中文vibを选択中block viwを选択中文vipを选択中段落
[指定行にジャンプ]
nggまたはnG,nは指定された行数(例えば25)である
25 ggまたは25 Gは25行目にジャンプする.
gf:カーソルが現在存在するincludeファイルにジャンプ
[ジャンプ]
[+ctrl+i関数、変数、および#defineにジャンプ
ctrl+i前のカーソル位置にジャンプ
ctrl+o/ctrl+t後ろに何回かカーソル位置にジャンプ
〔関数体カーソルジャンプ〕
[[:ファンクションヘッダに移動]
]]]:関数の末尾に移動
[{:最初の列にある前の"{"に移動
}]:最初の列にある次の「{」に移動
{:前の空の行に移動
}次の空白行に移動
[複数ラベル]
:tabnew[++optオプション][+cmd]ファイル指定ファイルに新しいtabを作成:tabc現在のtabを閉じる:tabo他のtabをすべて閉じる:tabs開いているtabをすべて表示:tabp前:tabn後の標準モードでgt、gTはtab間を直接切り替えることができる.
[マルチウィンドウ]
sp/vsドキュメント名新しいウィンドウでドキュメントを開く
2回Ctrl+wでウィンドウを切り替えることができます
:close|:q|ZZ:現在のウィンドウを閉じ、現在のウィンドウが唯一のウィンドウであれば閉じません.
:only:現在のウィンドウ以外のウィンドウを閉じます.
:qall:すべてのウィンドウを終了
:wall:すべてのウィンドウを保存
  [TagList]
開く/閉じる:Tlist
更新:Tlistウィンドウでuを押す
ウィンドウ切り替え:Ctrl+WW
参照:http://baike.baidu.com/view/9341033.htm
TagListのctags使用オプションのエラーを解決する:/usr/bin/ctags:unrecognized option'--format=2'^@^ITry`/usr/bin/ctags
参照:http://www.360doc.com/content/13/0113/10/9462341_259870613.shtml
解決策はapt-get install ctagsで、ubuntuのデフォルトのctagsを使用しないでください.
 [ctags]
  ctags -R --exclude=*.java,*.js,*.php,*.m,*.mm,*.html
1)コマンドラインを使用します.vimを実行するときに「-t」パラメータを追加します.たとえば、次のようにします.
      [/home/brimmer/src]$ vim -t foo_bar
このコマンドは、「foo_bar」(変数または関数またはその他)を定義するファイルを開き、カーソルをこの行に配置します.
2)vimエディタで「:ta」コマンドを使用します.たとえば、次のようにします.
      :ta foo_bar
3)最も便利な方法は,変数名や関数名にカーソルを合わせて「Ctrl-」を押すことである.「Ctrl-o」で元の場所に戻ります.
注意:vimを実行する場合は、「tags」ファイルがあるディレクトリで実行する必要があります.そうでなければvimを実行するときに「:set tags=」コマンドで「tags」ファイルのパスを設定し、vimが「tags」ファイルを見つけることができます.
VIMRCで複数tagsファイルを設定するには:
 set tags=./tags,tags,$HOME/.tags/tags


  [cscope]
コードルートディレクトリの下でコマンドを実行します:cscope-Rbkq.このコマンドはインデックスを作成するために使用され、cscopeという3つのファイルを推奨します.out、cscope.in.out、cscope.po.out.
1)Rは,すべてのサブディレクトリ内のファイルにもインデックスを作成することを示す.
2)bは、cscopeが独自のユーザインタフェースを起動せず、シンボルデータベースのみを構築することを示す
3)qはcscopeを生成する.in.アウトとcscope.po.outファイル、cscopeのインデックス速度を速める
4)k生成中
インデックスファイルで/usr/includeディレクトリは検索されません
  
コマンド
cscope add/home/siyuanxie/Desktop/yr/cscope.out、対応するシンボルファイルをロードします.
 
cs find検索(cs fと簡略化することもできます)を使用して、必要な文字列タイプを追加します.
c:Find functions calling this function//この関数を呼び出す関数の検索
d:Find functions called by this function//この関数で呼び出された関数を検索
e:Find this egrep pattern//egrepモードを検索egrep機能に相当するが、検索速度はずっと速い
f:Find this file//vimのfind機能に似たファイルを検索して開く
g:Find this definition//関数、マクロ、列挙など定義された位置を検索ctagsの機能に類似
i:Find files#including this file//本ファイルを含むファイルの検索
s:Find this C symbol//C言語記号、すなわち関数名、マクロ、列挙値などが現れる場所を検索
t:Find assignments to//指定文字列の検索
たとえば、cscopeを使用してdo_を検索します.fork関数の定義vimコマンドラインで実行:cs fg do_fork
  [VIMRC] 
 1 set nu

 2 set tabstop=2

 3 set softtabstop=2

 4 set shiftwidth=2

 5 set expandtab

 6 syntax enable

 7 syntax on

 8 set smartindent

 9 set autoindent

10 set cursorline

11 set cindent

12 let Tlist_Auto_Open = 1 

13 let Tlist_Ctags_Cmd = '/usr/bin/ctags'

14 let Tlist_Show_One_File = 1 

15 let Tlist_Exit_OnlyWindow = 1 

16 set tags=/home/siyuanxie/Desktop/yr/tags,/usr/include/tags

17 cscope add /home/siyuanxie/Desktop/yr/cscope.out

18 cscope add /usr/include/cscope.out

19 set path+=/usr/include20 set ignorecase

20 map Q <Nop>

21 set bg=light

22 set bg=dark

23 set hlsearch