zoukankan      html  css  js  c++  java
  • vim configure

    vim configure

    .vimrc

    " An example for a vimrc file.
    "
    " Maintainer:   Bram Moolenaar <Bram@vim.org>
    " Last change:  2001 Jul 18
    "
    " To use it, copy it to
    "     for Unix and OS/2:  ~/.vimrc
    "         for Amiga:  s:.vimrc
    "  for MS-DOS and Win32:  $VIM\_vimrc
    "       for OpenVMS:  sys$login:.vimrc
    
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    " 一般设定
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    " 设定默认解码
    set guifont=-misc-simsun-medium-r-normal-*-*-120-*-*-c-*-iso10646-1
    set bsdir=buffer
    set enc=utf-8
    set fenc=utf-8
    set fencs=utf-8,ucs-bom,gb2312,cp936,gbk,big5
    set langmenu=zh_CN.UTF-8
    set encoding=utf-8
    set fileencoding=utf-8
    set fileencodings=utf-8,ucs-bom,latin1,gb2312,gb18030,cp936,gbk,big5
    set termencoding=utf-8
    
    "设置颜色
    colorscheme desert
    
    "set guifont=Nimbus Mono L 12
    "set guifont=WenQuanYi Bitmap Song 12
    "set guifont=Verdana 10
    "set guifont=Courier 11
    "set guifont=Bitstream Vera Sans Mono 10
    
    " 显示中文帮助
    if version >= 603
        set helplang=cn
        set encoding=utf-8
    endif
    
    " Use Vim settings, rather then Vi settings (much better!).
    " This must be first, because it changes other options as a side effect.
    " 不要使用vi的键盘模式,而是vim自己的键盘模式
    set nocompatible
    
    " history文件中需要记录的行数
    set history=100
    
    " 显示行号
    set number
    
    " 在处理未保存或只读文件的时候,弹出确认
    set confirm
    
    " 与windows共享剪贴板
    set clipboard+=unnamed
    
    " 侦测文件类型
    filetype on
    
    " 载入文件类型插件
    filetype plugin on
    
    " 为特定文件类型载入相关缩进文件
    filetype indent on
    
    " 保存全局变量
    set viminfo+=!
    
    " 带有如下符号的单词不要被换行分割
    set iskeyword+=_,$,@,%,#,-
    
    " 语法高亮显示
    syntax on
    
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    """"""高亮显示gtk关键字""""""
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    syntax keyword gtkType gint gshort guint gushort gulong gdouble gfloat gchar guchar gboolean gpointer
    highlight link gtkType Type
    
    " 高亮字符,让其不受100列限制
    highlight OverLength ctermbg=red ctermfg=white guibg=red guifg=white
    match OverLength '\%101v.*'
    
    " 状态行颜色
    highlight StatusLine guifg=SlateBlue guibg=Yellow
    highlight StatusLineNC guifg=Gray guibg=White
    
    
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    " 文件设置
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    " 不要备份文件(根据自己需要取舍)
    set nobackup
    
    " 不要生成swap文件,当buffer被丢弃的时候隐藏它
    setlocal noswapfile
    set bufhidden=hide
    
    " 字符间插入的像素行数目
    set linespace=0
    
    " 增强模式中的命令行自动完成操作
    set wildmenu
    
    " 在状态行上显示光标所在位置的行号和列号
    set ruler
    set rulerformat=%20(%2*%<%f%= %m%r %3l %c %p%%%)
    
    " 输入的命令显示出来,看的清楚些
    set showcmd
    
    " 命令行(在状态行下)的高度,默认为1,这里是2
    set cmdheight=2
    
    " 使回格键(backspace)正常处理indent, eol, start等
    set backspace=indent,eol,start
    
    " 跨行移动
    set whichwrap=b,s,<,>,[,]
    
    " 可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位)
    "set mouse=a
    "set selection=exclusive
    "set selectmode=mouse,key
    
    " 启动的时候不显示那个援助乌干达儿童的提示
    set shortmess=atI
    
    " 通过使用: commands命令,告诉我们文件的哪一行被改变过
    set report=0
    
    " 不让vim发出讨厌的滴滴声
    set noerrorbells
    
    " 在被分割的窗口间显示空白,便于阅读
    set fillchars=vert: ,stl: ,stlnc:
    
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    " 搜索和匹配
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    " 高亮显示匹配的括号
    set showmatch
    
    " 匹配括号高亮的时间(单位是十分之一秒)
    set matchtime=5
    
    " 在搜索的时候忽略大小写
    set ignorecase
    
    " 不要高亮被搜索的句子(phrases)
    set nohlsearch
    
    " 在搜索时,输入的词句的逐字符高亮(类似firefox的搜索)
    set incsearch
    
    " 制表符可见
    "set list
    
    " 输入:set list命令是应该显示些啥?
    set listchars=tab:| ,trail:.,extends:>,precedes:<,eol:$
    
    " 光标移动到buffer的顶部和底部时保持3行距离
    set scrolloff=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=2
    
    " 屏幕放不下时,按一次屏幕移动一个字符
    set sidescroll=1
    
    " 下面的滚动条开启
    "slet g:netrw_winsize = 20et guioptions+=b
    
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    " 文本格式和排版
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    " 自动格式化
    set formatoptions=tcrqn
    
    " 继承前一行的缩进方式,特别适用于多行注释
    set autoindent
    
    " 为C程序提供自动缩进
    set smartindent
    
    " 使用C样式的缩进
    set cindent
    
    " 制表符为4
    set tabstop=4
    
    " 统一缩进为4
    set softtabstop=4
    set shiftwidth=4
    
    " 不要用空格代替制表符
    set noexpandtab
    
    " 不要换行
    set nowrap
    
    " 在行和段开始处使用制表符
    set smarttab
    
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    " CTags的设定
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    " 按照名称排序
    let Tlist_Sort_Type = "name"
    
    " 在右侧显示窗口
    let Tlist_Use_Right_Window = 1
    
    " 压缩方式
    let Tlist_Compart_Format = 1
    
    " 如果只有一个buffer,kill窗口也kill掉buffer
    let Tlist_Exist_OnlyWindow = 1
    
    " 不要关闭其他文件的tags
    let Tlist_File_Fold_Auto_Close = 0
    
    " 不要显示折叠树
    let Tlist_Enable_Fold_Column = 0
    
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    " 键盘命令
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    "imap <C-P> <C-X><C-P>
    "imap <C-F> <C-X><C-F>
    "imap <C-I> <C-X><C-I>
    "imap <C-D> <C-X><C-D>
    "imap <C-L> <C-X><C-L>
    
    " 根据打开文件类型, 启用智能补全
    set completeopt=longest,menu
    " p命令可以使用剪切板上的内容来替换选中的内容
    vnoremap p <Esc>:let current_reg = @"<CR>gvs<C-R>=current_reg<CR><Esc>
    
    nmap <F2> :nohlsearch<CR>
    map <F3> :copen<CR>:grep -R
    map <F7> :w<CR><CR>:copen<CR>:make<CR><CR>
    imap <F7> <Esc>:w<CR><CR>:copen<CR>:make<CR><CR>
    map <F8> :cclose<CR>
    map <F9> :TlistToggle<CR>
    
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    " 代码折叠编译运行按键命令
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    " 只在下列文件类型被侦测到的时候显示行号,普通文本文件不显示
    
    if has("autocmd")
        autocmd FileType xml,html,c,cs,java,perl,shell,bash,cpp,python,vim,php,ruby set number
        autocmd FileType xml,html vmap <C-o> <ESC>'<i<!--<ESC>o<ESC>'>o-->
        autocmd FileType java,c,cpp,cs vmap <C-o> <ESC>'<o/*<ESC>'>o*/
        autocmd FileType html,text,php,vim,c,java,xml,bash,shell,perl,python setlocal textwidth=78
        autocmd Filetype html,xml,xsl source $VIMRUNTIME/plugin/closetag.vim
                     if line("'"") > 0 && line("'"") <= line("{1}quot;) |
                       exe "normal g`"" |
                     endif
    endif " has("autocmd")
    
    " F5编译和运行C程序,F6编译和运行C++程序
    " 请注意,下述代码在windows下使用会报错
    " 需要去掉./这两个字符
    
    " C的编译和运行
    map <F5> :call CompileRunGcc()<CR>
    func! CompileRunGcc()
        exec "w"
        exec "!gcc % -o %<"
        exec "! ./%<"
    endfunc
    
    " C++的编译和运行
    map <F6> :call CompileRunGpp()<CR>
    func! CompileRunGpp()
        exec "w"
        exec "!g++ % -o %<"
        exec "! ./%<"
    endfunc
    
    " 能够漂亮地显示.NFO文件
    set encoding=utf-8
    function! SetFileEncodings(encodings)
        let b:myfileencodingsbak=&fileencodings
        let &fileencodings=a:encodings
    endfunction
    function! RestoreFileEncodings()
        let &fileencodings=b:myfileencodingsbak
        unlet b:myfileencodingsbak
    endfunction
    
    au BufReadPre *.nfo call SetFileEncodings('cp437')|set ambiwidth=single
    au BufReadPost *.nfo call RestoreFileEncodings()
    
    " 高亮显示普通txt文件(需要txt.vim脚本)
    au BufRead,BufNewFile *  setfiletype txt
    
    " 用空格键来开关折叠
    set foldenable
    "set foldmethod=manual
    set foldmethod=syntax
    set foldlevel=100
    nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')<CR>
    
    " minibufexpl插件的一般设置
    let g:miniBufExplMapWindowNavVim = 1
    let g:miniBufExplMapWindowNavArrows = 1
    let g:miniBufExplMapCTabSwitchBufs = 1
    let g:miniBufExplModSelTarget = 1
    
    "设置快捷方式 Set mapleader
    let mapleader = ","
    
    "快捷加载,当输入",ss"时,加载  .vimrc 文件
    map <silent> <leader>ss :source ~/.vimrc<cr>
    "快速打开编辑 .vimrc配置文件--->",ee"
    map <silent> <leader>ee :e ~/.vimrc<cr>
    "快速保存文件--->",w"
    map <silent> <leader>w :w<cr>
    "快速保存并退出文件--->",w"
    map <silent> <leader>wq :wq<cr>
    
    "自动命令,每次写入.vimrc后,都会执行这个自动命令,source一次~/.vimrc
    autocmd! bufwritepost .vimrc source ~/.vimrc

    .tmux.conf

    #
    # author   : lsgx <lsgxthink@gmail.com>
    # modified : 2014-11-12
    #
    
    #-- base settings --#
    set -g default-terminal "screen-256color"  # 设置终端缺省的支持颜色为256色
    set -g display-time 3000     # 提示信息的持续时间;设置足够的时间以避免看不清提示,单位为毫秒
    set -g escape-time 0    # 等待时间的持续时间;设置越小越好
    set -g history-limit 65535    # 历史记录条数的最大限制值
    #set -g base-index 1    # 窗口的初始序号;默认为0,这里设置为1
    #set -g pane-base-index 1    # 面板的初始序号;默认为0,这里设置为1
    #set -sg repeat-time 600    # 控制台激活后的持续时间;设置合适的时间以避免每次操作都要先激活控制台,单位为毫秒
    #set -s quiet on
    #setw -g xterm-keys on
    
    #-- bindkeys --#
    
    # prefix key (Ctrl+a)    # 将激活控制台的快捷键由Ctrl+b修改为Ctrl+a
    set -g prefix ^a
    unbind ^b
    bind a send-prefix
    
    # split window    # 窗口分割
    unbind '"'
    bind - splitw -v # vertical split (prefix -)    # 上下分割窗口
    unbind %
    bind | splitw -h # horizontal split (prefix |)    # 左右分割窗口
    
    # select pane    # 选择面板
    bind k selectp -U # above (prefix k)    # 选择上面板
    bind j selectp -D # below (prefix j)    # 选择下面板
    bind h selectp -L # left (prefix h)    # 选择左面板
    bind l selectp -R # right (prefix l)    # 选择右面板
    
    # resize pane
    bind -r ^k resizep -U 2 # upward (prefix Ctrl+k)    # 当前面板上移2
    bind -r ^j resizep -D 2 # downward (prefix Ctrl+j)    # 当前面板下移2
    bind -r ^h resizep -L 2 # to the left (prefix Ctrl+h)    # 当前面板左移2
    bind -r ^l resizep -R 2 # to the right (prefix Ctrl+l)    # 当前面板右移2
    
    # swap pane
    bind ^u swapp -U # swap with the previous pane (prefix Ctrl+u)    # 与上面板交换
    bind ^d swapp -D # swap with the next pane (prefix Ctrl+d)    # 与下面板交换
    
    # create new session
    bind C-c new-session    # 创建一个新的会话
    
    # control sessions
    bind z kill-session    # 结束一个会话
    
    # find session
    bind C-f command-prompt -p find-session 'switch-client -t %%'    # 查找会话
     
    # clear both screen and history
    #bind -n C-l send-keys C-l ; run 'tmux clear-history'    # 清空屏幕内容和历史记录
    
    # reload config (prefix r)
    bind r source ~/.tmux.conf ; display "Configuration reloaded!"    # 重新加载配置文件
    
    # misc
    bind e lastp  # select the last pane (prefix e)    # 选择最后一个面板
    bind ^e last  # select the last window (prefix Ctrl+e)    # 选择最后一个窗口
    bind q killp  # kill pane (prefix q)    # 关闭当前面板
    bind ^q killw # kill window (prefix Ctrl+q)    # 关闭当前窗口
    
    
    # app
    bind ! splitw htop                                     # htop (prefix !)
    bind m command-prompt "splitw 'exec man %%'"           # man (prefix m)
    bind @ command-prompt "splitw 'exec perldoc -t -f %%'" # perl func (prefix @)
    bind * command-prompt "splitw 'exec perldoc -t -v %%'" # perl var (prefix *)
    bind % command-prompt "splitw 'exec perldoc -t %%'"    # perl doc (prefix %)
    bind / command-prompt "splitw 'exec ri %%'"            # ruby doc (prefix /)
    
    
    #-- statusbar --#
    set -g status-utf8 on    # 开启状态栏的UTF-8支持
    set -g status-interval 1    # 状态栏的分辨时间间隔
    set -g status-keys vi    # 操作状态栏时的默认键盘布局;可以设置为vi或emacs
    set -g visual-activity on    # 开启窗口操作的可视
    set -g set-clipboard on    # 开启剪切板
    set -g display-panes-time 800 # slightly longer pane indicators display time    # 稍长的窗格中显示的时间指标
    set -g display-time 1000      # slightly longer status messages display time    # 稍长的状态消息的显示时间
    set -g renumber-windows on    # renumber windows when a window is closed    # 关闭窗口后重新编号
    
    setw -g automatic-rename on    # rename window to reflect current program    # 重命名窗口,以反映当前的程序
    setw -g utf8 on    # 开启窗口的UTF-8支持
    setw -g monitor-activity on    # 开启窗口活动监视
    setw -g mode-keys vi    # 复制模式中的默认键盘布局;可以设置为vi或emacs
    setw -g clock-mode-style 24 # 24 hour clock    # 24小时显示方式
    #setw -g mode-mouse on    # 开启鼠标模式
    
    # copy mode
    bind Enter copy-mode # enter copy mode    # 按Enter进入复制模式
    bind b list-buffers  # list paster buffers    # 复制缓冲区列表
    bind p paste-buffer  # paste from the top pate buffer    # 粘贴最后复制的缓冲区内容
    bind P choose-buffer # choose which buffer to paste from    # 选择粘贴缓冲区
    
    # the following vi-copy bindings match my vim settings
    # see https://github.com/gpakosz/.vim.git
    bind -t vi-copy v begin-selection    # 复制模式下开始选取
    bind -t vi-copy C-v rectangle-toggle    # 复制模式下矩形选取
    bind -t vi-copy y copy-selection    # 复制模式下复制选取的内容
    bind -t vi-copy Escape cancel    # 复制模式下退出复制模式
    bind -t vi-copy H start-of-line    # 复制模式下开始行选取
    bind -t vi-copy L end-of-line    # 复制模式下结束行选取
    
    # mouse resize selcet
    #setw -g mouse-resize-pane on    # 鼠标调整面板大小
    #setw -g mouse-select-pane on    # 鼠标选择面板
    #setw -g mouse-select-window on    # 鼠标选择窗口
    
    # move x clipboard into tmux paste buffer
    bind C-p run "tmux set-buffer "$(xclip -o -sel clipbaord)"; tmux paste-buffer" 
    # move tmux copy buffer into x clipboard
    bind C-y run "tmux show-buffer | xclip -i -sel clipbaord"
    
    
    #-- colorscheme --#
    # see also: https://github.com/daethorian/conf-tmux/blob/master/colors/zenburn.conf
    
    # modes
    setw -g clock-mode-colour colour223
    setw -g mode-attr bold
    setw -g mode-fg colour223
    setw -g mode-bg colour235
    
    # panes
    set -g pane-border-bg colour234
    set -g pane-border-fg colour234
    set -g pane-active-border-bg colour232
    set -g pane-active-border-fg colour232
    
    
    # statusbar
    set -g status-justify centre
    set -g status-bg colour235
    set -g status-fg colour248
    set -g status-attr dim
    
    set -g status-left "#[fg=green,bright]Session: #S #[fg=yellow,bright]Window: #I #[fg=cyan,bright]Pane: #P"
    set -g status-left-attr bright
    set -g status-left-length 30
    set -g status-right "#[fg=yellow,bright][ #[fg=cyan,bright]#W #[fg=yellow,bright]]#[default] #[fg=yellow,bright]- %Y.%m.%d #[fg=green,bright]%H:%M #[default]"
    set -g status-right-attr bright
    set-option -g status-right-length 30
    
    setw -g window-status-current-fg colour223
    setw -g window-status-current-bg colour237
    setw -g window-status-current-attr bold
    #setw -g window-status-current-format "#I:#W#F"
    
    #setw -g window-status-alert-attr bold
    #setw -g window-status-alert-fg colour255
    #setw -g window-status-alert-bg colour160
    
    # messages
    set -g message-attr bold
    set -g message-fg colour223
    set -g message-bg colour235

    .Xresources

    !------------------------------------------ 
    ! XTerm 
    !------------------------------------------ 
    XTerm*termName:                 xterm-color 
    XTerm*visualBell:               false 
    XTerm*marginBell:               false 
    XTerm*alwaysHighlight:          false 
    XTerm*cursorBlink:              true 
    XTerm*cursorOffTime:            450 
    XTerm*cursorOnTime:             900 
    XTerm*highlightSelection:       true 
    XTerm*saveLines:                8192 
    XTerm*foreground:               rgb:a8/a8/a8 
    XTerm*background:               rgb:00/00/00 
    XTerm*color0:                   rgb:00/00/00 
    XTerm*color1:                   rgb:a8/00/00 
    XTerm*color2:                   rgb:00/a8/00 
    XTerm*color3:                   rgb:a8/54/00 
    XTerm*color4:                   rgb:00/00/a8 
    XTerm*color5:                   rgb:a8/00/a8 
    XTerm*color6:                   rgb:00/a8/a8 
    XTerm*color7:                   rgb:a8/a8/a8 
    XTerm*color8:                   rgb:54/54/54 
    XTerm*color9:                   rgb:fc/54/54 
    XTerm*color10:                  rgb:54/fc/54 
    XTerm*color11:                  rgb:fc/fc/54 
    XTerm*color12:                  rgb:54/54/fc 
    XTerm*color13:                  rgb:fc/54/fc 
    XTerm*color14:                  rgb:54/fc/fc 
    XTerm*color15:                  rgb:fc/fc/fc 
    XTerm*scrollBar:                true 
    XTerm*rightScrollBar:           true 
    XTerm*scrollKey:                false 
    XTerm*scrollTtyOutput:          false 
    XTerm*loginShell:               false 
    XTerm*locale:                   true 
    XTerm*eightBitInput:            false 
    XTerm*eightBitOutput:           true 
    XTerm*metaSendEscape:           true 
    XTerm*faceName:                 Bitstream Vera Sans Mono 
    XTerm*faceSize:                 14 
    XTerm*faceNameDoublesize:       WenQuanYi Bitmap Song 
    XTerm*mkWidth:                  false 
    XTerm*charClass: 33:48,36-47:48,58-59:48,61:48,63-64:48,95:48,126:48

    ================ End

  • 相关阅读:
    lntelliJ IDEA 皮肤设置
    Maven安装与配置
    lntelliJ IDEA 使用 Maven 与 每次新建项目都需要重新配置的解决方案
    Spring Boot 扫描机制说明
    Spring Boot Filter 使用指南
    Gradle构建CAS4.2.7爬坑指南
    Java的垃圾回收
    final与static
    angular directive自定义指令
    ui-router
  • 原文地址:https://www.cnblogs.com/lsgxeva/p/8727590.html
Copyright © 2011-2022 走看看