`
oyscal
  • 浏览: 8908 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

我的VI配置

阅读更多
set nocompatible

let mapleader = ","
let g:mapleader = ","

" Make a simple "search" text object.
vnoremap <silent> s //e<C-r>=&selection=='exclusive'?'+1':''<CR><CR>
    \:<C-u>call histdel('search',-1)<Bar>let @/=histget('search',-1)<CR>gv
omap s :normal vs<CR>

command! -complete=shellcmd -nargs=+ Shell call s:RunShellCommand(<q-args>)
function! s:RunShellCommand(cmdline)
  echo a:cmdline
  let expanded_cmdline = a:cmdline
  for part in split(a:cmdline, ' ')
     if part[0] =~ '\v[%#<]'
        let expanded_part = fnameescape(expand(part))
        let expanded_cmdline = substitute(expanded_cmdline, part, expanded_part, '')
     endif
  endfor
  botright new
  setlocal buftype=nofile bufhidden=wipe nobuflisted noswapfile nowrap
  call setline(1, 'You entered:    ' . a:cmdline)
  call setline(2, 'Expanded Form:  ' .expanded_cmdline)
  call setline(3,substitute(getline(2),'.','=','g'))
  execute '$read !'. expanded_cmdline
  setlocal nomodifiable
  close
  1
endfunction

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

if has("win32")
    source $VIMRUNTIME/mswin.vim
    behave mswin
    set guifont=courier_new:h10:cANSI
endif
"
"Fast reloading of the .vimrc
map <leader>s :source ~/.vimrc<cr>
"Fast editing of .vimrc
map <leader>e :e! ~/.vimrc<cr>
"When .vimrc is edited, reload it
autocmd! bufwritepost vimrc source ~/.vimrc

set ffs=unix,dos,mac

nmap <leader>fd :se ff=dos<cr>
nmap <leader>fu :se ff=unix<cr>

filetype plugin indent on
set ruler
set scrolloff=0
set lazyredraw
set mouse=a
set guitablabel=%{tabpagenr()}.%t\ %m
"autocmd GUIEnter * simalt ~x
set number
syntax enable
set expandtab
set tabstop=4
set cindent shiftwidth=4
set hlsearch
set foldcolumn=4
set foldmethod=syntax
set foldlevelstart=99
set noswapfile
set guioptions+=b
set shortmess+=A
set directory=$VIMRUNTIME/tmp

autocmd FileType make setlocal noexpandtab

color desert

"set encoding=chinese
"set fileencoding=chinese
"set termencoding=chinese
set fileencodings=ucs-bom,utf-8,chinese,taiwan,latin1  

"internationalization
"I only work in Win2k Chinese version
"if has("multi_byte")
"set termencoding=chinese
"set encoding=utf-8
"set fileencodings=utf-8,chinese,ucs-bom
"endif

"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

if has('gui_running') && has("win32")
    au GUIEnter * simalt ~x
endif

set hid

set tags=~/tags/stdc.tag,tags

"set browsedir=buffer
set history=500
set showtabline=2
set wildmenu
set novisualbell
set noerrorbells

set laststatus=2

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

set statusline=\ %F%m%r%h\ %w\ \ CWD:\ %r%{CurDir()}%h\ \ \ Line:\ %l/%L:%c/%p%%\ \ \ \ FMT:%{&ff}\ [%Y]\ \ \ ASCII[%02.4BH]\

set incsearch
set ignorecase
set smartcase
set matchtime=3
set backspace=indent,eol,start
set cinoptions=:0g0t0(sus
set cinwords=if,elseif,else,for,while,try,except,finally,def,class        
set formatoptions+=mM

""""""""""""""""""""""""""""""
" Vim Grep
""""""""""""""""""""""""""""""
let Grep_Skip_Dirs = 'RCS CVS SCCS .svn'
let Grep_Cygwin_Find = 1


""""""""""""""""""""""""""""""
" Visual
""""""""""""""""""""""""""""""
" 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"
  else
    execute "normal /" . l:pattern . "^M"
  endif
  let @/ = l:pattern
  let @" = l:saved_reg
endfunction

"Basically you press * or # to search for the current selection !! Really useful
vnoremap <silent> * :call VisualSearch('f')<CR>
vnoremap <silent> # :call VisualSearch('b')<CR>

"Map space to / and c-space to ?
map <space> /
map <c-space> ?

"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

"Tab configuration
map <leader>tn :tabnew %<cr>
map <leader>te :tabedit
map <leader>tc :tabclose<cr>
map <leader>tm :tabmove
try
  set switchbuf=usetab
  set stal=2
catch
endtry

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

if has("autocmd")
    autocmd FileType python set complete+=kD:/bin/pydiction iskeyword+=.,(
endif " has("autocmd")

:nnoremap <silent> <F5> :!start cmd /c "%:p:r:s,$,.exe," & pause<CR>
noremap <F6> <ESC><ESC>:w!<CR> :!start cmd /c "dmd -m64 %" & pause<CR>
noremap <silent> <F7> :Tlist<CR> 

"noremap <F6> :make<CR>
"noremap <S-F6> :make clean;make<CR>

noremap <F1> <C-o>
noremap <F2>  <Tab>
noremap <F3> <C-W>gf<CR>

noremap <C-s> :w<CR>
noremap! <C-s> <ESC><ESC>:w<CR>a

noremap <C-o> :browse tabnew<CR>:cd %:p:h<CR>

"noremap <Tab> <C-W>w:cd %:p:h<CR>:<CR>
"noremap <S-Tab> <C-W>W:cd %:p:h<CR>:<CR>

noremap <C-c> "+y
noremap <C-v> "+p

noremap! <C-c> <ESC><ESC>"+y
noremap! <C-v> <ESC><ESC>"+p

"map <F12> :Project<CR>

let Tlist_File_Fold_Auto_Close = 1
let Tlist_GainFocus_On_ToggleOpen = 1
let Tlist_Exit_OnlyWindow  = 1
let Tlist_Show_One_File = 0
let Tlist_Process_File_Always = 1
let Tlist_Close_On_Select = 0
let proj_flags="cgFims"
分享到:
评论

相关推荐

    vi配置命令文件

    Linux Vi配置文件,内含常用vi编辑配置及软件开发使用的快捷键操作 自动补全、允许鼠标操作

    VI的简单配置及配置文件集锦

    ### VI的简单配置及配置文件集锦 #### 知识点概述 对于UNIX/Linux系统的新手用户来说,学会高效地使用VI(Visual Editor)是非常重要的。VI是UNIX/Linux环境下非常强大的文本编辑器之一,虽然其功能强大,但对于...

    vi配置文件

    **vi配置文件详解** 在Linux和Unix-like操作系统中,`vi`(Visual Editor)是一款非常流行的文本编辑器,它的增强版`vim`(Vi Improved)则提供了更多的功能和改进。`vi`配置文件,通常称为`.vimrc`,是用户自定义`...

    vi配置成功

    ### Ubuntu下vi编辑器的配置方法 #### 一、引言 在Ubuntu系统中,vi(Visual Editor)是一款非常强大的文本编辑器,特别是在Linux环境下进行编程、系统管理和文本处理时非常实用。本文将详细介绍如何在Ubuntu系统中...

    vi的配置文件

    这个.vimrc配置是我一直使用的,简单但是挺实用的。有自动缩进,语法高亮,行号显示等,实用这个配置用vi编写c/c++代码已经够用了。 下载后,将vimrc文件拷贝到home目录下,重命名为.vimrc即可

    Linux下的vi配置

    在Linux世界中,`vi`(Visual Editor)是一款经典的文本编辑器,它的增强版`vim`(Vi IMproved)在保留原有功能的基础上增加了许多新特性。对于Linux或Ubuntu用户来说,掌握`vim`的配置是提升开发效率的关键步骤。...

    vi编辑器的配置文件与操作文档

    "vi配置文件.txt"文档可能会提供更具体的.vimrc配置示例或解释,你可以根据这些示例进一步定制你的编辑器环境,使其更适合你的工作习惯。 总之,vi编辑器的配置文件.vimrc是个性化编辑器体验的关键,而.vimrc中的...

    vi 配置+ 插件 解压可用

    在这个“vi配置+插件 .vimrc 解压可用”的主题中,我们将深入探讨`Vim`的配置文件`.vimrc`以及如何管理和使用`Vim`插件。 首先,`.vimrc`是`Vim`的初始化配置文件,位于用户的主目录下(通常在Unix/Linux系统中是`~...

    linux上vi的初始最佳配置

    在Linux环境中,`vi`编辑器是一个非常常用的文本编辑工具,但其默认配置可能并不完全符合每个用户的习惯。为了提高工作效率并使`vi`更加友好,我们可以自定义配置,使其更适应个人的需求。这里我们将详细解释如何...

    vi 编辑器配置文件

    下载后放在root或home目录下即可。

    Linux下的vi编辑器配置文件

    文本编辑器Vi 简介 Vi是一个功能强大的全屏幕文本编辑器,是UNIX 上最常用的文本编辑器,它的作用是建立、编辑、显示文本文件。 pVi没有菜单,只有命令。 注意:Vi命令并不锁住所编辑的文件,因此多个用户可能同时...

    VI环境配置中的附件

    本篇文章将详细探讨`VI`环境配置中的重要知识点,以及如何利用附件进行高级配置。 首先,`VI`(Vim Improved)是在`VI`的基础上发展起来的,它增强了原版`VI`的功能,提供了丰富的语法高亮、自动补全和多窗口编辑等...

    labview子VI改变主VI控件属性

    9. **配置连接板** - 右键点击子 VI 的前面板图表,选择“显示连接板”,并设置为单输入无输出模式。 10. **连接引用句柄** - 将连接板的接线端与“数值输入控件”的引用句柄相连,完成子 VI 的创建。 #### 四、...

    labview VI之间打开关闭切换

    3. **运行子VI**:当你在运行的VI(如test1.vi)中调用另一个VI(如test2.vi),可以通过将“打开VI引用节点”放置在前面板上,配置好需要打开的VI的路径,然后在程序框图中添加适当的触发条件来执行这个操作。...

    linux VI 配置

    本篇文章将详细探讨Linux环境下VI配置文件以及常用的插件,尤其是对于C语言开发者的应用场景。 首先,VI编辑器的配置文件是`.vimrc`,它位于用户的主目录下(通常是`~/.vimrc`)。这个文件包含了用户自定义的快捷键...

    vi/vim快捷键以及配置

    ### VI/VIM 快捷键及配置详解 #### 一、VI/VIM 概述 VI/VIM(Vi IMproved)是一种广泛使用的文本编辑器,最初由 Bill Joy 开发,随后由 Bram Moolenaar 扩展为 VIM。VI 是 UNIX 系统的标准编辑器之一,而 VIM 则在...

    Linux环境变量配置及vi基本操作

    Linux 环境变量配置及 vi 基本操作详解 Linux 环境变量配置是 Linux 系统中一个非常重要的概念,它允许用户自定义环境变量,以便更好地控制系统的行为。环境变量可以在系统中设置多个文件中,例如 /etc/profile、/...

    vi编辑器的一些配置文件

    这个是vim的配置文件,在家目录下直接解压即可使用。

    labview创建多态VI

    选择器会自动配置,用于区分各种可能的数据类型。 4. **编写多态逻辑** 在程序框图中,你需要为每种数据类型编写相应的处理代码。数据类型选择器会将控制流导向正确的小巷(Goto Case Structure),这样你就可以在...

    详解 MAC/Linux Vi配置环境变量及Java环境变量配置

    详解 MAC/Linux Vi配置环境变量及Java环境变量配置 vi基础 1、vi的基本概念  (1)基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式...

Global site tag (gtag.js) - Google Analytics