技术心得记录:我的VIM配置

简介: 技术心得记录:我的VIM配置

1 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""


2 "" 使用办法


3 "" 1: git clone ~/.vim/bundle/vundle


4 "" 2: vim foo


5 "" 3: :BundleUpdate


6 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""


7 "" 1: gui全屏的时候会有一点小问题


8 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""


9 "" Date: 2014年 03月 17日 星期一 09:35:03 CST


10 "" Date: 2014 07 24


11 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""


12


13 "设置为逗号比较好,因为不同的键盘\按键会有不一样的位置


14 let mapleader=','


15


16 " 快速打开vimrc的配置文件


17 map ee :tabnew $HOME/.vimrc


18


19 " ^Z快速进入shell


20 nmap :shell


21


22 " 判断操作系统


23 if (has("win32") || has("win64") || has("win32unix"))


24 let g:isWin = 1


25 else


26 let g:isWin = 0


27 endif


28


29 " 判断是终端还是gvim


30 if has("gui_running")


31 let g:isGUI = 1


32 else


33 let g:isGUI = 0


34 endif


35


36 "设置行号


37 :set nu


38 "自动缩进


39 :set autoindent


40


41 "设置缩进为4个字符,默认为8个


42 set softtabstop=4


43 set shiftwidth=4


44 set smarttab


45 set expandtab


46


47 "增加自动补齐路径


48 set path=.,/usr/include,/usr/include/c++/4.4.4


49 "打开语法高亮


50 syntax on


51 syntax enable


52 "设置背景颜色


53 set background=dark


54 "深色主题 对保护视力有一定的帮助


55 colorscheme delek


56 colorscheme evening


57 " 设置注释为绿色


58 highlight Comment ctermfg=red guifg=green


59 " 设置自动补齐窗口配色


60 highlight Pmenu guibg=lightgrey ctermbg=lightgrey guifg=black ctermfg=black


61 highlight PmenuSel guibg=lightgrey ctermbg=blue guifg=blue ctermfg=red


62


63 " 右下角显示完整命令


64 set showcmd


65


66 " 打开智能识别


67 " 自动识别文件类型


68 " 用文件类型plugin脚本


69 " 使用缩进定义文件


70 filetype plugin indent on


71 "help new-omni-completion help compl-omni "help ft-c-omni


72 "有一点要注意一下, 切记, 关於omni的设定要写在 filetype plugin ... on, 的后面


73 "autocmd FileType set omnifunc=syntaxcomplete#Complete


74 autocmd FileType ruby,eruby set omnifunc=rubycomplete#Complete


75 autocmd FileType python set omnifunc=pythoncomplete#Complete


76 autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS


77 autocmd FileType html set omnifunc=htmlcomplete#CompleteTags


78 autocmd FileType css set omnifunc=csscomplete#CompleteCSS


79 autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags


80 autocmd FileType java set omnifunc=javacomplete#Complete


81


82 "查看制表符


83 set list


84 set listchars=//代码效果参考:http://hnjlyzjd.com/hw/wz_24968.html

tab:>-,trail:-

85


86 "设置屏幕上下边界


87 set scrolloff=5


88 "set nowrap "用zl zh 移动


89 "set wrap "用gj gk 移动


90


91 " 让左右箭头可以智能的上下左右


92 set whichwrap=b,s,,h,l


93


94 " ctags 索引文件


95 set tags+=/usr/include/tags


96 set tags+=/usr/include/c++/4.4.4/tags


97 " 增加自动补齐路径


98 set path=.,/usr/include,/usr/include/c++/4.4.4


99


100 set cindent "C/C++风格缩进


101


102 set shortmess=atI "去掉欢迎界面


103 set ignorecase "搜索时忽略大小写


104 set showmatch "显示匹配的括号


105 set lbr "在breakat字符处而不是最后一个字符处断行


106 set history=400 "vim记住的历史操作的数量,默认的是20


107 set autoread "当文件在外部被修改时,自动重新读取


108 set mouse=n "在所有模式下都允许使用鼠标,还可以是n,v,i,c等


109


110 "在gvim中高亮当前行


111 if (g:isGUI)


112 set cursorline


113 colorscheme wombat


114 hi cursorline guibg=#333333


115 hi CursorColumn guibg=#333333


116 "set guifont=Consolas\ 10


117 "set guifontwide=Consolas\ 10


118 set guifont=DejaVu\ Sans\ Mono\ 10


119 set gfw=DejaVu\ Sans\ Mono\ 10


120 " 不显示toolbar


121 set guioptions-=T


122 " 不显示菜单栏


123 "set guioptions-=m


124 endif


125


126 " 设置字符集编码,默认使用utf8


127 if (g:isWin)


128 let &termencoding=&encoding " 通常win下的encoding为cp936


129 set fileencodings=utf8,cp936,ucs-bom,latin1


130 else


131 set encoding=utf8


132 set fileencodings=utf8,gb2312,gb18030,ucs-bom,latin1


