vimset

vim ~./vimrc

?

set nocompatible??????????????? ?"去掉有關vi一致性模式,避免以前版本的bug和局限 ? ?

set nu!????????????????????????????????????"顯示行號

set?guifont=Luxi/?Mono/?9?? "?設置字體,字體名稱和字號

filetype on???????????????????? ? ???? ??"檢測文件的類型 ? ??

set history=1000?????????? ????? ?"記錄歷史的行數

set background=dark???????? ?"背景使用黑色

syntax on???????????????????????????? ?? "語法高亮度顯示

set autoindent???????????????????????"vim使用自動對齊,也就是把當前行的對齊格式應用到下一行(自動縮進)

set cindent??????????????????????????? ?"(cindent是特別針對 C語言語法自動縮進)

set smartindent????????????????? ? "依據上面的對齊格式,智能的選擇對齊方式,對于類似C語言編寫上有用 ??

set tabstop=4????????????????????? ? "設置tab鍵為4個空格,

set shiftwidth?=4???????????????? ? "設置當行之間交錯時使用4個空格 ? ??

set?ai!????????????????????????????????????? "?設置自動縮進?

set showmatch??????????????????? ?"設置匹配模式,類似當輸入一個左括號時會匹配相應的右括號 ? ? ?

set guioptions-=T??????????????? ?"去除vim的GUI版本中得toolbar ??

set vb t_vb=????????????????????????? ? "當vim進行編輯時,如果命令錯誤,會發出警報,該設置去掉警報 ? ? ??

set ruler?????????????????????????????? ?? "在編輯過程中,在右下角顯示光標位置的狀態行 ? ??

set nohls?????????????????????????????? ?"默認情況下,尋找匹配是高亮度顯示,該設置關閉高亮顯示 ? ??

set incsearch?????????????????????? ?"在程序中查詢一單詞,自動匹配單詞的位置;如查詢desk單詞,當輸到/d時,會自動找到第一個d開頭的單詞,當輸入到/de時,會自動找到第一個以ds開頭的單詞,以此類推,進行查找;當找到要匹配的單詞時,別忘記回車?

set?backspace=2???????????"?設置退格鍵可用

?

set nocp??? "設置兼容

set expandtab?? "設置tab

set shiftwidth=4??? "設置tab的間隔

set tabstop=4?? "四個空格代表一個tab

set sts=4

set showmatch?? "在輸入括號時光標會短暫地跳到與之相匹配的括號處

set autoindent? "設置自動縮進

" set smartindent "設置智能縮進

set nowrap??? "設置自動換行

set tw=500

set lbr

set number? "設置是否顯示行

set guifont=Monospace\ 11? "設置字體大小

set encoding=utf-8? "設置編碼為utf-8

set fileencoding=utf-8

set fileencodings=ucs-bom,utf-8,GB18030,cp936,big5,euc-jp,euc-kr,latin1

set helplang=cn "幫助中文支持

colorscheme tango "設置主體顏色

"set mouse=v " 設置粘貼和復制

?

"自動補全配置

autocmd FileType python set omnifunc=pythoncomplete#Complete

autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS

autocmd FileType html set omnifunc=htmlcomplete#CompleteTags

autocmd FileType css set omnifunc=csscomplete#CompleteCSS

autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags

autocmd FileType php set omnifunc=phpcomplete#CompletePHP

autocmd FileType c set omnifunc=ccomplete#Complete

?

" =================================進行Taglist的設置<Begin>============================

map <F3> :TlistToggle<CR>

"map <F3> :silent! Tlist<CR>???????????? "按下F3就可以呼出了

"let Tlist_Ctags_Cmd='/usr/bin/ctags'??? "因為我們放在環境變量里,所以可以直接執行

let Tlist_Use_Right_Window=1??????????? "讓窗口顯示在右邊,0的話就是顯示在左邊?

"let Tlist_Show_One_File=1?????????????? "讓taglist可以同時展示多個文件的函數列表

"let Tlist_File_Fold_Auto_Close=1??????? "非當前文件,函數列表折疊隱藏

