1. 程式人生 > >centOS6.5 配置vim

centOS6.5 配置vim

1.在你的工作目錄下(ls -a)檢視有沒有 .vimrc 檔案 沒有新建一個

 將其.vimrc 放在 工作目錄下

map <F9> :call SaveInputData()<CR>
func! SaveInputData()
	exec "tabnew"
	exec 'normal "+gP'
	exec "w! /tmp/input_data"
endfunc




"colorscheme torte
"colorscheme murphy
"colorscheme desert 
"colorscheme desert 
"colorscheme elflord
colorscheme ron




"set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936
"set termencoding=utf-8
"set encoding=utf-8
"set fileencodings=ucs-bom,utf-8,cp936
"set fileencoding=utf-8

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 顯示相關  
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"set shortmess=atI   " 啟動的時候不顯示那個援助烏干達兒童的提示  
"winpos 5 5          " 設定視窗位置  
"set lines=40 columns=155    " 設定視窗大小  
set go=             " 不要圖形按鈕  
"color asmanian2     " 設定背景主題  
"set guifont=Courier_New:h10:cANSI   " 設定字型  
"syntax on           " 語法高亮  
autocmd InsertLeave * se nocul  " 用淺色高亮當前行  
autocmd InsertEnter * se cul    " 用淺色高亮當前行  
"set ruler           " 顯示標尺  
set showcmd         " 輸入的命令顯示出來,看的清楚些  
"set cmdheight=1     " 命令列(在狀態行下)的高度,設定為1  
"set whichwrap+=<,>,h,l   " 允許backspace和游標鍵跨越行邊界(不建議)  
"set scrolloff=3     " 游標移動到buffer的頂部和底部時保持3行距離  
set novisualbell    " 不要閃爍(不明白)  
set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")}   "狀態行顯示的內容  
set laststatus=1    " 啟動顯示狀態行(1),總是顯示狀態行(2)  
set foldenable      " 允許摺疊  
set foldmethod=manual   " 手動摺疊  
"set background=dark "背景使用黑色 
set nocompatible  "去掉討厭的有關vi一致性模式,避免以前版本的一些bug和侷限  
" 顯示中文幫助
if version >= 603
	set helplang=cn
	set encoding=utf-8
