首页 > 其他分享 >amix vim vimrc 3.6 [_vimrc x64 vim (WorkPlace)]配置

amix vim vimrc 3.6 [_vimrc x64 vim (WorkPlace)]配置

时间:2023-07-31 12:38:20浏览次数:39  
标签:map set vimrc x64 vim let endif au

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 " Maintainer: amix the lucky stiff
"             http://amix.dk - [email protected]
"
" Version: 3.6 - 25/08/10 14:40:30
"
" Blog_post: 
"        http://amix.dk/blog/post/19486#The-ultimate-vim-configuration-vimrc" Syntax_highlighted:
"       http://amix.dk/vim/vimrc.html" Raw_version: 
"       http://amix.dk/vim/vimrc.txt"
" How_to_Install_on_Unix:
"    $ mkdir ~/.vim_runtime
"    $ svn co svn://orangoo.com/vim ~/.vim_runtime
"    $ cat ~/.vim_runtime/install.sh
"    $ sh ~/.vim_runtime/install.sh <system>
"      <sytem> can be `mac`, `linux` or `windows`
"
" How_to_Upgrade:
"    $ svn update ~/.vim_runtime
"
" Sections:
"    -> General
"    -> VIM user interface
"    -> Colors and Fonts
"    -> Files and backups
"    -> Text, tab and indent related
"    -> Visual mode related
"    -> Command mode related
"    -> Moving around, tabs and buffers
"    -> Statusline
"    -> Parenthesis/bracket expanding
"    -> General Abbrevs
"    -> Editing mappings
"
"    -> Cope
"    -> Minibuffer plugin
"    -> Omni complete functions
"    -> Python section
"    -> JavaScript section
"
"
" Plugins_Included:
"     > minibufexpl.vim -  http://www.vim.org/scripts/script.php?script_id=159"       Makes it easy to get an overview of buffers:
"           info -> :e ~/.vim_runtime/plugin/minibufexpl.vim
"
"     > bufexplorer -  http://www.vim.org/scripts/script.php?script_id=42"       Makes it easy to switch between buffers:
"           info -> :help bufExplorer
"
"     > yankring.vim -  http://www.vim.org/scripts/script.php?script_id=1234"       Emacs's killring, useful when using the clipboard:
"           info -> :help yankring
"
"     > surround.vim -  http://www.vim.org/scripts/script.php?script_id=1697"       Makes it easy to work with surrounding text:
"           info -> :help surround
"
"     > snipMate.vim -  http://www.vim.org/scripts/script.php?script_id=2540"       Snippets for many languages (similar to TextMate's):
"           info -> :help snipMate
"
"     > mru.vim -  http://www.vim.org/scripts/script.php?script_id=521"       Plugin to manage Most Recently Used (MRU) files:
"           info -> :e ~/.vim_runtime/plugin/mru.vim
"
"     > Command-T -  http://www.vim.org/scripts/script.php?script_id=3025"       Command-T plug-in provides an extremely fast, intuitive mechanism for opening filesa:
"           info -> :help CommandT
"           screencast and web-help ->  http://amix.dk/blog/post/19501"
"
"  Revisions:
"     > 3.6: Added lots of stuff (colors, Command-T, Vim 7.3 persistent undo etc.)
"     > 3.5: Paste mode is now shown in status line  if you are in paste mode
"     > 3.4: Added mru.vim
"     > 3.3: Added syntax highlighting for Mako mako.vim 
"     > 3.2: Turned on python_highlight_all for better syntax
"            highlighting for Python
"     > 3.1: Added revisions ;) and bufexplorer.vim
"
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""


"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => General
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Sets how many lines of history VIM has to remember
set  history=700

" Enable filetype plugin
filetype  plugin on
filetype  indent on

" Set to auto read when a file is changed from the outside
set  autoread

" With a map leader it's possible to do extra key combinations
" like <leader>w saves the current file
let mapleader  = ","
let g:mapleader  = ","

" Fast saving
nmap  <leader>w :w!<cr>

"IS2120@CSDN ADD //z 2012-3-29 10:51:10 AM @TC,B
" Fast editing of the .vimrc
map  <leader>e :e! ~/.vim_runtime/vimrc<cr>

" When vimrc is edited, reload it
autocmd!  bufwritepost vimrc source ~/.vim_runtime/vimrc


"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => VIM user interface
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Set 7 lines to the curors - when moving vertical..
set  so=7

set  wildmenu "Turn on WiLd menu

set  ruler "Always show current position

set  cmdheight=2 "The commandbar height

set  hid "Change buffer - without saving

" Set backspace config
set  backspace=eol,start,indent
set  whichwrap+=<,>,h,l

set  ignorecase "Ignore case when searching
set  smartcase

set  hlsearch "Highlight search things

set  incsearch "Make search act like search in modern browsers
set  nolazyredraw "Don't redraw while executing macros 

set  magic "Set magic on, for regular expressions

set  showmatch "Show matching bracets when text indicator is over them
set  mat=2 "How many tenths of a second to blink

" No sound on errors
set  noerrorbells
set  novisualbell
set  t_vb=
set  tm=500


"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => Colors and Fonts
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
syntax  enable "Enable syntax hl

function! MySys()
   if  has("win32")
     return  "win32"
   elseif  has("unix")
     return  "unix"
   else
     return  "mac"
   endif
endfunction

" Set font according to system
if MySys() == "mac"
   set  gfn=Menlo:h14
   set  shell=/bin/bash
elseif MySys() == "win32"
  "set gfn=Bitstream\ Vera\ Sans\ Mono:h10
   set  gfn=YaHei_Consolas_Hybrid:h13
elseif MySys() == "linux"
   set  gfn=Monospace\ 10
   set  shell=/bin/bash
endif

if  has("gui_running")
  "set guioptions-=m
   set  guioptions-=T
  "set guioptions-=l
  "set guioptions-=L
  "set guioptions-=r
  "set guioptions-=R
   set  t_Co=256
   set  background=dark
   colorscheme elflord
   set  nonu
else
   colorscheme zellner
   set  background=dark

   set  nonu
endif

"set encoding=prc
set  encoding=utf-8
try
     lang en_US
catch
endtry

set  ffs=unix,dos,mac "Default file types


"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => Files, backups and undo
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Turn backup off, since most stuff is in SVN, git anyway...
set  nobackup
set  nowb
set  noswapfile

"Persistent undo
try
     if MySys() == "win32"
       set  undodir=C:\Windows\Temp
     else
       set  undodir=~/.vim_runtime/undodir
     endif

     set  undofile
catch
endtry


"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => Text, tab and indent related
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set  expandtab
set  shiftwidth=4
set  tabstop=4
set  smarttab

set  lbr
set  tw=500

set  ai "Auto indent
set  si "Smart indet
set  wrap "Wrap lines


""""""""""""""""""""""""""""""
" => Visual mode related
""""""""""""""""""""""""""""""
" Really useful!
"  In visual mode when you press * or # to search for the current selection
vnoremap  <silent> * :call VisualSearch('f')<CR>
vnoremap  <silent> # :call VisualSearch('b')<CR>

" When you press gv you vimgrep after the selected text
vnoremap  <silent> gv :call VisualSearch('gv')<CR>
map  <leader>g :vimgrep // **/*.<left><left><left><left><left><left><left>


function! CmdLine(str)
     exe  "menu Foo.Bar :" .  a:str
     emenu Foo.Bar
     unmenu Foo
endfunction

" From an idea by Michael Naumann
function! VisualSearch(direction) range
     let l:saved_reg  = @"
     execute  "normal! vgvy"

     let l:pattern  = escape(@", '\\/.*$^~[]')
     let l:pattern  = substitute(l:pattern, "\n$", "",  "")

     if  a:direction ==  'b'
         execute  "normal ?" . l:pattern  . "^M"
     elseif  a:direction ==  'gv'
         call CmdLine("vimgrep " . '/'. l:pattern . '/'  . ' **/*.')
     elseif  a:direction ==  'f'
         execute  "normal /" . l:pattern  . "^M"
     endif

     let @/  = l:pattern
     let  @" = l:saved_reg
endfunction



"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => Command mode related
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Smart mappings on the command line
cno $h e ~/
cno $d e ~/Desktop/
cno $j e ./
cno $c e  <C-\>eCurrentFileDir("e")<cr>

" $q is super useful when browsing on the command line
cno $q  <C-\>eDeleteTillSlash()<cr>

" Bash like keys for the command line
cnoremap  <C-A>      <Home>
cnoremap  <C-E>      <End>
cnoremap  <C-K>      <C-U>

cnoremap  <C-P> <Up>
cnoremap  <C-N> <Down>

" Useful on some European keyboards
map ? $
imap ? $
vmap ? $
cmap ? $


func! Cwd()
   let cwd  = getcwd()
   return  "e " . cwd 
endfunc

func! DeleteTillSlash()
   let g:cmd  = getcmdline()
   if MySys() == "linux"  || MySys() == "mac"
     let g:cmd_edited  = substitute(g:cmd, "\\(.*\[/\]\\).*", "\\1", "")
   else
     let g:cmd_edited  = substitute(g:cmd, "\\(.*\[\\\\]\\).*", "\\1", "")
   endif
   if g:cmd  == g:cmd_edited
     if MySys() == "linux"  || MySys() == "mac"
       let g:cmd_edited  = substitute(g:cmd, "\\(.*\[/\]\\).*/", "\\1", "")
     else
       let g:cmd_edited  = substitute(g:cmd, "\\(.*\[\\\\\]\\).*\[\\\\\]", "\\1", "")
     endif
   endif
   return g:cmd_edited
endfunc

func! CurrentFileDir(cmd)
   return  a:cmd . " " . expand("%:p:h") . "/"
endfunc


"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => Moving around, tabs and buffers
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Map space to / (search) and c-space to ? (backgwards search)
map  <space> /
map  <c-space> ?
map  <silent> <leader><cr> :noh<cr>

" Smart way to move btw. windows
map  <C-j> <C-W>j
map  <C-k> <C-W>k
map  <C-h> <C-W>h
map  <C-l> <C-W>l

" Close the current buffer
map  <leader>bd :Bclose<cr>

" Close all the buffers
map  <leader>ba :1,300 bd!<cr>

" Use the arrows to something usefull
map  <right> :bn<cr>
map  <left> :bp<cr>

" Tab configuration
map  <leader>tn :tabnew<cr>
map  <leader>te :tabedit
map  <leader>tc :tabclose<cr>
map  <leader>tm :tabmove

" When pressing <leader>cd switch to the directory of the open buffer
map  <leader>cd :cd %:p:h<cr>


command! Bclose  call <SID>BufcloseCloseIt()
function!  <SID>BufcloseCloseIt()
    let l:currentBufNum  = bufnr("%")
    let l:alternateBufNum  = bufnr("#")

    if  buflisted(l:alternateBufNum)
      buffer #
    else
      bnext
    endif

    if  bufnr("%") == l:currentBufNum
      new
    endif

    if  buflisted(l:currentBufNum)
      execute("bdelete! ".l:currentBufNum)
    endif
endfunction

" Specify the behavior when switching between buffers 
try
   set  switchbuf=usetab
   set  stal=2
catch
endtry


""""""""""""""""""""""""""""""
" => Statusline
""""""""""""""""""""""""""""""
" Always hide the statusline
set  laststatus=2

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


function! CurDir()
     let curdir  = substitute(getcwd(), '/Users/amir/', "~/", "g")
     return curdir
endfunction

function! HasPaste()
     if &paste
         return  'PASTE MODE  '
     else
         return  ''
     endif
endfunction


"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => Parenthesis/bracket expanding
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
vnoremap $1  <esc>`>a)<esc>`<i(<esc>
vnoremap $2  <esc>`>a]<esc>`<i[<esc>
vnoremap $3  <esc>`>a}<esc>`<i{<esc>
vnoremap $$  <esc>`>a"<esc>`<i"<esc>
vnoremap $q  <esc>`>a'<esc>`<i'<esc>
vnoremap $e  <esc>`>a"<esc>`<i"<esc>

" Map auto complete of (, ", ', [
inoremap $1 ()<esc>i
inoremap $2 []<esc>i
inoremap $3 {}<esc>i
inoremap $4 {<esc>o}<esc>O
inoremap $q ''<esc>i
inoremap $e ""<esc>i
inoremap $t  <><esc>i


"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => General Abbrevs
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
iab xdate  <c-r>=strftime("%d/%m/%y %H:%M:%S")<cr>


"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => Editing mappings
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"Remap VIM 0
map 0 ^

"Move a line of text using ALT+[jk] or Comamnd+[jk] on mac
nmap  <M-j> mz:m+<cr>`z
nmap  <M-k> mz:m-2<cr>`z
vmap  <M-j> :m'>+<cr>`<my`>mzgv`yo`z
vmap  <M-k> :m'<-2<cr>`>my`<mzgv`yo`z

if MySys() == "mac"
   nmap  <D-j> <M-j>
   nmap  <D-k> <M-k>
   vmap  <D-j> <M-j>
   vmap  <D-k> <M-k>
endif

"Delete trailing white space, useful for Python ;)
func! DeleteTrailingWS()
   exe  "normal mz"
   %s/\s\+$//ge
   exe  "normal `z"
endfunc
autocmd  BufWrite *.py :call DeleteTrailingWS()

set  guitablabel=%t


"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => Cope
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Do :help cope if you are unsure what cope is. It's super useful!
map  <leader>cc :botright cope<cr>
map  <leader>n :cn<cr>
map  <leader>p :cp<cr>


""""""""""""""""""""""""""""""
" => bufExplorer plugin
""""""""""""""""""""""""""""""
let g:bufExplorerDefaultHelp=0
let g:bufExplorerShowRelativePath=1
map  <leader>o :BufExplorer<cr>


""""""""""""""""""""""""""""""
" => Minibuffer plugin
""""""""""""""""""""""""""""""
let g:miniBufExplModSelTarget = 1
let g:miniBufExplorerMoreThanOne = 2
let g:miniBufExplModSelTarget = 0
let g:miniBufExplUseSingleClick = 1
let g:miniBufExplMapWindowNavVim = 1
let g:miniBufExplVSplit  = 25
let g:miniBufExplSplitBelow=1

let g:bufExplorerSortBy  = "name"

autocmd  BufRead,BufNew :call UMiniBufExplorer

map  <leader>u :TMiniBufExplorer<cr>


"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => Omni complete functions
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
autocmd  FileType css set omnifunc=csscomplete#CompleteCSS


"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => Spell checking
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"Pressing ,ss will toggle and untoggle spell checking
map  <leader>ss :setlocal spell!<cr>

"Shortcuts using <leader>
map  <leader>sn ]s
map  <leader>sp [s
map  <leader>sa zg
map  <leader>s? z=


""""""""""""""""""""""""""""""
" => Python section
""""""""""""""""""""""""""""""
let python_highlight_all  = 1
au  FileType python syn keyword pythonDecorator True None False self

au  BufNewFile,BufRead *.jinja set  syntax=htmljinja
au  BufNewFile,BufRead *.mako set  ft=mako

au  FileType python inoremap <buffer> $r return
au  FileType python inoremap <buffer> $i import
au  FileType python inoremap <buffer> $p print
au  FileType python inoremap <buffer> $f #--- PH ----------------------------------------------<esc>FP2xi
au  FileType python map <buffer> <leader>1 /class
au  FileType python map <buffer> <leader>2 /def
au  FileType python map <buffer> <leader>C ?class
au  FileType python map <buffer> <leader>D ?def


""""""""""""""""""""""""""""""
" => JavaScript section
"""""""""""""""""""""""""""""""
au  FileType javascript call JavaScriptFold()
au  FileType javascript setl fen
au  FileType javascript setl nocindent

au  FileType javascript imap <c-t> AJS.log();<esc>hi
au  FileType javascript imap <c-a> alert();<esc>hi

au  FileType javascript inoremap <buffer> $r return
au  FileType javascript inoremap <buffer> $f //--- PH ----------------------------------------------<esc>FP2xi

function! JavaScriptFold()
     setl  foldmethod=syntax
     setl  foldlevelstart=1
     syn region foldBraces start=/{/ end=/}/ transparent fold keepend extend

     function! FoldText()
     return  substitute(getline(v:foldstart), '{.*', '{...}', '')
     endfunction
     setl  foldtext=FoldText()
endfunction


""""""""""""""""""""""""""""""
" => MRU plugin
""""""""""""""""""""""""""""""
let MRU_Max_Entries  = 400
map  <leader>f :MRU<CR>


""""""""""""""""""""""""""""""
" => Command-T
""""""""""""""""""""""""""""""
let g:CommandTMaxHeight  = 15
set  wildignore+=*.o,*.obj,.git,*.pyc
noremap  <leader>j :CommandT<cr>
noremap  <leader>y :CommandTFlush<cr>


""""""""""""""""""""""""""""""
" => Vim grep
""""""""""""""""""""""""""""""
let Grep_Skip_Dirs  = 'RCS CVS SCCS .svn generated'
set  grepprg=/bin/grep\ -nH



"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => MISC
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Remove the Windows ^M - when the encodings gets messed up
noremap  <Leader>m mmHmt:%s/<C-V><cr>//ge<cr>'tzt'm

"Quickly open a buffer for scripbble
map  <leader>q :e ~/buffer<cr>
au  BufRead,BufNewFile ~/buffer iab  <buffer> xh1 ===========================================

map  <leader>pp :setlocal paste!<cr>

map  <leader>bb :cd ..<cr>

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => Z
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
let g:calendar_focus_today  = 1
let g:calendar_diary  = "D:\\mydoc\\doc\\Ediary"

let Tlist_Show_One_File=1
let Tlist_Exit_OnlyWindow=1
"let Tlist_Ctags_Cmd = "/sw/bin/ctags-exuberant"
"let Tlist_Sort_Type = "name"
"let Tlist_Show_Menu = 1
"map <leader>t :Tlist<cr>
map  <F3> :Tlist<cr>

set  tags=tags;
set  autochdir

" turn off nice effect on status bar title
let performance_mode=1

"Get out of VI's compatible mode..
set  nocompatible

"Have the mouse enabled all the time:
if  exists("&mouse")
   set  mouse=a
endif

set  fileencodings=ucs-bom,utf-8,cp936,gb2312,gbk,gb18030,chinese,big5,euc-jp,euc-kr,latin1 

highlight menu  font=YaHei_Consolas_Hybrid
language messages en_US
set  langmenu=en_US
let  $LANG = 'en_US'
source  $VIMRUNTIME/delmenu.vim
source  $VIMRUNTIME/menu.vim

"if you use vim in tty,
"'uxterm -cjk' or putty with option 'Treat CJK ambiguous characters as wide' on
if  exists("&ambiwidth")
   set  ambiwidth=double
endif

"Highlight current
if  has("gui_running")
   if  exists("&cursorline")
     set  cursorline
   endif
endif

"Switch to current dir
map  <leader>cd :cd %:p:h<cr>

"Comment for C like language
if  has("autocmd")
   au  BufNewFile,BufRead *.js,*.htc,*.c,*.tmpl,*.css ino $c /**<cr> **/<esc>O
endif

"My information
ia xdate  <c-r>=strftime("%d/%m/%y %H:%M:%S")<cr>
"iab xname Amir Salihefendic

"Enable folding, I find it very useful
if  exists("&foldenable")
   set  fen
endif

if  exists("&foldlevel")
   set  fdl=0
endif

set  nofen
set  fdl=0
"set lbr
"set si
"set wrap

autocmd  FileType c,cpp,cs set shiftwidth=4 | set  tabstop=4 |set expandtab

"au BufNewFile,BufRead *.todo so ~/vim_local/syntax/amido.vim

if  has("autocmd") && v:version>600
   au  BufRead,BufNew *.vim map  <buffer> <leader><space> :w!<cr>:source %<cr>
endif

" HTML entities - used by xml edit plugin
let xml_use_xhtml  = 1
"let xml_no_auto_nesting = 1

"To HTML
let html_use_css  = 0
let html_number_lines  = 0
let use_xhtml  = 1
set  autoindent

"set fileencodings=utf-8,gb2312,gbk,cp936
"set termencoding=utf-8
"set fileformats=dos,unix
"set language=chinese_china
"set encoding=prc
set  encoding=utf-8
set  fenc=utf-8
set  fencs=ucs-bom,utf-8,cp936,gb2312,gbk,gb18030,chinese,big5,euc-jp,euc-kr,latin1

"charset=utf-8
let g:html_use_css  = 0
let g:html_use_encoding  = "utf-8"
"let g:html_use_encoding = "gb2312"
let g:html_use_xhtml  = 0 "Use stylesheet instead of inline style
let g:html_no_pre  = 1 "don’t wrap lines in 
let g:html_number_lines  = 0 "don’t show line numbers

let g:fencview_autodetect  = 1
set  guifont=YaHei_Consolas_Hybrid:h13
set  guifontwide=YaHei_Consolas_Hybrid:h13

"c# compiler
"auto save the file before compile
set  autowrite
set  makeprg=csc\ /nologo\ %
set  efm+=%A%f(%l\\,%c):%m
nnoremap  <silent> <F5> :!start cmd /c "%:p:r:s,$,.exe," & pause<CR>

"最大化窗口
if  has("gui_running")
   if MySys()=="win32"
    "start gvim maximized
     if  has("autocmd")
       au  GUIEnter * simalt ~x
     endif
   endif
endif

set  hls
syntax  on
set  showcmd
set  nomagic

"模仿MS Windows中的快捷键
vmap  <C-c> "yy
vmap  <C-x> "yd
nmap  <C-v> "yp
vmap  <C-v> "yp
nmap  <C-a> ggvG$

"状态行
set  laststatus=2
set  statusline=%<[%02n]\ %F%m%r%h%w\ [FE=%{&fileencoding}]\ [E=%{&enc}]\ [F=%{&ff}]\ [T=%Y]\ [P=%l/%L,%v][%p%%]\ [B=%{&bomb}]
"set statusline=\ %{HasPaste()}%F%m%r%h\ %w\ \ CWD:\ %r%{CurDir()}%h\ \ \ Line:\ %l/%L:%c
"set statusline=%<[%02n]\ %F%(\ %m%h%w%y%r%)\ %a%=\ %8l,%c%V/%L\ (%P)\ [%08O:%02B]
"set statusline=%1*%F%m%r%h%w%=%(%c%V\ %l/%L\ %P%) %{strftime(\"%y/%m/%d\-\%H:%M\")}\ 
"set statusline=[%F]%y%r%m%*%=[Line:%l/%L,Column:%c][%p%%]

" 只在下列文件类型被侦测到的时候显示行号,普通文本文件不显示
if  has("autocmd")
autocmd  FileType h,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=100
"autocmd Filetype html,xml,xsl source $VIMRUNTIME/plugin/closetag.vim
autocmd  BufReadPost * 
  \ if line("'\"") > 0  && line("'\"") <= line("$") | 
  \   exe "normal g`\"" |
  \ endif
endif " has("autocmd")

标签:map,set,vimrc,x64,vim,let,endif,au
From: https://blog.51cto.com/u_16156420/6906997

相关文章

  • vim配置
    .vimrc"通用配置"settitleletmapleader=";""快捷键前置setnocompatible"不兼容原始vi模式"filetypeon"开启文件类型检测filetypepluginon"开启文件类型插件检测setnoeb&quo......
  • Gvim
                     文件加密 解除密码 set/Enter key :   空密码                  大小写替换   多窗口操作   ......
  • [linux]VIM实用技巧
    一、文本对象1.文本对象文本对象:基于结构定义的文本区域文本对象字符由两个字符组成,第一个字符永远是a/ii开头的文本对象会选择分隔符内部的文本a开头的文本对象会选择分隔符在内的整个文本即:i不包含边界,a包含边界注:1.文本对象可结合可视模式使用(v—可视字符)2.文本对象可结......
  • GVIM 使用技巧
    本文参考《GVIM教程基于明德扬课程》哔哩哔哩_bilibili1.GVIM三种模式GVIM有三个操作模式,分别是命令模式、编辑模式和列操作模式。默认GVIM是命令模式。在命令模式下,输入i进入编辑模式。在任何模式下,按Esc进入命令模式。在命令模式下,按ctrl+q进入列操作模式。......
  • VS的 x86_64 , x64_86 , x64 , x86 有什么区别
    x86NativeToolsCommandPrompt-Setstheenvironmenttouse32-bit,x86-nativetoolstobuild32-bit,x86-nativecode.x64NativeToolsCommandPrompt-Setstheenvironmenttouse64-bit,x64-nativetoolstobuild64-bit,x64-nativecode.x86_x64Cross......
  • 4.vim帮助文档
    1.1basicmodesChinesereferencemanualhttps://yianwillis.github.io/vimcdoc/doc/help.html:helpON-LINEHELP#searchforhelp:help:helpkeyword#example:helpinsertingstartNormalmode#vimfile.txtSinceyouhavejuststartedVimitwil......
  • Vim文本编辑器
    可以分别使用a、i、o三个键从命令模式切换到输入模式。其中,a键与i键分别是在光标后面一位和光标当前位置切换到输入模式,而o键则是在光标的下面再创建一个空行,此时可敲击a键进入到编辑器的输入模式 命令模式中最常用的一些命令命令 作用dd 删除(剪切)光标所在整行5dd 删除(剪切)从光......
  • linux vi和vim编辑器
    摘要目的介绍vi和vim介绍最常用的指令一、vi和vim简介Linux系统会内置vi文本编辑器Vim具有程序编辑的能力,可以看做是Vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。二、......
  • 正点原子Ubuntu入门011---vim编辑器
    一、vim编辑器安装vim编辑器sudoapt-getinstallvim 二、vim编辑器的三种工作模式vi  xxx  使用vi编辑器打开文件一般模式(指令模式):使用vi打开一个文件以后自动进入到此模式编辑模式:一般模式中无法编辑文件,要编辑输入文件就要进入编辑模式,按下“i、I、a、A、o......
  • ubuntu下gvim启动出现gtk warning Invalid input string
    问题:安装Ubuntu10.04LucidLynx后,GVim无法正常显示中文菜单。错误信息:引用:Gtk-WARNING**:Invalidinputstring原因:Ubuntu10.04LucidLynx默认安装将会把中文区域设置为zh_CN.utf8,而GVim能识别的中......