"let Tlist_Exit_OnlyWindow=1???????????? "當taglist是最后一個分割窗口時,自動推出vim

"let Tlist_Process_File_Always=0???????? "是否一直處理tags.1:處理;0:不處理?

"let Tlist_Inc_Winwidth=0??????????????? "不是一直實時更新tags,因為沒有必要?

" =================================進行Taglist的設置<End>==============================

?

?

?

?

" ############################鍵盤映射設置區域###############################

map <F2> :NERDTreeToggle<CR>

map <F4> t :NERDTreeMirror<CR>

?

?

" 對應使用函數的配置

set guitablabel=%{ShortTabLabel()}

function ShortTabLabel ()

? let bufnrlist = tabpagebuflist (v:lnum)

? let label = bufname (bufnrlist[tabpagewinnr (v:lnum) -1])

? let filename = fnamemodify (label, ':t')

? return filename

endfunction

?

set tabline=%!MyTabLine()

function MyTabLine()

? let s = ''

? for i in range(tabpagenr('$'))

??? " 選擇高亮

??? if i + 1 == tabpagenr()

????? let s .= '%#TabLineSel#'

??? else

????? let s .= '%#TabLine#'

??? endif

??? " 設置標簽頁號 (用于鼠標點擊)

??? let s .= '%' . (i + 1) . 'T'

??? " MyTabLabel() 提供完整路徑標簽 MyShortTabLabel 提供文件名標簽

??? let s .= ' %{MyShortTabLabel(' . (i + 1) . ')} '

? endfor

? " 最后一個標簽頁之后用 TabLineFill 填充并復位標簽頁號

? let s .= '%#TabLineFill#%T'

? " 右對齊用于關閉當前標簽頁的標簽

? if tabpagenr('$') > 1

??? let s .= '%=%#TabLine#%999Xclose'

? endif

? return s

endfunction

" 文件名標簽

function MyShortTabLabel(n)

? let buflist = tabpagebuflist(a:n)

? let label = bufname (buflist[tabpagewinnr (a:n) -1])

? let filename = fnamemodify (label, ':t')

? return filename

endfunction

"完整路徑標簽

function MyTabLabel(n)

? let buflist = tabpagebuflist(a:n)

? let winnr = tabpagewinnr(a:n)

? return bufname(buflist[winnr - 1])

endfunction

" vim 標簽樣式

"? TabLineFill? tab pages line, where there are no labels

hi TabLineFill term=none

hi TabLineFill ctermfg=DarkGrey

hi TabLineFill guifg=#777777

"? TabLineSel?? tab pages line, active tab page label

hi TabLineSel term=inverse

hi TabLineSel cterm=none ctermfg=yellow ctermbg=Black

hi TabLineSel gui=none guifg=yellow guibg=Black

?

" Develop editing options

au FileType vim setl expandtab

au FileType vim setl shiftwidth=2

au FileType vim setl tabstop=2

?

" 顯示狀態欄(默認值為 1,無法顯示狀態欄)

set laststatus=2

" Format the statusline

set statusline=\ %F%m%r%h\ %w\ \ CWD:\ %r%{CurDir()}E5%h\ \ \ Line:\ %l/%L:%c

?

function! CurDir()

??? let curdir = substitute(getcwd(), '/Users/amir/', "~/", "g")

??? return curdir

endfunction

?

"#######################設置PHP函數自動提醒#########################Start

"設置字典自動完成

set complete+=k

"設置字典

set dictionary=~/.vim/doc/php_funclist.txt

" 自動完成使用TAB鍵

function! InsertTabWrapper()

??? let col=col('.')-1

??? if !col || getline('.')[col-1] !~ '\k'

??????? return "\<TAB>"

??? else

??????? return "\<C-N>"

??? endif

endfunction

"將InsertTabWrapper映射到TAB上

inoremap <TAB> <C-R>=InsertTabWrapper()<CR>

"#######################設置PHP函數自動提醒#########################End

?

?

