摘要:與命令執(zhí)行相反的操作。撤銷當(dāng)前行的所有操作。行內(nèi)查找上一處指定字符出現(xiàn)的位置,如果找到,并將光標(biāo)移至指定字符處。文件內(nèi)執(zhí)行替換第一個(gè)匹配項(xiàng)替換所有。執(zhí)行一系列修改。復(fù)合命令列表從光標(biāo)片刪至行尾,并進(jìn)入插入模式。光標(biāo)移至行尾,并進(jìn)入追加模式。
安裝pathogen.vim(插件管理)
mkdir -p ~/.vim/autoload ~/.vim/bundle && curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vimRuntime Path Manipulation
如果是新裝并且vimrc不存在,請(qǐng)用命令 vim ~/.vimrc新建該文件,并將下面的代碼粘貼到文件中。
execute pathogen#infect() syntax on filetype plugin indent on以pathogen.vim方式安裝插件NERDTree
cd ~/.vim/bundle git clone https://github.com/scrooloose/nerdtree.git
Then reload vim, run :Helptags, and check out :help NERD_tree.txt.
supertabhttps://github.com/ervandew/supertab.gitgdbmgr下載地址:
http://vim.sourceforge.net/scripts/download_script.php?src_id=18153gdbmgr install details
* needs huge/large vim and linux cd $HOME/.vim mv [wherever]/gdbmgr.tar.gz . gunzip gdbmgr.tar.gz tar -xf gdbmgr.tar vi :helptags ~/.vim/doc :q
(參考自)http://linux.cn/article-3314-1.html
從Github下載vundle到本地:
$ git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
配置vimrc文件:
set nocompatible " be iMproved filetype off " required! /** 從這行開始,vimrc配置 **/ set rtp+=~/.vim/bundle/vundle/ call vundle#rc() " let Vundle manage Vundle " required! Bundle "gmarik/vundle" " My Bundles here: /* 插件配置格式 */ " " original repos on github (Github網(wǎng)站上非vim-scripts倉庫的插件,按下面格式填寫) Bundle "tpope/vim-fugitive" Bundle "Lokaltog/vim-easymotion" Bundle "rstacruz/sparkup", {"rtp": "vim/"} Bundle "tpope/vim-rails.git" " vim-scripts repos (vim-scripts倉庫里的,按下面格式填寫) Bundle "L9" Bundle "FuzzyFinder" " non github repos (非上面兩種情況的,按下面格式填寫) Bundle "git://git.wincent.com/command-t.git" " ... filetype plugin indent on " required! /** vimrc文件配置結(jié)束 **/ " /** vundle命令 **/ " Brief help " :BundleList - list configured bundles " :BundleInstall(!) - install(update) bundles " :BundleSearch(!) foo - search(or refresh cache first) for foo " :BundleClean(!) - confirm(or auto-approve) removal of unused bundles " " see :h vundle for more details or wiki for FAQ " NOTE: comments after Bundle command are not allowed.. PluginInstall 安裝已經(jīng)配置的插件 PluginSearch 查找vim-scripts倉庫中的插件 PluginClean 清除配置文件中不存在的插件
打造python IDE需要的相關(guān)插件
Bundle "scrooloose/nerdtree" Bundle "davidhalter/jedi-vim" Bundle "SuperTab"
$ vim -u NONE -N (啟動(dòng)時(shí)不加載自己的vimrc,并且不進(jìn)入兼容模式) c 與 d 都是刪除,c操作完成后會(huì)進(jìn)入插入模式,而d會(huì)留在普通模式。 daw 刪除當(dāng)前單詞(delete a word)。 nyy 復(fù)制n行,前面可以加小寫字母,定義不同的緩沖區(qū)。 nyw 復(fù)制n個(gè)單詞,前面可以加小定字母,定義不同的緩沖區(qū)。 y^ 和 y$ 從當(dāng)前光標(biāo)復(fù)制到行首或行尾。 [a]p 或 [a]P 粘貼指定剪切板中指定緩沖區(qū)到當(dāng)前行下方或上方。 R 覆蓋模式。 J 合并當(dāng)前行與下一行。 n+ 和 n- n為數(shù)字,光標(biāo)下移或上移n行。 nG 和 G n為行號(hào),光標(biāo)移到指定行,無行號(hào)時(shí)(可以理解為無窮大),光標(biāo)移至最后行。 . 重復(fù)上次修改。 u 與.命令執(zhí)行相反的操作。 U 撤銷當(dāng)前行的所有操作。 f{char}/t{char} 行內(nèi)查找下一處指定字符出現(xiàn)的位置,如果找到,并將光標(biāo)移至指定字符處。 F{char}/T{char} 行內(nèi)查找上一處指定字符出現(xiàn)的位置,如果找到,并將光標(biāo)移至指定字符處。 ; 重復(fù)查找上次f命令所查找的字符。 , 與;命令執(zhí)行相反的操作。 / 文檔中向下查找匹配項(xiàng)。 ? 文檔中向上查找匹配項(xiàng)。 n 重復(fù)查找上次/命令所查找的匹配項(xiàng)。 N 與n命令執(zhí)行相反的操作。 :[n,m ]s/target/replacement[/g] [n->m行內(nèi)](行內(nèi))執(zhí)行替換第一個(gè)匹配項(xiàng)[替換所有]。 :%s/target/replacement[/g] (文件內(nèi))執(zhí)行替換第一個(gè)匹配項(xiàng)[替換所有]。 * 選中光標(biāo)所在單詞。 & 重復(fù)執(zhí)行:s命令;回退命令為u。 qx{changes}q 執(zhí)行一系列修改。 @x 重復(fù)執(zhí)行qx{}q命令;回退命令為u。 e filename 編輯名為filename的文件。復(fù)合命令列表
C <=> c$ 從光標(biāo)片刪至行尾,并進(jìn)入插入模式。 s <=> cl 刪除當(dāng)前字符,并進(jìn)入插入模式。 S <=> ^c 刪除整行,并進(jìn)入插入模式。 I <=> ^i 光標(biāo)移至行首,并進(jìn)入插入模式。 A <=> $a 光標(biāo)移至行尾,并進(jìn)入追加模式。 o <=> A多緩沖區(qū)操作快捷鍵在當(dāng)前行下新起一行,并進(jìn)入插入模式。 O <=> ko <=> k$a 在當(dāng)前行上新起一行,并進(jìn)入插入模式。
1、多文件編輯模式 (1)argument list模式,就是在打開Vim編輯器時(shí),攜帶多個(gè)文件路徑參數(shù)。 (2)buffer list模式,就是在進(jìn)入Vim編輯器后,打開多個(gè)緩沖區(qū)進(jìn)行編輯。 2、單一緩沖區(qū)打開多個(gè)文件 :files顯示目前打開了哪些文件 :n切換到下一個(gè)緩沖區(qū)內(nèi)容 :N切換到上一個(gè)緩沖區(qū)內(nèi)容 :2n切換到下下個(gè)緩沖區(qū)內(nèi)容 :bn下一個(gè)緩沖區(qū)內(nèi)容(buffer next) :bp上一個(gè)緩沖區(qū)內(nèi)容(buffer previous) 3、多個(gè)緩沖區(qū)打開多個(gè)文件 :sp [filename]打開一個(gè)新的緩沖區(qū),如果有filename則內(nèi)容為該文件,否則為當(dāng)前文件 Ctrl+w n新建一個(gè)緩沖區(qū) Ctrl+w q退出光標(biāo)所在的緩沖區(qū) Ctrl+w j光標(biāo)移動(dòng)到下一緩沖區(qū) Ctrl+w k光標(biāo)移動(dòng)到上一緩沖區(qū) Ctrl+w l光標(biāo)移動(dòng)到右一緩沖區(qū) Ctrl+w h光標(biāo)移動(dòng)到左一緩沖區(qū) Ctrl+w v左右切割窗口新建緩沖區(qū) Ctrl+w s上下切割窗口新建緩沖區(qū) Ctrl+w o使光標(biāo)所在緩沖區(qū)最大化,其他緩沖區(qū)隱藏利用vundle方式打造一個(gè)最基本的IDE
下列是.vimrc文件的配置,第一次進(jìn)入vim,執(zhí)行:PluginInstall,會(huì)自動(dòng)安裝所列插件,用vim打開的一python文件,再按F3,你就可以看到一個(gè)基本的IDE了。同時(shí)定義了F5,F(xiàn)6來編譯運(yùn)行c,c++,但其代碼提示還沒有考慮。
set nocompatible "進(jìn)入非兼容模式 set rtp+=~/.vim/bundle/vundle/ "vundle的安裝配置 call vundle#rc() " let Vundle manage Vundle " required! Bundle "gmarik/vundle" " 最基本的插件 Bundle "davidhalter/jedi-vim" "python插件 Bundle "SuperTab" "利用tab鍵進(jìn)行補(bǔ)全 Bundle "ctags.vim" "Ctags -R 生成標(biāo)簽 Bundle "taglist.vim" "函數(shù)、變量列表 Bundle "winmanager" "窗口管理 filetype plugin indent on "代碼高亮需要的配置 " TagLIst settings. let Tlist_Show_One_File=1 let Tlist_Exit_OnlyWindow=1 " winManager settings. let g:winManagerWindowLayout="FileExplorer|TagList" " nmap wm :WMToggleYouCompleteMe替換代碼提示" My Shortcut. map :Tlist map :WMToggle "F5編譯和運(yùn)行C程序,F(xiàn)6編譯和運(yùn)行C++程序 " 請(qǐng)注意,下述代碼在windows下使用會(huì)報(bào)錯(cuò) " 需要去掉./這兩個(gè)字符 " C的編譯和運(yùn)行 map :call CompileRunGcc() func! CompileRunGcc() exec "w" exec "!gcc % -o %<" exec "! ./%<" endfunc " C++的編譯和運(yùn)行 map :call CompileRunGpp() func! CompileRunGpp() exec "w" exec "!g++ % -o %<" exec "! ./%<" endfunc set autowrite " Automatically save before commands like :next and :make set hidden " Hide buffers when they are abandoned set mouse=a " Enable mouse usage (all modes) set hls set shortmess=atI "啟動(dòng)時(shí)不顯示幫助烏干達(dá)兒童提示 " Prefer spaces to tabs set tabstop=4 set shiftwidth=4 set expandtab set nu!
后來發(fā)現(xiàn)YCM是比較強(qiáng)大的代碼提示插件,試著配置了一下,感覺不錯(cuò),以下是一些需要注意的地方:
"插件部分換成下面的,YCM已經(jīng)集成了SuperTab,語法檢查python可以用 davidhalter/jedi 。 Bundle "Valloric/YouCompleteMe" Bundle "ctags.vim" Bundle "taglist.vim" Bundle "winmanager"
使用命令 PluginInstall,完成插件的安裝,這樣其它插件就都算安裝好了,除了YCM。
編譯語法補(bǔ)全模塊,在終端下執(zhí)行以下命令:
$HOME/.vim/bundle/YouCompleteMe
并執(zhí)行 install.sh --clang-completer
拷貝~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py 到~/下,并做相應(yīng)的修改。
4.相應(yīng)的在~/.vimrc中進(jìn)行一些設(shè)置及快捷鍵的定義,這可以參考上節(jié)的內(nèi)容。
------------------------------------------------------------(分割線,內(nèi)容已完,下面是一些備忘)
clang++ --std=c++0x -stdlib=libc++ new_feature.cpp
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/24806.html
摘要:概述用戶經(jīng)常需要對(duì)系統(tǒng)配置文件進(jìn)行文本編輯,所以至少掌握一種文本編輯器,首選編輯器是。的命令幾乎全部都可以在上使用,安裝了的系統(tǒng),在命令行輸入,實(shí)際啟動(dòng)的是編輯器。 Vi/Vim概述 Linux用戶經(jīng)常需要對(duì)系統(tǒng)配置文件進(jìn)行文本編輯,所以至少掌握一種文本編輯器,首選編輯器是Vi/Vim。幾乎任何一個(gè)發(fā)行版都有Vi或者Vim編輯器。 Vi編輯器可以對(duì)文本進(jìn)行編輯、刪除、查找和替...
摘要:的種模式一般模式編輯模式和命令模式。當(dāng)進(jìn)入編輯模式,在屏幕的尾行會(huì)出現(xiàn)插入的字樣。命令模式在一般模式下,輸入或者,即可以進(jìn)入命令模式。在該模式下,我們可以進(jìn)行搜索保存替換退出顯示行號(hào)等操作。命令如下表所示。 Vim的3種模式:一般模式、編輯模式和命令模式。 一般模式 當(dāng)我們是用vim filename編輯一個(gè)文件的時(shí)候,默認(rèn)進(jìn)入該文件的一般模式。 打開文件的命令有很多,如下圖所示...
閱讀 4337·2021-10-13 09:39
閱讀 497·2021-09-06 15:02
閱讀 3239·2019-08-30 15:53
閱讀 1054·2019-08-30 13:04
閱讀 2060·2019-08-30 11:27
閱讀 2023·2019-08-26 13:51
閱讀 2109·2019-08-26 11:33
閱讀 2912·2019-08-26 10:36