vimrc 配置

三月底写了第一篇激励自己的博客,眼看就到三周了...昨晚熬夜整理了一些与vim相关的资料.

基本上网上都能找到吧,就当多一个搜索结果,如果能对一些人有用那是最好了.


只是摘取自己配置中一部分,基本也可以直接copy后放到 .vimrc 或者 _vimrc 里. 需修改的地方有删除线标出. 

当然最好能看一看然后有所选择. 如果有错误可能是copy过程中出错了,希望能别给我面子拍我一砖.

----------------------------------------------------------------------------------------------------------------------------

setnocp"或者 nocompatible  与祖宗vi的兼容与否.  基本网上大多vim配置里都会有这么一条放最前面.

setscrollbind "多tab窗口里是否同步滚动. 在:diffs 比较时比较有用.
"最近同事在我这边指导代码时习惯性用:vsp分屏,发现两份代码同时在滚动有点不爽,突然觉得
"有必要map一下
cmap nsb set noscrollbind
map<Up> gk "精确上下移动一行,在set wrap状态时vim自动将一行分行显示,普通的j/k不能区分屏幕上显示的多行.
map <Down> gj "这两个map其实基本不会用到,显示上的问题还是直接ggVG= 或者gq格式化 再或者 :set nowrap
mapY y$

"方便随时记录与查看笔记(如果大家也有这种笔记的话,根据自己情况修改下路径)

nmap ,r  :e e:\data\backup\vim_note.txt


"方便随时修改配置.无聊时就喜欢折腾. normal模式下逗号打头的命令很好,可以好好利用下.
if has("win32") && has("gui_running")
nmap ,v  :e $VIM/_vimrc
nmap ,s :source $VIM/_vimrc
else
nmap ,v  :e ~/.vimrc
nmap ,s :source ~/.vimrc
endif



"保存.vimrc文件后会自动调用新的.vimrc 
if has("win32") && has("gui_running")
autocmd! bufwritepost _vimrc source $VIM/_vimrc 
else
autocmd! bufwritepost .vimrc source ~/.vimrc  "linux下$VIM/.vimrc不一定是登录用户主目录下的rc  
endif

imap <- ------------------------------------------------------------------------------------------
imap <# ######################################################################
map ,- i-------------------------------------------------------------------------------------------<CR><ESC>
map ,# i#######################################################################<CR><ESC>


cmap tn tabnew "快速创建tab页


" 在分割窗口中快速切换, 并且在上面窗口切换时会自动调整窗口大小,如果比较喜欢多窗口工作可能比较有用.
:map <C-K> <C-W>k<C-W>_
:map <C-H> <C-W>h<C-W>_
:map <C-L> <C-W>l<C-W>_
:map <C-J> <C-W>j<C-W>_



"偶比较喜欢默认标志折叠,或者大V后zf. 配合命令z[rR]/z[mM]/za
"网上看到装映射空格来打开关闭的,但有时也会影响操作...nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')<CR> 
set foldmethod=marker "indent/expr/manual/default/diff/marker 一共六种
nmap z[ i/* {{{  */<ESC>hh " 如果想说点什么就 i 一下
nmap z] i/* }}} */<ESC>


"网上见过有人说有时候下面这某些对顺序会有要求,没太关注过,反正全部堆里面
filetype on
set autoindent
set smartindent
filetype plugin on 
filetype indent on
filetype plugin indent on


"下面各种set
set clipboard+=unnamed"共享外部剪贴板 
set incsearch 
set ignorecasesmartcase
set hlsearch 
set confirm "在处理未保存或只读文件的时候,弹出确认
set history=1024
set showcmd "显示未完成的命令
set ambiwidth=double "防止特殊符号无法正常显示 如一些宽字符可能只能显示一半
set selection=inclusive "光标所在位置也属于被选中的范围
set sessionoptions+=resize "保存窗口大小
set matchtime=3 "匹配括号高亮的时间(单位是十分之一秒) 
set autoread "文件被其他程序修改时自动载入 
set cmdheight=1 "设置命令行高度为2
set showmatch "高亮显示匹配的括号 
set matchpairs=(:),{:},[:],<:>
set diffopt+=vertical "set diffopt=filler 因为默认为上下分,有点让人沸解
set cino=:0g0t0 "c/c++风格的缩进选项,忘了什么时候加的了,不知道有用不用
set textwidth=120 "多少列开始折行 set linebreak 这是自动折行
set laststatus=2 "总是显示状态行,下面是显示内容
set statusline=[%n]%<%f%y%h%m%r%=[%b\ 0x%B]\ %l\ of\ %L,%c%V\ Page\ %N\ %P 
set statusline+=%{EchoFuncGetStatusLine()}
"用浅色高度当前行
set cursorline
hi  CursorLine  guibg=Lightgreen guifg=Black term=BOLD
"但并不是所有时候高亮当前行都有用.不同term不同底色不同配色加上当前浅色高亮有时会让眼睛很痛苦
autocmd InsertLeave * se nocul
autocmd InsertEnter * se cul


