vim+tmux+terminal常用配置

由于本人使用的是mac侈贷,所以一些配置可能與linux不同

安裝Vim

如果是linux
yum update -y
yum install vim -y
如果是mac
brew install vim

安裝Vundle

我們采用vundle安裝插件毕泌,這樣比較方便,如果~/.vim/bundle目錄沒有纯趋,自行創(chuàng)建即可

我們把vundle放到.vim/bundle/下面

git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

配置~/.vimrc

如下是我自己的配置憎兽,復(fù)制粘貼即可,如果沒有該文件吵冒,也是自行創(chuàng)建即可

set nocompatible " be iMproved

" 搜索逐字符高亮
set hlsearch
set path+=**
set wildmenu
" leader 鍵
let mapleader = ','
"配置backspace鍵工作方式
set backspace=indent,eol,start
"搜索時(shí)纯命,關(guān)鍵字高亮
set hls
"設(shè)置在Vim中可以使用鼠標(biāo) 防止在Linux終端下無法拷貝
set mouse=a
" 復(fù)制粘貼到系統(tǒng)剪貼板
map <C-C> "+y<CR>
map <C-V> "+p<CR>
" 快速擴(kuò)大分屏
map <C-M> :res +2<CR>
map <C-N> :vertical res +2<CR>
" 窗口縮放
"set modifiable
"設(shè)置ctags的快捷鍵為 Ctrl-F12  
map <F10> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR>    
"顯示行號(hào)
set number
"設(shè)置在編輯過程中右下角顯示光標(biāo)的行列信息
set ruler
"當(dāng)一行文字很長時(shí)取消換行
"set nowrap
"在狀態(tài)欄顯示正在輸入的命令
set showcmd
"設(shè)置歷史記錄條數(shù)
set history=1000
"設(shè)置取消備份 禁止臨時(shí)文件生成
set nobackup
set noswapfile
"突出現(xiàn)實(shí)當(dāng)前行列
set cursorline
"set cursorcolumn
"設(shè)置匹配模式 類似當(dāng)輸入一個(gè)左括號(hào)時(shí)會(huì)匹配相應(yīng)的那個(gè)右括號(hào)
set showmatch
"設(shè)置C/C++方式自動(dòng)對(duì)齊
set autoindent
set cindent
"開啟語法高亮功能
syntax enable
syntax on
"設(shè)置搜索時(shí)忽略大小寫
set ignorecase
"設(shè)置Tab寬度
set tabstop=2
"設(shè)置自動(dòng)對(duì)齊空格數(shù)
set shiftwidth=2
"設(shè)置按退格鍵時(shí)可以一次刪除4個(gè)空格
set softtabstop=4
set smarttab
"將Tab鍵自動(dòng)轉(zhuǎn)換成空格 真正需要Tab鍵時(shí)使用[Ctrl + V + Tab]
set expandtab
"設(shè)置編碼方式
set encoding=utf-8
""自動(dòng)判斷編碼時(shí) 依次嘗試一下編碼
set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1
"檢測(cè)文件類型
filetype on
"針對(duì)不同的文件采用不同的縮進(jìn)方式
filetype indent on
"允許插件
filetype plugin on
"啟動(dòng)智能補(bǔ)全
filetype plugin indent on

filetype off " required! /** 從這行開始,vimrc配置 **/

set rtp+=~/.vim/bundle/Vundle.vim

call vundle#begin()
Plugin 'VundleVim/Vundle.vim'

Bundle 'tpope/vim-fugitive'
Bundle 'Lokaltog/vim-easymotion'
Bundle 'tpope/vim-rails.git'
Bundle 'L9'

"NerdTree 
Bundle 'scrooloose/nerdtree'
let NERDTreeWinPos='left'
let NERDTreeShowBookmarks=1
let NERDTreeWinSize=31
let NERDTreeChDirMode=1
map <C-Y> :NERDTreeToggle<CR>
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") &&  b:NERDTreeType == "primary") | q | endif


" nerdtree-git-plugin
Bundle 'Xuyuanp/nerdtree-git-plugin'
let g:NERDTreeIndicatorMapCustom = {
      \ "Modified"  : "?",
      \ "Staged"    : "?",
      \ "Untracked" : "?",
      \ "Renamed"   : "?",
      \ "Unmerged"  : "═",
      \ "Deleted"   : "?",
      \ "Dirty"     : "?",
      \ "Clean"     : "??",
      \ "Unknown"   : "?"
      \ }

" TagBar  use <F3>
Bundle 'majutsushi/tagbar'
let g:tagbar_ctags_bin='ctags'          "ctags程序的路徑
let g:tagbar_width=35                   "窗口寬度的設(shè)置
"let g:tagbar_left=1                     "居左
let g:tagbar_right=1                     "居左
let g:tagbar_type_ruby = {
      \ 'kinds' : [
      \ 'm:modules',
      \ 'c:classes',
      \ 'd:describes',
      \ 'C:contexts',
      \ 'f:methods',
      \ 'F:singleton methods'
      \ ]
      \ }
