Androidプログラム代写ネットプログラム代写[原]vimエディタ構成と常用コマンド
25094 ワード
最近仕事が不安で、ちょうど入行した时の锐気がなくて、いつから怠け始めたのか分からないで、周末にパソコンのそばでニュースを见て、お笑いのピクチャーをして、米剧を追いかけて、座ると1日で、とても空虚です.私はこのような状態から抜け出す必要があります.ちょうどアンドロイドの底を学びたいです.Android私たち、C/C++の底が少し悪いです.Androidカーネルのソースコードも見るのに苦労しています.いっそ埋め込み式のクラスを報告しました.週末のクラスです.幸いにも私は北京で、家の訓練機関を探して埋め込み式の開発を勉強し始めました.
C言语の基础があまりにも悪いので、クラスに従って最も基础的なことから学びましょう、Linux C开発、vimエディタを使って开発して、vimエディタを使いこなさなければならなくて、このブログの中でvimを総括します;
一.vimのプロファイル
ショートカットキーの利点:
F 5自動コンパイルC/C++ファイル
F 8自動デバッグC/C++ファイル
F 2空行クリア
F 3現在のファイルディレクトリを一覧表示する
Ctrl+P自動補完
Ctrl+A全選択コピー
フィーチャーの編集:
自動生成C/C++Javashファイルヘッダ
かっこ一重引用符自動補完
vimを使い始めたばかりの頃は、使いにくいと思っていましたが、括弧やif文などを使うたびにインデントし、行番号がなく、コンパイルや実行エラーが発生した後、エラーを見つけにくくなりました.これらはプロファイルで設定できます.
vimプロファイルは、①etc/vimrc②root/.vimrc
2番目の格納場所は、ユーザディレクトリ(~/)の下にある隠しファイルである、ファイル名の前に1つあることに注意する.符号
1.基本構成
次のmap+ショートカット+コマンドは、対応するコマンドにショートカットキーを関連付けることができ、ショートカットキーを押すことはこれらのコマンドを実行することに相当する.
Ctrl+Aキーは、すべてのコピーに相当します.
Ctrl+Cキーでコピー
F 12を押して空白行を削除します
Ctrl+F 12ファイル比較
M+F 2ラベルを新規作成
F 3キー現在のディレクトリファイルを一覧表示
Ctrl+F 3ファイルディレクトリを開く
F 5によるC/C++ファイルの自動コンパイル
F 8でC/C++ファイルをデバッグする
9.プロファイルの例
ファイルを開くコマンド:
vim diff a.cb.cコマンドは2つのファイルを開き、2つのファイルを比較します.
vim-p a.c b.cは複数のファイルを開き、マルチラベルで開く
1.モード間の変換
コマンドステータス:vimファイル名vimエディタに入るのが一般的なモードで、このモードでカーソルを移動したり、ページをめくったりすることができます.
コマンドライン状態:一般モードではコロンを押し、コマンドラインモードに入ります.コマンドラインモードのコマンドはコロンを押してからコマンドを入力します.
編集ステータス:このモードでテキストを入力できます.
コマンドステータス->挿入ステータス:i o a
挿入ステータス->コマンドステータス:esc
コマンドステータス->コマンドラインステータス:コロン
コマンドラインステータス->コマンドステータス:リターン
2.コマンドモード共通コマンド
(1)挿入モードコマンドに入る
iカーソル位置の文字の前に入力
aカーソル位置の文字の後に入力
oカーソル位置の次の行に入力
(2)カーソル移動コマンド
0カーソルを1行目に移動
$カーソルを最後の行に移動
PageUpを1ページ上にスクロール
PageDoenは1ページ下にスクロール
Gドキュメントの最後に移動
ggドキュメント開始に移動
(3)削除コマンド
D改行最後のテキストへのカーソルの削除
dd 1行削除
dGドキュメントの最後のテキストへのカーソルの削除
dggドキュメントの開始文字にカーソルを削除
(4)置換と還元
R置換モードに入り、escを知るまで
Sは行全体の内容に取って代わる
uキャンセル操作(undo)
(5)コピーペーストコマンド
yyカーソルがある行全体をコピー
n+yyカーソル位置および次のn行をコピー
y 0行ヘッダにコピー
yGを行末にコピー
pカーソルの後ろに貼り付け
Pカーソルの前に貼り付け
注意点:
「.」コマンドは、任意のコマンドを繰り返す.
削除すると、置換されたコンテンツがバッファに格納されます.
3.コマンドラインモードでのコマンド
(1)検索コマンド
/このキーを押して、探している文字を入力し、Enterキーを押して探し始めます
n正の方向を探し続ける
N逆方向に探し続ける
*カーソル位置のワードを探します(完全に一致する)
(2)マルチドキュメントを開く方法
vim file 1 file 2複数のドキュメントを開く
:n次のファイルを編集する
:N前のファイルの編集
:e fileはVIMエディタで他のファイルを開きます.tabキーでファイル名を補完できます.
作者:han 1202012发表于2013-11-21 21:03:50
テキストリンク
読書:102コメント:2
コメントの表示
C言语の基础があまりにも悪いので、クラスに従って最も基础的なことから学びましょう、Linux C开発、vimエディタを使って开発して、vimエディタを使いこなさなければならなくて、このブログの中でvimを総括します;
一.vimのプロファイル
ショートカットキーの利点:
F 5自動コンパイルC/C++ファイル
F 8自動デバッグC/C++ファイル
F 2空行クリア
F 3現在のファイルディレクトリを一覧表示する
Ctrl+P自動補完
Ctrl+A全選択コピー
フィーチャーの編集:
自動生成C/C++Javashファイルヘッダ
かっこ一重引用符自動補完
vimを使い始めたばかりの頃は、使いにくいと思っていましたが、括弧やif文などを使うたびにインデントし、行番号がなく、コンパイルや実行エラーが発生した後、エラーを見つけにくくなりました.これらはプロファイルで設定できます.
vimプロファイルは、①etc/vimrc②root/.vimrc
2番目の格納場所は、ユーザディレクトリ(~/)の下にある隠しファイルである、ファイル名の前に1つあることに注意する.符号
1.基本構成
set nu "
set guifont=Courier_New:h10:cANSI "
set syntax=on"
autocmd InsertLeave * se nocul "
autocmd InsertEnter * se cul "
set showcmd " ,
set background=dark "
set nocompatible " vi , bug
2.コード折り畳み構成set foldcolumn=0
set foldmethod=indent
set foldlevel=3
set foldenable "
3.インデント設定set autoindent "
set cindent "
set tabstop=4 " Tab
set softtabstop=4 " 4
set shiftwidth=4 " 4
set noexpandtab "
set smarttab "
4.文字化けしの設定set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8
set fileencodings=ucs-bom,utf-8,cp936
set fileencoding=utf-8
5.ファイルの自動読み書きset autoread "
set autowrite "
6.C/C++Java shファイル自動挿入ファイルヘッダautocmd BufNewFile *.cpp,*.[ch],*.sh,*.java exec ":call SetTitle()"
"" SetTitle,
func SetTitle()
" .sh
if &filetype == 'sh'
call setline(1,"\#########################################################################")
call append(line("."), "\# File Name: ".expand("%"))
call append(line(".")+1, "\# Author: ma6174")
call append(line(".")+2, "\# mail: [email protected]")
call append(line(".")+3, "\# Created Time: ".strftime("%c"))
call append(line(".")+4, "\#########################################################################")
call append(line(".")+5, "\#!/bin/bash")
call append(line(".")+6, "")
else
call setline(1, "/*************************************************************************")
call append(line("."), " > File Name: ".expand("%"))
call append(line(".")+1, " > Author: ma6174")
call append(line(".")+2, " > Mail: [email protected] ")
call append(line(".")+3, " > Created Time: ".strftime("%c"))
call append(line(".")+4, " ************************************************************************/")
call append(line(".")+5, "")
endif
if &filetype == 'cpp'
call append(line(".")+6, "#include<iostream>")
call append(line(".")+7, "using namespace std;")
call append(line(".")+8, "")
endif
if &filetype == 'c'
call append(line(".")+6, "#include<stdio.h>")
call append(line(".")+7, "")
endif
" ,
autocmd BufNewFile * normal G
endfunc
7.キーボードコマンドを追加次のmap+ショートカット+コマンドは、対応するコマンドにショートカットキーを関連付けることができ、ショートカットキーを押すことはこれらのコマンドを実行することに相当する.
nmap <leader>w :w!<cr>
nmap <leader>f :find<cr>
(1)マッピング全選択+コピーCtrl+Aキーは、すべてのコピーに相当します.
" + ctrl+a
map <C-A> ggVGY
map! <C-A> <Esc>ggVGY
map <F12> gg=G
(2)選択した状態でコピーCtrl+Cキーでコピー
" Ctrl+c
vmap <C-c> "+y
(3)空行を除くF 12を押して空白行を削除します
"
nnoremap <F2> :g/^\s*$/d<CR>
(4)比較ファイルCtrl+F 12ファイル比較
"
nnoremap <C-F2> :vert diffsplit
(5)新規ラベルM+F 2ラベルを新規作成
"
map <M-F2> :tabnew<CR>
(6)ディレクトリファイルのリストF 3キー現在のディレクトリファイルを一覧表示
"
map <F3> :tabnew .<CR>
(7)ツリーディレクトリを開くCtrl+F 3ファイルディレクトリを開く
"
map <C-F3> \be
(8)C/C++ファイルのコンパイルF 5によるC/C++ファイルの自動コンパイル
"C,C++ F5
map <F5> :call CompileRunGcc()<CR>
func! CompileRunGcc()
exec "w"
if &filetype == 'c'
exec "!g++ % -o %<"
exec "! ./%<"
elseif &filetype == 'cpp'
exec "!g++ % -o %<"
exec "! ./%<"
elseif &filetype == 'java'
exec "!javac %"
exec "!java %<"
elseif &filetype == 'sh'
:!./%
endif
endfunc
(9)C/C++ファイルのデバッグF 8でC/C++ファイルをデバッグする
"C,C++
map <F8> :call Rungdb()<CR>
func! Rungdb()
exec "w"
exec "!g++ % -g -o %<"
exec "!gdb ./%<"
endfunc
8.各種括弧引用符の自動補完"
:inoremap ( ()<ESC>i
:inoremap ) <c-r>=ClosePair(')')<CR>
:inoremap { {<CR>}<ESC>O
:inoremap } <c-r>=ClosePair('}')<CR>
:inoremap [ []<ESC>i
:inoremap ] <c-r>=ClosePair(']')<CR>
:inoremap " ""<ESC>i
:inoremap ' ''<ESC>i
function! ClosePair(char)
if getline('.')[col('.') - 1] == a:char
return "\<Right>"
else
return a:char
endif
endfunction
filetype plugin indent on
" ,
set completeopt=longest,menu
9.プロファイルの例
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"set shortmess=atI "
"winpos 5 5 "
"set lines=40 columns=155 "
"set nu "
set go= "
"color asmanian2 "
set guifont=Courier_New:h10:cANSI "
syntax on "
autocmd InsertLeave * se nocul "
autocmd InsertEnter * se cul "
"set ruler "
set showcmd " ,
"set cmdheight=1 " ( ) , 1
"set whichwrap+=<,>,h,l " backspace ( )
"set scrolloff=3 " buffer 3
set novisualbell " ( )
set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")} "
set laststatus=1 " (1), (2)
set foldenable "
set foldmethod=manual "
"set background=dark "
set nocompatible " vi , bug
"
if version >= 603
set helplang=cn
set encoding=utf-8
endif
"
"colorscheme murphy
"
"if (has("gui_running"))
" set guifont=Bitstream\ Vera\ Sans\ Mono\ 10
"endif
set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8
set fileencodings=ucs-bom,utf-8,cp936
set fileencoding=utf-8
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
""""" """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" .c,.h,.sh,.java ,
autocmd BufNewFile *.cpp,*.[ch],*.sh,*.java exec ":call SetTitle()"
"" SetTitle,
func SetTitle()
" .sh
if &filetype == 'sh'
call setline(1,"\#########################################################################")
call append(line("."), "\# File Name: ".expand("%"))
call append(line(".")+1, "\# Author: ma6174")
call append(line(".")+2, "\# mail: [email protected]")
call append(line(".")+3, "\# Created Time: ".strftime("%c"))
call append(line(".")+4, "\#########################################################################")
call append(line(".")+5, "\#!/bin/bash")
call append(line(".")+6, "")
else
call setline(1, "/*************************************************************************")
call append(line("."), " > File Name: ".expand("%"))
call append(line(".")+1, " > Author: ma6174")
call append(line(".")+2, " > Mail: [email protected] ")
call append(line(".")+3, " > Created Time: ".strftime("%c"))
call append(line(".")+4, " ************************************************************************/")
call append(line(".")+5, "")
endif
if &filetype == 'cpp'
call append(line(".")+6, "#include<iostream>")
call append(line(".")+7, "using namespace std;")
call append(line(".")+8, "")
endif
if &filetype == 'c'
call append(line(".")+6, "#include<stdio.h>")
call append(line(".")+7, "")
endif
" ,
autocmd BufNewFile * normal G
endfunc
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
nmap <leader>w :w!<cr>
nmap <leader>f :find<cr>
" + ctrl+a
map <C-A> ggVGY
map! <C-A> <Esc>ggVGY
map <F12> gg=G
" Ctrl+c
vmap <C-c> "+y
"
nnoremap <F2> :g/^\s*$/d<CR>
"
nnoremap <C-F2> :vert diffsplit
"
map <M-F2> :tabnew<CR>
"
map <F3> :tabnew .<CR>
"
map <C-F3> \be
"C,C++ F5
map <F5> :call CompileRunGcc()<CR>
func! CompileRunGcc()
exec "w"
if &filetype == 'c'
exec "!g++ % -o %<"
exec "! ./%<"
elseif &filetype == 'cpp'
exec "!g++ % -o %<"
exec "! ./%<"
elseif &filetype == 'java'
exec "!javac %"
exec "!java %<"
elseif &filetype == 'sh'
:!./%
endif
endfunc
"C,C++
map <F8> :call Rungdb()<CR>
func! Rungdb()
exec "w"
exec "!g++ % -g -o %<"
exec "!gdb ./%<"
endfunc
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
""
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"
set autoread
" quickfix
autocmd FileType c,cpp map <buffer> <leader><space> :w<cr>:make<cr>
"
set completeopt=preview,menu
"
filetype plugin on
"
set clipboard+=unnamed
"
set nobackup
"make
:set makeprg=g++\ -Wall\ \ %
"
set autowrite
set ruler "
set cursorline "
set magic "
set guioptions-=T "
set guioptions-=m "
"set statusline=\ %<%F[%1*%M%*%n%R%H]%=\ %y\ %0(%{&fileformat}\ %{&encoding}\ %c:%l/%L%)\
"
set foldcolumn=0
set foldmethod=indent
set foldlevel=3
set foldenable "
" vi , vim
set nocompatible
"
set syntax=on
"
set noeb
" ,
set confirm
"
set autoindent
set cindent
" Tab
set tabstop=4
" 4
set softtabstop=4
set shiftwidth=4
"
set noexpandtab
"
set smarttab
"
set number
"
set history=1000
"
set nobackup
set noswapfile
"
set ignorecase
"
set hlsearch
set incsearch
"
set gdefault
"
set enc=utf-8
set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936
"
set langmenu=zh_CN.UTF-8
set helplang=cn
" ( )
"set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")}
"set statusline=[%F]%y%r%m%*%=[Line:%l/%L,Column:%c][%p%%]
"
set laststatus=2
" ( ) , 1, 2
set cmdheight=2
"
filetype on
"
filetype plugin on
"
filetype indent on
"
set viminfo+=!
"
set iskeyword+=_,$,@,%,#,-
"
set linespace=0
"
set wildmenu
" (backspace) indent, eol, start
set backspace=2
" backspace
set whichwrap+=<,>,h,l
" buffer ( office )
set mouse=a
set selection=exclusive
set selectmode=mouse,key
" : commands ,
set report=0
" ,
set fillchars=vert:\ ,stl:\ ,stlnc:\
"
set showmatch
" ( )
set matchtime=1
" buffer 3
set scrolloff=3
" C
set smartindent
" txt ( txt.vim )
au BufRead,BufNewFile * setfiletype txt
"
:inoremap ( ()<ESC>i
:inoremap ) <c-r>=ClosePair(')')<CR>
:inoremap { {<CR>}<ESC>O
:inoremap } <c-r>=ClosePair('}')<CR>
:inoremap [ []<ESC>i
:inoremap ] <c-r>=ClosePair(']')<CR>
:inoremap " ""<ESC>i
:inoremap ' ''<ESC>i
function! ClosePair(char)
if getline('.')[col('.') - 1] == a:char
return "\<Right>"
else
return a:char
endif
endfunction
filetype plugin indent on
" ,
set completeopt=longest,menu
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" CTags
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
let Tlist_Sort_Type = "name" "
let Tlist_Use_Right_Window = 1 "
let Tlist_Compart_Format = 1 "
let Tlist_Exist_OnlyWindow = 1 " buffer,kill kill buffer
let Tlist_File_Fold_Auto_Close = 0 " tags
let Tlist_Enable_Fold_Column = 0 "
autocmd FileType java set tags+=D:\tools\java\tags
"autocmd FileType h,cpp,cc,c set tags+=D:\tools\cpp\tags
"let Tlist_Show_One_File=1 " tag,
" tags
set tags=tags
"set autochdir
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Taglist
let Tlist_Auto_Open=1
""""""""""""""""""""""""""""""
" Tag list (ctags)
""""""""""""""""""""""""""""""""
let Tlist_Ctags_Cmd = '/usr/bin/ctags'
let Tlist_Show_One_File = 1 " tag,
let Tlist_Exit_OnlyWindow = 1 " taglist , vim
let Tlist_Use_Right_Window = 1 " taglist
" minibufexpl
let g:miniBufExplMapWindowNavVim = 1
let g:miniBufExplMapWindowNavArrows = 1
let g:miniBufExplMapCTabSwitchBufs = 1
let g:miniBufExplModSelTarget = 1
二.VIMエディタコマンドファイルを開くコマンド:
vim diff a.cb.cコマンドは2つのファイルを開き、2つのファイルを比較します.
vim-p a.c b.cは複数のファイルを開き、マルチラベルで開く
1.モード間の変換
コマンドステータス:vimファイル名vimエディタに入るのが一般的なモードで、このモードでカーソルを移動したり、ページをめくったりすることができます.
コマンドライン状態:一般モードではコロンを押し、コマンドラインモードに入ります.コマンドラインモードのコマンドはコロンを押してからコマンドを入力します.
編集ステータス:このモードでテキストを入力できます.
コマンドステータス->挿入ステータス:i o a
挿入ステータス->コマンドステータス:esc
コマンドステータス->コマンドラインステータス:コロン
コマンドラインステータス->コマンドステータス:リターン
2.コマンドモード共通コマンド
(1)挿入モードコマンドに入る
iカーソル位置の文字の前に入力
aカーソル位置の文字の後に入力
oカーソル位置の次の行に入力
(2)カーソル移動コマンド
0カーソルを1行目に移動
$カーソルを最後の行に移動
PageUpを1ページ上にスクロール
PageDoenは1ページ下にスクロール
Gドキュメントの最後に移動
ggドキュメント開始に移動
(3)削除コマンド
D改行最後のテキストへのカーソルの削除
dd 1行削除
dGドキュメントの最後のテキストへのカーソルの削除
dggドキュメントの開始文字にカーソルを削除
(4)置換と還元
R置換モードに入り、escを知るまで
Sは行全体の内容に取って代わる
uキャンセル操作(undo)
(5)コピーペーストコマンド
yyカーソルがある行全体をコピー
n+yyカーソル位置および次のn行をコピー
y 0行ヘッダにコピー
yGを行末にコピー
pカーソルの後ろに貼り付け
Pカーソルの前に貼り付け
注意点:
「.」コマンドは、任意のコマンドを繰り返す.
削除すると、置換されたコンテンツがバッファに格納されます.
3.コマンドラインモードでのコマンド
(1)検索コマンド
/このキーを押して、探している文字を入力し、Enterキーを押して探し始めます
n正の方向を探し続ける
N逆方向に探し続ける
*カーソル位置のワードを探します(完全に一致する)
(2)マルチドキュメントを開く方法
vim file 1 file 2複数のドキュメントを開く
:n次のファイルを編集する
:N前のファイルの編集
:e fileはVIMエディタで他のファイルを開きます.tabキーでファイル名を補完できます.
作者:han 1202012发表于2013-11-21 21:03:50
テキストリンク
読書:102コメント:2
コメントの表示