" <C-n>/<C-p>
"vim缺省的补全顺序是 ".,w,b,u,t,i",它意味着扫描:
"1. 当前文件缓冲区    
"2. 其它窗口(缓冲区)     window
"3. 其它载入的文件缓冲区(隐藏缓冲区)    b ... 
"4. 未载入的文件(非激活的缓冲区)
"5. 标签文件 table
"6. 文件#include文件,可能还包含path路径 include
set cpt=.,w,b "因为硬盘有时候很痛苦,得设好path路径.因为有各种插件,平时我只开这两个.

"关于vim中文乱码可以参考http://edyfox.codecarver.org/html/vim_fileencodings_detection.html

"反正windows/cygwin/linux xterm/linux gvim我都用下面的,好像都能没乱码问题

"encoding 为 vim 内部工作的编码
"set termencoding=utf-8
"如果termencoding 没有设置则直接使用encoding不需再进行转换 termencoding
"为在终端显示的编码方式, gui下忽略termencoding
" fileencoding
"为磁盘上文件的存储编码格式,vim打开磁盘文件时按fileencodings中的顺序依次尝试去探测
"如果与自己工作的encoding不同则会进行转码,对fileencoding的修改只会影响文件(磁盘)存储

"时的编码格式,当前屏幕出现乱码不能通过修改fileencoding来解决,只能修改encoding

"fileencodings全vim配选的字符集


set fileencodings=ucs-bom,utf-8,chinese,latin-1
if has("gui_running") && has("win32")"或者has("win64")
set encoding=utf-8
set fileencoding=chinese
set langmenu=zh_CN.utf-8
language messages zh_cn.utf-8"解决console输出乱码,当然先确保语言包没问题
else
set fileencoding=utf-8
endif

"解决中文菜单乱码, 如果摄氏没有下面插件,不要这两句就好了. 菜单的确用的机会比较少.
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim


"各种tab宽
set tabstop=4
set cindent shiftwidth=4
set autoindent shiftwidth=4

"网上收集了一些tab说明,觉得下面最简洁,有人问我,我会直接 ,r 一下然后复制一堆给他自己看.
":set shiftwidth=4    自动缩进 4 个空格
    ":set softtabstop=4   输入的 tab 看上去(显示)是几个空格宽度. :set list可以看具体怎么个情况.
    ":set tabstop=4       实际的 tab 即为 4 个空格
  ":set expandtab       在输入 tab 后, vim 用恰当的空格来填充这个 tab.

" 译释:autocmd指定一个自动命令,BufEnter指定一个事件,* 指定事件的对象,
" lcd %:p:h 指定一个动作
" 自动更改到当前文件所在的目录
autocmd BufEnter * lcd %:p:h
set autochdir"这句更简单


" 打开文件时,总是跳到退出之前的光标处, 也没注意过到底是不是这句在起作用
autocmd BufReadPost * 
\ if line("'\"") > 0 && line("'\"") <= line("$") | 
\   exe "normal! g`\"" | 
\ endif 



"窗口位置,例如
if has("gui_running")
:winpos 1000 0
:set lines=60
:set columns=120

endif

"高亮一下,免得一行写过长

:set colorcolumn=80,100,120

----------------------------------------------------------------------------------------------------------------------------


只是拿了一部分出来,其它一些 path 设置 function 可以根据自己实际情况和喜好去设置.


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据引用,在CSDN博客上有一篇文章提供了一个接地气版的Linux .vimrc配置文件,可以直接使用,你可以参考这篇文章了解更多相关说明。同时根据引用,.vimrc文件是用来配置vim编辑器功能开关的配置文件,分为系统配置和用户配置两种。系统配置文件存放在vim的安装路径内,而用户配置文件.vimrc则由用户自己创建,存放在用户根目录下。根据引用,用户配置文件.vimrc中的配置内容可以根据个人需求进行设置,如颜色主题、语法高亮、自动缩进等。如果你想在Linux上配置vimrc,你可以参考CSDN博客中的这篇文章。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [【vimrc_linux】](https://download.csdn.net/download/neptuneys/11239215)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [04 .vimrc文件配置](https://blog.csdn.net/qq_43244515/article/details/124779889)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值