map <C-I> :Tagbar<CR>

" 增強(qiáng)狀態(tài)欄
Plugin 'vim-airline/vim-airline'
Plugin 'vim-airline/vim-airline-themes'
Plugin 'git://github.com/edkolev/tmuxline.vim.git'
set laststatus=2
let g:airline#extensions#tabline#enabled=1
let g:airline#extensions#whitespace#enabled=0
let g:airline_powerline_fonts = 1
"let g:airline_theme='ayu_mirage'
let g:airline_theme='dark'

map <C-H> :bp<CR>
map <C-L> :bn<CR>
map <C-B> :ls<CR>

Bundle 'scrooloose/nerdcommenter'
Bundle 'kien/ctrlp.vim.git'
Bundle 'dkprice/vim-easygrep.git'
Bundle 'git://github.com/tpope/vim-endwise.git'

"ctrlp
"<Leader>p搜索當(dāng)前目錄下文件
let g:ctrlp_map = '<Leader>p'
let g:ctrlp_cmd = 'CtrlP'
"<Leader>f搜索MRU文件
nmap <Leader>f :CtrlPMRUFiles<CR>
"<Leader>b顯示緩沖區(qū)文件桦锄,并可通過序號(hào)進(jìn)行跳轉(zhuǎn)
nmap <Leader>b :CtrlPBuffer<CR>
"設(shè)置搜索時(shí)忽略的文件
let g:ctrlp_custom_ignore = {
      \ 'dir':  '\v[\/]\.(git|hg|svn|rvm)$',
      \ 'file': '\v\.(exe|so|dll|zip|tar|tar.gz|pyc)$',
      \ }
let g:ctrlp_working_path_mode = 0
let g:ctrlp_match_window_bottom = 1
"修改QuickFix窗口顯示的最大條目數(shù)
let g:ctrlp_max_height = 15
let g:ctrlp_match_window_reversed = 1
"設(shè)置MRU最大條目數(shù)為20
let g:ctrlp_mruf_max = 20
let g:ctrlp_follow_symlinks = 1
"默認(rèn)使用全路徑搜索,置1后按文件名搜索蔫耽,準(zhǔn)確率會(huì)有所提高结耀,可以用<C-d>進(jìn)行切換
let g:ctrlp_by_filename = 0
"默認(rèn)不使用正則表達(dá)式留夜,置1改為默認(rèn)使用正則表達(dá)式,可以用<C-r>進(jìn)行切換
let g:ctrlp_regexp = 0
"自定義搜索列表的提示符
let g:ctrlp_line_prefix = '? '

let g:EasyGrepMode = 2     " All:0, Open Buffers:1, TrackExt:2, 
let g:EasyGrepCommand = 0  " Use vimgrep:0, grepprg:1
let g:EasyGrepRecursive  = 1 " Recursive searching
let g:EasyGrepIgnoreCase = 1 " not ignorecase:0
let g:EasyGrepFilesToExclude = "tags"
let g:EasyGrepFilesToExclude = "*.bak"
let g:EasyGrepFilesToExclude = "*~"
let g:EasyGrepFilesToExclude = "cscope.*"
let g:EasyGrepFilesToExclude = "*.a"
let g:EasyGrepFilesToExclude = "*.o"
let g:EasyGrepFilesToExclude = "*.pyc"
let g:EasyGrepFilesToExclude = "*.log"

" 縮進(jìn)線條
Plugin 'Yggdroot/indentLine'
"let g:indentLine_showFirstIndentLevel = 1
"let g:indentLine_setColors = 0

Plugin 'SuperTab'
let g:SuperTabRetainCompletionType=2

" 主題插件
Plugin 'git://github.com/tomasr/molokai.git'
"molokai 主題 monokai的進(jìn)化版
set t_Co=256
colorscheme molokai
let g:molokai_original = 1
let g:rehash256 = 1

Plugin 'Chiel92/vim-autoformat'
noremap <C-F> :Autoformat<CR>

" rspec插件
Plugin 'thoughtbot/vim-rspec'
map <Leader>t :call RunCurrentSpecFile()<CR>
map <Leader>s :call RunNearestSpec()<CR>
map <Leader>l :call RunLastSpec()<CR>
map <Leader>a :call RunAllSpecs()<CR>
let g:rspec_runner = "os_x_iterm2"

call vundle#end()
filetype plugin indent on " required! /** vimrc文件配置結(jié)束 **/

安裝插件

vim # 隨便一個(gè)地方打開vim
:PluginInstall # 安裝插件
插件安裝