endif
" 設定配色方案
"colorscheme murphy
"字型 
"if (has("gui_running")) 
"   set guifont=Bitstream\ Vera\ Sans\ Mono\ 10 
"endif 
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"""""新檔案標題
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"新建.c,.h,.sh,.java檔案,自動插入檔案頭 
autocmd BufNewFile *.cpp,*.[ch],*.sh,*.java exec ":call SetTitle()" 
""定義函式SetTitle,自動插入檔案頭 
func SetTitle() 
	"如果檔案型別為.sh檔案 
	if &filetype == 'sh' 
		call setline(1,"\#########################################################################") 
		call append(line("."), "\# File Name: ".expand("%")) 
		call append(line(".")+1, "\# Author: WenQiang") 
		call append(line(".")+2, "\# mail: 
[email protected]
") call append(line(".")+3, "\# Created Time: ".strftime("%c")) call append(line(".")+4, "\#########################################################################") call append(line(".")+5, "\#!/bin/bash") call append(line(".")+6, "") else call setline(1, "/*************************************************************************") call append(line("."), " > File Name: ".expand("%")) call append(line(".")+1, " > Author: WenQiang") call append(line(".")+2, " > Mail:
[email protected]
") call append(line(".")+3, " > Created Time: ".strftime("%c")) call append(line(".")+4, " ************************************************************************/") call append(line(".")+5, "") endif if &filetype == 'cpp' call append(line(".")+6, "#include<iostream>") call append(line(".")+7, "using namespace std;") call append(line(".")+8, "") endif if &filetype == 'c' call append(line(".")+6, "#include<stdio.h>") call append(line(".")+7, "") endif " if &filetype == 'java' " call append(line(".")+6,"public class ".expand("%")) " call append(line(".")+7,"") " endif "新建檔案後,自動定位到檔案末尾 autocmd BufNewFile * normal G endfunc """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" "鍵盤命令 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" nmap <leader>w :w!<cr> nmap <leader>f :find<cr> " 對映全選+複製 ctrl+a map <C-A> ggVGY map! <C-A> <Esc>ggVGY map <F12> gg=G " 選中狀態下 Ctrl+c 複製 vmap <C-c> "+y "去空行 nnoremap <F2> :g/^\s*$/d<CR> "比較檔案 nnoremap <C-F2> :vert diffsplit "新建標籤 map <M-F2> :tabnew<CR> "列出當前目錄檔案 map <F3> :tabnew .<CR> "開啟樹狀檔案目錄 map <C-F3> \be "C,C++ 按F5編譯執行 map <F5> :call CompileRunGcc()<CR> func! CompileRunGcc() exec "w" if &filetype == 'c' exec "!g++ % -o %<" exec "! ./%<" elseif &filetype == 'cpp' exec "!g++ % -o %<" exec "! ./%<" elseif &filetype == 'java' exec "!javac %" exec "!java %<" elseif &filetype == 'sh' :!./% elseif &filetype == 'py' exec "!python %" exec "!python %<" endif endfunc "C,C++的除錯 map <F8> :call Rungdb()<CR> func! Rungdb() exec "w" exec "!g++ % -g -o %<" exec "!gdb ./%<" endfunc """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" ""實用設定 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " 設定當檔案被改動時自動載入 set autoread " quickfix模式 autocmd FileType c,cpp map <buffer> <leader><space> :w<cr>:make<cr> "程式碼補全 set completeopt=preview,menu "允許外掛 filetype plugin on "共享剪貼簿 set clipboard+=unnamed "從不備份 set nobackup "make 執行 :set makeprg=g++\ -Wall\ \ % "自動儲存 set autowrite set ruler " 開啟狀態列標尺 set cursorline " 突出顯示當前行 set magic " 設定魔術 set guioptions-=T " 隱藏工具欄 set guioptions-=m " 隱藏選單欄 "set statusline=\ %<%F[%1*%M%*%n%R%H]%=\ %y\ %0(%{&fileformat}\ %{&encoding}\ %c:%l/%L%)\ " 設定在狀態行顯示的資訊 set foldcolumn=0 set foldmethod=indent set foldlevel=3 set foldenable " 開始摺疊 " 不要使用vi的鍵盤模式,而是vim自己的 set nocompatible " 語法高亮 set syntax=on " 去掉輸入錯誤的提示聲音 set noeb " 在處理未儲存或只讀檔案的時候,彈出確認 set confirm " 自動縮排 set autoindent set cindent " Tab鍵的寬度 set tabstop=4 " 統一縮排為4 set softtabstop=4 set shiftwidth=4 " 不要用空格代替製表符 set noexpandtab " 在行和段開始處使用製表符 set smarttab " 顯示行號 set number " 歷史記錄數 set history=1000 "禁止生成臨時檔案 set nobackup set noswapfile "搜尋忽略大小寫 set ignorecase "搜尋逐字元高亮 set hlsearch set incsearch "行內替換 set gdefault "編碼設定 set enc=utf-8 set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936 "語言設定 set langmenu=zh_CN.UTF-8 set helplang=cn " 我的狀態行顯示的內容(包括檔案型別和解碼) "set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")} "set statusline=[%F]%y%r%m%*%=[Line:%l/%L,Column:%c][%p%%] " 總是顯示狀態行 set laststatus=2 " 命令列(在狀態行下)的高度,預設為1,這裡是2 set cmdheight=2 " 偵測檔案型別 filetype on " 載入檔案型別外掛 filetype plugin on " 為特定檔案型別載入相關縮排檔案 filetype indent on " 儲存全域性變數 set viminfo+=! " 帶有如下符號的單詞不要被換行分割 set iskeyword+=_,$,@,%,#,- " 字元間插入的畫素行數目 set linespace=0 " 增強模式中的命令列自動完成操作 set wildmenu " 使回格鍵(backspace)正常處理indent, eol, start等 set backspace=2 " 允許backspace和游標鍵跨越行邊界 set whichwrap+=<,>,h,l " 可以在buffer的任何地方使用滑鼠(類似office中在工作區雙擊滑鼠定位) set mouse=a set selection=exclusive set selectmode=mouse,key " 通過使用: commands命令,告訴我們檔案的哪一行被改變過 set report=0 " 在被分割的視窗間顯示空白,便於閱讀 set fillchars=vert:\ ,stl:\ ,stlnc:\ " 高亮顯示匹配的括號 set showmatch " 匹配括號高亮的時間(單位是十分之一秒) set matchtime=1 " 游標移動到buffer的頂部和底部時保持3行距離 set scrolloff=3 " 為C程式提供自動縮排 set smartindent " 高亮顯示普通txt檔案(需要txt.vim指令碼) au BufRead,BufNewFile * setfiletype txt "自動補全 :inoremap ( ()<ESC>i :inoremap ) <c-r>=ClosePair(')')<CR> ":inoremap { {<CR>}<ESC>O ":inoremap } <c-r>=ClosePair('}')<CR> :inoremap [ []<ESC>i :inoremap ] <c-r>=ClosePair(']')<CR> :inoremap " ""<ESC>i :inoremap ' ''<ESC>i function! ClosePair(char) if getline('.')[col('.') - 1] == a:char return "\<Right>" else return a:char endif endfunction filetype plugin indent on "開啟檔案型別檢測, 加了這句才可以用智慧補全 set completeopt=longest,menu """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" "NERDtee設定 let NERDChristmasTree=1 let NERDTreeAutoCenter=1 let NERDTreeBookmarksFile=$VIM.'\Data\NerdBookmarks.txt' let NERDTreeMouseMode=2 let NERDTreeShowBookmarks=1 let NERDTreeShowFiles=1 let NERDTreeShowHidden=1 let NERDTreeShowLineNumbers=1 let NERDTreeWinPos='left' let NERDTreeWinSize=31 nnoremap f :NERDTreeToggle map <F7> :NERDTree<CR> let Tlist_Show_One_File=1 let Tlist_Exit_OnlyWindow=1 let Tlist_Use_Right_Window=1 let g:winManagerWindowLayout='FileExplorer|TagList' nmap wm :WMToggle

2 下載並安裝Taglist

點選下載外掛:http://www.vim.org/scripts/script.php?script_id=273 下載較新版本的taglist壓縮包 ,解壓完成後,將解壓出來的doc的內容放到~/.vim/doc, 將解壓出來的plugin下的內容拷貝到~/.vim/plugin。 完成後開啟.vimrc 並新增如下三條指令:
1 2 3 let Tlist_Show_One_File=1 let Tlist_Exit_OnlyWindow=1 let Tlist_Use_Right_Window=1

開啟.c或.cpp檔案進入vim後,進入底行模式並輸入命令"Tlist",就可以開啟(或者關閉)taglist視窗

    

3檔案瀏覽器和視窗管理器 -- 外掛: WinManager

點選下載外掛:http://www.vim.org/scripts/script.php?script_id=95 建議下載較新版本的安裝包,解壓。 將解壓出來的doc的內容放到~/.vim/doc, 將解壓出來的plugin下的內容拷貝到~/.vim/plugin 完成後在.vimrc 中新增下面兩行指令:
1 2 let g:winManagerWindowLayout='FileExplorer|TagList' nmap wm :WMToggle

開啟.c 或.cpp 檔案,在normal狀態下鍵入wm,效果圖

 

相關推薦

centOS6.5 配置vim

1.在你的工作目錄下(ls -a)檢視有沒有 .vimrc 檔案 沒有新建一個  將其.vimrc 放在 工作目錄下 map <F9> :call SaveInputData()<CR> func! SaveInputData() exec "t

Centos6.5 --配置 vsftp server

linux .net fig i686 tin 它的 data 分享 連通 事實上我這麽懶得人是不想配置什麽ftpserver的(畢竟動起來都認為麻煩)。可是因為本菜鳥才剛開始步入linux的大坑。盡管有裝Centos7的真機,可是因為一時還是脫離不了Windows

Centos6.5配置DNS

DNS BIND DNS:主機地址——IP地址實驗:IP 地址:172.16.100.101/24區域:ynsc.com 主機解析:www.ynsc.com ——172.16.100.101ftp.ynsc.com ——172.16.100.102mail.ynsc.com ——172.16

Centos6.5配置DNS的主從服務器

DNS BIND DNS:主機地址——IP地址實驗:IP 地址:master:172.16.100.101/24slave: 172.16.100.102/24區域:ynsc.com主機解析:www.ynsc.com ——172.16.100.101ftp.ynsc.com ——172.16.10

Centos6.5配置本地yum源

配置yum本地源首先上傳Centos6.5的iso文件到/home/user目錄下 sudo mkdir /media/iso sudo mkdir /media/cdrom 將CentOS-6.5-x86_64-bin-DVD1.iso文件移到 /media/iso中 sudo mv /home/user

centos6.5配置靜態ip

soft uid spa ont 分享 TP .com http microsoft 文件名為:ifcfg-eno16777736 DEVICE=eno16777736TYPE=EthernetONBOOT=yesNM_CONTROLLED=noBOOTPROTO=stat

CentOS6.5配置MYSQL一主多從詳解

ali ati In restart 配置文件 left 主庫 vim 數據庫 一、環境 1 操作系統 :CentOS 6.5 2 數據庫版本:MySQL 5.6.27 3 主機A:192.168.1.1 (Master) 4 從機B:192.168.1.2 (

超詳細CentOS6.5配置rsync+inotify實現同步

touch iptables cront address mon ges 應對 ret rect rsync rsync是一個開源的快速備份工具,可以在不同主機之間鏡像同步整個目錄樹,支持增量備份,保持鏈接和權限,且采用優化的同步算法,傳輸前執行壓縮,因此非常適用於異地備份

Elam的caffe筆記之配置篇(五):Centos6.5配置opencv3.1.0

Elam的caffe筆記之配置篇(五):Centos6.5配置opencv3.1.0 配置要求: 系統:centos6.5 目標:基於CUDA8.0+Opencv3.1+Cudnnv5.1+python3.6介面的caffe框架 1.下載opencv-3.1.0.t

CentOS6.5配置ElasticSearch

1.更改許可權 elasticsearch出於安全考慮,不允許root對其進行操作,所以我們建立一個新使用者,遞迴更改資料夾的許可權 chown {username}:{username} elasticsearch-6.2.4/ -R 2.配置 1.更改config資料夾

CentOS6.5配置Nginx及遇到的坑

1.上傳 ssh [email protected] -p 22 tar xvf nginx-1.10.0.tar.gz rm -rf nginx-1.10.0.tar.gz 用ftp上傳nginx-1.10.0.tar.gz,解壓之。 1.配置nginx目錄 c

CentOS6.5配置vsftpd

一、環境 1.1 虛擬機器工具 VMware® Workstation 12 Pro  12.1.1 build-3770994 1.2 終端 SecureCRT 1.3 Linux系統 CentOS 6.5 1.3.1 Linux系統版本資訊檢視 1、un

CentOS6.5配置網路yum源

我們選擇配置國內163提供的yum源,具體操作步驟如下: 1.登入如下地址: 2.選擇最後一列中的“centos使用幫助” 3.按照幫助文件中的說明操作即可 3.1備份/etc/yum.repos.d/CentOS-Base.repo

CentOS6.5配置網路

1 網絡卡說明 1)兩塊網絡卡的說明: 第一塊網絡卡為配置外網: eth0 第二塊網絡卡為配置內網: eth1(沒有外網的機器也要將內網配置在第二塊網絡卡上)2  網絡卡預設配置 1)安裝完成後預設配置: CentOS 6.5預設安裝好之後是沒有自動開啟網路連線的!

CentOS6.5配置 cron

CentOS6.5配置 cron 任務 - mengjiaoduan的部落格 - CSDN部落格https://blog.csdn.net/mengjiaoduan/article/details/64904966 linux(centos)中的cron計劃任務配置方法 - 志文工作室https://lzw

CentOS6.5配置ssh免密碼登入並解決仍然需要輸入密碼的問題

一、準備工作1. 開啟本機的ssh的配置檔案sudo vi /etc/ssh/sshd_config把以下內容的行刪除註釋符號“#”RSAAuthentication yes PubkeyAuthent

centos6.5配置Hadoop環境,執行wordcount例子

安裝vmware12,centos6.5(還是6.5好,穩定流暢,7介面好看但是虛擬機器裡面卡死了),刪除自帶openjdk下載安裝jdk1.7配置環境變數 vim /etc/profile-&

阿里雲Linux(Centos6.5)配置java生產環境

配了好幾次Linux生產環境,每次都是翻人家部落格,我覺得我有必要寫個部落格,內容包括,java環境安裝,mysql資料庫安裝配置,tomcat安裝配置。 原料 1.Centos6.5 系統64位 2.putty,經典的ssh連線工具 java環

CentOS6.5 配置 jdk

1.下載java的tar包,使用sftp上傳到指定目錄,使用tar解壓命令,解壓 [[email protected] java]# tar xvf jdk-7u79-linux-x64.tar.gz  2. 配置環境   [[email protect

CentOS6.5 配置安裝並配置rsync

一、安裝rsync(server和client)     yum install rsync 二、伺服器配置rsync 修改配置:     # vi /etc/xinetd.d/rsync 把原來