zoukankan      html  css  js  c++  java
  • 我用的/etc/vimrc

    " 映射非数字/字母键, 如:ctrl,shift, alt, home,end,功能键F1~F12, 要把这些键用尖括号括起来!如:

    map <F3> :NERDTree<CR>

    (pending 悬而未决的, 搁起的, 甩起的... the case/matter is still pending in court)

    vim的operator pending操作符待决/悬挂 模式, 是指在操作符如dw的d, 和其操作的对象 按键w 之间存在的短暂时间.

    vim的map有多种状态下的映射(共5种):nmap, vmap, omap, imap, cmap. 注意每种命令所对应的模式,

    Command
    命令
    Normal
      常规模式  
    Visual
    可视化模式
    Operator Pending
    运算符模式
    Insert Only
    插入模式
    Command Line
    命令行模式
    :map y y y    
    :nmap y        
    :vmap   y      
    :omap     y    
    :map!       y y
    :imap       y  
    :cmap         y

    注意,map作用的是normal, visual,operator这三种模式, 其中 map! 作用的是插入insert和commandline命令行模式.

    winpos 50 50 其中的winpos是一个命令, 不是参数,不要用set.

    要实现某个插件的切换功能, 试试:   :????Toggle<cr> 就是看有没有自动的切换那个功能?

     ------------------------------   /etc/vimrc  ---------------------------------------

    if v:lang =~ "utf8$" || v:lang =~ "UTF-8$"
       set fileencodings=ucs-bom,utf-8,latin1
       "这个是自定义将文件写入存储介质时的字符集这里设为gb2312
       " fileencodings=gb2312,gbk
    endif

    set nocompatible

    set guioptions-=T
    "set guioptions-=m
    set guifont=Monospace 12
    colorscheme murphy

    set shiftwidth=4
    set softtabstop=4

    set lines=40 columns=110
    winpos 230 40

    set nobackup
    set noswapfile

    " 设置文件修改时自动载入, 自动保存
    set autoread
    set autowrite

    set cursorline
    set magic
    set syntax=on
    set incsearch
    set hlsearch
    "搜索时,忽略大小写
    set ignorecase  

    "按F3实现NERDTree的自动切换
    map <F3> :NERDTreeToggle<CR>
    map <C-A> ggvGy

    " vi中的所有字符都没有特殊含义!vim要与vi兼容, 但是在表示vim中一些特殊含义的时候, 就得
    " 要把这些特殊符合,从兼容集cpoptions中去掉!
    set cpoptions-=<
    " 从cpoptions中去掉C, 启用行继续符 \, 解决“E10:..."问题
    set cpoptions-=C
    set cpoptions-=u    "去掉和vi兼容的撤销undo u命令?

    "统一的,用一个命令来解决vim和vi的兼容性问题
    "那就是, 不要让vim去兼容,去管vi的, 完全使用vim的操作方式, 不管vi的,
    "也就不用一个一个地来设置cpoptions了
    "set nocompatible

    "在insert mode下也可以 快速移动到行尾和行首"
    inoremap <c-h> <esc>I
    inoremap <c-l> <esc>A
    inoremap  jk <esc>
    inoremap jj <esc>ji
    inoremap kk <esc>ki
    inoremap hh <esc>ha
    inoremap ll <esc>la
    inoremap nn <esc>ji
    set nu

    " 自动匹配括号, 引号
    inoremap ( ()<ESC>i
    inoremap [ []<ESC>i
    inoremap { {}<ESC>i
    inoremap ' ''<ESC>i

    " allow backspacing over everything in insert mode
    set bs=indent,eol,start        
    " always set autoindenting on
    set ai            
    set viminfo='20,"50    " read/write a .viminfo file, don't store more
                " than 50 lines of registers
    set history=100
    set ruler

    " Only do this part when compiled with support for autocommands
    if has("autocmd")
      augroup redhat
      autocmd!
      " In text files, always limit the width of text to 78 characters
      autocmd BufRead *.txt set tw=78
      " When editing a file, always jump to the last cursor position
      autocmd BufReadPost *
      if line("'"") > 0 && line ("'"") <= line("$") |
         exe "normal! g'"" |
      endif
      " don't write swapfile on most commonly used directories for NFS mounts or USB sticks
      autocmd BufNewFile,BufReadPre /media/*,/mnt/* set directory=~/tmp,/var/tmp,/tmp
      " start with spec file template
      autocmd BufNewFile *.spec 0r /usr/share/vim/vimfiles/template.spec
      augroup END
    endif

    if has("cscope") && filereadable("/usr/bin/cscope")
       set csprg=/usr/bin/cscope
       set csto=0
       set cst
       set nocsverb
       " add any database in current directory
       if filereadable("cscope.out")
          cs add cscope.out
       " else add database pointed to by environment
       elseif $CSCOPE_DB != ""
          cs add $CSCOPE_DB
       endif
       set csverb
    endif

    " Switch syntax highlighting on, when the terminal has colors
    " Also switch on highlighting the last used search pattern.
    if &t_Co > 2 || has("gui_running")
      syntax on
      set hlsearch
    endif

    filetype plugin on

    if &term=="xterm"
         set t_Co=8
         set t_Sb=[4%dm
         set t_Sf=[3%dm
    endif

    " Don't wake up system with blinking cursor:
    " http://www.linuxpowertop.org/known.php
    let &guicursor = &guicursor . ",a:blinkon0"

    " 设置不生成备份和交换文件,这个要放在最后
    " 同样的设置,后面的设置(可能从$runtime/...中引入其他配置)会覆盖前面的设置
    " 如这里,当后面设置set backup, 将会覆盖前面的set nobackup
    " 从而一直找不到生成backup文件的原因!!

    " 将系统剪切板设置为默认的 “未命名”寄存器,便于粘贴
    set clipboard=unnamed
    cd ~

    " 如果需要想对特定的文件类型使用特定的字体,则可以将下面的语句加入到vimrc文件中去:
    " autocmd BufEnter  *. txt set guifont = Arial 12
    set mouse=a

    let g:winManagerWindowLayout='FileExplorer|TagList'
    map wm  :WMToggle<CR>

    --------------------------- ~/.vimrc  实现Vundle的自动化管理----------------------------

    set nocompatible
    filetype off

    set rtp+=~/.vim/bundle/Vundle.vim
    call vundle#begin()
    Plugin 'VundleVim/Vundle.vim'

    Plugin 'taglist.vim'
    Plugin 'OmniCppComplete'
    Plugin 'AutoComplPop'
    Plugin 'c.vim'
    Plugin 'supertab'
    Plugin 'scrooloose/nerdtree'
    Plugin 'winmanager'
    Plugin 'minibufexplorerpp'
    Plugin 'snipMate'
    Plugin 'Lokaltog/vim-powerline'

    call vundle#end()
    filetype plugin indent on

  • 相关阅读:
    Android stadio 插件推荐--ok gradle
    算法:枚举法---kotlin
    Kotlin 二分法算法游戏--猜价格
    android onCreate的两个方法
    Spring 中的scope
    Intellij IDEA 2017 debug断点调试技巧与总结详解篇
    深入浅出ConcurrentHashMap1.8
    ConcurrentHashMap JDK1.8
    synchronized修饰普通方法和静态方法
    Java多线程系列--CopyOnWriteArraySet
  • 原文地址:https://www.cnblogs.com/bkylee/p/4933315.html
Copyright © 2011-2022 走看看