配色文件放入~/.vim/colors(這里采用molokai)

配色文件需要放在.vim/colors下面

cp -rf ~/.vim/bundle/molokai/colors ~/.vim/

當(dāng)前效果

配色方案也可以選擇自己喜歡的下載图甜,github上很多

這是一張老圖碍粥,實(shí)際結(jié)果有出入

安裝PowerLineFonts字體

因?yàn)槲覀冇玫臓顟B(tài)欄插件是帶有箭頭符號(hào)的,但是需要安裝powerline字體才能顯示出來

直接去github下載下來安裝
https://github.com/powerline/fonts

(順便安利一下)因?yàn)槲以趘im裝了molokai主題黑毅,為了顏色統(tǒng)一嚼摩,我也在terminal安裝了molokai主題,如果有興趣矿瘦,可以去裝一個(gè)terminal的主題配色

https://github.com/lysyi3m/osx-terminal-themes

安裝完之后枕面,在terminal設(shè)置中,啟用我們安裝的字體和主題

terminal設(shè)置

重新打開vim缚去,目前的效果

箭頭可以顯示
terminal

這里的terminal不僅采用了molokai配色潮秘,還使用了ZSH,如果切換到ZSH易结,可以看看這里Mac下采用zsh代替bash

以上就是terminal+vim的設(shè)置了

tmux 設(shè)置

 安裝
 brew install tmux
  • 很多時(shí)候枕荞,我們需要在terminal中實(shí)現(xiàn)分屏
  • tmux 允許隨時(shí)隨地?cái)嚅_或重新接入會(huì)話(Session)

關(guān)于tmux更多的使用,可以去網(wǎng)上科普一下搞动,這里只給出如何配置

tmux的配置就是一個(gè) ~/.tmux.conf文件躏精,如果沒有需要自行創(chuàng)建

# 解除默認(rèn)前綴
unbind C-b
# 設(shè)置自定義前綴
set -g prefix C-a
# 采用vim的操作方式
setw -g mode-keys vi
# 窗口序號(hào)從1開始計(jì)數(shù)
set -g base-index 1
# 開啟鼠標(biāo)模式
set-option -g mouse on

# 通過前綴+KJHL快速切換pane
#up
bind-key k select-pane -U
#down
bind-key j select-pane -D
#left
bind-key h select-pane -L
#right
bind-key l select-pane -R

# panes 分割線顏色
set -g pane-border-bg colour236
set -g pane-border-fg colour236
set -g pane-active-border-bg colour232
set -g pane-active-border-fg colour232

以上是我目前使用的配置,同樣為了與vim的顏色統(tǒng)一鹦肿,在vim的插件中矗烛,我采用了tmuxline.vim這樣一個(gè)插件,它可以讓tmux的狀態(tài)欄跟vim主題顏色一致狮惜,因?yàn)樵谏厦嫖覀円呀?jīng)裝了這個(gè)插件高诺,所以不用再裝了

這里是vim插件影響了tmux,而不是一個(gè)tmux插件

tmux狀態(tài)欄效果

WechatIMG155.jpeg

配置中涉及的部分快捷鍵(部分快捷鍵在配置中未開啟碾篡,如果需要可以取消注釋)只隨便列出部分虱而,更多的請(qǐng)從網(wǎng)上查資料學(xué)習(xí)

本人一直使用Mac,對(duì)Windows鍵盤不熟悉开泽,以Mac上的快捷鍵組合列出(應(yīng)該和windows差不多牡拇,大家可以對(duì)照以下)

# 左側(cè)目錄樹
ctrl + y # 在目錄樹窗口按大寫R,可以刷新目錄樹

# 右側(cè)函數(shù)樹
ctrl + i

# Buffer左右切換
ctrl + h # 向左移動(dòng)
ctrl + l # 向右移動(dòng)

# ctags生成
F10

# 自動(dòng)補(bǔ)全穆律,插件中沒有使用專門的補(bǔ)全插件惠呼,全是用的ctags
ctrl + p 或 tab # insert 狀態(tài)下 【由于裝了superTab,也可以直接tab鍵補(bǔ)全】

# 文件查找
ctrl + p # normal 狀態(tài)下 【當(dāng)前目錄全局】
ctrl + f # 【從最近搜索的文件中查找】
ctrl + b # 從當(dāng)前buffer中查找

# 模糊搜索
:Grep xxxx # normal 狀態(tài)下峦耘,我們leader鍵已經(jīng)改為了“,”【逗號(hào)】
或者光標(biāo)移到一個(gè)需要搜索的單詞上剔蹋,按 ,vv

# 替換
:Replace xxxx yyyy # normal 狀態(tài)下

