第二个项目开始了.发一下我的VIM配置,各种插件,各种补全

2024-06-19 06:38

本文主要是介绍第二个项目开始了.发一下我的VIM配置,各种插件,各种补全,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

set nocompatible "去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限
source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
behave mswin

set diffexpr=MyDiff()
function MyDiff()
let opt = '-a --binary '
if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
let arg1 = v:fname_in
if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
let arg2 = v:fname_new
if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
let arg3 = v:fname_out
if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
let eq = ''
if $VIMRUNTIME =~ ' '
if &sh =~ '\<cmd'
let cmd = '""' . $VIMRUNTIME . '\diff"'
let eq = '"'
else
let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"'
endif
else
let cmd = $VIMRUNTIME . '\diff'
endif
silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3 . eq
endfunction

if has("gui_running")
"设置编码格式&帮助语言
set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1
set helplang=cn,en

"解决菜单乱码
set langmenu=chinese
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
endif

"字体设置
set guifont=Dejavu_Sans_Mono:h14:cANSI
"set gfn=YaHei\ Consolas\ Hybrid:h10
"set gfn=YaHei\ Consolas\ Hybrid:h11
"set guifontwide=YaHei\ Consolas\ Hybrid:h11
" set guifont=Courier_New:h11
" set guifontwide=YaHei\ Consolas\ Hybrid:h11

"if has("win32")
"set guifont=Courier_New:h12:cANSI
"set guifontwide=YouYuan:h12:cGB2312
"au GUIEnter * simalt ~x
"elseif has("mac") || has("macunix")
" set guifont=Courier:h14
" set guifontwide=Hei_Regular:h14
" colorscheme tabula
"else
" set guifont=
" set guifontwide=
"endif

"设置窗口的起始位置和大小
winpos 300 200
"winpos 250 200
"set lines=22
set lines=30
set columns=100
"gvim启动最大化
"autocmd GUIEnter * simalt ~x

"Terminal(win下的终端)
if(has("win32") || has("win95") || has("win64") || has("win16"))
map <C-B> :!cmd <CR>
else
map <C-B> :!bash <CR>
endif

"colorscheme Murphy "配色方案
colorscheme desert
"colorscheme inkpot
"colorscheme ir_black
"colorscheme koehler
"colorscheme wombat256
"set shortmess=atI "启动的时候不显示那个援助索马里儿童的提示
"hi Comment ctermfg=DarkCyan "修改默认注释颜色
syntax on "语法高亮
filetype on "侦测文件类型
filetype plugin on "载入文件类型插件
filetype indent on "为特定文件类型载入相关缩进文件
set showmatch "高亮显示匹配的括号
set matchtime=2 "匹配括号高亮的时间(单位是十分之一秒)
set cmdheight=1 "命令行(在状态行下)的高度,默认为1,
set noexpandtab "不要用空格代替制表符
set smarttab "在行和段开始处使用制表符
set wrap "自动换行显示
set number "显示行号儿
set report=0 "通过使用: commands命令,告诉我们文件的哪一行被改变过
set viminfo+=! "保存全局变量
set iskeyword+=_,$,@,%,#,- "带有如下符号的单词不要被换行分割
set backspace=2 "使回格键(backspace)正常处理indent, eol, start等
set whichwrap+=<,>,h,l "允许backspace和光标键跨越行边界
set linespace=1 "字符间插入的像素行数目
set wildmenu "增强模式中的命令行自动完成操作
set nolinebreak "不在单词中间断行
set showcmd "在状态栏显示目前所执行的指令,未完成的指令片段亦会显示出来
set backspace=indent,eol,start "在insert模式下能用删除键进行删除
set completeopt=longest,menu "关掉智能补全时的预览窗口,这样可以防止闪屏现象
set textwidth=120 "设置最大列数,超出后自动换行
set history=400 "历史记录数
set autoread "当文件在外部被修改,自动更新该文件
set gdefault "行内替换
set clipboard+=unnamed "与windows共享剪贴板
set tabpagemax=40

