標籤:剪貼簿 ide 輸入 cin hls 一個 刪除 關閉 .bashrc
由於本蒟蒻NOIP人品大爆發,能去冬令營,故準備開始練習使用linux下的IDE:vim
在dalao DTZ的協助下,我裝好了vim,並做了最初的配置。
然而........好難用啊,怎麼和devcpp全都不一樣
不能用剪貼簿,不能用滑鼠,還要打那麼長的編譯命令,看著就不爽~~
於是,我寫了這個設定檔。
首先是一些很基礎的東西:
1 colorscheme desert2 set tabstop=43 set softtabstop=44 set shiftwidth=45 set backspace=26 set number
這些代碼是用於設定代碼高亮,縮排大小等資料。然後重點來啦~~
1 set mouse=a2 3 map! ` <esc>4 5 syntax on6 set cindent7 set wildmenu8 set hlsearch9 set ai
其中,第一行的set mouse是啟用滑鼠。也就是滑鼠可以移動游標(很妙啊這個操作)
第三行的map!是一個映射,將“`”映射為Esc鍵,如果你要切換命令列,那麼你的手就不用挪那麼遠了~
下面的那些東西是dalao DTZ設定的,尚未研究透徹
1 vmap <C-c> "+y2 map! <C-v> <esc>"+pi3 map! <C-r> <esc><C-R>i4 map! <C-z> <esc>ui5 map! <C-s> <esc>:update<CR>i6 map! <C-w> <esc>:exit<CR>i7 8 vmap <backspace> <delete>
其中,vmap代表是在選定模式下,啟用映射。我設定的vmap映射用途為:複製選定範圍內的代碼,刪除選定範圍內的資料。
餘下的,是在normal(即常規編輯模式)下,將Ctrl-v設定為vim下的粘貼,Ctrl-z/r設定為vim下的撤銷/重做,Ctrl-s為儲存,Ctrl+w為關閉該檔案。
PS:Ctrl-s在vim下已經有了定義,為避免衝突,我們要屏蔽掉原先的設定。在根目錄下的.bashrc中寫入以下配置:
1 stty -ixon
但是好像還剩下編譯,運行,調試沒有搞誒~
map! <F9> <esc>:update<CR>:call CompileRunGpp() <CR>map <F9> :update<CR>:call CompileRunGpp() <CR>func! CompileRunGpp() exec "!g++ -g -o %< %"endfuncmap! <F10> <esc>:call RunGpp()<CR>map <F10> :call RunGpp()<CR>func! RunGpp() exec "! ./%<"endfuncmap! <F5> <esc>:call Rungdb()<CR>map <F5> :call Rungdb()<CR>func! Rungdb() exec "!gdb %<"endfunc
我是完全按照devcpp的快速鍵進行的配置,按F9編譯,F10運行,F5啟動調試。這三個操作的查看結果,輸入,均在IDE中運行。
由於鄙人技術有限以及某些固有限制,調試還是得輸入gdb命令。
大概就這麼多了(配置真的累死我了)
其實還有一些命令我尚未配置好,比如說Ctrl+a全選只做了一半,Ctrl+x剪下完全沒實現等。
附上完整代碼:
colorscheme desert
set tabstop=4
set softtabstop=4
set shiftwidth=4
set backspace=2
set number
set mouse=a
syntax on
set cindent
set wildmenu
set hlsearch
set ai
map! ` <esc>
vmap <C-c> "+y
map! <C-v> <esc>"+pi
map! <C-r> <esc><C-R>i
map! <C-z> <esc>ui
map! <C-s> <esc>:update<CR>i
map! <C-w> <esc>:exit<CR>i
map! <C-a> <esc>ggVG
vmap <backspace> <delete>
map! <F9> <esc>:update<CR>:call CompileRunGpp() <CR>
map <F9> :update<CR>:call CompileRunGpp() <CR>
func! CompileRunGpp()
exec "!g++ -g -o %< %"
endfunc
map! <F10> <esc>:call RunGpp()<CR>
map <F10> :call RunGpp()<CR>
func! RunGpp()
exec "! ./%<"
endfunc
map! <F5> <esc>:call Rungdb()<CR>
map <F5> :call Rungdb()<CR>
func! Rungdb()
exec "!gdb %<"
endfunc
vim爆改記 (如何讓vim用起來像devc++)