# 跳轉(zhuǎn)到函數(shù)定義處
光標(biāo)移到需要跳轉(zhuǎn)的單詞上,按下 ctrl + ] # 需要先生成 ctags 文件
回到跳轉(zhuǎn)前位置辅髓,按下 ctrl + t

# 關(guān)閉當(dāng)前buffer
:bd

# 復(fù)制到系統(tǒng)剪貼板
ctrl + c
# 從系統(tǒng)剪貼板粘貼
ctrl + v

# 垂直分屏
ctrl + w + v
# 水平分屏
ctrl + w + s
# 關(guān)閉分屏
ctrl + w + c

# 水平快速擴(kuò)大分屏
ctrl + n
# 垂直快速擴(kuò)大分屏
ctrl + m

# easymotion的使用泣崩,我們leader鍵已經(jīng)改為了“,”【逗號(hào)】
,,s + 關(guān)鍵字

# 更多詳細(xì)配置大家可以自行閱讀配置文件少梁,或者根據(jù)自己需要更改配置
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市矫付,隨后出現(xiàn)的幾起案子凯沪,更是在濱河造成了極大的恐慌,老刑警劉巖买优,帶你破解...
    沈念sama閱讀 216,591評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件妨马,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡杀赢,警方通過查閱死者的電腦和手機(jī)烘跺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來葵陵,“玉大人液荸,你說我怎么就攤上這事⊥迅荩” “怎么了娇钱?”我有些...
    開封第一講書人閱讀 162,823評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長绊困。 經(jīng)常有香客問我文搂,道長,這世上最難降的妖魔是什么秤朗? 我笑而不...
    開封第一講書人閱讀 58,204評(píng)論 1 292
  • 正文 為了忘掉前任煤蹭,我火速辦了婚禮,結(jié)果婚禮上取视,老公的妹妹穿的比我還像新娘硝皂。我一直安慰自己,他們只是感情好作谭,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,228評(píng)論 6 388
  • 文/花漫 我一把揭開白布稽物。 她就那樣靜靜地躺著,像睡著了一般折欠。 火紅的嫁衣襯著肌膚如雪贝或。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,190評(píng)論 1 299
  • 那天锐秦,我揣著相機(jī)與錄音咪奖,去河邊找鬼。 笑死酱床,一個(gè)胖子當(dāng)著我的面吹牛羊赵,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播扇谣,決...
    沈念sama閱讀 40,078評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼昧捷,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼揖闸!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起料身,我...
    開封第一講書人閱讀 38,923評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎衩茸,沒想到半個(gè)月后芹血,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,334評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡楞慈,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,550評(píng)論 2 333
  • 正文 我和宋清朗相戀三年幔烛,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片囊蓝。...
    茶點(diǎn)故事閱讀 39,727評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡饿悬,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出聚霜,到底是詐尸還是另有隱情狡恬,我是刑警寧澤,帶...
    沈念sama閱讀 35,428評(píng)論 5 343
  • 正文 年R本政府宣布蝎宇,位于F島的核電站弟劲,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏姥芥。R本人自食惡果不足惜兔乞,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,022評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望凉唐。 院中可真熱鬧庸追,春花似錦、人聲如沸台囱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽玄坦。三九已至血筑,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間煎楣,已是汗流浹背豺总。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留择懂,地道東北人喻喳。 一個(gè)月前我還...
    沈念sama閱讀 47,734評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像困曙,于是被迫代替她去往敵國和親表伦。 傳聞我的和親對(duì)象是個(gè)殘疾皇子谦去,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,619評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 寫在前面 1. 為什么要用vim 如果一定要講一個(gè)清新脫俗的理由,那是因?yàn)橛胿im對(duì)頸椎和腰椎好(嚴(yán)肅臉)蹦哼。使用v...
    寫bug的貓閱讀 7,464評(píng)論 0 32
  • 真實(shí)有效的Vim配置記錄(macOS) 以前在Ubuntu里配置了兩次Vim鳄哭,macOS中配置了一次,都沒有配置成...
    染微言閱讀 11,459評(píng)論 0 8
  • macvim配置 最終效果如下: 系統(tǒng)環(huán)境 macos10.12.4 homebrew1.2.1 python3....
    Like_eb56閱讀 69,384評(píng)論 5 65
  • 每天一百多人的門診工作量纲熏,對(duì)于出門診的醫(yī)生就是折磨妆丘,看病要麻利,詢問病史要簡要擊中要害局劲,不讓病人集堆勺拣,下班時(shí)...
    慈桉閱讀 377評(píng)論 0 1
  • 昨天同事問我畢業(yè)這么多年沒攢下錢呢?我想了想鱼填,畢業(yè)第一年就給我弟買了手機(jī)药有,他大學(xué)畢業(yè)沒考上研究生就我每個(gè)月給他10...
    Anna娜閱讀 93評(píng)論 0 0