"自动缩进
set autoindent " 继承前一行的缩进方式,特别适用于多行注释
set cindent " 使用C样式的缩进
set smartindent "为C程序提供自动缩进
set expandtab
set foldmethod=marker

"Tab键的宽度
set tabstop=4

"统一缩进为4
set softtabstop=4
set shiftwidth=4

"关闭备份
set nobackup
set nowritebackup
set noswapfile

"搜索忽略大小写
set ignorecase

"搜索逐字符高亮
set hlsearch
set incsearch

"设置语法折叠



set foldenable " 开始折叠

set foldmethod=syntax " 设置语法折叠
"set foldmethod=indent " 根据缩进折叠

set foldcolumn=0 " 设置折叠区域的宽度

setlocal foldlevel=1 " 设置折叠层数为

set foldclose=all " 设置为自动关闭折叠

"打开文件是默认不折叠代码
set foldlevelstart=99

"用空格键来开关折叠
nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')<CR>

"设定文件浏览器目录为当前目录
set bsdir=buffer
set autochdir

"读文件时自动设定当前目录为刚读入文件所在的目录
autocmd BufReadPost * cd %:p:h

"不要生成swap文件,当buffer被丢弃的时候隐藏它
setlocal noswapfile
set bufhidden=hide

"先尝试windows格式,再尝试unix格式,然后尝试mac格式
set fileformats=dos,unix,mac

"开启底部滚动条
"set guioptions+=b

"Set magic on
set magic

"当有错误时不发出声音
set flash
set noerrorbells
set novisualbell
set t_vb=

"使得注释换行时自动加上前导的空格和星号
set formatoptions=tcqro

"在被分割的窗口间显示空白,便于阅读
"set fillchars=vert:\ ,stl:\ ,stlnc:\

"光标移动到buffer的顶部和底部时保持3行距离
set scrolloff=3

"可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位)
set mouse=a
set selection=exclusive
set selectmode=mouse,key


"关掉智能补全时的预览窗口
set completeopt=longest,menu



"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"快捷键map
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"设置控制键为,逗号
let mapleader = ","
let g:mapleader = ","
"noremap <space> :
",/ 注释当前行
noremap <leader>/ ^i//
inoremap <leader>w <ESC>:w<CR>
inoremap <leader>q <ESC>:q<CR>
noremap <leader>w :w<CR>
noremap <leader>q :q<CR>
"按jj保存退出编辑模式"
inoremap jj <ESC>:w<CR>
cnoremap jj <ESC>
"Alt+h,j,k,l 不退出编辑模式移动光标
inoremap <A-h> <Left>
inoremap <A-j> <Down>
inoremap <A-k> <Up>
inoremap <A-l> <Right>

"打开tlist"
noremap <leader>t :TlistToggle<CR>
"切换tlist与输入界面
noremap <leader>w <C-w>w

"切换到下一个标签页
noremap <leader>n :tabnext<CR>
"切换上一个标签页"
noremap <leader>b :tabprev<CR>
"打开文件在显示页显示"
noremap <leader>o :browse tabnew<CR>


"tab键缩进



"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"php代码补全
"""""""""""""""""""""""""""""""""""""""""""""""""
au FileType php call PHPFuncList()
function PHPFuncList()
set dictionary-=$VIM/vimfiles/doc/php_funclist.txt
set dictionary+=$VIM/vimfiles/doc/php_funclist.txt
set complete-=k complete+=k
endfunction

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""


"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"标签
":tabnew 新建标签页
":tabs 显示已打开标签页的列表
":tabc 关闭当前标签页
":tabn 移动到下一个标签页
":tabp 移动到上一个标签页
":tabfirst 移动到第一个标签页
":tablast 移动到最后一个标签页
":tabm 1 移动标签到指定位置 从0开始计
":tabr 切换到第一个标签
":tabl 切换到最后一个标签
":tabo 关闭所有其他的tab
set showtabline=2 "始终显示标签页
set tabpagemax=15 "最大显示数
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""