"#######中括號 大括號 小括號 自動補全

:inoremap ( ()<ESC>i

:inoremap ) <c-r>=ClosePair(')')<CR>

:inoremap { {}<ESC>i

:inoremap } <c-r>=ClosePair('}')<CR>

:inoremap [ []<ESC>i

:inoremap ] <c-r>=ClosePair(']')<CR>

:inoremap < <><ESC>i

:inoremap > <c-r>=ClosePair('>')<CR>

?

function ClosePair(char)

??? if getline('.')[col('.') - 1] == a:char

??????? return "\<Right>"

??? else

??????? return a:char

??? endif

endfunction

"#######中括號 大括號 小括號 自動補全

轉載于:https://www.cnblogs.com/wanghao-boke/p/11573452.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/384822.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/384822.shtml
英文地址,請注明出處:http://en.pswp.cn/news/384822.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

shell編程題(二)

計算1-100之和 #!/bin/bashsum0 for i in seq 1 100;do #符號不是單引號 是 1左邊的符號sum$[$i $sum ] done echo $sum #!/bin/bashi0 n1              #定義循環變量 while [ $n -lt 101 ];do  #循環變量小于101 i$(( $i $n))        #累加 n$(( …

vim命令大全

1. vim模式 正常模式&#xff08;按Esc或Ctrl[進入&#xff09; 左下角顯示文件名或為空 插入模式&#xff08;按i進入&#xff09; 左下角顯示--INSERT-- 可視模式&#xff08;按v進入&#xff09; 左下角顯示--VISUAL-- 替換模式&#xff08;按r或R開始&#xff09; 左下角顯…

signal()函數

函數原型 void (*signal(int sig,void(*func)(int)))(int); 指定使用sig指定的信號編號處理信號的方法。參數func指定程序可以處理信號的三種方式之一&#xff1a; l 默認處理(SIG_DFL)&#xff1a; 信號由該特定信號的默認動作處理l 忽略信號&#xff08;SIG_IGN&a…

setitimer()函數

定時器時間函數 struct itimerval&#xff1a;struct itimerval *new_value&#xff0c;其定義如下&#xff1a;struct itimerval {struct timeval it_interval; /*next value*/struct timeval it_value; /*current value*/};struct timeval {long tv_sec; /*seconds*/lonng t…

shell編程題(三)

將一目錄下所有的文件的擴展名改為bak #! /bin/bashfor i in ls domv $i ${i%%.*}.bak done ${i%%.*} 截掉一個變量字符串第一個"."以及其右側的所有字符&#xff0c;即最短前綴匹配。 #! /bin/bashdir./ #指定文件夾for file in $dir*.txt #指定文件夾下面文件類型…

VMware安裝VMwaretools

默認點擊“安裝VMware Tools&#xff08;T&#xff09;”選項下載好安裝包 下載的安裝包放在計算機的media目錄下 進入/media/ubuntu14-04/VMware Tools目錄&#xff1a; cd /media/ubuntu14-04/VMware Tools 將安裝包復制到tmp文件夾下&#xff1a; cp VMwareTools-10.0.5-322…

shell編程題(四)

編譯當前目錄下的所有.c文件 #!/bin/bashif [ $# -lt 1 ] ;then #如果輸入參數小于1則報錯 $# C語言中的argv[0] 輸入參數個數echo "Please follow up file.c!"echo "eg: ./make.sh xxx.c"exit fiif [[ $2 "debug" ]] ;then #如果第三個參數…

stat函數

int lstat(const char *path,struct stat*buf) 當文件是一個符號鏈接時&#xff0c;lstat返回的是該符號鏈接本身的信息&#xff0c;而stat返回的是該鏈接指向的文件的信息。 struct stat {dev_t st_dev; //設備號碼ino_t st_ino; //inode節點號mo…

字符串函數參數傳入傳出(字符串反轉)

/*** strstr.c ***/ #include<stdio.h> #include<string.h>//求字符串p中abcd出現的次數 //自定義函數接口完成業務函數和main函數分開 int getCount(char *mystr,char *sub,int *ncount) {int ret 0;if(mystr NULL || sub NULL || ncount NULL){ret -1;print…

