My vimrc

My vimrc

这里是vimrc文件的更新记录,因为已经设置了根据不同文件类型使用不同配置文件的选项,具体语言的配置文件被放到了其他文章上。

CPP : http://blog.csdn.net/sinat_29278271/article/details/51308245


寒假更新了一下自己的vimrc,暂且挂在博客上,避免因系统重装等不可抗力造成的意外

 

It is far from perfect, but more than enough !! 

##目前支持

>1.F2一键设置开头,包括编辑文件时间,文件名,创建者
>2.ctrl+e退出编辑模式
>3.ctrl+a全选
>4.shift+c复制入系统剪贴板
>5.ctrl+h一键编译运行并调用codeblocks的运行窗口,CB是开源的,可以独立开发
>6.ctrl+o编译
>8.nn 打开输出窗口,即图中的out.txt
>7.ctrl+i运行,一般与8配合使用

##打算添加的功能

>1.当使用多种语言后,设置开头能分开使用
>2.注释添加快捷键
>3.CF使用时通过指令添加特定的类,如计算几何中point类,line类。
>4. 。。。。。。

##更新记录

*****************************************************************************************************************************************

今天做了一点小改动,功能没有添加多少,但是结构好看了很多,主要是为了以后方便对Java,Python等提供支持,还有就是Cpp文件SetTitle后,利用cursor()直接跳转至书写行,真的说起来还是有点意义的,没有这个功能,用键盘跳到这一行还是要摁几下的。

然后分享一个悲伤的故事,今天我刚写完SetCppTitle()的时候,我新建了一个文件测试这个功能,但是死活运行不起来,后来嫌重新打开文件麻烦,我就直接用vimrc文件进行测试,但依旧不行,还差点毁了我的配置文件。折腾了一两个小时后找到了原因,我新建的文件全名是new,vimrc全名是.vimrc,然而我的代码里有一行

if &filetype==cpp

呵呵,难怪运行不起来

2016.2.16

*****************************************************************************************************************************************

一直想添加的一键注释功能做好了,ctrl+l,在当前行已经添加注释时,该快捷键会消除注释;在当前行没有注释时,该快捷键会消除注释。这里我指的是//的注释方式,/**/的注释我想应该设计成vmap会比较合适,留待以后实现。这个注释功能配合VIM的ctrl+v列操作方式效果非常惊艳,可以根据当前行情况同时给多行添加注释或是消去多行注释。为了保证快捷键使用的正确性,我添加的注释为//#,具体理由可以看我的脚本自己思考,在我更加熟悉vim脚本语言之后也许可以做改进。

2016.2.17

*****************************************************************************************************************************************

貌似经历了挺多改动,最大的改动是讲原先在程序下方的out.txt输出窗口转移到了右侧,这很容易理解,一是写程序从从左往右写的,所以右侧往往是比较空旷的,二是平时程序的输出往往要一行一行输出,下方的窗口高度看不了多少。然后我修改了编译与运行的快捷键,原先编译是<C-o>,运行是<C-i>,后来发现这两个设置占用了VIM原先的快捷键,再后来为了高效使用离自己手近的区域,设置<C-j>运行,<C-k>编译,换了以后舒服多了。

现在vimrc应该算是比较完善了,以后可能要记录一些VIM使用的小技巧留待练习,感觉自己还是不太会使用。

处于对提供者的尊重我在iobuf后注释了来自编程菜菜,群里的一位学长。


*****************************************************************************************************************************************

新增了一个功能。

平时代码经常要用到循环语句,循环语句如果不加花括号直接使用下面对应的第一个语句。因此如果循环语句后面只有一个语句的话,通常是不写花括号的。

但是往往自己刚写下来的时候是觉得 不用写的,写到后来发现一条语句不够用,要重新添加语句并且添加花括号。

这个新增的功能就是为这种场景设定的。