" NERDTree的设定
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
",m快捷键
noremap <leader>m :NERDTreeToggle<CR>
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"始终显示菜单
"let NERDTreeChDirMode=2
" 如果用t T i 打开文件后自动退出NERDTree,
let NERDTreeQuitOnOpen = 1
let NERDTreeHighlightCursorline=1 "高亮NERDTrre窗口的当前行
let NERDTreeSortOrder=['//$','/.cpp$','/.c$','/.h$', '*'] "排序
" 总是显示Bookmark
let NERDTreeShowBookmarks = 1
" 总是显示行号
"let NERDTreeShowLineNumbers=1
" NERDTree 窗口大小
let NERDTreeWinSize = 20
" A 可使NERDTree窗口最大化Toggle it.
"过滤文件,使用正则表达式
let NERDTreeIgnore=['\.pdf$','\.doc','\.wmv','\.flv']
let NERDTreeShowHidden=0 "不显示隐藏文件(好像只在linux环境中有效)
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"状态栏显示"
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set laststatus=2 " always show the status line
set wildmenu
set wildmode=list:longest,full
" ignore these list file extensions
set wildignore=*.dll,*.o,*.obj,*.exe,*.pyc,\*.jpg,*.gif,*.png,*.pdf

"我的状态行显示的内容(包括文件类型和解码)
"set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")}
"状态栏设置:文件路径、文件名、标记、文件类型、字符编码、文件格式、当前位置、当前字符位置、文件总行数、日期、星期
set statusline=%F\ %h%1*%m%r%w%0*[%{strlen(&filetype)?&filetype:'none'},%{&encoding},%{&fileformat}]%=%-14.(%l,%c%V%)\ %<%p%%\ \ \ [%L]\ \ \ %{strftime('%Y-%m-%d\ -\ %H:%M\ %A')}


"在编辑过程中,在右下角显示光标位置的状态行
set ruler
set rulerformat=%20(%2*%<%f%=\ %m%r\ %3l\ %c\ %p%%%)

"高亮鼠标位置
if has("gui_running")
"cursorline highlight(高亮当前行)
set cursorline
hi CursorLine guibg=#666666
hi CursorColumn guibg=#333333
"cursorcolumn highlight(高亮当前列)
"set cursorcolumn
"highlight CursorLine cterm=none ctermbg=2 ctermfg=0
endif

"进入插入模式时改变状态栏颜色(仅限于Vim 7)

if version >= 700
au InsertEnter * hi StatusLine guibg=#818D29 guifg=#FCFCFC gui=none
au InsertLeave * hi StatusLine guibg=#EEEEEE guifg=#363636 gui=none
endif





"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"F2 显示菜单栏,默认不显示,
"Toggle Menu and Toolbar
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set guioptions-=m
set guioptions-=T
map <silent> <F2> :if &guioptions =~# 'T' <Bar>
\set guioptions-=T <Bar>
\set guioptions-=m <bar>
\else <Bar>
\set guioptions+=T <Bar>
\set guioptions+=m <Bar>
\endif<CR>


"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"打开窗口最大化
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
if has('win32')
au GUIEnter * simalt ~x
else
au GUIEnter * call MaximizeWindow()
endif

function! MaximizeWindow()
silent !wmctrl -r :ACTIVE: -b add,maximized_vert,maximized_horz
endfunction


"================================tlist
set tags=tags;
set autochdir

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" CTags的设定
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

" 按照名称排序
let Tlist_Sort_Type = "name"
" 在右侧显示窗口
let Tlist_Use_Right_Window = 1
" 压缩方式 Remove extra information and blank lines from the taglist window.
let Tlist_Compact_Format = 1
" 如果只有一个buffer,kill窗口也kill掉buffer
let Tlist_Exit_OnlyWindow = 1
"auto open Tlist when vim open
let Tlist_Auto_Open = 0
" 不要显示折叠树
let Tlist_Enable_Fold_Column = 0
" taglist 窗口宽度
let Tlist_WinWidth = 22
" no inc the width of the windows
let Tlist_Inc_Winwidth = 1
" Close tag folds for inactive buffers.
let Tlist_File_Fold_Auto_Close = 1
"To process files even when the taglist window is not open.
let Tlist_Process_File_Always = 1
"display the tags defined only in the current buffer
let Tlist_Show_One_File = 1


