vim爆改記 (如何讓vim用起來像devc++)

來源:互聯網
上載者:User

標籤:剪貼簿   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++)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.