快捷键是Visual mode 下的{, 在选中了一段语句后使用{键,可以给这一部分添加括号。

示意图

点击“{”

2016.3.21

*****************************************************************************************************************************************

从前看《C primer plus》的时候看到文件重定向那里就看不懂了,因为那个时候不知道linux,今天突然想起来这个功能。

然后我一般习惯在vim的一键设置头文件中加上一个

# ifndef ONLINE_JUDGE 
struct DesktopIO{
	DesktopIO(){
		freopen("//home//unclesugar//in.txt","r",stdin);
		freopen("//home//unclesugar//out.txt","w",stdout);
	}
}DIO;
# endif

这个样子就可一比较方便地控制输入输出。

不过并不是所有的OJ都会定义ONLINE_JUDGE,比如清华MOOC的OJ定义的_OJ_。

也是因此,每次提交到清华的OJ时我都要修改一下提交文件。

现在这个问题解决掉啦。

使用编译时的输入输出重定向,我可以将运行指令写成这样

< 的意思是从in.txt文件读入

> 的意思是从out.txt文件输出

剩下的工作就简单了,修改vim配置文件中的命令就可以了。

这样做还有另一个好处,我的设置一直是

<C-H>调用codeblocks的执行窗口,但每次都要注释掉重定向内容

现在

<C-H>是调用codeblocks的执行窗口,数据由自己输入。

<C-J>是文件读取输出

感觉充分利用了两个快捷键
用Vim真是一件开心的事。

2016.3.22

*****************************************************************************************************************************************

终于我的vim要承担起多种编辑语言的责任的,原来的C++,后来的Python,接下来的Latex

虽然Latex貌似比较健全的IE会比较好,不过我最近写CSDN的博客的时候都巴不得使用vim

SO,

还是在vimrc上留下了他们的位置

说一下主要的改动吧

因为要支持多个语言,所以设置了根据不同头文件载入不同配置文件的功能,这样一来整个文件就清爽多了,也方便我以后添加其他的编程语言。

同时添加了一个根据不同语言建立输入的in文件和输出的out文件的自动命令。

本来已经设置好了在退出in文件,及out文件时自动删除的功能,但是后来发现会出现一些不太好的提示,所以将这些注释掉了,有空再研究。

以后这篇博客继续写我的更新记录,

不同语言的头文件会分开写记录。

2016.5.3

*****************************************************************************************************************************************


##.vimrc正文

"/*****************************************************************
"    > File Name: .vimrc
"    > Author: Uncle_Sugar
"    > Mail: uncle_sugar@qq.com
"    > Created Time: 2016年02月16日 星期二 16时11分08秒
"*****************************************************************/


"The Basic Set*****************************
set nocompatible
set backspace=indent,eol,start
set autoindent
if has("vms")
	set nobackup
else 
	set backup
endif
set history=50
set ruler
set showcmd
set autoread
set number
syntax on

set tabstop=4
set shiftwidth=4
set scrolljump=-50

set background=dark
colorscheme	MyColorScheme	

"imap
   
    
    
    
     
     
"imap
     
      
      
      
       
       
"imap
       
        
        
          "imap 
          
          
            "map 
            
            
              "map 
              
              
                "map 
                
                
                  "map 
                  
                  
                    imap jj 
                   
                     map 
                    
                      ggvG$ imap 
                      
                       
                       
                         vnoremap 
                        
                          "+y nmap 
                         
                           ^ nmap 
                          
                            $ map 
                           
                             ^ map 
                            
                              $ vmap 
                             
                               ^ vmap 
                              
                                $ "Filetype Test & Source File Loading autocmd BufReadPre *.cpp exec ":source ~/.VimSource/cpp_src.vim" autocmd BufReadPre *.py exec ":source ~/.VimSource/python_src.vim" autocmd BufReadPre *.tex exec ":source ~/.VimSource/tex_src.vim" "The IO File Part*************************** autocmd BufReadPre *.cpp exec " !touch ~/VimIO/%.cppin " autocmd BufReadPre *.cpp exec " !touch ~/VimIO/%.cppout " autocmd BufReadPre *.py exec " !touch ~/VimIO/%.pythonin " autocmd BufReadPre *.py exec " !touch ~/VimIO/%.pythonout " "autocmd BufUnload *in exec " !rm %* " "autocmd BufUnload *out exec " !rm %* " 
                               
                              
                             
                            
                           
                          
                         
                        
                       
                      
                     
                    
                   
                  
                 
                
               
              
             
            
           
          
         
       
      
      
     
     
    
    
   
   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值