要用的同学把VIM解压,覆盖你的vim目录下的同名文件, 看一下vimrc配置文件中的快捷键部分, 学点快捷键,不习惯的可以改成自己的
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"快捷键map
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

jj 返回命令模式
Alt + h 光标左移
Alt + l 光标右移

,/ 注释当前行
,w 保存
,q 退出
,m 打开nerdtree 菜单
,t 打开tlist菜单
,w "切换tlist与输入界面
,o 打开新文件
,n "切换到下一个标签页
,b "切换上一个标签页"

<F2> 显示菜单栏

原文地址:http://bbs.lampbrother.net/read-htm-tid-121652.html

<script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/buttonLite.js#style=-1&uuid=&pophcol=3&lang=zh"></script> <script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/bshareC0.js"></script>
阅读(64) | 评论(0) | 转发(0) |
0

上一篇:PHP常用正则表达式汇总

下一篇:一个人,如果你不逼自己一把,你根本不知道自己有多优秀

相关热门文章
  • 新浪微博,请让信息在关系链中...
  • 怎样在网上卖东西?
  • qpid service 的root引发的权...
  • 系统移植与驱动开发小问题及解...
  • 美国RT服务器租用仿牌网站不二...
  • IP Sec VPN与NAT破镜重圆
  • 网站导航
  • GoAgent图文设置教程
  • UT2.0正式版下载
  • tomcat6.0配置(含配置视频下载...
  • 大家都是用什么来管理hadoop集...
  • 网站被人挂了吗,添加了些程序...
  • Nginx如何保证不走宕机的那个...
  • 大家谈谈MYSQL客户端和服务器...
  • 以下代码运行后为何会输出5?...
给主人留下些什么吧!~~
评论热议

这篇关于第二个项目开始了.发一下我的VIM配置,各种插件,各种补全的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1074277

相关文章

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

hadoop开启回收站配置

开启回收站功能,可以将删除的文件在不超时的情况下,恢复原数据,起到防止误删除、备份等作用。 开启回收站功能参数说明 (1)默认值fs.trash.interval = 0,0表示禁用回收站;其他值表示设置文件的存活时间。 (2)默认值fs.trash.checkpoint.interval = 0,检查回收站的间隔时间。如果该值为0,则该值设置和fs.trash.interval的参数值相等。

NameNode内存生产配置

Hadoop2.x 系列,配置 NameNode 内存 NameNode 内存默认 2000m ,如果服务器内存 4G , NameNode 内存可以配置 3g 。在 hadoop-env.sh 文件中配置如下。 HADOOP_NAMENODE_OPTS=-Xmx3072m Hadoop3.x 系列,配置 Nam

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

wolfSSL参数设置或配置项解释

1. wolfCrypt Only 解释:wolfCrypt是一个开源的、轻量级的、可移植的加密库,支持多种加密算法和协议。选择“wolfCrypt Only”意味着系统或应用将仅使用wolfCrypt库进行加密操作,而不依赖其他加密库。 2. DTLS Support 解释:DTLS(Datagram Transport Layer Security)是一种基于UDP的安全协议,提供类似于

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

在cscode中通过maven创建java项目

在cscode中创建java项目 可以通过博客完成maven的导入 建立maven项目 使用快捷键 Ctrl + Shift + P 建立一个 Maven 项目 1 Ctrl + Shift + P 打开输入框2 输入 "> java create"3 选择 maven4 选择 No Archetype5 输入 域名6 输入项目名称7 建立一个文件目录存放项目,文件名一般为项目名8 确定

2、PF-Net点云补全

2、PF-Net 点云补全 PF-Net论文链接:PF-Net PF-Net (Point Fractal Network for 3D Point Cloud Completion)是一种专门为三维点云补全设计的深度学习模型。点云补全实际上和图片补全是一个逻辑,都是采用GAN模型的思想来进行补全,在图片补全中,将部分像素点删除并且标记,然后卷积特征提取预测、判别器判别,来训练模型,生成的像