摘要:與命令執行相反的操作。撤銷當前行的所有操作。行內查找上一處指定字符出現的位置,如果找到,并將光標移至指定字符處。文件內執行替換第一個匹配項替換所有。執行一系列修改。復合命令列表從光標片刪至行尾,并進入插入模式。光標移至行尾,并進入追加模式。
安裝pathogen.vim(插件管理)
mkdir -p ~/.vim/autoload ~/.vim/bundle && curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vimRuntime Path Manipulation
如果是新裝并且vimrc不存在,請用命令 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網站上非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文件配置結束 **/ " /** 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 安裝已經配置的插件 PluginSearch 查找vim-scripts倉庫中的插件 PluginClean 清除配置文件中不存在的插件
打造python IDE需要的相關插件
Bundle "scrooloose/nerdtree" Bundle "davidhalter/jedi-vim" Bundle "SuperTab"
$ vim -u NONE -N (啟動時不加載自己的vimrc,并且不進入兼容模式) c 與 d 都是刪除,c操作完成后會進入插入模式,而d會留在普通模式。 daw 刪除當前單詞(delete a word)。 nyy 復制n行,前面可以加小寫字母,定義不同的緩沖區。 nyw 復制n個單詞,前面可以加小定字母,定義不同的緩沖區。 y^ 和 y$ 從當前光標復制到行首或行尾。 [a]p 或 [a]P 粘貼指定剪切板中指定緩沖區到當前行下方或上方。 R 覆蓋模式。 J 合并當前行與下一行。 n+ 和 n- n為數字,光標下移或上移n行。 nG 和 G n為行號,光標移到指定行,無行號時(可以理解為無窮大),光標移至最后行。 . 重復上次修改。 u 與.命令執行相反的操作。 U 撤銷當前行的所有操作。 f{char}/t{char} 行內查找下一處指定字符出現的位置,如果找到,并將光標移至指定字符處。 F{char}/T{char} 行內查找上一處指定字符出現的位置,如果找到,并將光標移至指定字符處。 ; 重復查找上次f命令所查找的字符。 , 與;命令執行相反的操作。 / 文檔中向下查找匹配項。 ? 文檔中向上查找匹配項。 n 重復查找上次/命令所查找的匹配項。 N 與n命令執行相反的操作。 :[n,m ]s/target/replacement[/g] [n->m行內](行內)執行替換第一個匹配項[替換所有]。 :%s/target/replacement[/g] (文件內)執行替換第一個匹配項[替換所有]。 * 選中光標所在單詞。 & 重復執行:s命令;回退命令為u。 qx{changes}q 執行一系列修改。 @x 重復執行qx{}q命令;回退命令為u。 e filename 編輯名為filename的文件。復合命令列表
C <=> c$ 從光標片刪至行尾,并進入插入模式。 s <=> cl 刪除當前字符,并進入插入模式。 S <=> ^c 刪除整行,并進入插入模式。 I <=> ^i 光標移至行首,并進入插入模式。 A <=> $a 光標移至行尾,并進入追加模式。 o <=> A多緩沖區操作快捷鍵在當前行下新起一行,并進入插入模式。 O <=> ko <=> k$a 在當前行上新起一行,并進入插入模式。
1、多文件編輯模式 (1)argument list模式,就是在打開Vim編輯器時,攜帶多個文件路徑參數。 (2)buffer list模式,就是在進入Vim編輯器后,打開多個緩沖區進行編輯。 2、單一緩沖區打開多個文件 :files顯示目前打開了哪些文件 :n切換到下一個緩沖區內容 :N切換到上一個緩沖區內容 :2n切換到下下個緩沖區內容 :bn下一個緩沖區內容(buffer next) :bp上一個緩沖區內容(buffer previous) 3、多個緩沖區打開多個文件 :sp [filename]打開一個新的緩沖區,如果有filename則內容為該文件,否則為當前文件 Ctrl+w n新建一個緩沖區 Ctrl+w q退出光標所在的緩沖區 Ctrl+w j光標移動到下一緩沖區 Ctrl+w k光標移動到上一緩沖區 Ctrl+w l光標移動到右一緩沖區 Ctrl+w h光標移動到左一緩沖區 Ctrl+w v左右切割窗口新建緩沖區 Ctrl+w s上下切割窗口新建緩沖區 Ctrl+w o使光標所在緩沖區最大化,其他緩沖區隱藏利用vundle方式打造一個最基本的IDE
下列是.vimrc文件的配置,第一次進入vim,執行:PluginInstall,會自動安裝所列插件,用vim打開的一python文件,再按F3,你就可以看到一個基本的IDE了。同時定義了F5,F6來編譯運行c,c++,但其代碼提示還沒有考慮。
set nocompatible "進入非兼容模式 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鍵進行補全 Bundle "ctags.vim" "Ctags -R 生成標簽 Bundle "taglist.vim" "函數、變量列表 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編譯和運行C程序,F6編譯和運行C++程序 " 請注意,下述代碼在windows下使用會報錯 " 需要去掉./這兩個字符 " C的編譯和運行 map :call CompileRunGcc() func! CompileRunGcc() exec "w" exec "!gcc % -o %<" exec "! ./%<" endfunc " C++的編譯和運行 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 "啟動時不顯示幫助烏干達兒童提示 " Prefer spaces to tabs set tabstop=4 set shiftwidth=4 set expandtab set nu!
后來發現YCM是比較強大的代碼提示插件,試著配置了一下,感覺不錯,以下是一些需要注意的地方:
"插件部分換成下面的,YCM已經集成了SuperTab,語法檢查python可以用 davidhalter/jedi 。 Bundle "Valloric/YouCompleteMe" Bundle "ctags.vim" Bundle "taglist.vim" Bundle "winmanager"
使用命令 PluginInstall,完成插件的安裝,這樣其它插件就都算安裝好了,除了YCM。
編譯語法補全模塊,在終端下執行以下命令:
$HOME/.vim/bundle/YouCompleteMe
并執行 install.sh --clang-completer
拷貝~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py 到~/下,并做相應的修改。
4.相應的在~/.vimrc中進行一些設置及快捷鍵的定義,這可以參考上節的內容。
------------------------------------------------------------(分割線,內容已完,下面是一些備忘)
clang++ --std=c++0x -stdlib=libc++ new_feature.cpp
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/24806.html
摘要:概述用戶經常需要對系統配置文件進行文本編輯,所以至少掌握一種文本編輯器,首選編輯器是。的命令幾乎全部都可以在上使用,安裝了的系統,在命令行輸入,實際啟動的是編輯器。 Vi/Vim概述 Linux用戶經常需要對系統配置文件進行文本編輯,所以至少掌握一種文本編輯器,首選編輯器是Vi/Vim。幾乎任何一個發行版都有Vi或者Vim編輯器。 Vi編輯器可以對文本進行編輯、刪除、查找和替...
摘要:的種模式一般模式編輯模式和命令模式。當進入編輯模式,在屏幕的尾行會出現插入的字樣。命令模式在一般模式下,輸入或者,即可以進入命令模式。在該模式下,我們可以進行搜索保存替換退出顯示行號等操作。命令如下表所示。 Vim的3種模式:一般模式、編輯模式和命令模式。 一般模式 當我們是用vim filename編輯一個文件的時候,默認進入該文件的一般模式。 打開文件的命令有很多,如下圖所示...
閱讀 4309·2021-10-13 09:39
閱讀 485·2021-09-06 15:02
閱讀 3232·2019-08-30 15:53
閱讀 1043·2019-08-30 13:04
閱讀 2046·2019-08-30 11:27
閱讀 2017·2019-08-26 13:51
閱讀 2100·2019-08-26 11:33
閱讀 2907·2019-08-26 10:36