字符串函數參數傳入傳出(去空格)

字符串作為函數參數傳入傳出 /*** delSpace.c ***/ #include<stdio.h> #include<string.h>int DelSpace(char *str) {int iRet -1;int i ;int j ;int ncount 0;char *out str;if(NULL str ){printf("the point in is NULL\n");return iRet;}i 0;j …

字符串的規范使用

有一個字符串”1a2b3d4z”,&#xff1b; 要求寫一個函數實現如下功能&#xff0c; 功能1&#xff1a;把偶數位字符挑選出來&#xff0c;組成一個字符串1。valude&#xff1b;20分 功能2&#xff1a;把奇數位字符挑選出來&#xff0c;組成一個字符串2&#xff0c;valude 20 功能…

字符串的規范使用(二)

鍵值對&#xff08;”key valude”&#xff09;字符串&#xff0c;在開發中經常使用&#xff1b; 要求1&#xff1a;請自己定義一個接口&#xff0c;實現根據key獲取valude&#xff1b;40分 要求2&#xff1a;編寫測試用例。30分 要求3&#xff1a;鍵值對中間可能有n多空格&am…

字符串逆序打印

版本1 兩個指針從頭到尾和從尾到頭交換內容逆序 /*** str_reverse.c ***/ #include<stdio.h> #include<string.h>int main() {char buf[] "abcdrfg";int len strlen(buf);char *p1 buf;char *p2 buf len - 1;while(p1 < p2){char c *p1;*p1 *p…

realloc()函數

原型&#xff1a;extern void *realloc(void *mem_address, unsigned int newsize); 參數&#xff1a; mem_address&#xff1a; 要改變內存大小的指針名newsize &#xff1a; 新的內存大小。 如果分配內存減少&#xff0c;realloc僅僅改變索引的信息。 如果將…

fgets()函數

聲明&#xff1a;  char *fgets(char *str&#xff0c;int n,FILE* stream) 參數&#xff1a;  str—這是指向一個字符數組的指針&#xff0c;該數組存儲了要讀取的字符串 n – 這是要讀取的最大字符數&#xff08;包括最后的空字符&#xff09;。通常是使用以str傳遞的數組…

C語言實現文件類型統計函數

#include<dirent.h> #include<limits.h> #include<sys/stat.h> #include<stdio.h> #include<unistd.h> #include<stdlib.h> #include<string.h>#define FTW_F 1 //標記非目錄文件 #define FTW_D 2 //標…

C語言實現多線程排序

#include <stdio.h> #include <pthread.h> #include <stdlib.h> #include <string.h>/* 聲明變量 */ int array_length, file_length; int *array_master; FILE *freader;/* 用于從文件讀取數據 */ int *read_file(char *fname) {freader fopen(fnam…

linux線程操作

初始化條件變量 int pthread_cond_init(pthread_cond_t *cv,pthread_cond_attr *cattr); 函數返回值&#xff1a;返回0表示成功&#xff0c;返回其他表示失敗。 參數&#xff1a; pthread_cond_attr是用來設置pthread_cond_t的屬性&#xff0c;當傳入的值是NULL的時候表…

Linux下多線程模擬停車場停車

#include<stdio.h> #include<string.h> #include<unistd.h> #include<stdlib.h> #include<pthread.h>#define ONE_SECOND 1000000 #define RANGE 10 #define PERIOD 2 #define NUM_THREADS 4typedef struct {int *carpark; //用一個數組來模…

【C++學習之路】第一章——C++核心方法總論

1 C核心方法總論 1.1 核心思想 通過實際項目來學習編程&#xff0c;更高效掌握編程規則&#xff0c;以及明白各種語法規則的實際應用。 實驗思想&#xff1a;任何C的參考資料都不可能覆蓋你遇到的所有問題&#xff0c;這個時候&#xff0c;最好的辦法就是&#xff0c;編輯代…