133 endif


134


135 " 状态栏


136 set laststatus=2 " 总是显示状态栏


137 highlight StatusLine cterm=bold ctermfg=yellow ctermbg=blue


138 " 获取当前路径,将$HOME转化为~


139 function! CurDir()


140 let curdir = substitute(getcwd(), $HOME, "~", "g")


141 return curdir


142 endfunction


143 set statusline=【%n】\ %f%m%r%h\ |\ \ pwd:\ %{CurDir()}\ \ |%=|\ %l,%c\ %p%%\ |\ asci


144


145 " 第80列往后加下划线


146 "au BufWinEnter let w:m2=matchadd('Underlined', '\%>' . 80 . 'v.+', -1)


147


148 " 根据给定方向搜索当前光标下的单词,结合下面两个绑定使用


149 function! VisualSearch(direction) range


150 let l:saved_reg = @"


151 execute "normal! vgvy"


152 let l:pattern = escape(@", '\/.$^~【】')


153 let l:pattern = substitute(l:pattern, "\n$", "", "")


154 if a:direction == 'b'


155 execute "normal ?" . l:pattern . ""


156 else


157 execute "normal /" . l:pattern . ""


158 endif


159 let @/ = l:pattern


160 let @" = l:saved_reg


161 endfunction


162 "用 /# 向 前/后 搜索光标下的单词


163 vnoremap :call VisualSearch('f')


164 vnoremap # :call VisualSearch('b')


165


166 " 在文件名上按时,在新的tab中打开


167 " map gf :tabnew


168


169 " 恢复上次文件打开位置


170 set viminfo='10,\"100,:20,%,n~/.viminfo


171 au BufReadPost if line("'\"") > 0|if line("'\"") <= line("$")|exe("norm '\"")|else|exe "norm $"|endif|endif


172


173 "从系统剪切板中复制,剪切,粘贴


174 "map "+y


175 "map "+x


176 "map "+p


177


178 " 快捷输入


179 " 自动完成括号和引号


180 inoremap 1 ():let leavechar=")"i


181 inoremap { { {}kA


182


183


184


185 "使用caps Lock代替ESC,如果是输入大量的大写时,可以先输入小写,然后选中用U改变


186 "在终端中输入


187 "xmodmap -e 'clear Lock' -e 'keycode 0x42 = Escape'


188


189 "快速编译选项


190 "map :w :!make


191 "快速打开当前目录下的文件 快速打开指定目录下的文件


192 map :Texplore


193 map :tabpre


1

相关文章
|
3月前
|
Linux 开发工具 数据安全/隐私保护
Centos7:自动化配置vim | suoders信任列表添加普通用户
Centos7:自动化配置vim | suoders信任列表添加普通用户
42 0
|
3天前
|
Linux 开发工具
成功解决:CentOS 7中如何配置修改Vim
这篇文章介绍了如何在CentOS 7系统中配置和修改Vim编辑器的设置。文章首先指导读者如何检查Vim是否已经安装,如果未安装完全,提供了安装Vim的命令。接着,文章详细说明了如何编辑`/etc/vimrc`文件来配置Vim,包括设置显示行号、显示当前模式、光标位置信息、自动缩进和语法高亮等。最后,文章通过对比展示了配置前后使用vi和vim打开相同文本的效果差异,强调了Vim配置后的优势。
成功解决:CentOS 7中如何配置修改Vim
|
2月前
|
Linux Shell 持续交付
Linux下vim的配置
本文介绍了如何对vim进行基础配置,如行号显示、缩进设置等,并推荐了一种自动化部署方案,通过链接下载预配置的vim环境脚本,简化了配置过程,提升开发效率。
30 3
Linux下vim的配置
|
3月前
|
Unix Shell Linux
在 Linux 上把 Vim 配置为默认编辑器
在 Linux 上把 Vim 配置为默认编辑器
|
9月前
|
JSON Linux 开发工具
Linux jq 、vim以及LInux集群安装miniconda并配置虚拟环境(笔记)
Linux jq 、vim以及LInux集群安装miniconda并配置虚拟环境(笔记)
79 0
|
3月前
|
Ubuntu 开发工具
Ubuntu vim配置支持鼠标
Ubuntu vim配置支持鼠标
57 0
|
3月前
|
IDE Linux 开发工具
【Linux】vim配置
【Linux】vim配置
【Linux】vim配置
|
3月前
|
人工智能 Linux Shell
Linux——vim简介、配置方案(附带超美观的配置方案)、常用模式的基本操作
Linux——vim简介、配置方案(附带超美观的配置方案)、常用模式的基本操作
|
3月前
|
Linux 开发工具 C++
Linux编辑器vim(含vim的配置)
Linux编辑器vim(含vim的配置)
74 0
|
3月前
|
Ubuntu 开发工具 Windows
vim 在windows系统和ubuntu系统中的配置
vim 在windows系统和ubuntu系统中的配置